[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-12-19 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on CB-9287:


Github user frederikbosch commented on the issue:

https://github.com/apache/cordova-windows/pull/212
  
Any chance that a version with this included will be released any time soon?


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-12-07 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on CB-9287:
-

Commit de28cf89bfadb876ce9c98fc2ab3b28159c488e8 in 
cordova-plugin-splashscreen's branch refs/heads/4.0.x from [~daserge]
[ 
https://git-wip-us.apache.org/repos/asf?p=cordova-plugin-splashscreen.git;h=de28cf8
 ]

CB-9287 Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

Documented MRT-style configuration


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-12-02 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on CB-9287:


Github user asfgit closed the pull request at:

https://github.com/apache/cordova-plugin-splashscreen/pull/119


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-12-02 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on CB-9287:
-

Commit de28cf89bfadb876ce9c98fc2ab3b28159c488e8 in 
cordova-plugin-splashscreen's branch refs/heads/master from [~daserge]
[ 
https://git-wip-us.apache.org/repos/asf?p=cordova-plugin-splashscreen.git;h=de28cf8
 ]

CB-9287 Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

Documented MRT-style configuration


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-12-02 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on CB-9287:
-

Commit 973fe6da6dada837db6435c09fce90ccd3113201 in cordova-windows's branch 
refs/heads/master from [~daserge]
[ https://git-wip-us.apache.org/repos/asf?p=cordova-windows.git;h=973fe6d ]

CB-9287 Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

Added JPG support
Introduced AppxManifest access in cordova.js
cordova.js - refine splashscreen extension based on config.xml
Added a warning when non-MRT splash screens have mixed extensions
Added a warning for size limit exceeding (applies to win10 project only)
Added a warning for images with unsupported format
Updated the tests


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-12-02 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on CB-9287:


Github user asfgit closed the pull request at:

https://github.com/apache/cordova-windows/pull/212


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-12-01 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on CB-9287:


Github user vladimir-kotikov commented on the issue:

https://github.com/apache/cordova-windows/pull/212
  
LGTM


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-29 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on CB-9287:


Github user daserge commented on the issue:

https://github.com/apache/cordova-windows/pull/212
  
@vladimir-kotikov addressed, thanks! It is good to go?


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-29 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on CB-9287:


Github user daserge commented on a diff in the pull request:

https://github.com/apache/cordova-windows/pull/212#discussion_r90007897
  
--- Diff: template/cordova/lib/AppxManifest.js ---
@@ -416,6 +417,18 @@ AppxManifest.prototype.getVisualElements = function () 
{
 }
 return this;
 },
+getSplashScreenExtension: function (extension) {
--- End diff --

Please see 
https://github.com/apache/cordova-windows/pull/212#discussion_r90006200


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-29 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on CB-9287:


Github user daserge commented on a diff in the pull request:

https://github.com/apache/cordova-windows/pull/212#discussion_r90007607
  
--- 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 --

In fact I've added this for a case when a developer could try to use JPG 
only for larger images (scale 200% and up) because they usually exceed the 200K 
limit.


> 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 

[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-29 Thread ASF GitHub Bot (JIRA)

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

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_r89996388
  
--- 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 --

> You should not mix image extensions for non-MRT syntax inside one project 
group

I thought it's pretty obvious :)

> in this case ^ the second JPG image will not be used as AppxManifest will 
have PNG for SplashScreen.Image' extension

Yep. If you specify the same splascreens using MRT and 'target' attribute, 
`splashscreen.scale-125.jpg` also would be silently ignored because 
`mapImageResources` requires extensions to match. That said I don't think we 
need to care about this at all.


> Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1
> 
>
> Key: 

[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-29 Thread ASF GitHub Bot (JIRA)

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

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_r89990562
  
--- Diff: cordova-js-src/splashscreen.js ---
@@ -58,8 +58,45 @@ function readBoolFromCfg(preferenceName, defaultValue, 
cfg) {
 }
 }
 
+// Refine splashscreen file extension to match what is in config.xml
+function refineSplashScreenExtension(cfg) {
--- End diff --

> Then we'll need to manipulate the Image.src anyway as it is in different 
format.

Why? Isn't the logic in 'prepare' supposed to update splash screen file 
name to actual value? The benefit IMO is that you'll have one place where 
you're trying to infer splashscreen real filename based on `splashscreen` 
preferences


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-29 Thread ASF GitHub Bot (JIRA)

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

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_r89994632
  
--- Diff: template/cordova/lib/prepare.js ---
@@ -439,6 +492,107 @@ 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  {Object} splash SplashScreen object to check
+ * @param  {String} targetName SplashScreen target name: 
'SplashScreen'|'SplashScreenPhone'
+ * @returns {Boolean} True if the splash screen matches the target project
+ */
+function splashScreenTargetIs(splash, targetName) {
+var targetImg;
+
+if (splash.target) {
+// MRT syntax:
+return splash.target === targetName;
+} 
+
+// Fall back on find by size for old non-MRT syntax:
+targetImg = findPlatformImage(splash.width, splash.height);
+return 
splashScreenTargetProjectMatchesTargetName(targetImg.targetProject, targetName);
+}
+
+// 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);
--- End diff --

IMO it's not very clear, what is `splashScreenTargetIs` function for and 
what values it can return. I'd suggest to rework this in the following way:
1. have a function that returns a target project based on image `target` or 
dimensions (e.g. `getTargetForImage`)
2. do a comparison of that function's result and `target` variable here so 
it's be clear that we expect result to match target



> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-29 Thread ASF GitHub Bot (JIRA)

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

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_r89991151
  
--- Diff: template/cordova/lib/AppxManifest.js ---
@@ -416,6 +417,18 @@ AppxManifest.prototype.getVisualElements = function () 
{
 }
 return this;
 },
+getSplashScreenExtension: function (extension) {
--- End diff --

Instead of very specific to this issue `get/setSplashScreenExtension` can 
we have more generic `get/setSplashScreen` to set the filename?


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-29 Thread ASF GitHub Bot (JIRA)

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

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_r89992916
  
--- Diff: template/cordova/lib/prepare.js ---
@@ -297,48 +305,80 @@ function applyNavigationWhitelist(config, manifest) {
 manifest.getApplication().setAccessRules(whitelistRules);
 }
 
-function mapImageResources(images, imagesDir) {
-var pathMap = {};
+// Platform default images
+var platformImages = [
+{dest: 'Square150x150Logo.scale-100', width: 150, height: 150},
+{dest: 'Square30x30Logo.scale-100', width: 30, height: 30},
+{dest: 'StoreLogo.scale-100', width: 50, height: 50},
+{dest: 'SplashScreen.scale-100', width: 620, height: 300, 
targetProject: TARGET_PROJECT_10},
+{dest: 'SplashScreen.scale-125', width: 775, height: 375, 
targetProject: TARGET_PROJECT_10},
+{dest: 'SplashScreen.scale-140', width: 868, height: 420, 
targetProject: TARGET_PROJECT_81},
+{dest: 'SplashScreen.scale-150', width: 930, height: 450, 
targetProject: TARGET_PROJECT_10},
+{dest: 'SplashScreen.scale-180', width: 1116, height: 540, 
targetProject: TARGET_PROJECT_81},
+{dest: 'SplashScreen.scale-200', width: 1240, height: 600, 
targetProject: TARGET_PROJECT_10},
+{dest: 'SplashScreen.scale-400', width: 2480, height: 1200, 
targetProject: TARGET_PROJECT_10},
+// scaled images are specified here for backward compatibility only so 
we can find them by size
+{dest: 'StoreLogo.scale-240', width: 120, height: 120},
+{dest: 'Square44x44Logo.scale-100', width: 44, height: 44},
+{dest: 'Square44x44Logo.scale-240', width: 106, height: 106},
+{dest: 'Square70x70Logo.scale-100', width: 70, height: 70},
+{dest: 'Square71x71Logo.scale-100', width: 71, height: 71},
+{dest: 'Square71x71Logo.scale-240', width: 170, height: 170},
+{dest: 'Square150x150Logo.scale-240', width: 360, height: 360},
+{dest: 'Square310x310Logo.scale-100', width: 310, height: 310},
+{dest: 'Wide310x150Logo.scale-100', width: 310, height: 150},
+{dest: 'Wide310x150Logo.scale-240', width: 744, height: 360},
+{dest: 'SplashScreenPhone.scale-100', width: 480, height: 800, 
targetProject: TARGET_PROJECT_WP81},
+{dest: 'SplashScreenPhone.scale-140', width: 672, height: 1120, 
targetProject: TARGET_PROJECT_WP81},
+{dest: 'SplashScreenPhone.scale-240', width: 1152, height: 1920, 
targetProject: TARGET_PROJECT_WP81}
+];
+
+function findPlatformImage(width, height) {
+if (!width && !height){
+// this could be default image,
+// Windows requires specific image dimension so we can't apply it
+return null;
+}
+for (var idx in platformImages){
+var res = platformImages[idx];
+// If only one of width or height is not specified, use another 
parameter for comparation
+// If both specified, compare both.
+if ((!width || (width == res.width)) &&
+(!height || (height == res.height))){
+return res;
+}
+}
+return null;
+}
 
-// Platform default images
-var platformImages = [
-{dest: 'Square150x150Logo.scale-100.png', width: 150, height: 150},
-{dest: 'Square30x30Logo.scale-100.png', width: 30, height: 30},
-{dest: 'StoreLogo.scale-100.png', width: 50, height: 50},
-{dest: 'SplashScreen.scale-100.png', width: 620, height: 300},
-// scaled images are specified here for backward compatibility 
only so we can find them by size
-{dest: 'StoreLogo.scale-240.png', width: 120, height: 120},
-{dest: 'Square44x44Logo.scale-100.png', width: 44, height: 44},
-{dest: 'Square44x44Logo.scale-240.png', width: 106, height: 106},
-{dest: 'Square70x70Logo.scale-100.png', width: 70, height: 70},
-{dest: 'Square71x71Logo.scale-100.png', width: 71, height: 71},
-{dest: 'Square71x71Logo.scale-240.png', width: 170, height: 170},
-{dest: 'Square150x150Logo.scale-240.png', width: 360, height: 360},
-{dest: 'Square310x310Logo.scale-100.png', width: 310, height: 310},
-{dest: 'Wide310x150Logo.scale-100.png', width: 310, height: 150},
-{dest: 'Wide310x150Logo.scale-240.png', width: 744, height: 360},
-{dest: 'SplashScreenPhone.scale-240.png', width: 1152, height: 
1920}
-];
+/** Maps MRT splashscreen image to its target project defined in 
platformImages -> 8.1|WP8.1|10
+ * This assumes we have different 

[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-29 Thread ASF GitHub Bot (JIRA)

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

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_r89991437
  
--- Diff: template/cordova/lib/prepare.js ---
@@ -297,48 +305,80 @@ function applyNavigationWhitelist(config, manifest) {
 manifest.getApplication().setAccessRules(whitelistRules);
 }
 
-function mapImageResources(images, imagesDir) {
-var pathMap = {};
+// Platform default images
+var platformImages = [
--- End diff --

nit: could you please make it uppercase, so i'd be easy to understand in 
code that we're using some constant value


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-29 Thread ASF GitHub Bot (JIRA)

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

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_r89993606
  
--- Diff: template/cordova/lib/prepare.js ---
@@ -353,6 +391,13 @@ function mapImageResources(images, imagesDir) {
 events.emit('warn', 'No images found for target: ' + 
img.target);
 } else {
 candidates.forEach(function(mrtImage) {
+if (img.target === SPLASH_SCREEN_DESKTOP_TARGET_NAME &&
+mrtSplashScreenToTargetProject(mrtImage) === 
TARGET_PROJECT_10 &&
+exceedsSizeLimit(mrtImage.path)) {
--- End diff --

Makes sense


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-29 Thread ASF GitHub Bot (JIRA)

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

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_r89991524
  
--- Diff: template/cordova/lib/prepare.js ---
@@ -297,48 +305,80 @@ function applyNavigationWhitelist(config, manifest) {
 manifest.getApplication().setAccessRules(whitelistRules);
 }
 
-function mapImageResources(images, imagesDir) {
-var pathMap = {};
+// Platform default images
+var platformImages = [
+{dest: 'Square150x150Logo.scale-100', width: 150, height: 150},
+{dest: 'Square30x30Logo.scale-100', width: 30, height: 30},
+{dest: 'StoreLogo.scale-100', width: 50, height: 50},
+{dest: 'SplashScreen.scale-100', width: 620, height: 300, 
targetProject: TARGET_PROJECT_10},
+{dest: 'SplashScreen.scale-125', width: 775, height: 375, 
targetProject: TARGET_PROJECT_10},
+{dest: 'SplashScreen.scale-140', width: 868, height: 420, 
targetProject: TARGET_PROJECT_81},
+{dest: 'SplashScreen.scale-150', width: 930, height: 450, 
targetProject: TARGET_PROJECT_10},
+{dest: 'SplashScreen.scale-180', width: 1116, height: 540, 
targetProject: TARGET_PROJECT_81},
+{dest: 'SplashScreen.scale-200', width: 1240, height: 600, 
targetProject: TARGET_PROJECT_10},
+{dest: 'SplashScreen.scale-400', width: 2480, height: 1200, 
targetProject: TARGET_PROJECT_10},
+// scaled images are specified here for backward compatibility only so 
we can find them by size
+{dest: 'StoreLogo.scale-240', width: 120, height: 120},
+{dest: 'Square44x44Logo.scale-100', width: 44, height: 44},
+{dest: 'Square44x44Logo.scale-240', width: 106, height: 106},
+{dest: 'Square70x70Logo.scale-100', width: 70, height: 70},
+{dest: 'Square71x71Logo.scale-100', width: 71, height: 71},
+{dest: 'Square71x71Logo.scale-240', width: 170, height: 170},
+{dest: 'Square150x150Logo.scale-240', width: 360, height: 360},
+{dest: 'Square310x310Logo.scale-100', width: 310, height: 310},
+{dest: 'Wide310x150Logo.scale-100', width: 310, height: 150},
+{dest: 'Wide310x150Logo.scale-240', width: 744, height: 360},
+{dest: 'SplashScreenPhone.scale-100', width: 480, height: 800, 
targetProject: TARGET_PROJECT_WP81},
+{dest: 'SplashScreenPhone.scale-140', width: 672, height: 1120, 
targetProject: TARGET_PROJECT_WP81},
+{dest: 'SplashScreenPhone.scale-240', width: 1152, height: 1920, 
targetProject: TARGET_PROJECT_WP81}
+];
+
+function findPlatformImage(width, height) {
+if (!width && !height){
+// this could be default image,
+// Windows requires specific image dimension so we can't apply it
+return null;
+}
+for (var idx in platformImages){
+var res = platformImages[idx];
+// If only one of width or height is not specified, use another 
parameter for comparation
+// If both specified, compare both.
+if ((!width || (width == res.width)) &&
+(!height || (height == res.height))){
+return res;
+}
+}
+return null;
+}
 
-// Platform default images
-var platformImages = [
-{dest: 'Square150x150Logo.scale-100.png', width: 150, height: 150},
-{dest: 'Square30x30Logo.scale-100.png', width: 30, height: 30},
-{dest: 'StoreLogo.scale-100.png', width: 50, height: 50},
-{dest: 'SplashScreen.scale-100.png', width: 620, height: 300},
-// scaled images are specified here for backward compatibility 
only so we can find them by size
-{dest: 'StoreLogo.scale-240.png', width: 120, height: 120},
-{dest: 'Square44x44Logo.scale-100.png', width: 44, height: 44},
-{dest: 'Square44x44Logo.scale-240.png', width: 106, height: 106},
-{dest: 'Square70x70Logo.scale-100.png', width: 70, height: 70},
-{dest: 'Square71x71Logo.scale-100.png', width: 71, height: 71},
-{dest: 'Square71x71Logo.scale-240.png', width: 170, height: 170},
-{dest: 'Square150x150Logo.scale-240.png', width: 360, height: 360},
-{dest: 'Square310x310Logo.scale-100.png', width: 310, height: 310},
-{dest: 'Wide310x150Logo.scale-100.png', width: 310, height: 150},
-{dest: 'Wide310x150Logo.scale-240.png', width: 744, height: 360},
-{dest: 'SplashScreenPhone.scale-240.png', width: 1152, height: 
1920}
-];
+/** Maps MRT splashscreen image to its target project defined in 
platformImages -> 8.1|WP8.1|10
--- End diff --

nit: another 

[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-29 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on CB-9287:


Github user daserge commented on the issue:

https://github.com/apache/cordova-windows/pull/212
  
@vladimir-kotikov could you please take a look again?
I've also added a fix for [CB-12192 - No SplashScreen on Windows when 
content.src is subpage](https://issues.apache.org/jira/browse/CB-12192) - the 
issue occured while testing splashscreen API.


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-28 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on CB-9287:


Github user daserge commented on the issue:

https://github.com/apache/cordova-windows/pull/212
  
@vladimir-kotikov thank you for the review!
I've addressed the notes.


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-28 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on CB-9287:


Github user daserge commented on a diff in the pull request:

https://github.com/apache/cordova-windows/pull/212#discussion_r89792140
  
--- Diff: cordova-js-src/splashscreen.js ---
@@ -58,8 +58,45 @@ function readBoolFromCfg(preferenceName, defaultValue, 
cfg) {
 }
 }
 
+// Refine splashscreen file extension to match what is in config.xml
+function refineSplashScreenExtension(cfg) {
--- End diff --

We could go that way and add another method in confighelper like 
`readManifest` but:
1. I'm not sure how it will affect performance (confighelper is based on 
async xhr),
2. Then we'll need to manipulate the Image.src anyway as it is in different 
format.

The benefit of this approach is more confidence that we are using the 
correct (base)name - but it is not an issue as it is hardcoded now.


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-28 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on CB-9287:


Github user daserge commented on a diff in the pull request:

https://github.com/apache/cordova-windows/pull/212#discussion_r89789288
  
--- Diff: template/cordova/lib/prepare.js ---
@@ -353,6 +391,13 @@ function mapImageResources(images, imagesDir) {
 events.emit('warn', 'No images found for target: ' + 
img.target);
 } else {
 candidates.forEach(function(mrtImage) {
+if (img.target === SPLASH_SCREEN_DESKTOP_TARGET_NAME &&
+mrtSplashScreenToTargetProject(mrtImage) === 
TARGET_PROJECT_10 &&
+exceedsSizeLimit(mrtImage.path)) {
--- End diff --

This does not result in a build failure and the issue could only be seen in 
Visual Studio manifest designer so I believe the warning is useful here.
Do you mean we should fail the build rather than showing this warning?
It currently just skips oversized images.


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-28 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on CB-9287:


Github user daserge commented on a diff in the pull request:

https://github.com/apache/cordova-windows/pull/212#discussion_r89770853
  
--- 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 --

```xml


```

You should not mix image extensions for non-MRT syntax inside one project 
group - in this case ^ the second JPG image will not be used as AppxManifest 
will have PNG for SplashScreen.Image' extension.
There is also a [test for this 
case](https://github.com/apache/cordova-windows/pull/212/files#diff-954e5996601fc5ce41f4107af4f31525R620).


> 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: 

[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-28 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on CB-9287:


Github user daserge commented on a diff in the pull request:

https://github.com/apache/cordova-windows/pull/212#discussion_r89769817
  
--- Diff: template/CordovaApp.Phone.jsproj ---
@@ -79,7 +79,9 @@
 
   Designer
 
-
+
--- End diff --

We are excluding images named like `SplashScreen.jpg` or 
`SplashScreen.scale-100.png` here for phone project (we can do this taking into 
account that phone and desktop projects have different hardcoded splashscreen 
names).


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-28 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CB-9287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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: 

[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-28 Thread ASF GitHub Bot (JIRA)

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

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_r89726245
  
--- Diff: cordova-js-src/splashscreen.js ---
@@ -58,8 +58,45 @@ function readBoolFromCfg(preferenceName, defaultValue, 
cfg) {
 }
 }
 
+// Refine splashscreen file extension to match what is in config.xml
+function refineSplashScreenExtension(cfg) {
--- End diff --

Just a suggestion - is it possible to read splashscreen file name and 
extension directly from appxmanifest? This way you could avoid all this tricky 
logic for getting the right filename.


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-28 Thread ASF GitHub Bot (JIRA)

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

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_r89726640
  
--- Diff: spec/unit/Prepare.Win10.spec.js ---
@@ -541,4 +541,165 @@ describe('copyIcons method', function () {
 
expect(FileUpdater.updatePaths).toHaveBeenCalledWith(expectedPathMap, { 
rootDir: PROJECT }, logFileOp);
 });
 });
+
+it('should ignore splashScreens for Windows 10 project with size >200K 
and emit a warning', function () {
+var size300K = 300 * 1024;
+var warnSpy = jasmine.createSpy('warn');
+events.on('warn', warnSpy);
+
+var splashScreensFiles = [
--- End diff --

Nit: this could be calculated from `splashScreens`: 
`splashScreens.map(splash => path.basename(splash.src)`


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-28 Thread ASF GitHub Bot (JIRA)

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

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_r89739874
  
--- 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();
+
+var manifestSplashScreenMap = [{
--- End diff --

Nit: IMO dictionaly is a better candidate here than array of dictionaries 
w/ 2 keys each


> 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
>

[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-28 Thread ASF GitHub Bot (JIRA)

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

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_r89727040
  
--- Diff: template/CordovaApp.Phone.jsproj ---
@@ -79,7 +79,9 @@
 
   Designer
 
-
+
--- End diff --

Could you please explain how does this work?


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-28 Thread ASF GitHub Bot (JIRA)

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

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_r89729637
  
--- 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;
--- End diff --

Nit: `return splash.target === targetName` is the same


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-28 Thread ASF GitHub Bot (JIRA)

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

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_r89729119
  
--- Diff: template/cordova/lib/prepare.js ---
@@ -362,7 +407,13 @@ function mapImageResources(images, imagesDir) {
 // find target image by size
 var targetImg = findPlatformImage(img.width, img.height);
 if (targetImg) {
-var targetPath = path.join(imagesDir, targetImg.dest);
+if (targetImg.targetProject === TARGET_PROJECT_10 &&
--- End diff --

Same as above


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-28 Thread ASF GitHub Bot (JIRA)

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

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_r89729105
  
--- Diff: template/cordova/lib/prepare.js ---
@@ -353,6 +391,13 @@ function mapImageResources(images, imagesDir) {
 events.emit('warn', 'No images found for target: ' + 
img.target);
 } else {
 candidates.forEach(function(mrtImage) {
+if (img.target === SPLASH_SCREEN_DESKTOP_TARGET_NAME &&
+mrtSplashScreenToTargetProject(mrtImage) === 
TARGET_PROJECT_10 &&
+exceedsSizeLimit(mrtImage.path)) {
--- End diff --

Are you sure that we need to handle this case for the user? I'd rather the 
build fail to clearly indicate to user that spash image must be updated.


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-28 Thread ASF GitHub Bot (JIRA)

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

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_r89726251
  
--- Diff: cordova-js-src/confighelper.js ---
@@ -22,16 +22,17 @@
 // config.xml wrapper (non-node ConfigParser analogue)
 var config;
 function Config(xhr) {
-function loadPreferences(xhr) {
+function load(xhr, tagName) {
 var parser = new DOMParser();
 var doc = parser.parseFromString(xhr.responseText, 
"application/xml");
 
-var preferences = doc.getElementsByTagName("preference");
+var preferences = doc.getElementsByTagName(tagName);
 return Array.prototype.slice.call(preferences);
 }
 
 this.xhr = xhr;
-this.preferences = loadPreferences(this.xhr);
+this.preferences = load(this.xhr, "preference");
+this.splashScreens = load(this.xhr, "splash");
--- End diff --

Calling `load` second time here will trigger re-parsing of `config.xml` 
which, I believe, is not very efficient. Might be better to rework `load` 
method to reuse already parsed document


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-28 Thread ASF GitHub Bot (JIRA)

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

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_r89729302
  
--- 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
--- End diff --

Nit: this is not a valid syntax for multiline JSDoc comments, please update


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-28 Thread ASF GitHub Bot (JIRA)

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

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_r89727836
  
--- Diff: template/cordova/lib/prepare.js ---
@@ -297,48 +305,78 @@ function applyNavigationWhitelist(config, manifest) {
 manifest.getApplication().setAccessRules(whitelistRules);
 }
 
-function mapImageResources(images, imagesDir) {
-var pathMap = {};
+// Platform default images
+var platformImages = [
+{dest: 'Square150x150Logo.scale-100', width: 150, height: 150},
+{dest: 'Square30x30Logo.scale-100', width: 30, height: 30},
+{dest: 'StoreLogo.scale-100', width: 50, height: 50},
+{dest: 'SplashScreen.scale-100', width: 620, height: 300, 
targetProject: TARGET_PROJECT_10},
+{dest: 'SplashScreen.scale-125', width: 775, height: 375, 
targetProject: TARGET_PROJECT_10},
+{dest: 'SplashScreen.scale-140', width: 868, height: 420, 
targetProject: TARGET_PROJECT_81},
+{dest: 'SplashScreen.scale-150', width: 930, height: 450, 
targetProject: TARGET_PROJECT_10},
+{dest: 'SplashScreen.scale-180', width: 1116, height: 540, 
targetProject: TARGET_PROJECT_81},
+{dest: 'SplashScreen.scale-200', width: 1240, height: 600, 
targetProject: TARGET_PROJECT_10},
+{dest: 'SplashScreen.scale-400', width: 2480, height: 1200, 
targetProject: TARGET_PROJECT_10},
+// scaled images are specified here for backward compatibility only so 
we can find them by size
+{dest: 'StoreLogo.scale-240', width: 120, height: 120},
+{dest: 'Square44x44Logo.scale-100', width: 44, height: 44},
+{dest: 'Square44x44Logo.scale-240', width: 106, height: 106},
+{dest: 'Square70x70Logo.scale-100', width: 70, height: 70},
+{dest: 'Square71x71Logo.scale-100', width: 71, height: 71},
+{dest: 'Square71x71Logo.scale-240', width: 170, height: 170},
+{dest: 'Square150x150Logo.scale-240', width: 360, height: 360},
+{dest: 'Square310x310Logo.scale-100', width: 310, height: 310},
+{dest: 'Wide310x150Logo.scale-100', width: 310, height: 150},
+{dest: 'Wide310x150Logo.scale-240', width: 744, height: 360},
+{dest: 'SplashScreenPhone.scale-100', width: 480, height: 800, 
targetProject: TARGET_PROJECT_WP81},
+{dest: 'SplashScreenPhone.scale-140', width: 672, height: 1120, 
targetProject: TARGET_PROJECT_WP81},
+{dest: 'SplashScreenPhone.scale-240', width: 1152, height: 1920, 
targetProject: TARGET_PROJECT_WP81}
+];
+
+function findPlatformImage(width, height) {
+if (!width && !height){
+// this could be default image,
+// Windows requires specific image dimension so we can't apply it
+return null;
+}
+for (var idx in platformImages){
+var res = platformImages[idx];
+// If only one of width or height is not specified, use another 
parameter for comparation
+// If both specified, compare both.
+if ((!width || (width == res.width)) &&
+(!height || (height == res.height))){
+return res;
+}
+}
+return null;
+}
 
-// Platform default images
-var platformImages = [
-{dest: 'Square150x150Logo.scale-100.png', width: 150, height: 150},
-{dest: 'Square30x30Logo.scale-100.png', width: 30, height: 30},
-{dest: 'StoreLogo.scale-100.png', width: 50, height: 50},
-{dest: 'SplashScreen.scale-100.png', width: 620, height: 300},
-// scaled images are specified here for backward compatibility 
only so we can find them by size
-{dest: 'StoreLogo.scale-240.png', width: 120, height: 120},
-{dest: 'Square44x44Logo.scale-100.png', width: 44, height: 44},
-{dest: 'Square44x44Logo.scale-240.png', width: 106, height: 106},
-{dest: 'Square70x70Logo.scale-100.png', width: 70, height: 70},
-{dest: 'Square71x71Logo.scale-100.png', width: 71, height: 71},
-{dest: 'Square71x71Logo.scale-240.png', width: 170, height: 170},
-{dest: 'Square150x150Logo.scale-240.png', width: 360, height: 360},
-{dest: 'Square310x310Logo.scale-100.png', width: 310, height: 310},
-{dest: 'Wide310x150Logo.scale-100.png', width: 310, height: 150},
-{dest: 'Wide310x150Logo.scale-240.png', width: 744, height: 360},
-{dest: 'SplashScreenPhone.scale-240.png', width: 1152, height: 
1920}
-];
+/** Maps MRT splashscreen image to its target project defined in 
platformImages -> 8.1|WP8.1|10
+ * This assumes we have different 
   

[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-25 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on CB-9287:


Github user cordova-qa commented on the issue:

https://github.com/apache/cordova-plugin-splashscreen/pull/119
  
Cordova CI Build has completed successfully.

**Commit** - 
[Link](https://github.com/apache/cordova-plugin-splashscreen/pull/119/commits/de28cf89bfadb876ce9c98fc2ab3b28159c488e8)
**Dashboard** - 
[Link](http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/35/)

| Builder Name  | Console Output | Test Report | Device Logs  |
| :---: | :---:  |   :---: | :---:|
| [Windows 8.1 Store]( 
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/35//PLATFORM=windows-8.1-store/)
 | [Link]( 
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/35//PLATFORM=windows-8.1-store/console)
 | [Link]( 
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/35//PLATFORM=windows-8.1-store/testReport/)
 | [Link]( 
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/35//PLATFORM=windows-8.1-store/artifact/)
 |
| [Windows 10  Store]( 
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/35//PLATFORM=windows-10-store/)
 | [Link]( 
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/35//PLATFORM=windows-10-store/console)
 | [Link]( 
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/35//PLATFORM=windows-10-store/testReport/)
 | [Link]( 
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/35//PLATFORM=windows-10-store/artifact/)
 |
| [Windows 8.1 Phone]( 
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/35//PLATFORM=windows-8.1-phone/)
 | [Link]( 
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/35//PLATFORM=windows-8.1-phone/console)
 | [Link]( 
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/35//PLATFORM=windows-8.1-phone/testReport/)
 | [Link]( 
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/35//PLATFORM=windows-8.1-phone/artifact/)
 |
| [iOS]( 
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/35//PLATFORM=ios/)
 | [Link]( 
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/35//PLATFORM=ios/console)
 | [Link]( 
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/35//PLATFORM=ios/testReport/)
 | [Link]( 
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/35//PLATFORM=ios/artifact/)
 |
| [Android]( 
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/35//PLATFORM=android/)
 | [Link]( 
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/35//PLATFORM=android/console)
 | [Link]( 
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/35//PLATFORM=android/testReport/)
 | [Link]( 
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/35//PLATFORM=android/artifact/)
 |
 



> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-25 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on CB-9287:


GitHub user daserge opened a pull request:

https://github.com/apache/cordova-plugin-splashscreen/pull/119

CB-9287 Not enough Icons and Splashscreens for Windows 8.1 and Window…


…s Phone 8.1

### Platforms affected
Windows

### What does this PR do?
Documented MRT-style configuration

### What testing has been done on this change?


### Checklist
- [X] [Reported an issue](http://cordova.apache.org/contribute/issues.html) 
in the JIRA database
- [x] Commit message follows the format: "CB-3232: (android) Fix bug with 
resolving file paths", where CB- is the JIRA ID & "android" is the platform 
affected.
- [ ] Added automated test coverage as appropriate for this change.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/daserge/cordova-plugin-splashscreen CB-9287

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/cordova-plugin-splashscreen/pull/119.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #119


commit de28cf89bfadb876ce9c98fc2ab3b28159c488e8
Author: daserge 
Date:   2016-11-21T16:34:38Z

CB-9287 Not enough Icons and Splashscreens for Windows 8.1 and Windows 
Phone 8.1

Documented MRT-style configuration




> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-25 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on CB-9287:


Github user codecov-io commented on the issue:

https://github.com/apache/cordova-windows/pull/212
  
## [Current 
coverage](https://codecov.io/gh/apache/cordova-windows/pull/212?src=pr) is 
76.04% (diff: 95.69%)
> Merging 
[#212](https://codecov.io/gh/apache/cordova-windows/pull/212?src=pr) into 
[master](https://codecov.io/gh/apache/cordova-windows/branch/master?src=pr) 
will increase coverage by **0.76%**

```diff
@@ master   #212   diff @@
==
  Files16 16  
  Lines  2120   2200+80   
  Methods 401415+14   
  Messages  0  0  
  Branches410430+20   
==
+ Hits   1596   1673+77   
- Misses  524527 +3   
  Partials  0  0  
```

> Powered by [Codecov](https://codecov.io?src=pr). Last update 
[09d582c...bd0096b](https://codecov.io/gh/apache/cordova-windows/compare/09d582c8705625bbdcd8fb97c30c02eea04d14b0...bd0096b71a3d6d65169d7d4582e50a05dc48ecb0?src=pr)


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-11-25 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on CB-9287:


GitHub user daserge opened a pull request:

https://github.com/apache/cordova-windows/pull/212

CB-9287 Not enough Icons and Splashscreens for Windows 8.1 and Windows 
Phone 8.1



### Platforms affected
Windows

### What does this PR do?
Add JPG support, added missing splashscreen scales for projects
cordova.js - refine splashscreen extension based on config.xml
Added a warning when non-MRT splash screens have mixed extensions
Added a warning for size limit exceeding (applies to win10 project only)
Added a warning for images with unsupported format
Tests

[Jira issue CB-9287](https://issues.apache.org/jira/browse/CB-9287)

### What testing has been done on this change?
Manual and auto tests

### Checklist
- [x] [Reported an issue](http://cordova.apache.org/contribute/issues.html) 
in the JIRA database
- [x] Commit message follows the format: "CB-3232: (android) Fix bug with 
resolving file paths", where CB- is the JIRA ID & "android" is the platform 
affected.
- [x] Added automated test coverage as appropriate for this change.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/daserge/cordova-windows CB-9287

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/cordova-windows/pull/212.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #212


commit d4640969dc2b9b7b5322629a899c040fb9496a26
Author: daserge 
Date:   2016-11-25T10:30:46Z

CB-9287 Not enough Icons and Splashscreens for Windows 8.1 and Windows 
Phone 8.1

Add JPG support
cordova.js - refine splashscreen extension based on config.xml
Added a warning when non-MRT splash screens have mixed extensions
Added a warning for size limit exceeding (applies to win10 project only)
Added a warning for images with unsupported format

commit bd0096b71a3d6d65169d7d4582e50a05dc48ecb0
Author: daserge 
Date:   2016-11-25T10:31:03Z

CB-9287 Not enough Icons and Splashscreens for Windows 8.1 and Windows 
Phone 8.1

Tests




> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-04-28 Thread Chris Pitt (JIRA)

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

Chris Pitt commented on CB-9287:


My config.xml specifies the following splash screens and icons for Windows, but 
the current cordova version only supports half of them:





































































> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-04-13 Thread napcat (JIRA)

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

napcat commented on CB-9287:


This is also affecting my projects.

In the docs only two sizes are listed:







But there's a lot more sizes that a windows universal app needs.

Also the icons needs all the diferentes size deviations from sale100 to 
scale125, scale 150, scale200 and scale400.

!splashscreens_windows_universal_app.jpg!


> 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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-03-09 Thread Paul Hickman (JIRA)

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

Paul Hickman commented on CB-9287:
--

This also affects Windows 10 universal apps, not just 8.1



> 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
>   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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9287) Not enough Icons and Splashscreens for Windows 8.1 and Windows Phone 8.1

2016-01-27 Thread Sergey Shakhnazarov (JIRA)

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

Sergey Shakhnazarov commented on CB-9287:
-

SplashScreen guidelines:
Windows 8.1: https://msdn.microsoft.com/en-us/library/windows/apps/hh465338.aspx
Windows 10: https://msdn.microsoft.com/en-us/library/windows/apps/mt187306.aspx

> 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
>   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:
>  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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org