cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1
Date Mon, 28 Nov 2016 09:10:59 GMT

    [ https://issues.apache.org/jira/browse/CB-9287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15701389#comment-15701389
] 

ASF GitHub Bot commented on CB-9287:
------------------------------------

Github user vladimir-kotikov commented on a diff in the pull request:

    https://github.com/apache/cordova-windows/pull/212#discussion_r89739598
  
    --- Diff: template/cordova/lib/prepare.js ---
    @@ -439,6 +490,109 @@ function getUAPVersions(config) {
         };
     }
     
    +/** Checks if a targetProject matches splashscreen target name */
    +function splashScreenTargetProjectMatchesTargetName(targetProject, targetName) {
    +    if (targetName === SPLASH_SCREEN_DESKTOP_TARGET_NAME) {
    +        return targetProject === TARGET_PROJECT_81 || targetProject === TARGET_PROJECT_10;
    +    }
    +
    +    return targetProject === TARGET_PROJECT_WP81;
    +}
    +
    +/** Checks if the splash screen matches the target project
    + * @param targetName 'SplashScreen'|'SplashScreenPhone'
    + * @returns boolean */ 
    +function splashScreenTargetIs(splash, targetName) {
    +    var matchesTarget, targetImg;
    +
    +    if (splash.target) {
    +        // MRT syntax:
    +        matchesTarget = splash.target === targetName;
    +    } else {
    +        // Fall back on find by size for old non-MRT syntax:
    +        targetImg = findPlatformImage(splash.width, splash.height);
    +        matchesTarget = splashScreenTargetProjectMatchesTargetName(targetImg.targetProject,
targetName);
    +    }
    +
    +    return matchesTarget;
    +}
    +
    +// Updates manifests to match the app splash screen image types (PNG/JPG/JPEG)
    +function updateSplashScreenImageExtensions(cordovaProject, locations) {
    +
    +    // Saving all extensions used for targets to verify them later
    +    var extensionsUsed = {};
    +
    +    function checkThatExtensionsAreNotMixed() {
    +        for (var target in extensionsUsed) {
    +            /*jshint loopfunc: true */
    +            if (extensionsUsed.hasOwnProperty(target)) {
    +                var extensionsUsedForTarget = extensionsUsed[target];
    +
    +                // Check that extensions are not mixed:
    +                if (extensionsUsedForTarget.length > 1 && extensionsUsedForTarget.some(function(item)
{
    +                    return item !== extensionsUsedForTarget[0];
    +                })) {
    +                    events.emit('warn', '"' + target + '" splash screens have mixed file
extensions which is not supported. Some of the images will not be used.');
    +                }
    +            }
    +        }
    +    }
    +
    +    function checkTargetMatchAndUpdateUsedExtensions(img, target) {
    +        var matchesTarget = splashScreenTargetIs(img, target);
    +
    +        if (matchesTarget === true) {
    +            extensionsUsed[target] = extensionsUsed[target] || [];
    +            extensionsUsed[target].push(path.extname(img.src.toLowerCase()));
    +        }
    +
    +        return matchesTarget;
    +    }
    +
    +    function updateSplashExtensionInManifest(manifestFileName, splashScreen) {
    +        var manifest = AppxManifest.get(path.join(locations.root, manifestFileName));
    +        var newExtension = path.extname(splashScreen.src);
    +
    +        if (manifest.getVisualElements().getSplashScreenExtension() !== newExtension)
{
    +            events.emit('verbose', 'Set ' + manifestFileName + ' SplashScreen image extension
to "' + newExtension + '"');
    +            manifest.getVisualElements().setSplashScreenExtension(newExtension);
    +            manifest.write();
    +        }
    +    }
    +
    +    var splashScreens = cordovaProject.projectConfig.getSplashScreens('windows');
    +
    +    var desktopSplashScreen = splashScreens.filter(function(img) { 
    +        return checkTargetMatchAndUpdateUsedExtensions(img, SPLASH_SCREEN_DESKTOP_TARGET_NAME);
    +    })[0];
    +
    +    var phoneSplashScreen = splashScreens.filter(function(img) { 
    +        return checkTargetMatchAndUpdateUsedExtensions(img, SPLASH_SCREEN_PHONE_TARGET_NAME);
    +    })[0];
    +
    +    checkThatExtensionsAreNotMixed();
    --- End diff --
    
    Could you please explain, what's the purpose of this check? Please give a couple of examples
when it would yield a warning?


> Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1
> ------------------------------------------------------------------------
>
>                 Key: CB-9287
>                 URL: https://issues.apache.org/jira/browse/CB-9287
>             Project: Apache Cordova
>          Issue Type: Improvement
>          Components: Plugin SplashScreen, Windows
>    Affects Versions: 4.0.0
>         Environment: Cordova 4.0.0, Windows Platform 3.7.1
>            Reporter: Dennis Patzer
>            Assignee: Jesse MacFadyen
>              Labels: triaged, windows
>         Attachments: splashscreens_windows_universal_app.jpg
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> For some reason, for example only one splashscreen size is supported (620x300). When
I add other sizes by adding the following line:
> <splash src="../resources/themes/windows-phone/img/splashscreen/splashscreen.scale-140.png"
width="868" height="420" />
> The image isn't copied to the cordova/platforms/windows/images folder when building.
This is the reason why it's also not included and referenced in the resulting package.windows.appxmanifest.
> Why is that?? Or am I doing something wrong?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org


Mime
View raw message