+ Every app, upon installation, gets its own default primary tile.
+ Primary tiles are unpinned by default, and it is only up to each individual
+ user to initiate a request to pin a primary tile to their start menu.
+ If your app would like to pin tiles to the start menu programatically,
+ it can do so by creating a secondary tile and prompting the user to authorize
+ a request to pin that secondary tile to their start menu.
+
+
+
+
\ No newline at end of file
diff --git a/Samples/Notifications/js/Notifications/html/scenario2-updatesecondarytile.html b/Samples/Notifications/js/Notifications/html/scenario2-updatesecondarytile.html
new file mode 100644
index 0000000000..b1f0643f1e
--- /dev/null
+++ b/Samples/Notifications/js/Notifications/html/scenario2-updatesecondarytile.html
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
Description:
+
+ Updating a secondary tile.
+
+
+
Properties of secondary tiles, like their display name, logos, arguments, and more, can be updated after a secondary tile has been pinned. This scenario provides an example of updating a secondary tile's name and logos.
+
Step 1:
+
Step 2: Open Start and observe the tile pinned as "Original" with the "X" logo.
+
Step 3:
+
Step 4: Open Start again and observe that the secondary tile's name has changed to "Updated", and the logos on the tile are now check marks.
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Samples/Notifications/js/Notifications/html/scenario3-primarytilenotifications.html b/Samples/Notifications/js/Notifications/html/scenario3-primarytilenotifications.html
new file mode 100644
index 0000000000..af6b0b1604
--- /dev/null
+++ b/Samples/Notifications/js/Notifications/html/scenario3-primarytilenotifications.html
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
Description:
+
+ Sending and clearing notifications for your app's primary tile.
+
+
+
Step 1: Manually pin this app's primary tile to your Start screen (if its not already)
+
Step 2:
+
Step 3: Open Start and observe the notification displayed on the primary tile.
+
Step 4:
+
Step 5: Open Start again and observe that the notification has been cleard from the primary tile.
+
+
+
+
\ No newline at end of file
diff --git a/Samples/Notifications/js/Notifications/html/scenario4-secondarytilenotifications.html b/Samples/Notifications/js/Notifications/html/scenario4-secondarytilenotifications.html
new file mode 100644
index 0000000000..1e84622e1f
--- /dev/null
+++ b/Samples/Notifications/js/Notifications/html/scenario4-secondarytilenotifications.html
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
Description:
+
+ Sending notifications to your app's secondary tile.
+
+
+
Step 1:
+
Step 2: Open Start and observe the new secondary tile has been pinned.
+
Step 3:
+
Step 4: Open Start and observe notification displayed on the secondary tile.
+
+
+
+
\ No newline at end of file
diff --git a/Samples/Notifications/js/Notifications/html/scenario5-expiringtilenotifications.html b/Samples/Notifications/js/Notifications/html/scenario5-expiringtilenotifications.html
new file mode 100644
index 0000000000..99b52f55ae
--- /dev/null
+++ b/Samples/Notifications/js/Notifications/html/scenario5-expiringtilenotifications.html
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
Description:
+
+ Tile notifications can be set to expire.
+
+
+
Step 1:
+
Step 2: Open Start and observe a tile with the name "Expiring Notification" has been pinned.
+
Step 3:
+
Step 4: Open Start and observe a notification appears on the tile. Watch it expire at the specified time.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Samples/Notifications/js/Notifications/html/scenario6-schedulingtilenotifications.html b/Samples/Notifications/js/Notifications/html/scenario6-schedulingtilenotifications.html
new file mode 100644
index 0000000000..cc8bc14ee5
--- /dev/null
+++ b/Samples/Notifications/js/Notifications/html/scenario6-schedulingtilenotifications.html
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
Description:
+
+ Scheduling tile notifications for the future.
+
+
+
Step 1:
+
Step 2: Open Start and observe a tile with the name "Scheduling Notifications" has been pinned.
+
Step 3:
+
Step 4: Open Start and observe a notification has appeared on the tile. Watch the notifications change until the specified time has elapsed.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Samples/Notifications/js/Notifications/html/scenario7-primarytilebadges.html b/Samples/Notifications/js/Notifications/html/scenario7-primarytilebadges.html
new file mode 100644
index 0000000000..f647ba0f60
--- /dev/null
+++ b/Samples/Notifications/js/Notifications/html/scenario7-primarytilebadges.html
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
Description:
+
+ Display badges on primary tiles.
+
+
+
Step 1: Manually pin this app's primary tile to your Start screen (if its not already)
+
Step 2: Use the controls below to display badges on the primary tile.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Samples/Notifications/js/Notifications/html/scenario8-secondarytilebadges.html b/Samples/Notifications/js/Notifications/html/scenario8-secondarytilebadges.html
new file mode 100644
index 0000000000..beb5553b9f
--- /dev/null
+++ b/Samples/Notifications/js/Notifications/html/scenario8-secondarytilebadges.html
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
Description:
+
+ Display badges on secondary tiles.
+
+
+
+
Step 1:
+
Step 2: Use the controls below to display badges on the secondary tile.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Samples/Notifications/js/Notifications/html/scenario9-unpineverything.html b/Samples/Notifications/js/Notifications/html/scenario9-unpineverything.html
new file mode 100644
index 0000000000..37eded89b2
--- /dev/null
+++ b/Samples/Notifications/js/Notifications/html/scenario9-unpineverything.html
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Description:
+
+ Unpinning all secondary tiles for this app.
+
+
+
+
+
+ Your app can programatically unpin its secondary tiles.
+
+
+ The above button loops through all secondary tiles using findAllAsync() and calls requestDeleteAsync() on each tile to unpin all secondary tiles.
+ Listed below are all of the secondary tiles currently pinned for this app.
+
+
+
+
\ No newline at end of file
diff --git a/Samples/Notifications/js/Notifications/images/cancel.png b/Samples/Notifications/js/Notifications/images/cancel.png
new file mode 100644
index 0000000000..1d7f70b7cc
Binary files /dev/null and b/Samples/Notifications/js/Notifications/images/cancel.png differ
diff --git a/Samples/Notifications/js/Notifications/images/check.png b/Samples/Notifications/js/Notifications/images/check.png
new file mode 100644
index 0000000000..2e705eb45a
Binary files /dev/null and b/Samples/Notifications/js/Notifications/images/check.png differ
diff --git a/Samples/Notifications/js/Notifications/js/default.js b/Samples/Notifications/js/Notifications/js/default.js
new file mode 100644
index 0000000000..e3eadcd403
--- /dev/null
+++ b/Samples/Notifications/js/Notifications/js/default.js
@@ -0,0 +1,105 @@
+//// Copyright (c) Microsoft Corporation. All rights reserved
+
+(function () {
+ "use strict";
+
+ var app = WinJS.Application;
+ var nav = WinJS.Navigation;
+ var activationKinds = Windows.ApplicationModel.Activation.ActivationKind;
+ var splitView;
+
+ WinJS.Namespace.define("SdkSample", {
+ paneHiddenInitially: false
+ });
+
+ function activated(eventObject) {
+ var activationKind = eventObject.detail.kind;
+ var activatedEventArgs = eventObject.detail.detail;
+
+ SdkSample.paneHiddenInitially = window.innerWidth <= 768;
+ var p = WinJS.UI.processAll().
+ then(function () {
+ splitView = document.querySelector("#root").winControl;
+ splitView.onbeforeclose = function () { WinJS.Utilities.addClass(splitView.element, "hiding"); };
+ splitView.onafterclose = function () { WinJS.Utilities.removeClass(splitView.element, "hiding"); };
+ window.addEventListener("resize", handleResize);
+ handleResize();
+
+ var buttons = document.querySelectorAll(".splitViewButton");
+ for (var i = 0, len = buttons.length; i < len; i++) {
+ buttons[i].addEventListener("click", handleSplitViewButton);
+ }
+
+ // Navigate to either the first scenario or to the last running scenario
+ // before suspension or termination.
+ var url = SdkSample.scenarios.getAt(0).url;
+ var initialState = {};
+ var navHistory = app.sessionState.navigationHistory;
+ if (navHistory) {
+ nav.history = navHistory;
+ url = navHistory.current.location;
+ initialState = navHistory.current.state || initialState;
+ }
+ initialState.activationKind = activationKind;
+ initialState.activatedEventArgs = activatedEventArgs;
+ nav.history.current.initialPlaceholder = true;
+ return nav.navigate(url, initialState);
+ });
+
+ // Calling done on a promise chain allows unhandled exceptions to propagate.
+ p.done();
+
+ // Use setPromise to indicate to the system that the splash screen must not be torn down
+ // until after processAll and navigate complete asynchronously.
+ eventObject.setPromise(p);
+ }
+
+ function navigating(eventObject) {
+ var url = eventObject.detail.location;
+ var host = document.getElementById("contentHost");
+ // Call unload and dispose methods on current scenario, if any exist
+ if (host.winControl) {
+ host.winControl.unload && host.winControl.unload();
+ host.winControl.dispose && host.winControl.dispose();
+ }
+ WinJS.Utilities.disposeSubTree(host);
+ WinJS.Utilities.empty(host);
+ WinJS.log && WinJS.log("", "", "status");
+
+ var p = WinJS.UI.Pages.render(url, host, eventObject.detail.state).
+ then(function () {
+ var navHistory = nav.history;
+ app.sessionState.navigationHistory = {
+ backStack: navHistory.backStack.slice(0),
+ forwardStack: navHistory.forwardStack.slice(0),
+ current: navHistory.current
+ };
+ app.sessionState.lastUrl = url;
+ });
+ p.done();
+ eventObject.detail.setPromise(p);
+ }
+
+ function handleSplitViewButton() {
+ splitView.paneOpened = !splitView.paneOpened;
+ }
+
+ function handleResize() {
+ if (window.innerWidth > 768) {
+ splitView.closedDisplayMode = WinJS.UI.SplitView.ClosedDisplayMode.none;
+ splitView.openedDisplayMode = WinJS.UI.SplitView.OpenedDisplayMode.inline;
+ } else {
+ splitView.closedDisplayMode = WinJS.UI.SplitView.ClosedDisplayMode.none;
+ splitView.openedDisplayMode = WinJS.UI.SplitView.OpenedDisplayMode.overlay;
+ splitView.closePane();
+ }
+ }
+
+ nav.addEventListener("navigating", navigating);
+ app.addEventListener("activated", activated, false);
+ app.start();
+})();
+
+window.onerror = function (E) {
+ debugger;
+}
\ No newline at end of file
diff --git a/Samples/Notifications/js/Notifications/js/sample-configuration.js b/Samples/Notifications/js/Notifications/js/sample-configuration.js
new file mode 100644
index 0000000000..4b9641a8e4
--- /dev/null
+++ b/Samples/Notifications/js/Notifications/js/sample-configuration.js
@@ -0,0 +1,24 @@
+//// Copyright (c) Microsoft Corporation. All rights reserved
+
+(function () {
+ "use strict";
+
+ var sampleTitle = "Notifications JS sample";
+
+ var scenarios = [
+ { url: "/html/scenario1-pinningsecondarytiles.html", title: "Pinning secondary tiles" },
+ { url: "/html/scenario2-updatesecondarytile.html", title: "Update secondary tile" },
+ { url: "/html/scenario3-primarytilenotifications.html", title: "Primary tile notifications" },
+ { url: "/html/scenario4-secondarytilenotifications.html", title: "Secondary tile notifications" },
+ { url: "/html/scenario5-expiringtilenotifications.html", title: "Expiring tile notifications" },
+ { url: "/html/scenario6-schedulingtilenotifications.html", title: "Scheduling tile notifications" },
+ { url: "/html/scenario7-primarytilebadges.html", title: "Primary tile badges" },
+ { url: "/html/scenario8-secondarytilebadges.html", title: "Secondary tile badges" },
+ { url: "/html/scenario9-unpineverything.html", title: "Unpin everything" },
+ ];
+
+ WinJS.Namespace.define("SdkSample", {
+ sampleTitle: sampleTitle,
+ scenarios: new WinJS.Binding.List(scenarios)
+ });
+})();
\ No newline at end of file
diff --git a/Samples/Notifications/js/Notifications/js/scenario1-pinningsecondarytiles.js b/Samples/Notifications/js/Notifications/js/scenario1-pinningsecondarytiles.js
new file mode 100644
index 0000000000..646531606f
--- /dev/null
+++ b/Samples/Notifications/js/Notifications/js/scenario1-pinningsecondarytiles.js
@@ -0,0 +1,72 @@
+//// Copyright (c) Microsoft Corporation. All rights reserved
+
+(function () {
+ "use strict";
+
+ var SecondaryTile = Windows.UI.StartScreen.SecondaryTile;
+ var Uri = Windows.Foundation.Uri;
+ var Colors = Windows.UI.Colors;
+
+ // UI elements on the page
+ var pinCommand;
+ var displayNameInput;
+ var checkBoxSquare71x71Logo;
+ var checkBoxSquare150x150Logo;
+ var checkBoxWide310x150Logo;
+ var checkBoxSquare310x310Logo;
+ var checkBoxShowNameOnSquare150x150Logo;
+ var checkBoxShowNameOnWide310x150Logo;
+ var checkBoxShowNameOnSquare310x310Logo;
+
+
+ var page = WinJS.UI.Pages.define("/html/scenario1-pinningsecondarytiles.html", {
+ ready: function (element, options) {
+ pinCommand = element.querySelector("#pincommand");
+ pinCommand.addEventListener("click", pinTiles);
+
+ displayNameInput = element.querySelector("#displayname");
+ displayNameInput.focus();
+
+ checkBoxSquare71x71Logo = element.querySelector("#checkboxsquare71x71logo");
+ checkBoxSquare150x150Logo = element.querySelector("#checkboxsquare150x150logo");
+ checkBoxWide310x150Logo = element.querySelector("#checkboxwide310x150logo");
+ checkBoxSquare310x310Logo = element.querySelector("#checkboxsquare310x310logo");
+ checkBoxShowNameOnSquare150x150Logo = element.querySelector("#checkboxshownameonsquare150x150logo");
+ checkBoxShowNameOnWide310x150Logo = element.querySelector("#checkboxshownameonwide310x150logo");
+ checkBoxShowNameOnSquare310x310Logo = element.querySelector("#checkboxshownameonsquare310x310logo");
+ }
+ });
+
+ function pinTiles() {
+ pinCommand.disabled = true;
+
+ var tile = new SecondaryTile(new Date().getTime());
+ tile.arguments = "args";
+ tile.displayName = displayNameInput.value;
+
+ if (checkBoxSquare150x150Logo.checked) {
+ tile.visualElements.square150x150Logo = new Uri("ms-appx:///images/Square150x150Logo.png");
+ }
+ if (checkBoxSquare71x71Logo.checked) {
+ tile.visualElements.square71x71Logo = new Uri("ms-appx:///images/Square150x150Logo.png");
+ }
+ if (checkBoxWide310x150Logo.checked) {
+ tile.visualElements.wide310x150Logo = new Uri("ms-appx:///images/Wide310x150Logo.png");
+ }
+ if (checkBoxSquare310x310Logo.checked) {
+ tile.visualElements.square310x310Logo = new Uri("ms-appx:///images/Square310x310Logo.png");
+ }
+
+ tile.visualElements.backgroundColor = Colors.purple;
+ tile.visualElements.showNameOnSquare150x150Logo = checkBoxShowNameOnSquare150x150Logo.checked;
+ tile.visualElements.showNameOnSquare310x310Logo = checkBoxShowNameOnSquare310x310Logo.checked;
+ tile.visualElements.showNameOnWide310x150Logo = checkBoxShowNameOnWide310x150Logo.checked;
+
+ var asyncOp = tile.requestCreateAsync();
+
+ asyncOp.done(function () {
+ pinCommand.disabled = false;
+ });
+ }
+
+})();
\ No newline at end of file
diff --git a/Samples/Notifications/js/Notifications/js/scenario2-updatesecondarytile.js b/Samples/Notifications/js/Notifications/js/scenario2-updatesecondarytile.js
new file mode 100644
index 0000000000..0b3ce15051
--- /dev/null
+++ b/Samples/Notifications/js/Notifications/js/scenario2-updatesecondarytile.js
@@ -0,0 +1,88 @@
+//// Copyright (c) Microsoft Corporation. All rights reserved
+
+(function () {
+ "use strict";
+
+ var SecondaryTile = Windows.UI.StartScreen.SecondaryTile;
+ var TileSize = Windows.UI.StartScreen.TileSize;
+ var Uri = Windows.Foundation.Uri;
+ var MessageDialog = Windows.UI.Popups.MessageDialog;
+ var _tileId;
+
+ // UI elements on the page
+ var pinCommand;
+ var updateCommand;
+ var restartCommand;
+
+ var page = WinJS.UI.Pages.define("/html/scenario2-updatesecondarytile.html", {
+ ready: function (element, options) {
+
+ pinCommand = element.querySelector("#pincommand");
+ pinCommand.addEventListener("click", pinTile);
+ pinCommand.disabled = false;
+
+ updateCommand = element.querySelector("#updatecommand");
+ updateCommand.addEventListener("click", updateTile);
+ updateCommand.disabled = true;
+
+ restartCommand = element.querySelector("#restartcommand");
+ restartCommand.addEventListener("click", restartScenario);
+ }
+ });
+
+ function pinTile() {
+
+ pinCommand.disabled = true;
+
+ // Generate a unique tile ID for the purposes of the sample
+ _tileId = new Date().getTime().toString();
+
+ // Initialize and pin a new secondary tile that we will later update
+ var tile = new SecondaryTile(_tileId, "Original", "args", new Uri("ms-appx:///images/cancel.png"), TileSize.default);
+ tile.visualElements.square71x71Logo = new Uri("ms-appx:///images/cancel.png");
+ tile.visualElements.wide310x150Logo = new Uri("ms-appx:///images/cancel.png");
+ tile.visualElements.square310x310Logo = new Uri("ms-appx:///images/cancel.png");
+ tile.visualElements.showNameOnSquare150x150Logo = true;
+ tile.visualElements.showNameOnSquare310x310Logo = true;
+ tile.visualElements.showNameOnWide310x150Logo = true;
+
+ tile.requestCreateAsync().then(function complete() {
+ // unlock the rest of the scenario
+ updateCommand.disabled = false;
+ });
+ }
+
+ function updateTile() {
+ updateCommand.disabled = true;
+
+ // Grab the existing tile
+ SecondaryTile.findAllAsync().then(function complete(tiles) {
+
+ var tile = tiles.find(function (tile) {
+ return tile.tileId === _tileId;
+ });
+
+ if (!tile) {
+ new MessageDialog("The secondary tile that was previously pinned could not be found. Has it been removed from Start?", "Error").showAsync();
+ } else {
+
+ // Change its name and logo
+ tile.displayName = "Updated";
+ tile.visualElements.square150x150Logo = new Uri("ms-appx:///images/check.png");
+ tile.visualElements.square71x71Logo = new Uri("ms-appx:///images/check.png");
+ tile.visualElements.square310x310Logo = new Uri("ms-appx:///images/check.png");
+ tile.visualElements.wide310x150Logo = new Uri("ms-appx:///images/check.png");
+
+ // And request its properties to be updated
+ tile.updateAsync();
+ }
+
+ });
+ }
+
+ function restartScenario() {
+ pinCommand.disabled = false;
+ updateCommand.disabled = true;
+ }
+
+})();
\ No newline at end of file
diff --git a/Samples/Notifications/js/Notifications/js/scenario3-primarytilenotifications.js b/Samples/Notifications/js/Notifications/js/scenario3-primarytilenotifications.js
new file mode 100644
index 0000000000..c195d47d73
--- /dev/null
+++ b/Samples/Notifications/js/Notifications/js/scenario3-primarytilenotifications.js
@@ -0,0 +1,66 @@
+//// Copyright (c) Microsoft Corporation. All rights reserved
+
+(function () {
+ "use strict";
+
+ var TileNotification = Windows.UI.Notifications.TileNotification;
+ var TileUpdateManager = Windows.UI.Notifications.TileUpdateManager;
+ var Tiles = NotificationsExtensions.Tiles;
+
+ // UI elements on the page
+ var sendCommand;
+ var clearCommand;
+
+ var page = WinJS.UI.Pages.define("/html/scenario3-primarytilenotifications.html", {
+ ready: function (element, options) {
+
+ sendCommand = element.querySelector("#sendcommand");
+ sendCommand.addEventListener("click", sendNotification);
+ sendCommand.disabled = false;
+
+ clearCommand = element.querySelector("#clearcommand");
+ clearCommand.addEventListener("click", clearNotification);
+
+ }
+ });
+
+ function sendNotification() {
+
+ var nowTimeString = new Date().toLocaleString();
+
+ var textConfigs = [
+ { text: "New primary tile notification", hintWrap: true },
+ { text: nowTimeString, hintWrap: true, hintStyle: NotificationsExtensions.AdaptiveTextStyle.captionSubtle }
+ ];
+
+ // Build and append content from textConfigs, line by line.
+ var adaptiveContent = new Tiles.TileBindingContentAdaptive();
+ textConfigs.forEach(function (lineConfig) {
+ var lineOfText = new NotificationsExtensions.AdaptiveText();
+ for (var key in lineConfig) {
+ lineOfText[key] = lineConfig[key];
+ }
+ adaptiveContent.children.push(lineOfText);
+ });
+
+ // Specify templates and send Notification.
+ var tileContent = new Tiles.TileContent();
+ tileContent.visual = new Tiles.TileVisual();
+ tileContent.visual.branding = Tiles.TileBranding.nameAndLogo;
+ tileContent.visual.tileMedium = new Tiles.TileBinding();
+ tileContent.visual.tileMedium.content = adaptiveContent;
+ tileContent.visual.tileWide = new Tiles.TileBinding();
+ tileContent.visual.tileWide.content = adaptiveContent;
+ tileContent.visual.tileLarge = new Tiles.TileBinding();
+ tileContent.visual.tileLarge.content = adaptiveContent;
+
+ var doc = tileContent.getXml();
+ var notification = new TileNotification(doc);
+ TileUpdateManager.createTileUpdaterForApplication().update(notification);
+ }
+
+ function clearNotification() {
+ TileUpdateManager.createTileUpdaterForApplication().clear();
+ }
+
+})();
\ No newline at end of file
diff --git a/Samples/Notifications/js/Notifications/js/scenario4-secondarytilenotifications.js b/Samples/Notifications/js/Notifications/js/scenario4-secondarytilenotifications.js
new file mode 100644
index 0000000000..9aab6ac578
--- /dev/null
+++ b/Samples/Notifications/js/Notifications/js/scenario4-secondarytilenotifications.js
@@ -0,0 +1,87 @@
+//// Copyright (c) Microsoft Corporation. All rights reserved
+
+(function () {
+ "use strict";
+
+ var SecondaryTile = Windows.UI.StartScreen.SecondaryTile;
+ var TileSize = Windows.UI.StartScreen.TileSize;
+ var Uri = Windows.Foundation.Uri;
+
+ var TileNotification = Windows.UI.Notifications.TileNotification;
+ var TileUpdateManager = Windows.UI.Notifications.TileUpdateManager;
+ var Tiles = NotificationsExtensions.Tiles;
+
+ var _tileId;
+
+ // UI elements on the page
+ var sendCommand;
+ var pinCommand;
+
+
+ var page = WinJS.UI.Pages.define("/html/scenario4-secondarytilenotifications.html", {
+ ready: function (element, options) {
+
+ pinCommand = element.querySelector("#pincommand");
+ pinCommand.addEventListener("click", pinTile);
+
+ sendCommand = element.querySelector("#sendcommand");
+ sendCommand.addEventListener("click", sendNotification);
+ }
+ });
+
+ function pinTile() {
+
+ pinCommand.disabled = true;
+
+ // Generate a unique tile ID for the purposes of the sample
+ _tileId = new Date().getTime().toString();
+
+ // Initialize and pin a new secondary tile.
+ var tile = new SecondaryTile(_tileId, "Secondary notifications", "args", new Uri("ms-appx:///images/Square150x150Logo.png"), TileSize.default);
+ tile.visualElements.wide310x150Logo = new Uri("ms-appx:///images/Wide310x150Logo.png");
+ tile.visualElements.square310x310Logo = new Uri("ms-appx:///images/Square310x310Logo.png");
+ tile.visualElements.showNameOnSquare150x150Logo = true;
+ tile.visualElements.showNameOnSquare310x310Logo = true;
+ tile.visualElements.showNameOnWide310x150Logo = true;
+
+ tile.requestCreateAsync().then(function complete() {
+ pinCommand.disabled = false;
+ });
+ }
+
+ function sendNotification() {
+
+ var nowTimeString = new Date().toLocaleString();
+
+ var textConfigs = [
+ { text: "New secondary tile notification", hintWrap: true },
+ { text: nowTimeString, hintWrap: true, hintStyle: NotificationsExtensions.AdaptiveTextStyle.captionSubtle }
+ ];
+
+ // Build and append content from textConfigs, line by line.
+ var adaptiveContent = new Tiles.TileBindingContentAdaptive();
+ textConfigs.forEach(function (lineConfig) {
+ var lineOfText = new NotificationsExtensions.AdaptiveText();
+ for (var key in lineConfig) {
+ lineOfText[key] = lineConfig[key];
+ }
+ adaptiveContent.children.push(lineOfText);
+ });
+
+ // Specify templates and send Notification.
+ var tileContent = new Tiles.TileContent();
+ tileContent.visual = new Tiles.TileVisual();
+ tileContent.visual.branding = Tiles.TileBranding.nameAndLogo;
+ tileContent.visual.tileMedium = new Tiles.TileBinding();
+ tileContent.visual.tileMedium.content = adaptiveContent;
+ tileContent.visual.tileWide = new Tiles.TileBinding();
+ tileContent.visual.tileWide.content = adaptiveContent;
+ tileContent.visual.tileLarge = new Tiles.TileBinding();
+ tileContent.visual.tileLarge.content = adaptiveContent;
+
+ var doc = tileContent.getXml();
+ var notification = new TileNotification(doc);
+ TileUpdateManager.createTileUpdaterForSecondaryTile(_tileId).update(notification);
+ }
+
+})();
\ No newline at end of file
diff --git a/Samples/Notifications/js/Notifications/js/scenario5-expiringtilenotifications.js b/Samples/Notifications/js/Notifications/js/scenario5-expiringtilenotifications.js
new file mode 100644
index 0000000000..515f776c8f
--- /dev/null
+++ b/Samples/Notifications/js/Notifications/js/scenario5-expiringtilenotifications.js
@@ -0,0 +1,83 @@
+//// Copyright (c) Microsoft Corporation. All rights reserved
+
+(function () {
+ "use strict";
+
+ var SecondaryTile = Windows.UI.StartScreen.SecondaryTile;
+ var TileSize = Windows.UI.StartScreen.TileSize;
+ var Uri = Windows.Foundation.Uri;
+
+ var TileNotification = Windows.UI.Notifications.TileNotification;
+ var TileUpdateManager = Windows.UI.Notifications.TileUpdateManager;
+ var Tiles = NotificationsExtensions.Tiles;
+
+ var _tileId;
+
+ // UI elements on the page
+ var pinCommand;
+ var sendCommand;
+
+ var page = WinJS.UI.Pages.define("/html/scenario5-expiringtilenotifications.html", {
+ ready: function (element, options) {
+
+ pinCommand = element.querySelector("#pincommand");
+ pinCommand.addEventListener("click", pinTile);
+
+ sendCommand = element.querySelector("#sendcommand");
+ sendCommand.addEventListener("click", sendNotification);
+ }
+ });
+
+ function pinTile() {
+
+ pinCommand.disabled = true;
+
+ // Generate a unique tile ID for the purposes of the sample
+ _tileId = new Date().getTime().toString();
+
+ // Initialize and pin a new secondary tile.
+ var tile = new SecondaryTile(_tileId, "Expiring Notification", "args", new Uri("ms-appx:///images/Square150x150Logo.png"), TileSize.default);
+ tile.visualElements.square71x71Logo = new Uri("ms-appx:///images/Small.png");
+ tile.visualElements.wide310x150Logo = new Uri("ms-appx:///images/WideLogo.png");
+ tile.visualElements.square310x310Logo = new Uri("ms-appx:///images/LargeLogo.png");
+ tile.visualElements.showNameOnSquare150x150Logo = true;
+ tile.visualElements.showNameOnSquare310x310Logo = true;
+ tile.visualElements.showNameOnWide310x150Logo = true;
+
+ tile.requestCreateAsync().then(function complete() {
+ pinCommand.disabled = false;
+ });
+ }
+
+ function sendNotification() {
+
+ // Set expiration time to 20 seconds.
+ var expirationTime = new Date();
+ expirationTime.setSeconds(expirationTime.getSeconds() + 20);
+ var expirationTimeString = expirationTime.toLocaleTimeString();
+
+ // Build TileText
+ var lineOfText = new NotificationsExtensions.AdaptiveText();
+ lineOfText.text = "This notification will expire at " + expirationTimeString;
+ lineOfText.hintWrap = true;
+ var adaptiveContent = new Tiles.TileBindingContentAdaptive();
+ adaptiveContent.children.push(lineOfText);
+
+ // Specify templates and send Notification.
+ var tileContent = new Tiles.TileContent();
+ tileContent.visual = new Tiles.TileVisual();
+ tileContent.visual.branding = Tiles.TileBranding.nameAndLogo;
+ tileContent.visual.tileMedium = new Tiles.TileBinding();
+ tileContent.visual.tileMedium.content = adaptiveContent;
+ tileContent.visual.tileWide = new Tiles.TileBinding();
+ tileContent.visual.tileWide.content = adaptiveContent;
+ tileContent.visual.tileLarge = new Tiles.TileBinding();
+ tileContent.visual.tileLarge.content = adaptiveContent;
+
+ var doc = tileContent.getXml();
+ var notification = new TileNotification(doc);
+ notification.expirationTime = expirationTime;
+ TileUpdateManager.createTileUpdaterForSecondaryTile(_tileId).update(notification);
+ }
+
+})();
\ No newline at end of file
diff --git a/Samples/Notifications/js/Notifications/js/scenario6-schedulingtilenotifications.js b/Samples/Notifications/js/Notifications/js/scenario6-schedulingtilenotifications.js
new file mode 100644
index 0000000000..6de2565f08
--- /dev/null
+++ b/Samples/Notifications/js/Notifications/js/scenario6-schedulingtilenotifications.js
@@ -0,0 +1,113 @@
+//// Copyright (c) Microsoft Corporation. All rights reserved
+
+(function () {
+ "use strict";
+
+ var SecondaryTile = Windows.UI.StartScreen.SecondaryTile;
+ var TileSize = Windows.UI.StartScreen.TileSize;
+ var Uri = Windows.Foundation.Uri;
+
+ var TileNotification = Windows.UI.Notifications.TileNotification;
+ var TileUpdateManager = Windows.UI.Notifications.TileUpdateManager;
+ var Tiles = NotificationsExtensions.Tiles;
+
+ var _tileId;
+
+ // UI elements on the page
+ var pinCommand;
+ var scheduleCommand;
+ var restartCommand;
+
+ var page = WinJS.UI.Pages.define("/html/scenario6-schedulingtilenotifications.html", {
+ ready: function (element, options) {
+
+ pinCommand = element.querySelector("#pincommand");
+ pinCommand.addEventListener("click", pinTile);
+ pinCommand.disabled = false;
+
+ scheduleCommand = element.querySelector("#schedulecommand");
+ scheduleCommand.addEventListener("click", scheduleNotifications);
+ scheduleCommand.disabled = true;
+
+ restartCommand = element.querySelector("#restartcommand");
+ restartCommand.addEventListener("click", restartScenario);
+ }
+ });
+
+ function pinTile() {
+
+ pinCommand.disabled = true;
+
+ // Generate a unique tile ID for the purposes of the sample
+ _tileId = new Date().getTime().toString();
+
+ // Initialize and pin a new secondary tile that we will later update
+ var tile = new SecondaryTile(_tileId, "Scheduling Notifications", "args", new Uri("ms-appx:///images/Square150x150Logo.png"), TileSize.default);
+ tile.visualElements.wide310x150Logo = new Uri("ms-appx:///images/Wide310x150Logo.png");
+ tile.visualElements.square310x310Logo = new Uri("ms-appx:///images/Square310x310Logo.png");
+ tile.visualElements.showNameOnSquare150x150Logo = true;
+ tile.visualElements.showNameOnSquare310x310Logo = true;
+ tile.visualElements.showNameOnWide310x150Logo = true;
+
+ tile.requestCreateAsync().then(function complete() {
+ // unlock the rest of the scenario
+ scheduleCommand.disabled = false;
+ });
+ }
+
+ // Schedule a single notification.
+ function scheduleNotification(text, dueTime) {
+ // Build TileText
+ var lineOfText = new NotificationsExtensions.AdaptiveText();
+ lineOfText.text = text;
+ lineOfText.hintWrap = true;
+ var adaptiveContent = new Tiles.TileBindingContentAdaptive();
+ adaptiveContent.children.push(lineOfText);
+
+ // Specify templates and send Notification.
+ var tileContent = new Tiles.TileContent();
+ tileContent.visual = new Tiles.TileVisual();
+ tileContent.visual.branding = Tiles.TileBranding.nameAndLogo;
+ tileContent.visual.tileMedium = new Tiles.TileBinding();
+ tileContent.visual.tileMedium.content = adaptiveContent;
+ tileContent.visual.tileWide = new Tiles.TileBinding();
+ tileContent.visual.tileWide.content = adaptiveContent;
+ tileContent.visual.tileLarge = new Tiles.TileBinding();
+ tileContent.visual.tileLarge.content = adaptiveContent;
+
+ var doc = tileContent.getXml();
+
+ /// Create the notification object.
+ var futureNotification = new Windows.UI.Notifications.ScheduledTileNotification(doc, dueTime);
+ futureNotification.id = dueTime.getTime();
+
+ // Add to the schedule.
+ TileUpdateManager.createTileUpdaterForSecondaryTile(_tileId).addToSchedule(futureNotification);
+ }
+
+ function scheduleNotifications() {
+
+ scheduleCommand.disabled = true;
+
+ // Schedule 4 notifications over 20 seconds.
+ var dateTime = new Date();
+
+ dateTime.setSeconds(dateTime.getSeconds() + 1);
+ scheduleNotification("20 seconds to go...", dateTime);
+
+ dateTime.setSeconds(dateTime.getSeconds() + 10);
+ scheduleNotification("10 seconds to go..", dateTime);
+
+ dateTime.setSeconds(dateTime.getSeconds() + 5);
+ scheduleNotification("5 seconds to go.", dateTime);
+
+ dateTime.setSeconds(dateTime.getSeconds() + 5);
+ scheduleNotification("Done :)", dateTime);
+ }
+
+ function restartScenario() {
+ pinCommand.disabled = false;
+ scheduleCommand.disabled = true;
+ }
+
+})();
\ No newline at end of file
diff --git a/Samples/Notifications/js/Notifications/js/scenario7-primarytilebadges.js b/Samples/Notifications/js/Notifications/js/scenario7-primarytilebadges.js
new file mode 100644
index 0000000000..18d72f8aef
--- /dev/null
+++ b/Samples/Notifications/js/Notifications/js/scenario7-primarytilebadges.js
@@ -0,0 +1,82 @@
+//// Copyright (c) Microsoft Corporation. All rights reserved
+
+(function () {
+ "use strict";
+
+ var BadgeUpdateManager = Windows.UI.Notifications.BadgeUpdateManager;
+ var BadgeNotification = Windows.UI.Notifications.BadgeNotification;
+ var Badges = NotificationsExtensions.Badges;
+ var GlyphValue = Badges.GlyphValue;
+
+ var _tileId;
+
+ // UI elements on the page
+ var pinCommand;
+ var clearCommand;
+ var updateNumberCommand;
+ var numberInput;
+ var updateGlyphCommand;
+ var glyphSelect;
+ var restartCommand;
+
+ var page = WinJS.UI.Pages.define("/html/scenario7-primarytilebadges.html", {
+ ready: function (element, options) {
+
+ clearCommand = element.querySelector("#clearcommand");
+ clearCommand.addEventListener("click", clearBadge, false);
+
+ updateNumberCommand = element.querySelector("#updatenumbercommand");
+ updateNumberCommand.addEventListener("click", updateBadgeAsNumber, false);
+
+ numberInput = element.querySelector("#numberinput");
+
+ updateGlyphCommand = element.querySelector("#updateglyphcommand");
+ updateGlyphCommand.addEventListener("click", updateBadgeAsGlyph, false);
+
+ glyphSelect = element.querySelector("#glyphselect");
+ Object.keys(GlyphValue).forEach(function (glyphName) {
+ var option = document.createElement("option");
+ option.value = glyphName;
+ option.innerText = glyphName;
+ if (GlyphValue[glyphName] === GlyphValue.activity) {
+ option.selected = true;
+ }
+ glyphSelect.appendChild(option);
+ });
+ }
+ });
+
+ function clearBadge() {
+ // Clear the badge from the primary tile.
+ BadgeUpdateManager.createBadgeUpdaterForApplication().clear();
+ }
+ function updateBadgeAsNumber() {
+ var num = numberInput.value;
+
+ var badgeXml = new Badges.BadgeNumericNotificationContent(num).getXml();
+
+ // Create the badge notification
+ var badge = new BadgeNotification(badgeXml);
+
+ // Create the badge updater for the application.
+ var badgeUpdater = BadgeUpdateManager.createBadgeUpdaterForApplication();
+
+ // And update the badge
+ badgeUpdater.update(badge);
+ }
+ function updateBadgeAsGlyph() {
+ var glyph = GlyphValue[glyphSelect.value];
+
+ var badgeXml = new Badges.BadgeGlyphNotificationContent(glyph).getXml();
+
+ // Create the badge notification
+ var badge = new BadgeNotification(badgeXml);
+
+ // Create the badge updater for our application.
+ var badgeUpdater = BadgeUpdateManager.createBadgeUpdaterForApplication();
+
+ // And update the badge
+ badgeUpdater.update(badge);
+ }
+
+})();
\ No newline at end of file
diff --git a/Samples/Notifications/js/Notifications/js/scenario8-secondarytilebadges.js b/Samples/Notifications/js/Notifications/js/scenario8-secondarytilebadges.js
new file mode 100644
index 0000000000..3534b58872
--- /dev/null
+++ b/Samples/Notifications/js/Notifications/js/scenario8-secondarytilebadges.js
@@ -0,0 +1,133 @@
+//// Copyright (c) Microsoft Corporation. All rights reserved
+
+(function () {
+ "use strict";
+
+ var SecondaryTile = Windows.UI.StartScreen.SecondaryTile;
+ var TileSize = Windows.UI.StartScreen.TileSize;
+ var Uri = Windows.Foundation.Uri;
+
+ var BadgeUpdateManager = Windows.UI.Notifications.BadgeUpdateManager;
+ var BadgeNotification = Windows.UI.Notifications.BadgeNotification;
+ var Badges = NotificationsExtensions.Badges;
+ var GlyphValue = Badges.GlyphValue;
+
+ var _tileId;
+
+ // UI elements on the page
+ var pinCommand;
+ var clearCommand;
+ var updateNumberCommand;
+ var numberInput;
+ var updateGlyphCommand;
+ var glyphSelect;
+ var restartCommand;
+
+ var page = WinJS.UI.Pages.define("/html/scenario8-secondarytilebadges.html", {
+ ready: function (element, options) {
+
+ pinCommand = element.querySelector("#pincommand");
+ pinCommand.addEventListener("click", pinTile, false);
+ pinCommand.disabled = false;
+
+ clearCommand = element.querySelector("#clearcommand");
+ clearCommand.addEventListener("click", clearBadge, false);
+ clearCommand.disabled = true;
+
+ updateNumberCommand = element.querySelector("#updatenumbercommand");
+ updateNumberCommand.addEventListener("click", updateBadgeAsNumber, false);
+ updateNumberCommand.disabled = true;
+
+ numberInput = element.querySelector("#numberinput");
+ numberInput.disabled = true;
+
+ updateGlyphCommand = element.querySelector("#updateglyphcommand");
+ updateGlyphCommand.addEventListener("click", updateBadgeAsGlyph, false);
+ updateGlyphCommand.disabled = true;
+
+ glyphSelect = element.querySelector("#glyphselect");
+ Object.keys(GlyphValue).forEach(function (glyphName) {
+ var option = document.createElement("option");
+ option.value = glyphName;
+ option.innerText = glyphName;
+ if (GlyphValue[glyphName] === GlyphValue.activity) {
+ option.selected = true;
+ }
+ glyphSelect.appendChild(option);
+ });
+ glyphSelect.disabled = true;
+
+ restartCommand = element.querySelector("#restartcommand");
+ restartCommand.addEventListener("click", restartScenario);
+ }
+ });
+
+ function pinTile() {
+ pinCommand.disabled = true;
+
+ // Generate a unique tile ID for the purposes of the sample
+ _tileId = new Date().getTime().toString();
+
+ // Initialize and pin a new secondary tile that we will later update
+ var tile = new SecondaryTile(_tileId, "Badges", "args", new Uri("ms-appx:///images/Square150x150Logo.png"), TileSize.default);
+ tile.visualElements.square71x71Logo = new Uri("ms-appx:///images/Small.png");
+ tile.visualElements.wide310x150Logo = new Uri("ms-appx:///images/WideLogo.png");
+ tile.visualElements.square310x310Logo = new Uri("ms-appx:///images/LargeLogo.png");
+ tile.visualElements.backgroundColor = Windows.UI.Colors.blue;
+ tile.visualElements.showNameOnSquare150x150Logo = true;
+ tile.visualElements.showNameOnSquare310x310Logo = true;
+ tile.visualElements.showNameOnWide310x150Logo = true;
+
+ tile.requestCreateAsync().then(function complete() {
+ // Unlock the rest of the scenario
+ clearCommand.disabled = false;
+ updateNumberCommand.disabled = false;
+ updateGlyphCommand.disabled = false;
+ numberInput.disabled = false;
+ glyphSelect.disabled = false;
+ });
+ }
+
+ function clearBadge() {
+ // Clear the badge from the secondary tile
+ BadgeUpdateManager.createBadgeUpdaterForSecondaryTile(_tileId).clear();
+ }
+ function updateBadgeAsNumber() {
+ var num = numberInput.value;
+
+ var badgeXml = new Badges.BadgeNumericNotificationContent(num).getXml();
+
+ // Create the badge notification
+ var badge = new BadgeNotification(badgeXml);
+
+ // Create the badge updater for our secondary tile, using our tile ID for the secondary tile
+ var badgeUpdater = BadgeUpdateManager.createBadgeUpdaterForSecondaryTile(_tileId);
+
+ // And update the badge
+ badgeUpdater.update(badge);
+ }
+
+ function updateBadgeAsGlyph() {
+ var glyph = GlyphValue[glyphSelect.value];
+
+ var badgeXml = new Badges.BadgeGlyphNotificationContent(glyph).getXml();
+
+ // Create the badge notification
+ var badge = new BadgeNotification(badgeXml);
+
+ // Create the badge updater for our secondary tile, using our tile ID for the secondary tile
+ var badgeUpdater = BadgeUpdateManager.createBadgeUpdaterForSecondaryTile(_tileId);
+
+ // And update the badge
+ badgeUpdater.update(badge);
+ }
+
+ function restartScenario() {
+ pinCommand.disabled = false;
+ clearCommand.disabled = true;
+ updateNumberCommand.disabled = true;
+ updateGlyphCommand.disabled = true;
+ numberInput.disabled = true;
+ glyphSelect.disabled = true;
+ }
+})();
\ No newline at end of file
diff --git a/Samples/Notifications/js/Notifications/js/scenario9-unpineverything.js b/Samples/Notifications/js/Notifications/js/scenario9-unpineverything.js
new file mode 100644
index 0000000000..40dd62a52d
--- /dev/null
+++ b/Samples/Notifications/js/Notifications/js/scenario9-unpineverything.js
@@ -0,0 +1,88 @@
+//// Copyright (c) Microsoft Corporation. All rights reserved
+
+(function () {
+ "use strict";
+
+ var SecondaryTile = Windows.UI.StartScreen.SecondaryTile;
+
+ // UI elements on the page
+ var unpinCommand;
+
+ // UI controls on the page
+ var secondaryTilesListView;
+
+ var page = WinJS.UI.Pages.define("/html/scenario9-unpineverything.html", {
+ ready: function (element, options) {
+
+ unpinCommand = element.querySelector("#unpincommand");
+ unpinCommand.addEventListener("click", unpinTiles);
+
+ secondaryTilesListView = element.querySelector("#scenariocontrol").winControl;
+
+ unpinCommand.disabled = true;
+ setListViewDataAsync(secondaryTilesListView).done(function () {
+ unpinCommand.disabled = false;
+ });
+ }
+ });
+
+ function uriToString(uri) {
+ return uri ? uri.displayUri : "null";
+ }
+
+ function setListViewDataAsync(listView) {
+ return SecondaryTile.findAllAsync().then(function (tiles) {
+ var data = tiles.map(function(tile) {
+
+ var bgColor = tile.visualElements.backgroundColor;
+ var bgColorString = "{a: " + bgColor.a + ", b: " + bgColor.b + ", g: " + bgColor.g + ", r: " + bgColor.r + "}";
+
+ var foregroundTextString = tile.visualElements.foregroundText;
+ switch (foregroundTextString) {
+ case Windows.UI.StartScreen.ForegroundText.dark:
+ foregroundTextString = "dark";
+ break;
+ case Windows.UI.StartScreen.ForegroundText.light:
+ foregroundTextString = "light";
+ }
+
+ return {
+ displayName: tile.displayName,
+ tileId: tile.tileId,
+ arguments: tile.arguments,
+ visualElements: {
+ backgroundColor: bgColorString,
+ foregroundText: foregroundTextString,
+ showNameOnSquare150x150Logo: tile.visualElements.showNameOnSquare150x150Logo,
+ showNameOnSquare310x310Logo: tile.visualElements.showNameOnSquare310x310Logo,
+ showNameOnWide310x150Logo: tile.visualElements.showNameOnWide310x150Logo,
+ square30x30Logo: uriToString(tile.visualElements.square30x30Logo),
+ square44x44Logo: uriToString(tile.visualElements.square44x44Logo),
+ square70x70Logo: uriToString(tile.visualElements.square70x70Logo),
+ square71x71Logo: uriToString(tile.visualElements.square71x71Logo),
+ square150x150Logo: uriToString(tile.visualElements.square150x150Logo),
+ square310x310Logo: uriToString(tile.visualElements.square310x310Logo),
+ wide310x150Logo: uriToString(tile.visualElements.wide310x150Logo),
+ }
+ };
+ });
+
+ listView.itemDataSource = new WinJS.Binding.List(data).dataSource;
+ });
+ }
+
+ function unpinTiles() {
+ unpinCommand.disabled = true;
+
+ SecondaryTile.findAllAsync().then(function (tiles) {
+ return WinJS.Promise.join(tiles.map(function (tile) {
+ return tile.requestDeleteAsync();
+ }));
+ }).then(function () {
+ return setListViewDataAsync(secondaryTilesListView);
+ }).done(function () {
+ unpinCommand.disabled = false;
+ });
+ }
+
+})();
\ No newline at end of file
diff --git a/Samples/Notifications/js/Notifications/package.appxmanifest b/Samples/Notifications/js/Notifications/package.appxmanifest
new file mode 100644
index 0000000000..dfdc5f164f
--- /dev/null
+++ b/Samples/Notifications/js/Notifications/package.appxmanifest
@@ -0,0 +1,41 @@
+
+
+
+
+
+ Notifications JS Sample
+ Microsoft Corporation
+ images\StoreLogo.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Samples/Notifications/js/Notifications/packages.config b/Samples/Notifications/js/Notifications/packages.config
new file mode 100644
index 0000000000..3ad1eb847d
--- /dev/null
+++ b/Samples/Notifications/js/Notifications/packages.config
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/Samples/Notifications/js/Notifications/sample-utils/placeholder.txt b/Samples/Notifications/js/Notifications/sample-utils/placeholder.txt
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/Samples/NumberFormatting/cpp/NumberFormatting.vcxproj b/Samples/NumberFormatting/cpp/NumberFormatting.vcxproj
index f7e71289ec..c75e41c719 100644
--- a/Samples/NumberFormatting/cpp/NumberFormatting.vcxproj
+++ b/Samples/NumberFormatting/cpp/NumberFormatting.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/NumberFormatting/cpp/Package.appxmanifest b/Samples/NumberFormatting/cpp/Package.appxmanifest
index f6a865f261..6569db0b59 100644
--- a/Samples/NumberFormatting/cpp/Package.appxmanifest
+++ b/Samples/NumberFormatting/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/NumberFormatting/cs/NumberFormatting.csproj b/Samples/NumberFormatting/cs/NumberFormatting.csproj
index 439e7bc879..79324d6c92 100644
--- a/Samples/NumberFormatting/cs/NumberFormatting.csproj
+++ b/Samples/NumberFormatting/cs/NumberFormatting.csproj
@@ -11,7 +11,7 @@
NumberFormattingen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/NumberFormatting/cs/Package.appxmanifest b/Samples/NumberFormatting/cs/Package.appxmanifest
index 1a49ab34ad..b80df18f2c 100644
--- a/Samples/NumberFormatting/cs/Package.appxmanifest
+++ b/Samples/NumberFormatting/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/NumberFormatting/js/NumberFormattingSample.jsproj b/Samples/NumberFormatting/js/NumberFormattingSample.jsproj
index 260a507eac..232deb4ff6 100644
--- a/Samples/NumberFormatting/js/NumberFormattingSample.jsproj
+++ b/Samples/NumberFormatting/js/NumberFormattingSample.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/NumberFormatting/js/Package.appxmanifest b/Samples/NumberFormatting/js/Package.appxmanifest
index 4aec5a5514..601fd36ea0 100644
--- a/Samples/NumberFormatting/js/Package.appxmanifest
+++ b/Samples/NumberFormatting/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/OCR/cpp/OCR.vcxproj b/Samples/OCR/cpp/OCR.vcxproj
index d4dcba8e85..46f706f4b0 100644
--- a/Samples/OCR/cpp/OCR.vcxproj
+++ b/Samples/OCR/cpp/OCR.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/OCR/cpp/Package.appxmanifest b/Samples/OCR/cpp/Package.appxmanifest
index 2a8e899c82..6d72d8087a 100644
--- a/Samples/OCR/cpp/Package.appxmanifest
+++ b/Samples/OCR/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/OCR/cs/OCR.csproj b/Samples/OCR/cs/OCR.csproj
index 1cfe3549bb..4a6ad72df2 100644
--- a/Samples/OCR/cs/OCR.csproj
+++ b/Samples/OCR/cs/OCR.csproj
@@ -10,7 +10,7 @@
OCRen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/OCR/cs/Package.appxmanifest b/Samples/OCR/cs/Package.appxmanifest
index 7340e97b02..b2a436b9ad 100644
--- a/Samples/OCR/cs/Package.appxmanifest
+++ b/Samples/OCR/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/OCR/js/OCR.jsproj b/Samples/OCR/js/OCR.jsproj
index f32748b6be..8e88ff7ad4 100644
--- a/Samples/OCR/js/OCR.jsproj
+++ b/Samples/OCR/js/OCR.jsproj
@@ -37,7 +37,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/OCR/js/package.appxmanifest b/Samples/OCR/js/package.appxmanifest
index e1076cb9e7..90ae996f80 100644
--- a/Samples/OCR/js/package.appxmanifest
+++ b/Samples/OCR/js/package.appxmanifest
@@ -8,7 +8,7 @@
images\storelogo-sdk.png
-
+
diff --git a/Samples/OrientationSensor/cpp/OrientationSensor.vcxproj b/Samples/OrientationSensor/cpp/OrientationSensor.vcxproj
index b1c1675865..2478af1e9a 100644
--- a/Samples/OrientationSensor/cpp/OrientationSensor.vcxproj
+++ b/Samples/OrientationSensor/cpp/OrientationSensor.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.14295.0true
diff --git a/Samples/OrientationSensor/cpp/Package.appxmanifest b/Samples/OrientationSensor/cpp/Package.appxmanifest
index dfcf156621..eb104174d7 100644
--- a/Samples/OrientationSensor/cpp/Package.appxmanifest
+++ b/Samples/OrientationSensor/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/OrientationSensor/cs/OrientationSensor.csproj b/Samples/OrientationSensor/cs/OrientationSensor.csproj
index 46b378a3e3..1f8f35e0f2 100644
--- a/Samples/OrientationSensor/cs/OrientationSensor.csproj
+++ b/Samples/OrientationSensor/cs/OrientationSensor.csproj
@@ -11,7 +11,7 @@
OrientationCSen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.14295.014true
diff --git a/Samples/OrientationSensor/cs/Package.appxmanifest b/Samples/OrientationSensor/cs/Package.appxmanifest
index 1edb134a86..856d3a9be3 100644
--- a/Samples/OrientationSensor/cs/Package.appxmanifest
+++ b/Samples/OrientationSensor/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/OrientationSensor/js/OrientationSensor.jsproj b/Samples/OrientationSensor/js/OrientationSensor.jsproj
index 851fc03f7c..923802e44b 100644
--- a/Samples/OrientationSensor/js/OrientationSensor.jsproj
+++ b/Samples/OrientationSensor/js/OrientationSensor.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.14295.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/OrientationSensor/js/Package.appxmanifest b/Samples/OrientationSensor/js/Package.appxmanifest
index 481c329fdb..dca217a3b7 100644
--- a/Samples/OrientationSensor/js/Package.appxmanifest
+++ b/Samples/OrientationSensor/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/Package/cpp/Package.appxmanifest b/Samples/Package/cpp/Package.appxmanifest
index 3dc8cb0a02..631eb0dfdf 100644
--- a/Samples/Package/cpp/Package.appxmanifest
+++ b/Samples/Package/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/Package/cpp/PackageSample.vcxproj b/Samples/Package/cpp/PackageSample.vcxproj
index af0282f01a..f034b05e5f 100644
--- a/Samples/Package/cpp/PackageSample.vcxproj
+++ b/Samples/Package/cpp/PackageSample.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/Package/cs/Package.appxmanifest b/Samples/Package/cs/Package.appxmanifest
index 3ce1547a82..6acad29b47 100644
--- a/Samples/Package/cs/Package.appxmanifest
+++ b/Samples/Package/cs/Package.appxmanifest
@@ -8,7 +8,7 @@
Assets\StoreLogo-sdk.png
-
+
diff --git a/Samples/Package/cs/PackageSample.csproj b/Samples/Package/cs/PackageSample.csproj
index 02ae92a7b7..b41b5bcf47 100644
--- a/Samples/Package/cs/PackageSample.csproj
+++ b/Samples/Package/cs/PackageSample.csproj
@@ -10,7 +10,7 @@
PackageSampleen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/Package/js/PackageSample.jsproj b/Samples/Package/js/PackageSample.jsproj
index 97fd1060d0..dc690ed78e 100644
--- a/Samples/Package/js/PackageSample.jsproj
+++ b/Samples/Package/js/PackageSample.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/Package/js/package.appxmanifest b/Samples/Package/js/package.appxmanifest
index 3f4a3484f0..d5c731303c 100644
--- a/Samples/Package/js/package.appxmanifest
+++ b/Samples/Package/js/package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/PackagedContent/js/PackagedContent.jsproj b/Samples/PackagedContent/js/PackagedContent.jsproj
index f4f61d07fd..894da73755 100644
--- a/Samples/PackagedContent/js/PackagedContent.jsproj
+++ b/Samples/PackagedContent/js/PackagedContent.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/PackagedContent/js/package.appxmanifest b/Samples/PackagedContent/js/package.appxmanifest
index 07cfa41693..be502b6e8c 100644
--- a/Samples/PackagedContent/js/package.appxmanifest
+++ b/Samples/PackagedContent/js/package.appxmanifest
@@ -15,7 +15,7 @@
images\storelogo-sdk.png
-
+
diff --git a/Samples/PasswordVault/cpp/Package.appxmanifest b/Samples/PasswordVault/cpp/Package.appxmanifest
index 1d843e0df8..c32263a3f9 100644
--- a/Samples/PasswordVault/cpp/Package.appxmanifest
+++ b/Samples/PasswordVault/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/PasswordVault/cpp/PasswordVault.vcxproj b/Samples/PasswordVault/cpp/PasswordVault.vcxproj
index 44cd78555a..fddf910f2c 100644
--- a/Samples/PasswordVault/cpp/PasswordVault.vcxproj
+++ b/Samples/PasswordVault/cpp/PasswordVault.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0truePasswordVault
diff --git a/Samples/PasswordVault/cs/Package.appxmanifest b/Samples/PasswordVault/cs/Package.appxmanifest
index 4f03cd49f7..079bde0f62 100644
--- a/Samples/PasswordVault/cs/Package.appxmanifest
+++ b/Samples/PasswordVault/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/PasswordVault/cs/PasswordVault.csproj b/Samples/PasswordVault/cs/PasswordVault.csproj
index b3de0dee29..f83bcf51ff 100644
--- a/Samples/PasswordVault/cs/PasswordVault.csproj
+++ b/Samples/PasswordVault/cs/PasswordVault.csproj
@@ -11,7 +11,7 @@
PasswordVaulten-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/PasswordVault/js/Package.appxmanifest b/Samples/PasswordVault/js/Package.appxmanifest
index 717a08633e..731371b435 100644
--- a/Samples/PasswordVault/js/Package.appxmanifest
+++ b/Samples/PasswordVault/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/PasswordVault/js/PasswordVault.jsproj b/Samples/PasswordVault/js/PasswordVault.jsproj
index 58a0b5b68c..f045efc904 100644
--- a/Samples/PasswordVault/js/PasswordVault.jsproj
+++ b/Samples/PasswordVault/js/PasswordVault.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/PdfDocument/cpp/Package.appxmanifest b/Samples/PdfDocument/cpp/Package.appxmanifest
index 1ba66023df..cd8378f927 100644
--- a/Samples/PdfDocument/cpp/Package.appxmanifest
+++ b/Samples/PdfDocument/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/PdfDocument/cpp/PdfDocument.vcxproj b/Samples/PdfDocument/cpp/PdfDocument.vcxproj
index 612e6a4fd4..e9429f87e8 100644
--- a/Samples/PdfDocument/cpp/PdfDocument.vcxproj
+++ b/Samples/PdfDocument/cpp/PdfDocument.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/PdfDocument/cs/Package.appxmanifest b/Samples/PdfDocument/cs/Package.appxmanifest
index 1783cb9bbb..ab75567b26 100644
--- a/Samples/PdfDocument/cs/Package.appxmanifest
+++ b/Samples/PdfDocument/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/PdfDocument/cs/PdfDocument.csproj b/Samples/PdfDocument/cs/PdfDocument.csproj
index 0b64d7374a..0debba369f 100644
--- a/Samples/PdfDocument/cs/PdfDocument.csproj
+++ b/Samples/PdfDocument/cs/PdfDocument.csproj
@@ -10,7 +10,7 @@
PdfDocumenten-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/PdfDocument/js/Package.appxmanifest b/Samples/PdfDocument/js/Package.appxmanifest
index 78f242b4c5..9fcea1b133 100644
--- a/Samples/PdfDocument/js/Package.appxmanifest
+++ b/Samples/PdfDocument/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/PdfDocument/js/PdfDocument.jsproj b/Samples/PdfDocument/js/PdfDocument.jsproj
index fac3c172ef..c6c1835c6f 100644
--- a/Samples/PdfDocument/js/PdfDocument.jsproj
+++ b/Samples/PdfDocument/js/PdfDocument.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/Pedometer/cpp/Package.appxmanifest b/Samples/Pedometer/cpp/Package.appxmanifest
index b2b08c3034..c51185ed14 100644
--- a/Samples/Pedometer/cpp/Package.appxmanifest
+++ b/Samples/Pedometer/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/Pedometer/cpp/Pedometer.vcxproj b/Samples/Pedometer/cpp/Pedometer.vcxproj
index d090a99934..2597ff81cf 100644
--- a/Samples/Pedometer/cpp/Pedometer.vcxproj
+++ b/Samples/Pedometer/cpp/Pedometer.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10586.0true
diff --git a/Samples/Pedometer/cpp/Tasks/Tasks.vcxproj b/Samples/Pedometer/cpp/Tasks/Tasks.vcxproj
index 665e8c871c..3a7a741c96 100644
--- a/Samples/Pedometer/cpp/Tasks/Tasks.vcxproj
+++ b/Samples/Pedometer/cpp/Tasks/Tasks.vcxproj
@@ -35,7 +35,7 @@
14.0trueWindows Store
- 10.0.14295.0
+ 10.0.14393.010.0.10240.010.0
diff --git a/Samples/Pedometer/cs/Package.appxmanifest b/Samples/Pedometer/cs/Package.appxmanifest
index c2e8c338cd..ac30afb0f2 100644
--- a/Samples/Pedometer/cs/Package.appxmanifest
+++ b/Samples/Pedometer/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/Pedometer/cs/Pedometer.csproj b/Samples/Pedometer/cs/Pedometer.csproj
index 37e5c0378a..6c44cc7ae0 100644
--- a/Samples/Pedometer/cs/Pedometer.csproj
+++ b/Samples/Pedometer/cs/Pedometer.csproj
@@ -11,7 +11,7 @@
PedometerCSen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10586.014true
diff --git a/Samples/Pedometer/cs/Tasks/Tasks.csproj b/Samples/Pedometer/cs/Tasks/Tasks.csproj
index 4041f3df46..78095a7242 100644
--- a/Samples/Pedometer/cs/Tasks/Tasks.csproj
+++ b/Samples/Pedometer/cs/Tasks/Tasks.csproj
@@ -11,7 +11,7 @@
Tasksen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014512
diff --git a/Samples/Pedometer/js/Package.appxmanifest b/Samples/Pedometer/js/Package.appxmanifest
index 5271a41a29..baf5929116 100644
--- a/Samples/Pedometer/js/Package.appxmanifest
+++ b/Samples/Pedometer/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/Pedometer/js/Pedometer.jsproj b/Samples/Pedometer/js/Pedometer.jsproj
index 19a85b997d..a31ac2b89f 100644
--- a/Samples/Pedometer/js/Pedometer.jsproj
+++ b/Samples/Pedometer/js/Pedometer.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10586.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/Personalization/cpp/Package.appxmanifest b/Samples/Personalization/cpp/Package.appxmanifest
index c23c306008..aec283cc7c 100644
--- a/Samples/Personalization/cpp/Package.appxmanifest
+++ b/Samples/Personalization/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/Personalization/cpp/Personalization.vcxproj b/Samples/Personalization/cpp/Personalization.vcxproj
index 1d4dc540d7..6e20d3f133 100644
--- a/Samples/Personalization/cpp/Personalization.vcxproj
+++ b/Samples/Personalization/cpp/Personalization.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
@@ -80,27 +80,27 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -223,7 +223,7 @@
-
+
diff --git a/Samples/Personalization/cs/Package.appxmanifest b/Samples/Personalization/cs/Package.appxmanifest
index 0bc914c696..9f9be90aac 100644
--- a/Samples/Personalization/cs/Package.appxmanifest
+++ b/Samples/Personalization/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/Personalization/cs/Personalization.csproj b/Samples/Personalization/cs/Personalization.csproj
index 74568cd4e6..749ed72cd2 100644
--- a/Samples/Personalization/cs/Personalization.csproj
+++ b/Samples/Personalization/cs/Personalization.csproj
@@ -11,7 +11,7 @@
Personalizationen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
@@ -169,7 +169,7 @@
-
+ Microsoft Desktop Extension SDK for Universal App Platform
diff --git a/Samples/Personalization/js/Package.appxmanifest b/Samples/Personalization/js/Package.appxmanifest
index 8f527ec6da..cf95900383 100644
--- a/Samples/Personalization/js/Package.appxmanifest
+++ b/Samples/Personalization/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/Personalization/js/Personalization.jsproj b/Samples/Personalization/js/Personalization.jsproj
index 7821ac40c2..249c7acbb1 100644
--- a/Samples/Personalization/js/Personalization.jsproj
+++ b/Samples/Personalization/js/Personalization.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/PhoneCall/cs/Package.appxmanifest b/Samples/PhoneCall/cs/Package.appxmanifest
index 7e876d8619..4112aba8c4 100644
--- a/Samples/PhoneCall/cs/Package.appxmanifest
+++ b/Samples/PhoneCall/cs/Package.appxmanifest
@@ -8,7 +8,7 @@
Assets\StoreLogo.png
-
+
diff --git a/Samples/PhoneCall/cs/PhoneCall.csproj b/Samples/PhoneCall/cs/PhoneCall.csproj
index 19c797e399..83dd39131a 100644
--- a/Samples/PhoneCall/cs/PhoneCall.csproj
+++ b/Samples/PhoneCall/cs/PhoneCall.csproj
@@ -11,7 +11,7 @@
PhoneCallen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
@@ -207,7 +207,7 @@
Visual C++ 2015 Runtime for Universal Windows Platform Apps
-
+ Windows Mobile Extensions for the UWP
diff --git a/Samples/Playlists/cpp/Package.appxmanifest b/Samples/Playlists/cpp/Package.appxmanifest
index 1f5c0b243b..882024f3d6 100644
--- a/Samples/Playlists/cpp/Package.appxmanifest
+++ b/Samples/Playlists/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/Playlists/cpp/Playlists.vcxproj b/Samples/Playlists/cpp/Playlists.vcxproj
index 55661d0f79..e01f700f7e 100644
--- a/Samples/Playlists/cpp/Playlists.vcxproj
+++ b/Samples/Playlists/cpp/Playlists.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
@@ -80,27 +80,27 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -244,7 +244,7 @@
-
+
diff --git a/Samples/Playlists/cs/Package.appxmanifest b/Samples/Playlists/cs/Package.appxmanifest
index 650a6652f7..45dc58c982 100644
--- a/Samples/Playlists/cs/Package.appxmanifest
+++ b/Samples/Playlists/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/Playlists/cs/Playlists.csproj b/Samples/Playlists/cs/Playlists.csproj
index dc6d4d70bf..b39628ecb3 100644
--- a/Samples/Playlists/cs/Playlists.csproj
+++ b/Samples/Playlists/cs/Playlists.csproj
@@ -11,7 +11,7 @@
Playlistsen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
@@ -193,7 +193,7 @@
-
+ Microsoft Desktop Extension SDK for Universal App Platform
diff --git a/Samples/Playlists/js/Package.appxmanifest b/Samples/Playlists/js/Package.appxmanifest
index 7b328c9139..a0d853808e 100644
--- a/Samples/Playlists/js/Package.appxmanifest
+++ b/Samples/Playlists/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/Playlists/js/Playlists.jsproj b/Samples/Playlists/js/Playlists.jsproj
index fcebe89ac2..622f09eac9 100644
--- a/Samples/Playlists/js/Playlists.jsproj
+++ b/Samples/Playlists/js/Playlists.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/PosPrinter/cpp/Package.appxmanifest b/Samples/PosPrinter/cpp/Package.appxmanifest
index f11f0814da..8abaf2d5b9 100644
--- a/Samples/PosPrinter/cpp/Package.appxmanifest
+++ b/Samples/PosPrinter/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/PosPrinter/cpp/PosPrinter.vcxproj b/Samples/PosPrinter/cpp/PosPrinter.vcxproj
index a6bd361926..0d51b28033 100644
--- a/Samples/PosPrinter/cpp/PosPrinter.vcxproj
+++ b/Samples/PosPrinter/cpp/PosPrinter.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/PosPrinter/cs/Package.appxmanifest b/Samples/PosPrinter/cs/Package.appxmanifest
index dfebaf40fa..f5a9b136b8 100644
--- a/Samples/PosPrinter/cs/Package.appxmanifest
+++ b/Samples/PosPrinter/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/PosPrinter/cs/PosPrinter.csproj b/Samples/PosPrinter/cs/PosPrinter.csproj
index 3c0323d5b7..f5b0546ab5 100644
--- a/Samples/PosPrinter/cs/PosPrinter.csproj
+++ b/Samples/PosPrinter/cs/PosPrinter.csproj
@@ -11,7 +11,7 @@
PosPrinteren-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/PosPrinter/js/Package.appxmanifest b/Samples/PosPrinter/js/Package.appxmanifest
index 7cd4a072d8..b2d285717e 100644
--- a/Samples/PosPrinter/js/Package.appxmanifest
+++ b/Samples/PosPrinter/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/PosPrinter/js/PosPrinter.jsproj b/Samples/PosPrinter/js/PosPrinter.jsproj
index 7d9db80f1c..f93ed7c950 100644
--- a/Samples/PosPrinter/js/PosPrinter.jsproj
+++ b/Samples/PosPrinter/js/PosPrinter.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/Printing/cpp/Package.appxmanifest b/Samples/Printing/cpp/Package.appxmanifest
index 368c9ad9c4..7f6cdf0e49 100644
--- a/Samples/Printing/cpp/Package.appxmanifest
+++ b/Samples/Printing/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/Printing/cpp/Printing.vcxproj b/Samples/Printing/cpp/Printing.vcxproj
index 8d04d5b5ab..0fcab4d6fd 100644
--- a/Samples/Printing/cpp/Printing.vcxproj
+++ b/Samples/Printing/cpp/Printing.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14332.0
+ 10.0.14393.010.0.14332.0true
diff --git a/Samples/Printing/cs/Package.appxmanifest b/Samples/Printing/cs/Package.appxmanifest
index e9109510ed..d03020c7cf 100644
--- a/Samples/Printing/cs/Package.appxmanifest
+++ b/Samples/Printing/cs/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/Printing/cs/Printing.csproj b/Samples/Printing/cs/Printing.csproj
index fc3b0e10ec..8a9bfe9ff0 100644
--- a/Samples/Printing/cs/Printing.csproj
+++ b/Samples/Printing/cs/Printing.csproj
@@ -11,7 +11,7 @@
PrintSampleen-USUAP
- 10.0.14332.0
+ 10.0.14393.010.0.14332.014true
diff --git a/Samples/Printing/js/Package.appxmanifest b/Samples/Printing/js/Package.appxmanifest
index 809ca25231..a826c4a6de 100644
--- a/Samples/Printing/js/Package.appxmanifest
+++ b/Samples/Printing/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/Printing/js/Printing.jsproj b/Samples/Printing/js/Printing.jsproj
index f073047247..ae23d46bbd 100644
--- a/Samples/Printing/js/Printing.jsproj
+++ b/Samples/Printing/js/Printing.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14332.0
+ 10.0.14393.010.0.14332.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/Projection/cpp/Package.appxmanifest b/Samples/Projection/cpp/Package.appxmanifest
index 5c84396ac2..4f01d8ef78 100644
--- a/Samples/Projection/cpp/Package.appxmanifest
+++ b/Samples/Projection/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/Projection/cpp/Projection.vcxproj b/Samples/Projection/cpp/Projection.vcxproj
index a15e88d5c8..e41e3739d8 100644
--- a/Samples/Projection/cpp/Projection.vcxproj
+++ b/Samples/Projection/cpp/Projection.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/Projection/cs/Package.appxmanifest b/Samples/Projection/cs/Package.appxmanifest
index ad1ba47d39..82e4930f76 100644
--- a/Samples/Projection/cs/Package.appxmanifest
+++ b/Samples/Projection/cs/Package.appxmanifest
@@ -8,7 +8,7 @@
Assets\StoreLogo-sdk.png
-
+
diff --git a/Samples/Projection/cs/Projection.csproj b/Samples/Projection/cs/Projection.csproj
index 7a383c3ee7..036b12b555 100644
--- a/Samples/Projection/cs/Projection.csproj
+++ b/Samples/Projection/cs/Projection.csproj
@@ -10,7 +10,7 @@
Projectionen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/Projection/js/Projection.jsproj b/Samples/Projection/js/Projection.jsproj
index 029c3f3c83..f337bfb6db 100644
--- a/Samples/Projection/js/Projection.jsproj
+++ b/Samples/Projection/js/Projection.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/Projection/js/package.appxmanifest b/Samples/Projection/js/package.appxmanifest
index af5188e68e..ceb6eb20c6 100644
--- a/Samples/Projection/js/package.appxmanifest
+++ b/Samples/Projection/js/package.appxmanifest
@@ -8,7 +8,7 @@
images\storelogo-sdk.png
-
+
diff --git a/Samples/ProximitySensor/cpp/Package.appxmanifest b/Samples/ProximitySensor/cpp/Package.appxmanifest
index fe024c29b7..c52b67c03b 100644
--- a/Samples/ProximitySensor/cpp/Package.appxmanifest
+++ b/Samples/ProximitySensor/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/ProximitySensor/cpp/ProximitySensor.vcxproj b/Samples/ProximitySensor/cpp/ProximitySensor.vcxproj
index 15128a4da8..b4c5e57b69 100644
--- a/Samples/ProximitySensor/cpp/ProximitySensor.vcxproj
+++ b/Samples/ProximitySensor/cpp/ProximitySensor.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10586.0true
diff --git a/Samples/ProximitySensor/cpp/Tasks/Tasks.vcxproj b/Samples/ProximitySensor/cpp/Tasks/Tasks.vcxproj
index fa8dabb32c..50fc26604f 100644
--- a/Samples/ProximitySensor/cpp/Tasks/Tasks.vcxproj
+++ b/Samples/ProximitySensor/cpp/Tasks/Tasks.vcxproj
@@ -35,7 +35,7 @@
14.0trueWindows Store
- 10.0.14295.0
+ 10.0.14393.010.0.10240.010.0
diff --git a/Samples/ProximitySensor/cs/Package.appxmanifest b/Samples/ProximitySensor/cs/Package.appxmanifest
index f8821b8894..151b2c8bc3 100644
--- a/Samples/ProximitySensor/cs/Package.appxmanifest
+++ b/Samples/ProximitySensor/cs/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/ProximitySensor/cs/ProximitySensor.csproj b/Samples/ProximitySensor/cs/ProximitySensor.csproj
index 2b1a87a20a..b84ae6f3d1 100644
--- a/Samples/ProximitySensor/cs/ProximitySensor.csproj
+++ b/Samples/ProximitySensor/cs/ProximitySensor.csproj
@@ -11,7 +11,7 @@
ProximityCSen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10586.014true
diff --git a/Samples/ProximitySensor/cs/Tasks/Tasks.csproj b/Samples/ProximitySensor/cs/Tasks/Tasks.csproj
index 81e18bd379..e1fb06c51a 100644
--- a/Samples/ProximitySensor/cs/Tasks/Tasks.csproj
+++ b/Samples/ProximitySensor/cs/Tasks/Tasks.csproj
@@ -11,7 +11,7 @@
Tasksen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014512
diff --git a/Samples/ProximitySensor/js/Package.appxmanifest b/Samples/ProximitySensor/js/Package.appxmanifest
index 5a72bbc979..ba9bbeec1f 100644
--- a/Samples/ProximitySensor/js/Package.appxmanifest
+++ b/Samples/ProximitySensor/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/ProximitySensor/js/ProximitySensor.jsproj b/Samples/ProximitySensor/js/ProximitySensor.jsproj
index 845e4775b4..e950142224 100644
--- a/Samples/ProximitySensor/js/ProximitySensor.jsproj
+++ b/Samples/ProximitySensor/js/ProximitySensor.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10586.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/ProxyStubsForWinRTComponents/cpp/Server/ProxyStubsForWinRTComponentsPS.vcxproj b/Samples/ProxyStubsForWinRTComponents/cpp/Server/ProxyStubsForWinRTComponentsPS.vcxproj
index c9f31849ae..6716bcff27 100644
--- a/Samples/ProxyStubsForWinRTComponents/cpp/Server/ProxyStubsForWinRTComponentsPS.vcxproj
+++ b/Samples/ProxyStubsForWinRTComponents/cpp/Server/ProxyStubsForWinRTComponentsPS.vcxproj
@@ -34,7 +34,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0trueen-US
diff --git a/Samples/ProxyStubsForWinRTComponents/cpp/Server/ProxyStubsForWinRTComponents_server.vcxproj b/Samples/ProxyStubsForWinRTComponents/cpp/Server/ProxyStubsForWinRTComponents_server.vcxproj
index afc504551f..cde0e6fa2d 100644
--- a/Samples/ProxyStubsForWinRTComponents/cpp/Server/ProxyStubsForWinRTComponents_server.vcxproj
+++ b/Samples/ProxyStubsForWinRTComponents/cpp/Server/ProxyStubsForWinRTComponents_server.vcxproj
@@ -36,7 +36,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/ProxyStubsForWinRTComponents/cpp/cpp/Package.appxmanifest b/Samples/ProxyStubsForWinRTComponents/cpp/cpp/Package.appxmanifest
index e0c59a299c..308cda11ef 100644
--- a/Samples/ProxyStubsForWinRTComponents/cpp/cpp/Package.appxmanifest
+++ b/Samples/ProxyStubsForWinRTComponents/cpp/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/ProxyStubsForWinRTComponents/cpp/cpp/ProxyStubsForWinRTComponents_client_cpp.vcxproj b/Samples/ProxyStubsForWinRTComponents/cpp/cpp/ProxyStubsForWinRTComponents_client_cpp.vcxproj
index 857bf3c2b8..f564b95d10 100644
--- a/Samples/ProxyStubsForWinRTComponents/cpp/cpp/ProxyStubsForWinRTComponents_client_cpp.vcxproj
+++ b/Samples/ProxyStubsForWinRTComponents/cpp/cpp/ProxyStubsForWinRTComponents_client_cpp.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/ProxyStubsForWinRTComponents/cpp/cs/Package.appxmanifest b/Samples/ProxyStubsForWinRTComponents/cpp/cs/Package.appxmanifest
index 60cfd9b5c3..8e9ec1197c 100644
--- a/Samples/ProxyStubsForWinRTComponents/cpp/cs/Package.appxmanifest
+++ b/Samples/ProxyStubsForWinRTComponents/cpp/cs/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/ProxyStubsForWinRTComponents/cpp/cs/ProxyStubsForWinRTComponents_client_cs.csproj b/Samples/ProxyStubsForWinRTComponents/cpp/cs/ProxyStubsForWinRTComponents_client_cs.csproj
index fae4d8a957..02f2830644 100644
--- a/Samples/ProxyStubsForWinRTComponents/cpp/cs/ProxyStubsForWinRTComponents_client_cs.csproj
+++ b/Samples/ProxyStubsForWinRTComponents/cpp/cs/ProxyStubsForWinRTComponents_client_cs.csproj
@@ -11,7 +11,7 @@
ProxyStubsForWinRTComponents_client_csen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/ProxyStubsForWinRTComponents/cpp/js/Package.appxmanifest b/Samples/ProxyStubsForWinRTComponents/cpp/js/Package.appxmanifest
index 7c882bd34f..185119b542 100644
--- a/Samples/ProxyStubsForWinRTComponents/cpp/js/Package.appxmanifest
+++ b/Samples/ProxyStubsForWinRTComponents/cpp/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/ProxyStubsForWinRTComponents/cpp/js/ProxyStubsForWinRTComponents_client_js.jsproj b/Samples/ProxyStubsForWinRTComponents/cpp/js/ProxyStubsForWinRTComponents_client_js.jsproj
index 1ff8fe73f2..9277bfe782 100644
--- a/Samples/ProxyStubsForWinRTComponents/cpp/js/ProxyStubsForWinRTComponents_client_js.jsproj
+++ b/Samples/ProxyStubsForWinRTComponents/cpp/js/ProxyStubsForWinRTComponents_client_js.jsproj
@@ -37,7 +37,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/ProxyStubsForWinRTComponents/cs/Server/ProxyStubsForWinRTComponentsPS.vcxproj b/Samples/ProxyStubsForWinRTComponents/cs/Server/ProxyStubsForWinRTComponentsPS.vcxproj
index c9f31849ae..6716bcff27 100644
--- a/Samples/ProxyStubsForWinRTComponents/cs/Server/ProxyStubsForWinRTComponentsPS.vcxproj
+++ b/Samples/ProxyStubsForWinRTComponents/cs/Server/ProxyStubsForWinRTComponentsPS.vcxproj
@@ -34,7 +34,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0trueen-US
diff --git a/Samples/ProxyStubsForWinRTComponents/cs/Server/ProxyStubsForWinRTComponents_server.csproj b/Samples/ProxyStubsForWinRTComponents/cs/Server/ProxyStubsForWinRTComponents_server.csproj
index 1786b5d191..a66b5bb9ba 100644
--- a/Samples/ProxyStubsForWinRTComponents/cs/Server/ProxyStubsForWinRTComponents_server.csproj
+++ b/Samples/ProxyStubsForWinRTComponents/cs/Server/ProxyStubsForWinRTComponents_server.csproj
@@ -11,7 +11,7 @@
Microsoft.SDKSamples.Kitchenen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/ProxyStubsForWinRTComponents/cs/cpp/Package.appxmanifest b/Samples/ProxyStubsForWinRTComponents/cs/cpp/Package.appxmanifest
index d2ea50151f..27ff5b7d0c 100644
--- a/Samples/ProxyStubsForWinRTComponents/cs/cpp/Package.appxmanifest
+++ b/Samples/ProxyStubsForWinRTComponents/cs/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/ProxyStubsForWinRTComponents/cs/cpp/ProxyStubsForWinRTComponents_client_cpp.vcxproj b/Samples/ProxyStubsForWinRTComponents/cs/cpp/ProxyStubsForWinRTComponents_client_cpp.vcxproj
index bf19d99553..5ef8a87ae2 100644
--- a/Samples/ProxyStubsForWinRTComponents/cs/cpp/ProxyStubsForWinRTComponents_client_cpp.vcxproj
+++ b/Samples/ProxyStubsForWinRTComponents/cs/cpp/ProxyStubsForWinRTComponents_client_cpp.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/ProxyStubsForWinRTComponents/cs/cs/Package.appxmanifest b/Samples/ProxyStubsForWinRTComponents/cs/cs/Package.appxmanifest
index e0069def6f..661ba90cd6 100644
--- a/Samples/ProxyStubsForWinRTComponents/cs/cs/Package.appxmanifest
+++ b/Samples/ProxyStubsForWinRTComponents/cs/cs/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/ProxyStubsForWinRTComponents/cs/cs/ProxyStubsForWinRTComponents_client_cs.csproj b/Samples/ProxyStubsForWinRTComponents/cs/cs/ProxyStubsForWinRTComponents_client_cs.csproj
index 429c6e3335..7698a34cad 100644
--- a/Samples/ProxyStubsForWinRTComponents/cs/cs/ProxyStubsForWinRTComponents_client_cs.csproj
+++ b/Samples/ProxyStubsForWinRTComponents/cs/cs/ProxyStubsForWinRTComponents_client_cs.csproj
@@ -11,7 +11,7 @@
ProxyStubsForWinRTComponentsen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/ProxyStubsForWinRTComponents/cs/js/Package.appxmanifest b/Samples/ProxyStubsForWinRTComponents/cs/js/Package.appxmanifest
index 5a701b326e..657765edb6 100644
--- a/Samples/ProxyStubsForWinRTComponents/cs/js/Package.appxmanifest
+++ b/Samples/ProxyStubsForWinRTComponents/cs/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/ProxyStubsForWinRTComponents/cs/js/ProxyStubsForWinRTComponents_client_js.jsproj b/Samples/ProxyStubsForWinRTComponents/cs/js/ProxyStubsForWinRTComponents_client_js.jsproj
index 09532050e3..326d8ae28f 100644
--- a/Samples/ProxyStubsForWinRTComponents/cs/js/ProxyStubsForWinRTComponents_client_js.jsproj
+++ b/Samples/ProxyStubsForWinRTComponents/cs/js/ProxyStubsForWinRTComponents_client_js.jsproj
@@ -37,7 +37,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/RadioManager/cpp/Package.appxmanifest b/Samples/RadioManager/cpp/Package.appxmanifest
index e47be9bea5..da46c554b2 100644
--- a/Samples/RadioManager/cpp/Package.appxmanifest
+++ b/Samples/RadioManager/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/RadioManager/cpp/RadioManager.vcxproj b/Samples/RadioManager/cpp/RadioManager.vcxproj
index 7ac27b786b..3ab7da1084 100644
--- a/Samples/RadioManager/cpp/RadioManager.vcxproj
+++ b/Samples/RadioManager/cpp/RadioManager.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/RadioManager/cs/Package.appxmanifest b/Samples/RadioManager/cs/Package.appxmanifest
index 5e2cdf3b48..6b857430ef 100644
--- a/Samples/RadioManager/cs/Package.appxmanifest
+++ b/Samples/RadioManager/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/RadioManager/cs/RadioManager.csproj b/Samples/RadioManager/cs/RadioManager.csproj
index 1fb6bd9c32..92b88bbc2b 100644
--- a/Samples/RadioManager/cs/RadioManager.csproj
+++ b/Samples/RadioManager/cs/RadioManager.csproj
@@ -11,7 +11,7 @@
RadioManagerSampleen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/RelativeInclinometer/cpp/Package.appxmanifest b/Samples/RelativeInclinometer/cpp/Package.appxmanifest
index 20ff074761..dd8e605b67 100644
--- a/Samples/RelativeInclinometer/cpp/Package.appxmanifest
+++ b/Samples/RelativeInclinometer/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/RelativeInclinometer/cpp/RelativeInclinometer.vcxproj b/Samples/RelativeInclinometer/cpp/RelativeInclinometer.vcxproj
index ca5bbc8942..7e81af16b7 100644
--- a/Samples/RelativeInclinometer/cpp/RelativeInclinometer.vcxproj
+++ b/Samples/RelativeInclinometer/cpp/RelativeInclinometer.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/RelativeInclinometer/cs/Package.appxmanifest b/Samples/RelativeInclinometer/cs/Package.appxmanifest
index 80c4c52994..55856f0faf 100644
--- a/Samples/RelativeInclinometer/cs/Package.appxmanifest
+++ b/Samples/RelativeInclinometer/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/RelativeInclinometer/cs/RelativeInclinometer.csproj b/Samples/RelativeInclinometer/cs/RelativeInclinometer.csproj
index e10953a3f4..06f4e5d7cb 100644
--- a/Samples/RelativeInclinometer/cs/RelativeInclinometer.csproj
+++ b/Samples/RelativeInclinometer/cs/RelativeInclinometer.csproj
@@ -11,7 +11,7 @@
RelativeInclinometerCSen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/RelativeInclinometer/js/Package.appxmanifest b/Samples/RelativeInclinometer/js/Package.appxmanifest
index 238c4f05dc..6ee19908c3 100644
--- a/Samples/RelativeInclinometer/js/Package.appxmanifest
+++ b/Samples/RelativeInclinometer/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/RelativeInclinometer/js/RelativeInclinometer.jsproj b/Samples/RelativeInclinometer/js/RelativeInclinometer.jsproj
index 31c17c588a..8852ba294c 100644
--- a/Samples/RelativeInclinometer/js/RelativeInclinometer.jsproj
+++ b/Samples/RelativeInclinometer/js/RelativeInclinometer.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/RemoteSystems/cs/Package.appxmanifest b/Samples/RemoteSystems/cs/Package.appxmanifest
index 0eeec972db..4cf9eaebab 100644
--- a/Samples/RemoteSystems/cs/Package.appxmanifest
+++ b/Samples/RemoteSystems/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/RemoteSystems/cs/RemoteSystems.csproj b/Samples/RemoteSystems/cs/RemoteSystems.csproj
index 71d9d7beb1..1a930d0e07 100644
--- a/Samples/RemoteSystems/cs/RemoteSystems.csproj
+++ b/Samples/RemoteSystems/cs/RemoteSystems.csproj
@@ -11,7 +11,7 @@
RemoteSystemsen-USUAP
- 10.0.14332.0
+ 10.0.14393.010.0.14332.014true
diff --git a/Samples/ResizeAppView/cpp/Package.appxmanifest b/Samples/ResizeAppView/cpp/Package.appxmanifest
index 3269ad45c9..acf525a0c1 100644
--- a/Samples/ResizeAppView/cpp/Package.appxmanifest
+++ b/Samples/ResizeAppView/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/ResizeAppView/cpp/ResizeAppView.vcxproj b/Samples/ResizeAppView/cpp/ResizeAppView.vcxproj
index 70fc974253..3261f78eca 100644
--- a/Samples/ResizeAppView/cpp/ResizeAppView.vcxproj
+++ b/Samples/ResizeAppView/cpp/ResizeAppView.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/ResizeAppView/cs/Package.appxmanifest b/Samples/ResizeAppView/cs/Package.appxmanifest
index 5b28ff349a..c987f5187f 100644
--- a/Samples/ResizeAppView/cs/Package.appxmanifest
+++ b/Samples/ResizeAppView/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/ResizeAppView/cs/ResizeAppView.csproj b/Samples/ResizeAppView/cs/ResizeAppView.csproj
index c5b04e14f7..54a7d9f93e 100644
--- a/Samples/ResizeAppView/cs/ResizeAppView.csproj
+++ b/Samples/ResizeAppView/cs/ResizeAppView.csproj
@@ -10,7 +10,7 @@
ResizeViewen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/ResizeAppView/js/Package.appxmanifest b/Samples/ResizeAppView/js/Package.appxmanifest
index 549d9aa23d..9103600484 100644
--- a/Samples/ResizeAppView/js/Package.appxmanifest
+++ b/Samples/ResizeAppView/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/ResizeAppView/js/ResizeAppView.jsproj b/Samples/ResizeAppView/js/ResizeAppView.jsproj
index 60a0b8ca7e..8361585e68 100644
--- a/Samples/ResizeAppView/js/ResizeAppView.jsproj
+++ b/Samples/ResizeAppView/js/ResizeAppView.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/SecondaryTiles/cs/Package.appxmanifest b/Samples/SecondaryTiles/cs/Package.appxmanifest
index 34ac82b49e..ab19dcb906 100644
--- a/Samples/SecondaryTiles/cs/Package.appxmanifest
+++ b/Samples/SecondaryTiles/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/SecondaryTiles/cs/SecondaryTiles.csproj b/Samples/SecondaryTiles/cs/SecondaryTiles.csproj
index 60d7aef675..f987d52a9a 100644
--- a/Samples/SecondaryTiles/cs/SecondaryTiles.csproj
+++ b/Samples/SecondaryTiles/cs/SecondaryTiles.csproj
@@ -10,7 +10,7 @@
SecondaryTilesen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
@@ -231,10 +231,10 @@
-
+ Microsoft Desktop Extension SDK for Universal App Platform
-
+ Microsoft Mobile Extension SDK for Universal App Platform
diff --git a/Samples/SemanticTextQuery/cpp/Package.appxmanifest b/Samples/SemanticTextQuery/cpp/Package.appxmanifest
index c9d3355cf4..d855f82b7b 100644
--- a/Samples/SemanticTextQuery/cpp/Package.appxmanifest
+++ b/Samples/SemanticTextQuery/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/SemanticTextQuery/cpp/SemanticTextQuery.vcxproj b/Samples/SemanticTextQuery/cpp/SemanticTextQuery.vcxproj
index a4f5939dcc..99ec28aefd 100644
--- a/Samples/SemanticTextQuery/cpp/SemanticTextQuery.vcxproj
+++ b/Samples/SemanticTextQuery/cpp/SemanticTextQuery.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/SemanticTextQuery/cs/Package.appxmanifest b/Samples/SemanticTextQuery/cs/Package.appxmanifest
index 56518862a7..e48974af97 100644
--- a/Samples/SemanticTextQuery/cs/Package.appxmanifest
+++ b/Samples/SemanticTextQuery/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/SemanticTextQuery/cs/SemanticTextQuery.csproj b/Samples/SemanticTextQuery/cs/SemanticTextQuery.csproj
index 9c9f745e16..2614711876 100644
--- a/Samples/SemanticTextQuery/cs/SemanticTextQuery.csproj
+++ b/Samples/SemanticTextQuery/cs/SemanticTextQuery.csproj
@@ -11,7 +11,7 @@
SemanticTextQueryen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/SemanticTextQuery/js/Package.appxmanifest b/Samples/SemanticTextQuery/js/Package.appxmanifest
index 6add8b6c7a..c20fd70007 100644
--- a/Samples/SemanticTextQuery/js/Package.appxmanifest
+++ b/Samples/SemanticTextQuery/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/SemanticTextQuery/js/SemanticTextQuery.jsproj b/Samples/SemanticTextQuery/js/SemanticTextQuery.jsproj
index 9e88a3722e..1be5553d4f 100644
--- a/Samples/SemanticTextQuery/js/SemanticTextQuery.jsproj
+++ b/Samples/SemanticTextQuery/js/SemanticTextQuery.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/SerialArduino/cs/Package.appxmanifest b/Samples/SerialArduino/cs/Package.appxmanifest
index c9bc780cfb..5f37f1157f 100644
--- a/Samples/SerialArduino/cs/Package.appxmanifest
+++ b/Samples/SerialArduino/cs/Package.appxmanifest
@@ -8,7 +8,7 @@
Assets\StoreLogo-sdk.png
-
+
diff --git a/Samples/SerialArduino/cs/SerialArduino.csproj b/Samples/SerialArduino/cs/SerialArduino.csproj
index 2092d5b8de..09157b7fd7 100644
--- a/Samples/SerialArduino/cs/SerialArduino.csproj
+++ b/Samples/SerialArduino/cs/SerialArduino.csproj
@@ -11,7 +11,7 @@
SerialArduinoen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/ShareSource/cpp/Package.appxmanifest b/Samples/ShareSource/cpp/Package.appxmanifest
index 4432d3d52d..88218ae41b 100644
--- a/Samples/ShareSource/cpp/Package.appxmanifest
+++ b/Samples/ShareSource/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/ShareSource/cpp/ShareSource.vcxproj b/Samples/ShareSource/cpp/ShareSource.vcxproj
index b6846e147c..5aa4e0870e 100644
--- a/Samples/ShareSource/cpp/ShareSource.vcxproj
+++ b/Samples/ShareSource/cpp/ShareSource.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/ShareSource/cs/Package.appxmanifest b/Samples/ShareSource/cs/Package.appxmanifest
index 3ffbb91578..92cf5a2c3e 100644
--- a/Samples/ShareSource/cs/Package.appxmanifest
+++ b/Samples/ShareSource/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/ShareSource/cs/ShareSource.csproj b/Samples/ShareSource/cs/ShareSource.csproj
index f8f999e651..39060b2a53 100644
--- a/Samples/ShareSource/cs/ShareSource.csproj
+++ b/Samples/ShareSource/cs/ShareSource.csproj
@@ -11,7 +11,7 @@
ShareSourceen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/ShareSource/js/Package.appxmanifest b/Samples/ShareSource/js/Package.appxmanifest
index 4b37f5e39e..c5fe1a1335 100644
--- a/Samples/ShareSource/js/Package.appxmanifest
+++ b/Samples/ShareSource/js/Package.appxmanifest
@@ -8,7 +8,7 @@
images\storelogo-sdk.png
-
+
diff --git a/Samples/ShareSource/js/ShareSource.jsproj b/Samples/ShareSource/js/ShareSource.jsproj
index 584f8b214d..d98233e4c9 100644
--- a/Samples/ShareSource/js/ShareSource.jsproj
+++ b/Samples/ShareSource/js/ShareSource.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/ShareTarget/cs/Package.appxmanifest b/Samples/ShareTarget/cs/Package.appxmanifest
index 5069c4cbf8..7be3acc372 100644
--- a/Samples/ShareTarget/cs/Package.appxmanifest
+++ b/Samples/ShareTarget/cs/Package.appxmanifest
@@ -8,7 +8,7 @@
Assets\StoreLogo-sdk.png
-
+
diff --git a/Samples/ShareTarget/cs/ShareTarget.csproj b/Samples/ShareTarget/cs/ShareTarget.csproj
index e3e3db1cfa..8fcebfbab3 100644
--- a/Samples/ShareTarget/cs/ShareTarget.csproj
+++ b/Samples/ShareTarget/cs/ShareTarget.csproj
@@ -10,7 +10,7 @@
ShareTargeten-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/Simple3DGameDX/cpp/Package.AppxManifest b/Samples/Simple3DGameDX/cpp/Package.AppxManifest
index 6d2b92ee10..9d2bbae62f 100644
--- a/Samples/Simple3DGameDX/cpp/Package.AppxManifest
+++ b/Samples/Simple3DGameDX/cpp/Package.AppxManifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/Simple3DGameDX/cpp/Simple3DGameDX.vcxproj b/Samples/Simple3DGameDX/cpp/Simple3DGameDX.vcxproj
index fd050707f6..1926a0bc37 100644
--- a/Samples/Simple3DGameDX/cpp/Simple3DGameDX.vcxproj
+++ b/Samples/Simple3DGameDX/cpp/Simple3DGameDX.vcxproj
@@ -33,7 +33,7 @@
14.0trueWindows Store
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true10.0
diff --git a/Samples/Simple3DGameXaml/cpp/Package.AppxManifest b/Samples/Simple3DGameXaml/cpp/Package.AppxManifest
index a7e8f242cb..27fc0385f7 100644
--- a/Samples/Simple3DGameXaml/cpp/Package.AppxManifest
+++ b/Samples/Simple3DGameXaml/cpp/Package.AppxManifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/Simple3DGameXaml/cpp/Simple3DGameXaml.vcxproj b/Samples/Simple3DGameXaml/cpp/Simple3DGameXaml.vcxproj
index 315f205927..4cfeee1d93 100644
--- a/Samples/Simple3DGameXaml/cpp/Simple3DGameXaml.vcxproj
+++ b/Samples/Simple3DGameXaml/cpp/Simple3DGameXaml.vcxproj
@@ -33,7 +33,7 @@
14.0trueWindows Store
- 10.0.14332.0
+ 10.0.14393.010.0.14332.0true10.0
diff --git a/Samples/SimpleCommunication/common/MediaExtensions/Microsoft.Samples.SimpleCommunication/Microsoft.Samples.SimpleCommunication.vcxproj b/Samples/SimpleCommunication/common/MediaExtensions/Microsoft.Samples.SimpleCommunication/Microsoft.Samples.SimpleCommunication.vcxproj
index 57cc193f03..27ce31f912 100644
--- a/Samples/SimpleCommunication/common/MediaExtensions/Microsoft.Samples.SimpleCommunication/Microsoft.Samples.SimpleCommunication.vcxproj
+++ b/Samples/SimpleCommunication/common/MediaExtensions/Microsoft.Samples.SimpleCommunication/Microsoft.Samples.SimpleCommunication.vcxproj
@@ -36,7 +36,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0truetrue
diff --git a/Samples/SimpleCommunication/cpp/Package.appxmanifest b/Samples/SimpleCommunication/cpp/Package.appxmanifest
index 01683ad733..ba74f976c0 100644
--- a/Samples/SimpleCommunication/cpp/Package.appxmanifest
+++ b/Samples/SimpleCommunication/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/SimpleCommunication/cpp/SimpleCommunication.vcxproj b/Samples/SimpleCommunication/cpp/SimpleCommunication.vcxproj
index 5e2d359450..8e44f20db9 100644
--- a/Samples/SimpleCommunication/cpp/SimpleCommunication.vcxproj
+++ b/Samples/SimpleCommunication/cpp/SimpleCommunication.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0truetrue
diff --git a/Samples/SimpleCommunication/cs/Package.appxmanifest b/Samples/SimpleCommunication/cs/Package.appxmanifest
index 6bde67e12c..eda1486707 100644
--- a/Samples/SimpleCommunication/cs/Package.appxmanifest
+++ b/Samples/SimpleCommunication/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/SimpleCommunication/cs/SimpleCommunication.csproj b/Samples/SimpleCommunication/cs/SimpleCommunication.csproj
index 7ae96515fd..858a75beaa 100644
--- a/Samples/SimpleCommunication/cs/SimpleCommunication.csproj
+++ b/Samples/SimpleCommunication/cs/SimpleCommunication.csproj
@@ -10,7 +10,7 @@
SimpleCommunicationen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/SimpleCommunication/js/Package.appxmanifest b/Samples/SimpleCommunication/js/Package.appxmanifest
index 21207fec6e..d637af6b12 100644
--- a/Samples/SimpleCommunication/js/Package.appxmanifest
+++ b/Samples/SimpleCommunication/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/SimpleCommunication/js/SimpleCommunication.jsproj b/Samples/SimpleCommunication/js/SimpleCommunication.jsproj
index 38eeade7e7..f2d75151fd 100644
--- a/Samples/SimpleCommunication/js/SimpleCommunication.jsproj
+++ b/Samples/SimpleCommunication/js/SimpleCommunication.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/SimpleImaging/cs/Package.appxmanifest b/Samples/SimpleImaging/cs/Package.appxmanifest
index dd77898026..f454bf3be3 100644
--- a/Samples/SimpleImaging/cs/Package.appxmanifest
+++ b/Samples/SimpleImaging/cs/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/SimpleImaging/cs/SimpleImaging.csproj b/Samples/SimpleImaging/cs/SimpleImaging.csproj
index 6ecd9debee..6c5cf94f3a 100644
--- a/Samples/SimpleImaging/cs/SimpleImaging.csproj
+++ b/Samples/SimpleImaging/cs/SimpleImaging.csproj
@@ -11,7 +11,7 @@
SimpleImagingen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/SimpleImaging/js/SimpleImaging.jsproj b/Samples/SimpleImaging/js/SimpleImaging.jsproj
index e01111b8b6..3aa4d4f5f1 100644
--- a/Samples/SimpleImaging/js/SimpleImaging.jsproj
+++ b/Samples/SimpleImaging/js/SimpleImaging.jsproj
@@ -21,7 +21,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/SimpleImaging/js/package.appxmanifest b/Samples/SimpleImaging/js/package.appxmanifest
index 34d48b25b9..d6251b7ea7 100644
--- a/Samples/SimpleImaging/js/package.appxmanifest
+++ b/Samples/SimpleImaging/js/package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/SimpleInk/cs/Package.appxmanifest b/Samples/SimpleInk/cs/Package.appxmanifest
index 406d52338c..6c23905d71 100644
--- a/Samples/SimpleInk/cs/Package.appxmanifest
+++ b/Samples/SimpleInk/cs/Package.appxmanifest
@@ -8,7 +8,7 @@
Assets\StoreLogo-sdk.png
-
+
diff --git a/Samples/SimpleInk/cs/SimpleInk.csproj b/Samples/SimpleInk/cs/SimpleInk.csproj
index 29a1e7853c..d5e2c48855 100644
--- a/Samples/SimpleInk/cs/SimpleInk.csproj
+++ b/Samples/SimpleInk/cs/SimpleInk.csproj
@@ -11,7 +11,7 @@
SimpleInken-USUAP
- 10.0.14366.0
+ 10.0.14393.010.0.14366.014true
diff --git a/Samples/SimpleOrientationSensor/cpp/Package.appxmanifest b/Samples/SimpleOrientationSensor/cpp/Package.appxmanifest
index e9fcc4e43e..b8305bf56f 100644
--- a/Samples/SimpleOrientationSensor/cpp/Package.appxmanifest
+++ b/Samples/SimpleOrientationSensor/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/SimpleOrientationSensor/cpp/SimpleOrientationSensor.vcxproj b/Samples/SimpleOrientationSensor/cpp/SimpleOrientationSensor.vcxproj
index ca5bbc8942..7e81af16b7 100644
--- a/Samples/SimpleOrientationSensor/cpp/SimpleOrientationSensor.vcxproj
+++ b/Samples/SimpleOrientationSensor/cpp/SimpleOrientationSensor.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/SimpleOrientationSensor/cs/Package.appxmanifest b/Samples/SimpleOrientationSensor/cs/Package.appxmanifest
index 8ae4a3f615..faa94cf41a 100644
--- a/Samples/SimpleOrientationSensor/cs/Package.appxmanifest
+++ b/Samples/SimpleOrientationSensor/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/SimpleOrientationSensor/cs/SimpleOrientationSensor.csproj b/Samples/SimpleOrientationSensor/cs/SimpleOrientationSensor.csproj
index 3a823825b2..4b8c5ba203 100644
--- a/Samples/SimpleOrientationSensor/cs/SimpleOrientationSensor.csproj
+++ b/Samples/SimpleOrientationSensor/cs/SimpleOrientationSensor.csproj
@@ -11,7 +11,7 @@
SimpleOrientationCSen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/SimpleOrientationSensor/js/Package.appxmanifest b/Samples/SimpleOrientationSensor/js/Package.appxmanifest
index 6aeb37e86d..266d66d088 100644
--- a/Samples/SimpleOrientationSensor/js/Package.appxmanifest
+++ b/Samples/SimpleOrientationSensor/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/SimpleOrientationSensor/js/SimpleOrientationSensor.jsproj b/Samples/SimpleOrientationSensor/js/SimpleOrientationSensor.jsproj
index 31c17c588a..8852ba294c 100644
--- a/Samples/SimpleOrientationSensor/js/SimpleOrientationSensor.jsproj
+++ b/Samples/SimpleOrientationSensor/js/SimpleOrientationSensor.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/SmartCard/cpp/Package.appxmanifest b/Samples/SmartCard/cpp/Package.appxmanifest
index a9d6cf52c5..d08cc724c3 100644
--- a/Samples/SmartCard/cpp/Package.appxmanifest
+++ b/Samples/SmartCard/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/SmartCard/cpp/Smartcard.vcxproj b/Samples/SmartCard/cpp/Smartcard.vcxproj
index abc36a83a0..6d5596dea3 100644
--- a/Samples/SmartCard/cpp/Smartcard.vcxproj
+++ b/Samples/SmartCard/cpp/Smartcard.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0trueSmartcard
@@ -81,27 +81,27 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -270,7 +270,7 @@
-
+
diff --git a/Samples/SmartCard/cs/Package.appxmanifest b/Samples/SmartCard/cs/Package.appxmanifest
index 0a0b04bfef..5d5c904ee7 100644
--- a/Samples/SmartCard/cs/Package.appxmanifest
+++ b/Samples/SmartCard/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/SmartCard/cs/Smartcard.csproj b/Samples/SmartCard/cs/Smartcard.csproj
index f371e74c78..236e55e51a 100644
--- a/Samples/SmartCard/cs/Smartcard.csproj
+++ b/Samples/SmartCard/cs/Smartcard.csproj
@@ -11,7 +11,7 @@
SmartcardCSen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
@@ -211,7 +211,7 @@
-
+ Microsoft Desktop Extension SDK for Universal App Platform
diff --git a/Samples/SmartCard/js/Package.appxmanifest b/Samples/SmartCard/js/Package.appxmanifest
index 294f17be34..3e7b09471e 100644
--- a/Samples/SmartCard/js/Package.appxmanifest
+++ b/Samples/SmartCard/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/SmartCard/js/Smartcard.jsproj b/Samples/SmartCard/js/Smartcard.jsproj
index c803df5bf4..f20557305b 100644
--- a/Samples/SmartCard/js/Smartcard.jsproj
+++ b/Samples/SmartCard/js/Smartcard.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/SmsSendAndReceive/cs/SmsBackgroundTask/SmsBackgroundTask.csproj b/Samples/SmsSendAndReceive/cs/SmsBackgroundTask/SmsBackgroundTask.csproj
index 5ffe9e63fa..1ae95cc86d 100644
--- a/Samples/SmsSendAndReceive/cs/SmsBackgroundTask/SmsBackgroundTask.csproj
+++ b/Samples/SmsSendAndReceive/cs/SmsBackgroundTask/SmsBackgroundTask.csproj
@@ -11,7 +11,7 @@
SmsBackgroundTasken-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/SmsSendAndReceive/cs/SmsSendAndReceive/Package.appxmanifest b/Samples/SmsSendAndReceive/cs/SmsSendAndReceive/Package.appxmanifest
index ebaee8ce1c..da6af5db7d 100644
--- a/Samples/SmsSendAndReceive/cs/SmsSendAndReceive/Package.appxmanifest
+++ b/Samples/SmsSendAndReceive/cs/SmsSendAndReceive/Package.appxmanifest
@@ -14,7 +14,7 @@
Assets\StoreLogo-sdk.png
-
+
diff --git a/Samples/SmsSendAndReceive/cs/SmsSendAndReceive/SmsSendAndReceive.csproj b/Samples/SmsSendAndReceive/cs/SmsSendAndReceive/SmsSendAndReceive.csproj
index 92c4f88603..877eb8af94 100644
--- a/Samples/SmsSendAndReceive/cs/SmsSendAndReceive/SmsSendAndReceive.csproj
+++ b/Samples/SmsSendAndReceive/cs/SmsSendAndReceive/SmsSendAndReceive.csproj
@@ -11,7 +11,7 @@
SmsSendAndReceiveen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/SocketActivityStreamSocket/cs/Server/Package.appxmanifest b/Samples/SocketActivityStreamSocket/cs/Server/Package.appxmanifest
index 55da9e4770..4a5b7ade9e 100644
--- a/Samples/SocketActivityStreamSocket/cs/Server/Package.appxmanifest
+++ b/Samples/SocketActivityStreamSocket/cs/Server/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/SocketActivityStreamSocket/cs/Server/StreamSocketListenerServer.csproj b/Samples/SocketActivityStreamSocket/cs/Server/StreamSocketListenerServer.csproj
index 1f7cf9c4bb..cf9b77975f 100644
--- a/Samples/SocketActivityStreamSocket/cs/Server/StreamSocketListenerServer.csproj
+++ b/Samples/SocketActivityStreamSocket/cs/Server/StreamSocketListenerServer.csproj
@@ -11,7 +11,7 @@
StreamSocketListenerServeren-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/SocketActivityStreamSocket/cs/SocketActivityBackgroundTask/SocketActivityBackgroundTask.csproj b/Samples/SocketActivityStreamSocket/cs/SocketActivityBackgroundTask/SocketActivityBackgroundTask.csproj
index 1b55bbb06a..06a51e5216 100644
--- a/Samples/SocketActivityStreamSocket/cs/SocketActivityBackgroundTask/SocketActivityBackgroundTask.csproj
+++ b/Samples/SocketActivityStreamSocket/cs/SocketActivityBackgroundTask/SocketActivityBackgroundTask.csproj
@@ -11,7 +11,7 @@
SocketActivityBackgroundTasken-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/SocketActivityStreamSocket/cs/SocketActivityStreamSocket/Package.appxmanifest b/Samples/SocketActivityStreamSocket/cs/SocketActivityStreamSocket/Package.appxmanifest
index fc8e34122c..9f1bb9c848 100644
--- a/Samples/SocketActivityStreamSocket/cs/SocketActivityStreamSocket/Package.appxmanifest
+++ b/Samples/SocketActivityStreamSocket/cs/SocketActivityStreamSocket/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/SocketActivityStreamSocket/cs/SocketActivityStreamSocket/SocketActivityStreamSocket.csproj b/Samples/SocketActivityStreamSocket/cs/SocketActivityStreamSocket/SocketActivityStreamSocket.csproj
index 4dc89effe0..aeab388fd6 100644
--- a/Samples/SocketActivityStreamSocket/cs/SocketActivityStreamSocket/SocketActivityStreamSocket.csproj
+++ b/Samples/SocketActivityStreamSocket/cs/SocketActivityStreamSocket/SocketActivityStreamSocket.csproj
@@ -11,7 +11,7 @@
SocketActivityStreamSocketen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/SpatialSound/cpp/Package.appxmanifest b/Samples/SpatialSound/cpp/Package.appxmanifest
index 9c2bd998fb..2b2b3ffb2e 100644
--- a/Samples/SpatialSound/cpp/Package.appxmanifest
+++ b/Samples/SpatialSound/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/SpatialSound/cpp/SpatialSound.vcxproj b/Samples/SpatialSound/cpp/SpatialSound.vcxproj
index a450de1a7e..fe1280d811 100644
--- a/Samples/SpatialSound/cpp/SpatialSound.vcxproj
+++ b/Samples/SpatialSound/cpp/SpatialSound.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/SpeechRecognitionAndSynthesis/cpp/Package.appxmanifest b/Samples/SpeechRecognitionAndSynthesis/cpp/Package.appxmanifest
index a3156787d0..0a235bd1cd 100644
--- a/Samples/SpeechRecognitionAndSynthesis/cpp/Package.appxmanifest
+++ b/Samples/SpeechRecognitionAndSynthesis/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/SpeechRecognitionAndSynthesis/cpp/SpeechAndTTS.vcxproj b/Samples/SpeechRecognitionAndSynthesis/cpp/SpeechAndTTS.vcxproj
index f4e2fee052..01946a7367 100644
--- a/Samples/SpeechRecognitionAndSynthesis/cpp/SpeechAndTTS.vcxproj
+++ b/Samples/SpeechRecognitionAndSynthesis/cpp/SpeechAndTTS.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10586.0true
diff --git a/Samples/SpeechRecognitionAndSynthesis/cs/Package.appxmanifest b/Samples/SpeechRecognitionAndSynthesis/cs/Package.appxmanifest
index 175f7f8c11..4b13fd16ba 100644
--- a/Samples/SpeechRecognitionAndSynthesis/cs/Package.appxmanifest
+++ b/Samples/SpeechRecognitionAndSynthesis/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/SpeechRecognitionAndSynthesis/cs/SpeechAndTTS.csproj b/Samples/SpeechRecognitionAndSynthesis/cs/SpeechAndTTS.csproj
index b4e1de82f1..52994efc2d 100644
--- a/Samples/SpeechRecognitionAndSynthesis/cs/SpeechAndTTS.csproj
+++ b/Samples/SpeechRecognitionAndSynthesis/cs/SpeechAndTTS.csproj
@@ -11,7 +11,7 @@
SpeechAndTTSen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10586.014true
diff --git a/Samples/SpeechRecognitionAndSynthesis/js/SpeechAndTTS.jsproj b/Samples/SpeechRecognitionAndSynthesis/js/SpeechAndTTS.jsproj
index 6c9ad2c1f3..11599763b3 100644
--- a/Samples/SpeechRecognitionAndSynthesis/js/SpeechAndTTS.jsproj
+++ b/Samples/SpeechRecognitionAndSynthesis/js/SpeechAndTTS.jsproj
@@ -37,7 +37,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10586.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/SpeechRecognitionAndSynthesis/js/package.appxmanifest b/Samples/SpeechRecognitionAndSynthesis/js/package.appxmanifest
index cc4771e8b3..7a338ed562 100644
--- a/Samples/SpeechRecognitionAndSynthesis/js/package.appxmanifest
+++ b/Samples/SpeechRecognitionAndSynthesis/js/package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/SplashScreen/cs/Package.appxmanifest b/Samples/SplashScreen/cs/Package.appxmanifest
index a956c82bf5..bf5d8fa63a 100644
--- a/Samples/SplashScreen/cs/Package.appxmanifest
+++ b/Samples/SplashScreen/cs/Package.appxmanifest
@@ -8,7 +8,7 @@
Assets\StoreLogo-sdk.png
-
+
diff --git a/Samples/SplashScreen/cs/SplashScreen.csproj b/Samples/SplashScreen/cs/SplashScreen.csproj
index 49f95160f5..192776f7f1 100644
--- a/Samples/SplashScreen/cs/SplashScreen.csproj
+++ b/Samples/SplashScreen/cs/SplashScreen.csproj
@@ -10,7 +10,7 @@
SplashScreensen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
@@ -176,10 +176,10 @@
-
+ Microsoft Desktop Extension SDK for Universal App Platform
-
+ Microsoft Mobile Extension SDK for Universal App Platform
diff --git a/Samples/Store/cpp/Package.appxmanifest b/Samples/Store/cpp/Package.appxmanifest
index 1eb7db1dde..b3a3402f0a 100644
--- a/Samples/Store/cpp/Package.appxmanifest
+++ b/Samples/Store/cpp/Package.appxmanifest
@@ -8,7 +8,7 @@
Assets\StoreLogo-sdk.png
-
+
diff --git a/Samples/Store/cpp/Store.vcxproj b/Samples/Store/cpp/Store.vcxproj
index 39bdae3ef2..7239355823 100644
--- a/Samples/Store/cpp/Store.vcxproj
+++ b/Samples/Store/cpp/Store.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10586.0true
diff --git a/Samples/Store/cs/Package.appxmanifest b/Samples/Store/cs/Package.appxmanifest
index 6046afb44a..02d53ac61d 100644
--- a/Samples/Store/cs/Package.appxmanifest
+++ b/Samples/Store/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/Store/cs/Store.csproj b/Samples/Store/cs/Store.csproj
index deefa6d47e..607b752d41 100644
--- a/Samples/Store/cs/Store.csproj
+++ b/Samples/Store/cs/Store.csproj
@@ -11,7 +11,7 @@
Storeen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10586.014true
diff --git a/Samples/Store/js/Package.appxmanifest b/Samples/Store/js/Package.appxmanifest
index d0bb27d02b..4668152286 100644
--- a/Samples/Store/js/Package.appxmanifest
+++ b/Samples/Store/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/Store/js/Store.jsproj b/Samples/Store/js/Store.jsproj
index 37b22cd29b..bf630f924e 100644
--- a/Samples/Store/js/Store.jsproj
+++ b/Samples/Store/js/Store.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/StreamSocket/cpp/StreamSocket.vcxproj b/Samples/StreamSocket/cpp/StreamSocket.vcxproj
index 9fe78fe7be..d6a4186109 100644
--- a/Samples/StreamSocket/cpp/StreamSocket.vcxproj
+++ b/Samples/StreamSocket/cpp/StreamSocket.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/StreamSocket/cs/StreamSocket.csproj b/Samples/StreamSocket/cs/StreamSocket.csproj
index 98a5071c38..5e8ebde6c2 100644
--- a/Samples/StreamSocket/cs/StreamSocket.csproj
+++ b/Samples/StreamSocket/cs/StreamSocket.csproj
@@ -11,7 +11,7 @@
StreamSocketen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/StreamSocket/js/Package.appxmanifest b/Samples/StreamSocket/js/Package.appxmanifest
index dc5ea27129..9a959910d0 100644
--- a/Samples/StreamSocket/js/Package.appxmanifest
+++ b/Samples/StreamSocket/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/StreamSocket/js/StreamSocket.jsproj b/Samples/StreamSocket/js/StreamSocket.jsproj
index 20cf81ed86..63b9407eb2 100644
--- a/Samples/StreamSocket/js/StreamSocket.jsproj
+++ b/Samples/StreamSocket/js/StreamSocket.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/Syndication/cpp/Package.appxmanifest b/Samples/Syndication/cpp/Package.appxmanifest
index 0fde386a38..6101cd7b7f 100644
--- a/Samples/Syndication/cpp/Package.appxmanifest
+++ b/Samples/Syndication/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/Syndication/cpp/Syndication.vcxproj b/Samples/Syndication/cpp/Syndication.vcxproj
index e1de14e291..708ef8183a 100644
--- a/Samples/Syndication/cpp/Syndication.vcxproj
+++ b/Samples/Syndication/cpp/Syndication.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/Syndication/cs/Package.appxmanifest b/Samples/Syndication/cs/Package.appxmanifest
index 59b6c86c70..bfa3f0d84d 100644
--- a/Samples/Syndication/cs/Package.appxmanifest
+++ b/Samples/Syndication/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/Syndication/cs/Syndication.csproj b/Samples/Syndication/cs/Syndication.csproj
index e3917f4454..76dc72050d 100644
--- a/Samples/Syndication/cs/Syndication.csproj
+++ b/Samples/Syndication/cs/Syndication.csproj
@@ -11,7 +11,7 @@
Syndicationen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/SystemMediaTransportControls/cs/Package.appxmanifest b/Samples/SystemMediaTransportControls/cs/Package.appxmanifest
index 2d2fe8eb7c..015a1446d9 100644
--- a/Samples/SystemMediaTransportControls/cs/Package.appxmanifest
+++ b/Samples/SystemMediaTransportControls/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/SystemMediaTransportControls/cs/SystemMediaTransportControls.csproj b/Samples/SystemMediaTransportControls/cs/SystemMediaTransportControls.csproj
index c5f1718396..e60ee2b099 100644
--- a/Samples/SystemMediaTransportControls/cs/SystemMediaTransportControls.csproj
+++ b/Samples/SystemMediaTransportControls/cs/SystemMediaTransportControls.csproj
@@ -10,7 +10,7 @@
SystemMediaTransportControlsen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/SystemMediaTransportControls/js/SystemMediaTransportControls.jsproj b/Samples/SystemMediaTransportControls/js/SystemMediaTransportControls.jsproj
index cd969b0dbe..550d1b65c4 100644
--- a/Samples/SystemMediaTransportControls/js/SystemMediaTransportControls.jsproj
+++ b/Samples/SystemMediaTransportControls/js/SystemMediaTransportControls.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/SystemMediaTransportControls/js/package.appxmanifest b/Samples/SystemMediaTransportControls/js/package.appxmanifest
index 3c9d1f163f..9a839eb4b4 100644
--- a/Samples/SystemMediaTransportControls/js/package.appxmanifest
+++ b/Samples/SystemMediaTransportControls/js/package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/TextSegmentation/cpp/Package.appxmanifest b/Samples/TextSegmentation/cpp/Package.appxmanifest
index 87edeec100..48ce3ecb70 100644
--- a/Samples/TextSegmentation/cpp/Package.appxmanifest
+++ b/Samples/TextSegmentation/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/TextSegmentation/cpp/TextSegmentation.vcxproj b/Samples/TextSegmentation/cpp/TextSegmentation.vcxproj
index 63f49d3a57..3246967730 100644
--- a/Samples/TextSegmentation/cpp/TextSegmentation.vcxproj
+++ b/Samples/TextSegmentation/cpp/TextSegmentation.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/TextSegmentation/cs/Package.appxmanifest b/Samples/TextSegmentation/cs/Package.appxmanifest
index 39b2f9d88a..d5aa94ae39 100644
--- a/Samples/TextSegmentation/cs/Package.appxmanifest
+++ b/Samples/TextSegmentation/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/TextSegmentation/cs/TextSegmentation.csproj b/Samples/TextSegmentation/cs/TextSegmentation.csproj
index 908dde43fb..d78068b861 100644
--- a/Samples/TextSegmentation/cs/TextSegmentation.csproj
+++ b/Samples/TextSegmentation/cs/TextSegmentation.csproj
@@ -11,7 +11,7 @@
TextSegmentationen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/TextSegmentation/js/Package.appxmanifest b/Samples/TextSegmentation/js/Package.appxmanifest
index b81afb72a6..287e0d69cd 100644
--- a/Samples/TextSegmentation/js/Package.appxmanifest
+++ b/Samples/TextSegmentation/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/TextSegmentation/js/TextSegmentation.jsproj b/Samples/TextSegmentation/js/TextSegmentation.jsproj
index 76e9f2ab08..49019ccb3c 100644
--- a/Samples/TextSegmentation/js/TextSegmentation.jsproj
+++ b/Samples/TextSegmentation/js/TextSegmentation.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/TextSuggestion/cpp/Package.appxmanifest b/Samples/TextSuggestion/cpp/Package.appxmanifest
index e6b397b788..92930ef0da 100644
--- a/Samples/TextSuggestion/cpp/Package.appxmanifest
+++ b/Samples/TextSuggestion/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/TextSuggestion/cpp/TextSuggestion.vcxproj b/Samples/TextSuggestion/cpp/TextSuggestion.vcxproj
index 3926b86138..e00d6391cb 100644
--- a/Samples/TextSuggestion/cpp/TextSuggestion.vcxproj
+++ b/Samples/TextSuggestion/cpp/TextSuggestion.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14366.0
+ 10.0.14393.010.0.14366.0trueTextSuggestionAPI
diff --git a/Samples/TextSuggestion/cs/Package.appxmanifest b/Samples/TextSuggestion/cs/Package.appxmanifest
index bdd37b48e0..b3331fb336 100644
--- a/Samples/TextSuggestion/cs/Package.appxmanifest
+++ b/Samples/TextSuggestion/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/TextSuggestion/cs/TextSuggestion.csproj b/Samples/TextSuggestion/cs/TextSuggestion.csproj
index f59a5a4a07..b4a87d9d8b 100644
--- a/Samples/TextSuggestion/cs/TextSuggestion.csproj
+++ b/Samples/TextSuggestion/cs/TextSuggestion.csproj
@@ -11,7 +11,7 @@
TextSuggestionen-USUAP
- 10.0.14366.0
+ 10.0.14393.010.0.14366.014true
diff --git a/Samples/TextSuggestion/js/Package.appxmanifest b/Samples/TextSuggestion/js/Package.appxmanifest
index cc110646a2..3c192cc65b 100644
--- a/Samples/TextSuggestion/js/Package.appxmanifest
+++ b/Samples/TextSuggestion/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/TextSuggestion/js/TextSuggestion.jsproj b/Samples/TextSuggestion/js/TextSuggestion.jsproj
index 400661d2bd..4abd74e975 100644
--- a/Samples/TextSuggestion/js/TextSuggestion.jsproj
+++ b/Samples/TextSuggestion/js/TextSuggestion.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14366.0
+ 10.0.14393.010.0.14366.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/TitleBar/cpp/Package.appxmanifest b/Samples/TitleBar/cpp/Package.appxmanifest
index d13f615928..570298843c 100644
--- a/Samples/TitleBar/cpp/Package.appxmanifest
+++ b/Samples/TitleBar/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/TitleBar/cpp/TitleBar.vcxproj b/Samples/TitleBar/cpp/TitleBar.vcxproj
index 452e1ce9c5..edd8ff5417 100644
--- a/Samples/TitleBar/cpp/TitleBar.vcxproj
+++ b/Samples/TitleBar/cpp/TitleBar.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/TitleBar/cs/Package.appxmanifest b/Samples/TitleBar/cs/Package.appxmanifest
index 51f5b892fa..8156e342b1 100644
--- a/Samples/TitleBar/cs/Package.appxmanifest
+++ b/Samples/TitleBar/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/TitleBar/cs/TitleBar.csproj b/Samples/TitleBar/cs/TitleBar.csproj
index 911aedc745..256fe132c4 100644
--- a/Samples/TitleBar/cs/TitleBar.csproj
+++ b/Samples/TitleBar/cs/TitleBar.csproj
@@ -10,7 +10,7 @@
TitleBaren-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/TitleBar/js/CoreViewHelpers/CoreViewHelpers.vcxproj b/Samples/TitleBar/js/CoreViewHelpers/CoreViewHelpers.vcxproj
index 25fe4c482b..8949c16435 100644
--- a/Samples/TitleBar/js/CoreViewHelpers/CoreViewHelpers.vcxproj
+++ b/Samples/TitleBar/js/CoreViewHelpers/CoreViewHelpers.vcxproj
@@ -36,7 +36,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/TitleBar/js/Package.appxmanifest b/Samples/TitleBar/js/Package.appxmanifest
index a694dd3b5b..34f257d9e9 100644
--- a/Samples/TitleBar/js/Package.appxmanifest
+++ b/Samples/TitleBar/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/TitleBar/js/TitleBar.jsproj b/Samples/TitleBar/js/TitleBar.jsproj
index b2b6f87027..ceb252231e 100644
--- a/Samples/TitleBar/js/TitleBar.jsproj
+++ b/Samples/TitleBar/js/TitleBar.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/TouchKeyboard/cpp/Package.appxmanifest b/Samples/TouchKeyboard/cpp/Package.appxmanifest
index c048289f49..6b5dbccf71 100644
--- a/Samples/TouchKeyboard/cpp/Package.appxmanifest
+++ b/Samples/TouchKeyboard/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/TouchKeyboard/cpp/TouchKeyboard.vcxproj b/Samples/TouchKeyboard/cpp/TouchKeyboard.vcxproj
index ee196bf8ac..901d36deb0 100644
--- a/Samples/TouchKeyboard/cpp/TouchKeyboard.vcxproj
+++ b/Samples/TouchKeyboard/cpp/TouchKeyboard.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store8.2
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0
@@ -76,27 +76,27 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -275,7 +275,7 @@
-
+
diff --git a/Samples/TouchKeyboard/cs/Package.appxmanifest b/Samples/TouchKeyboard/cs/Package.appxmanifest
index e55059609c..0024234733 100644
--- a/Samples/TouchKeyboard/cs/Package.appxmanifest
+++ b/Samples/TouchKeyboard/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/TouchKeyboard/cs/TouchKeyboard.csproj b/Samples/TouchKeyboard/cs/TouchKeyboard.csproj
index 55e82a3c48..5668b323fb 100644
--- a/Samples/TouchKeyboard/cs/TouchKeyboard.csproj
+++ b/Samples/TouchKeyboard/cs/TouchKeyboard.csproj
@@ -10,7 +10,7 @@
TouchKeyboarden-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014512
@@ -180,7 +180,7 @@
Visual C++ 2015 Runtime for Universal Windows Platform Apps
-
+
diff --git a/Samples/TouchKeyboardTextInput/cpp/Package.appxmanifest b/Samples/TouchKeyboardTextInput/cpp/Package.appxmanifest
index 4b116b20b2..c860a21c6d 100644
--- a/Samples/TouchKeyboardTextInput/cpp/Package.appxmanifest
+++ b/Samples/TouchKeyboardTextInput/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/TouchKeyboardTextInput/cpp/TouchKeyboardTextInput.vcxproj b/Samples/TouchKeyboardTextInput/cpp/TouchKeyboardTextInput.vcxproj
index cb500d69e2..8a26d928fa 100644
--- a/Samples/TouchKeyboardTextInput/cpp/TouchKeyboardTextInput.vcxproj
+++ b/Samples/TouchKeyboardTextInput/cpp/TouchKeyboardTextInput.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store8.2
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0
diff --git a/Samples/TouchKeyboardTextInput/cs/Package.appxmanifest b/Samples/TouchKeyboardTextInput/cs/Package.appxmanifest
index d045f08d15..2bf8cc501a 100644
--- a/Samples/TouchKeyboardTextInput/cs/Package.appxmanifest
+++ b/Samples/TouchKeyboardTextInput/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/TouchKeyboardTextInput/cs/TouchKeyboardTextInput.csproj b/Samples/TouchKeyboardTextInput/cs/TouchKeyboardTextInput.csproj
index db0f5a8c78..dad422864e 100644
--- a/Samples/TouchKeyboardTextInput/cs/TouchKeyboardTextInput.csproj
+++ b/Samples/TouchKeyboardTextInput/cs/TouchKeyboardTextInput.csproj
@@ -10,7 +10,7 @@
TouchKeyboardTextInputen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014512
diff --git a/Samples/TouchKeyboardTextInput/js/TouchKeyboardTextInput.jsproj b/Samples/TouchKeyboardTextInput/js/TouchKeyboardTextInput.jsproj
index e4f3ae2801..d1f5257631 100644
--- a/Samples/TouchKeyboardTextInput/js/TouchKeyboardTextInput.jsproj
+++ b/Samples/TouchKeyboardTextInput/js/TouchKeyboardTextInput.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10586.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/TouchKeyboardTextInput/js/package.appxmanifest b/Samples/TouchKeyboardTextInput/js/package.appxmanifest
index e4665d9712..0be69489a4 100644
--- a/Samples/TouchKeyboardTextInput/js/package.appxmanifest
+++ b/Samples/TouchKeyboardTextInput/js/package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/Unicode/cpp/Package.appxmanifest b/Samples/Unicode/cpp/Package.appxmanifest
index 451eaa560d..277b2a5ddb 100644
--- a/Samples/Unicode/cpp/Package.appxmanifest
+++ b/Samples/Unicode/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/Unicode/cpp/Unicode.vcxproj b/Samples/Unicode/cpp/Unicode.vcxproj
index f74211d06d..d7ac27cfd9 100644
--- a/Samples/Unicode/cpp/Unicode.vcxproj
+++ b/Samples/Unicode/cpp/Unicode.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/Unicode/cs/Package.appxmanifest b/Samples/Unicode/cs/Package.appxmanifest
index 33a1c79491..244b903c43 100644
--- a/Samples/Unicode/cs/Package.appxmanifest
+++ b/Samples/Unicode/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/Unicode/cs/Unicode.csproj b/Samples/Unicode/cs/Unicode.csproj
index e6d3042c41..ebe37d8bb1 100644
--- a/Samples/Unicode/cs/Unicode.csproj
+++ b/Samples/Unicode/cs/Unicode.csproj
@@ -11,7 +11,7 @@
UnicodeSampleen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/Unicode/js/Package.appxmanifest b/Samples/Unicode/js/Package.appxmanifest
index 53dd51ef6d..97d572c674 100644
--- a/Samples/Unicode/js/Package.appxmanifest
+++ b/Samples/Unicode/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/Unicode/js/Unicode.jsproj b/Samples/Unicode/js/Unicode.jsproj
index 3e9919ebe2..6bf31837c0 100644
--- a/Samples/Unicode/js/Unicode.jsproj
+++ b/Samples/Unicode/js/Unicode.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/UserCertificateStore/cpp/Package.appxmanifest b/Samples/UserCertificateStore/cpp/Package.appxmanifest
index 1ef277814e..e6733d8b54 100644
--- a/Samples/UserCertificateStore/cpp/Package.appxmanifest
+++ b/Samples/UserCertificateStore/cpp/Package.appxmanifest
@@ -13,7 +13,7 @@
Assets\StoreLogo-sdk.png
-
+
diff --git a/Samples/UserCertificateStore/cpp/UserCertificateStore.vcxproj b/Samples/UserCertificateStore/cpp/UserCertificateStore.vcxproj
index fd2ae133fb..b68ff84436 100644
--- a/Samples/UserCertificateStore/cpp/UserCertificateStore.vcxproj
+++ b/Samples/UserCertificateStore/cpp/UserCertificateStore.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.14295.0
diff --git a/Samples/UserCertificateStore/cs/Package.appxmanifest b/Samples/UserCertificateStore/cs/Package.appxmanifest
index c26505a309..4d1e26bd70 100644
--- a/Samples/UserCertificateStore/cs/Package.appxmanifest
+++ b/Samples/UserCertificateStore/cs/Package.appxmanifest
@@ -13,7 +13,7 @@
Assets\StoreLogo-sdk.png
-
+
diff --git a/Samples/UserCertificateStore/cs/UserCertificateStore.csproj b/Samples/UserCertificateStore/cs/UserCertificateStore.csproj
index 346963e229..213188e944 100644
--- a/Samples/UserCertificateStore/cs/UserCertificateStore.csproj
+++ b/Samples/UserCertificateStore/cs/UserCertificateStore.csproj
@@ -10,7 +10,7 @@
UserCertificateStoreen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.14295.014true
diff --git a/Samples/UserCertificateStore/js/UserCertificateStore.jsproj b/Samples/UserCertificateStore/js/UserCertificateStore.jsproj
index 6e3c34c540..f6f7140aa1 100644
--- a/Samples/UserCertificateStore/js/UserCertificateStore.jsproj
+++ b/Samples/UserCertificateStore/js/UserCertificateStore.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.14295.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/UserCertificateStore/js/package.appxmanifest b/Samples/UserCertificateStore/js/package.appxmanifest
index bd6b33b31f..2e1b7a2701 100644
--- a/Samples/UserCertificateStore/js/package.appxmanifest
+++ b/Samples/UserCertificateStore/js/package.appxmanifest
@@ -13,7 +13,7 @@
images\storelogo-sdk.png
-
+
diff --git a/Samples/UserConsentVerifier/cpp/Package.appxmanifest b/Samples/UserConsentVerifier/cpp/Package.appxmanifest
index ea3fd069bc..6f40b71fd7 100644
--- a/Samples/UserConsentVerifier/cpp/Package.appxmanifest
+++ b/Samples/UserConsentVerifier/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/UserConsentVerifier/cpp/UserConsentVerifier.vcxproj b/Samples/UserConsentVerifier/cpp/UserConsentVerifier.vcxproj
index 67e2c3d94f..aa1498a96f 100644
--- a/Samples/UserConsentVerifier/cpp/UserConsentVerifier.vcxproj
+++ b/Samples/UserConsentVerifier/cpp/UserConsentVerifier.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0trueUserConsentVerifier
@@ -81,27 +81,27 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -226,7 +226,7 @@
-
+
diff --git a/Samples/UserConsentVerifier/cs/Package.appxmanifest b/Samples/UserConsentVerifier/cs/Package.appxmanifest
index abdd76dd24..c8e50401b9 100644
--- a/Samples/UserConsentVerifier/cs/Package.appxmanifest
+++ b/Samples/UserConsentVerifier/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/UserConsentVerifier/cs/UserConsentVerifier.csproj b/Samples/UserConsentVerifier/cs/UserConsentVerifier.csproj
index da41ef2270..9964b0bc94 100644
--- a/Samples/UserConsentVerifier/cs/UserConsentVerifier.csproj
+++ b/Samples/UserConsentVerifier/cs/UserConsentVerifier.csproj
@@ -11,7 +11,7 @@
UserConsentVerifierCSen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/UserConsentVerifier/js/Package.appxmanifest b/Samples/UserConsentVerifier/js/Package.appxmanifest
index 8f7eecd3a3..7ea5b3821a 100644
--- a/Samples/UserConsentVerifier/js/Package.appxmanifest
+++ b/Samples/UserConsentVerifier/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/UserConsentVerifier/js/UserConsentVerifier.jsproj b/Samples/UserConsentVerifier/js/UserConsentVerifier.jsproj
index d2e4baaed2..5072e66e40 100644
--- a/Samples/UserConsentVerifier/js/UserConsentVerifier.jsproj
+++ b/Samples/UserConsentVerifier/js/UserConsentVerifier.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/UserDataAccountManager/cpp/Package.appxmanifest b/Samples/UserDataAccountManager/cpp/Package.appxmanifest
index 48020a4880..4d3207f0d4 100644
--- a/Samples/UserDataAccountManager/cpp/Package.appxmanifest
+++ b/Samples/UserDataAccountManager/cpp/Package.appxmanifest
@@ -8,7 +8,7 @@
Assets\StoreLogo-sdk.png
-
+
diff --git a/Samples/UserDataAccountManager/cpp/UserDataAccountManager.vcxproj b/Samples/UserDataAccountManager/cpp/UserDataAccountManager.vcxproj
index 7287008bd5..dd6661ce62 100644
--- a/Samples/UserDataAccountManager/cpp/UserDataAccountManager.vcxproj
+++ b/Samples/UserDataAccountManager/cpp/UserDataAccountManager.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0
@@ -76,27 +76,27 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -231,7 +231,7 @@
-
+
diff --git a/Samples/UserDataAccountManager/cs/Package.appxmanifest b/Samples/UserDataAccountManager/cs/Package.appxmanifest
index 2f793108f2..831eb179a7 100644
--- a/Samples/UserDataAccountManager/cs/Package.appxmanifest
+++ b/Samples/UserDataAccountManager/cs/Package.appxmanifest
@@ -22,7 +22,7 @@
-
+
diff --git a/Samples/UserDataAccountManager/cs/UserDataAccountManager.csproj b/Samples/UserDataAccountManager/cs/UserDataAccountManager.csproj
index 236f89dcf4..95f70fe1f2 100644
--- a/Samples/UserDataAccountManager/cs/UserDataAccountManager.csproj
+++ b/Samples/UserDataAccountManager/cs/UserDataAccountManager.csproj
@@ -10,7 +10,7 @@
DataAccountsen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/UserDataAccountManager/js/UserDataAccountManager.jsproj b/Samples/UserDataAccountManager/js/UserDataAccountManager.jsproj
index 98f9de92d1..d73c70911f 100644
--- a/Samples/UserDataAccountManager/js/UserDataAccountManager.jsproj
+++ b/Samples/UserDataAccountManager/js/UserDataAccountManager.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/UserDataAccountManager/js/package.appxmanifest b/Samples/UserDataAccountManager/js/package.appxmanifest
index 64a518eebd..33f25a2c60 100644
--- a/Samples/UserDataAccountManager/js/package.appxmanifest
+++ b/Samples/UserDataAccountManager/js/package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/UserInfo/cpp/Package.appxmanifest b/Samples/UserInfo/cpp/Package.appxmanifest
index 3d0ae57f3b..df6930fa57 100644
--- a/Samples/UserInfo/cpp/Package.appxmanifest
+++ b/Samples/UserInfo/cpp/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/UserInfo/cpp/UserInfo.vcxproj b/Samples/UserInfo/cpp/UserInfo.vcxproj
index d8d47cc506..600a865b36 100644
--- a/Samples/UserInfo/cpp/UserInfo.vcxproj
+++ b/Samples/UserInfo/cpp/UserInfo.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
@@ -80,27 +80,27 @@
-
+
-
+
-
+
-
+
-
+
-
+
diff --git a/Samples/UserInfo/cs/Package.appxmanifest b/Samples/UserInfo/cs/Package.appxmanifest
index fb10f507b6..b880d3a339 100644
--- a/Samples/UserInfo/cs/Package.appxmanifest
+++ b/Samples/UserInfo/cs/Package.appxmanifest
@@ -22,7 +22,7 @@
-
+
diff --git a/Samples/UserInfo/cs/UserInfo.csproj b/Samples/UserInfo/cs/UserInfo.csproj
index 51fa3542b5..be6f241201 100644
--- a/Samples/UserInfo/cs/UserInfo.csproj
+++ b/Samples/UserInfo/cs/UserInfo.csproj
@@ -11,7 +11,7 @@
UserInfoen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/UserInfo/js/Package.appxmanifest b/Samples/UserInfo/js/Package.appxmanifest
index 9025284f2d..f17c3d1e8d 100644
--- a/Samples/UserInfo/js/Package.appxmanifest
+++ b/Samples/UserInfo/js/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/UserInfo/js/UserInfo.jsproj b/Samples/UserInfo/js/UserInfo.jsproj
index 549f67b7ab..10ce24580d 100644
--- a/Samples/UserInfo/js/UserInfo.jsproj
+++ b/Samples/UserInfo/js/UserInfo.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10586.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/UserInteractionMode/cpp/Package.appxmanifest b/Samples/UserInteractionMode/cpp/Package.appxmanifest
index cb711f69c4..beea7d9adc 100644
--- a/Samples/UserInteractionMode/cpp/Package.appxmanifest
+++ b/Samples/UserInteractionMode/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/UserInteractionMode/cpp/UserInteractionMode.vcxproj b/Samples/UserInteractionMode/cpp/UserInteractionMode.vcxproj
index 49d0cbf347..a5399021b0 100644
--- a/Samples/UserInteractionMode/cpp/UserInteractionMode.vcxproj
+++ b/Samples/UserInteractionMode/cpp/UserInteractionMode.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/UserInteractionMode/cs/Package.appxmanifest b/Samples/UserInteractionMode/cs/Package.appxmanifest
index 467f1f08f6..10d116b584 100644
--- a/Samples/UserInteractionMode/cs/Package.appxmanifest
+++ b/Samples/UserInteractionMode/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/UserInteractionMode/cs/UserInteractionMode.csproj b/Samples/UserInteractionMode/cs/UserInteractionMode.csproj
index afd4ac3d65..2e655780fa 100644
--- a/Samples/UserInteractionMode/cs/UserInteractionMode.csproj
+++ b/Samples/UserInteractionMode/cs/UserInteractionMode.csproj
@@ -10,7 +10,7 @@
UserInteractionModeen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/UserInteractionMode/js/Package.appxmanifest b/Samples/UserInteractionMode/js/Package.appxmanifest
index 7218550a2a..46e6ccbdc6 100644
--- a/Samples/UserInteractionMode/js/Package.appxmanifest
+++ b/Samples/UserInteractionMode/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/UserInteractionMode/js/UserInteractionMode.jsproj b/Samples/UserInteractionMode/js/UserInteractionMode.jsproj
index 27ed9f8d55..dca8e2bea1 100644
--- a/Samples/UserInteractionMode/js/UserInteractionMode.jsproj
+++ b/Samples/UserInteractionMode/js/UserInteractionMode.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/UserSelection/js/Package.appxmanifest b/Samples/UserSelection/js/Package.appxmanifest
index f7d8b4b444..125f9801a0 100644
--- a/Samples/UserSelection/js/Package.appxmanifest
+++ b/Samples/UserSelection/js/Package.appxmanifest
@@ -15,7 +15,7 @@
images\storelogo-sdk.png
-
+
diff --git a/Samples/UserSelection/js/UserSelection.jsproj b/Samples/UserSelection/js/UserSelection.jsproj
index db63ff9b47..9e1815b6d5 100644
--- a/Samples/UserSelection/js/UserSelection.jsproj
+++ b/Samples/UserSelection/js/UserSelection.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/UssdProtcol/cs/Package.appxmanifest b/Samples/UssdProtcol/cs/Package.appxmanifest
index 84a1b4c29b..b69bf40a25 100644
--- a/Samples/UssdProtcol/cs/Package.appxmanifest
+++ b/Samples/UssdProtcol/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/UssdProtcol/cs/UssdProtocol.csproj b/Samples/UssdProtcol/cs/UssdProtocol.csproj
index 860b2fafd0..7218113d87 100644
--- a/Samples/UssdProtcol/cs/UssdProtocol.csproj
+++ b/Samples/UssdProtcol/cs/UssdProtocol.csproj
@@ -11,7 +11,7 @@
UssdApien-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/VersionAdaptiveCode/cs/Package.appxmanifest b/Samples/VersionAdaptiveCode/cs/Package.appxmanifest
index 5124fef597..7ee1ac5b74 100644
--- a/Samples/VersionAdaptiveCode/cs/Package.appxmanifest
+++ b/Samples/VersionAdaptiveCode/cs/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/VersionAdaptiveCode/cs/VersionAdaptiveCode.csproj b/Samples/VersionAdaptiveCode/cs/VersionAdaptiveCode.csproj
index 9ab47c44b3..cc9b2b2250 100644
--- a/Samples/VersionAdaptiveCode/cs/VersionAdaptiveCode.csproj
+++ b/Samples/VersionAdaptiveCode/cs/VersionAdaptiveCode.csproj
@@ -11,7 +11,7 @@
XamlLightUpen-USUAP
- 10.0.14332.0
+ 10.0.14393.010.0.10586.014true
@@ -199,7 +199,7 @@
-
+ Windows Mobile Extensions for the UWP
diff --git a/Samples/VersionAdaptiveCode/js/Package.appxmanifest b/Samples/VersionAdaptiveCode/js/Package.appxmanifest
index 0087e4fd45..e2461ff2a8 100644
--- a/Samples/VersionAdaptiveCode/js/Package.appxmanifest
+++ b/Samples/VersionAdaptiveCode/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/VersionAdaptiveCode/js/VersionAdaptiveCode.jsproj b/Samples/VersionAdaptiveCode/js/VersionAdaptiveCode.jsproj
index 9c2a0a0036..bb10873771 100644
--- a/Samples/VersionAdaptiveCode/js/VersionAdaptiveCode.jsproj
+++ b/Samples/VersionAdaptiveCode/js/VersionAdaptiveCode.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14332.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/VideoPlayback/README.md b/Samples/VideoPlayback/README.md
index 4cb395ef13..c73e34a0e9 100644
--- a/Samples/VideoPlayback/README.md
+++ b/Samples/VideoPlayback/README.md
@@ -9,8 +9,7 @@ This sample demonstrates how to create apps that take advantage of many media pl
Specifically, this sample covers:
-- Playing local video
-- Customizing media transport controls (XAML-only)
+- Playing local video
- Using in-band closed captions
- Using out-of-band closed captions
- Dealing with multiple video tracks
@@ -24,10 +23,11 @@ Specifically, this sample covers:
### Samples
* [VideoPlaybackSynchronization sample](/Samples/VideoPlaybackSynchronization)
+* [XamlCustomMediaTransportControls sample](/Samples/XamlCustomMediaTransportControls)
-## Reference
+### Reference
-[Windows.Media.Playback namespace](https://msdn.microsoft.com/en-us/library/windows/apps/windows.media.playback.aspx)
+* [Windows.Media.Playback namespace](https://msdn.microsoft.com/en-us/library/windows/apps/windows.media.playback.aspx)
## System requirements
diff --git a/Samples/VideoPlayback/cs/CustomMediaTransportControls.cs b/Samples/VideoPlayback/cs/CustomMediaTransportControls.cs
deleted file mode 100644
index bd0301ae7d..0000000000
--- a/Samples/VideoPlayback/cs/CustomMediaTransportControls.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-//*********************************************************
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-//*********************************************************
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Windows.UI.Xaml;
-using Windows.UI.Xaml.Controls;
-using Windows.UI.Xaml.Controls.Primitives;
-using Windows.UI.Xaml.Data;
-using Windows.UI.Xaml.Documents;
-using Windows.UI.Xaml.Input;
-using Windows.UI.Xaml.Media;
-
-namespace SDKTemplate
-{
- public sealed class CustomMediaTransportControls : MediaTransportControls
- {
- public event EventHandler Liked;
-
- public CustomMediaTransportControls()
- {
- this.DefaultStyleKey = typeof(CustomMediaTransportControls);
- }
-
- protected override void OnApplyTemplate()
- {
- // Find the custom button and create an event handler for its click method.
- var likeButton = GetTemplateChild("LikeButton") as Button;
- likeButton.Click += LikeButton_Click;
-
- base.OnApplyTemplate();
- }
-
- private void LikeButton_Click(object sender, RoutedEventArgs e)
- {
- // Raise an event on the custom control when 'like' is clicked
- var handler = Liked;
- if (handler != null)
- {
- handler(this, EventArgs.Empty);
- }
- }
- }
-}
diff --git a/Samples/VideoPlayback/cs/Package.appxmanifest b/Samples/VideoPlayback/cs/Package.appxmanifest
index 138092026b..f654299c89 100644
--- a/Samples/VideoPlayback/cs/Package.appxmanifest
+++ b/Samples/VideoPlayback/cs/Package.appxmanifest
@@ -8,7 +8,7 @@
Assets\StoreLogo-sdk.png
-
+
diff --git a/Samples/VideoPlayback/cs/SampleConfiguration.cs b/Samples/VideoPlayback/cs/SampleConfiguration.cs
index 9ed7d0f216..dc4c2b531f 100644
--- a/Samples/VideoPlayback/cs/SampleConfiguration.cs
+++ b/Samples/VideoPlayback/cs/SampleConfiguration.cs
@@ -22,15 +22,14 @@ public partial class MainPage : Page
List scenarios = new List
{
new Scenario() { Title= "Playing videos", ClassType=typeof(Scenario1)},
- new Scenario() { Title= "Customizing transport controls", ClassType=typeof(Scenario2)},
- new Scenario() { Title= "Displaying in-band closed captions (MKV)", ClassType=typeof(Scenario3)},
- new Scenario() { Title= "Displaying out-of-band closed captions (MP4+SRT)", ClassType=typeof(Scenario4)},
- new Scenario() { Title= "Selecting video tracks", ClassType=typeof(Scenario5)},
- new Scenario() { Title= "Selecting audio tracks", ClassType=typeof(Scenario6)},
- new Scenario() { Title= "Playing video lists", ClassType=typeof(Scenario7)},
- new Scenario() { Title= "Playing on a composition surface", ClassType=typeof(Scenario8)},
- new Scenario() { Title= "Transferring a MediaPlayer 1", ClassType=typeof(Scenario9_TransferMediaPlayer1)},
- new Scenario() { Title= "Transferring a MediaPlayer 2", ClassType=typeof(Scenario10_TransferMediaPlayer2)},
+ new Scenario() { Title= "Displaying in-band closed captions (MKV)", ClassType=typeof(Scenario2)},
+ new Scenario() { Title= "Displaying out-of-band closed captions (MP4+SRT)", ClassType=typeof(Scenario3)},
+ new Scenario() { Title= "Selecting video tracks", ClassType=typeof(Scenario4)},
+ new Scenario() { Title= "Selecting audio tracks", ClassType=typeof(Scenario5)},
+ new Scenario() { Title= "Playing video lists", ClassType=typeof(Scenario6)},
+ new Scenario() { Title= "Playing on a composition surface", ClassType=typeof(Scenario7)},
+ new Scenario() { Title= "Transferring a MediaPlayer 1", ClassType=typeof(Scenario8_TransferMediaPlayer1)},
+ new Scenario() { Title= "Transferring a MediaPlayer 2", ClassType=typeof(Scenario9_TransferMediaPlayer2)},
};
public Windows.Media.Playback.MediaPlayer commonMediaPlayer = null;
diff --git a/Samples/VideoPlayback/cs/Scenario2_CustomizingMediaTransportControls.xaml b/Samples/VideoPlayback/cs/Scenario2_CustomizingMediaTransportControls.xaml
deleted file mode 100644
index 8db47009d8..0000000000
--- a/Samples/VideoPlayback/cs/Scenario2_CustomizingMediaTransportControls.xaml
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Demonstrates how to customize media transport controls. The XAML template adds a custom 'like' button,
- changes the color of the scrubber to yellow, and adds a secondary menu. For further details, please
- read the comments available in the CustomMediaTransportControls.cs and generic.xaml files inside the
- Themes directory of this sample.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Samples/VideoPlayback/cs/Scenario2_CustomizingMediaTransportControls.xaml.cs b/Samples/VideoPlayback/cs/Scenario2_CustomizingMediaTransportControls.xaml.cs
deleted file mode 100644
index 61f7f47295..0000000000
--- a/Samples/VideoPlayback/cs/Scenario2_CustomizingMediaTransportControls.xaml.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-//*********************************************************
-//
-// Copyright (c) Microsoft. All rights reserved.
-// This code is licensed under the MIT License (MIT).
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-//*********************************************************
-
-using System;
-using Windows.UI.Xaml.Controls;
-using Windows.UI.Xaml.Navigation;
-
-namespace SDKTemplate
-{
- ///
- /// This scenario demonstrates how to customize the media transport controls.
- ///
- ///
- /// See related code in CustomMediaTransportControls.cs and generic.xaml.
- ///
- public sealed partial class Scenario2 : Page
- {
- private MainPage rootPage = MainPage.Current;
- private int likes = 0;
-
- public Scenario2()
- {
- this.InitializeComponent();
- }
-
- private void CustomMTC_Liked(object sender, EventArgs e)
- {
- rootPage.NotifyUser("You liked this video " + (++likes) + " times.", NotifyType.StatusMessage);
- }
- }
-}
diff --git a/Samples/VideoPlayback/cs/Scenario3_DisplayingInBandClosedCaptions.xaml b/Samples/VideoPlayback/cs/Scenario2_DisplayingInBandClosedCaptions.xaml
similarity index 98%
rename from Samples/VideoPlayback/cs/Scenario3_DisplayingInBandClosedCaptions.xaml
rename to Samples/VideoPlayback/cs/Scenario2_DisplayingInBandClosedCaptions.xaml
index 33146095af..a316dffd49 100644
--- a/Samples/VideoPlayback/cs/Scenario3_DisplayingInBandClosedCaptions.xaml
+++ b/Samples/VideoPlayback/cs/Scenario2_DisplayingInBandClosedCaptions.xaml
@@ -11,7 +11,7 @@
//*********************************************************
-->
/// Demonstrates closed captions delivered in-band, specifically SRT in an MKV.
///
- public sealed partial class Scenario3 : Page
+ public sealed partial class Scenario2 : Page
{
private MainPage rootPage = MainPage.Current;
- public Scenario3()
+ public Scenario2()
{
this.InitializeComponent();
}
diff --git a/Samples/VideoPlayback/cs/Scenario4_DisplayingOutOfBandClosedCaptions.xaml b/Samples/VideoPlayback/cs/Scenario3_DisplayingOutOfBandClosedCaptions.xaml
similarity index 98%
rename from Samples/VideoPlayback/cs/Scenario4_DisplayingOutOfBandClosedCaptions.xaml
rename to Samples/VideoPlayback/cs/Scenario3_DisplayingOutOfBandClosedCaptions.xaml
index 44e7c586c6..06a2e75473 100644
--- a/Samples/VideoPlayback/cs/Scenario4_DisplayingOutOfBandClosedCaptions.xaml
+++ b/Samples/VideoPlayback/cs/Scenario3_DisplayingOutOfBandClosedCaptions.xaml
@@ -11,7 +11,7 @@
//*********************************************************
-->
/// Demonstrates playing media with closed captions delivered out-of-band, specifically an MP4 video supplemented by external SRT files.
///
- public sealed partial class Scenario4 : Page
+ public sealed partial class Scenario3 : Page
{
private MainPage rootPage = MainPage.Current;
// Keep a map to correlate sources with their URIs for error handling
private Dictionary ttsMap = new Dictionary();
- public Scenario4()
+ public Scenario3()
{
this.InitializeComponent();
}
diff --git a/Samples/VideoPlayback/cs/Scenario5_SelectingVideoTracks.xaml b/Samples/VideoPlayback/cs/Scenario4_SelectingVideoTracks.xaml
similarity index 98%
rename from Samples/VideoPlayback/cs/Scenario5_SelectingVideoTracks.xaml
rename to Samples/VideoPlayback/cs/Scenario4_SelectingVideoTracks.xaml
index 8be36b6f32..02fed16a13 100644
--- a/Samples/VideoPlayback/cs/Scenario5_SelectingVideoTracks.xaml
+++ b/Samples/VideoPlayback/cs/Scenario4_SelectingVideoTracks.xaml
@@ -11,7 +11,7 @@
//*********************************************************
-->
/// Demonstrates multi-track video playback and camera selection.
///
- public sealed partial class Scenario5 : Page
+ public sealed partial class Scenario4 : Page
{
MainPage rootPage = MainPage.Current;
MediaPlaybackItem item;
- public Scenario5()
+ public Scenario4()
{
this.InitializeComponent();
}
diff --git a/Samples/VideoPlayback/cs/Scenario6_SelectingAudioTracks.xaml b/Samples/VideoPlayback/cs/Scenario5_SelectingAudioTracks.xaml
similarity index 98%
rename from Samples/VideoPlayback/cs/Scenario6_SelectingAudioTracks.xaml
rename to Samples/VideoPlayback/cs/Scenario5_SelectingAudioTracks.xaml
index 006ff3ab30..2b99adeb7c 100644
--- a/Samples/VideoPlayback/cs/Scenario6_SelectingAudioTracks.xaml
+++ b/Samples/VideoPlayback/cs/Scenario5_SelectingAudioTracks.xaml
@@ -11,7 +11,7 @@
//*********************************************************
-->
/// Demonstrates multi-track audio playback and language selection.
///
- public sealed partial class Scenario6 : Page
+ public sealed partial class Scenario5 : Page
{
MainPage rootPage;
MediaPlaybackItem item;
- public Scenario6()
+ public Scenario5()
{
this.InitializeComponent();
}
diff --git a/Samples/VideoPlayback/cs/Scenario7_PlayingVideoLists.xaml b/Samples/VideoPlayback/cs/Scenario6_PlayingVideoLists.xaml
similarity index 99%
rename from Samples/VideoPlayback/cs/Scenario7_PlayingVideoLists.xaml
rename to Samples/VideoPlayback/cs/Scenario6_PlayingVideoLists.xaml
index fca86f672b..4239cbf00e 100644
--- a/Samples/VideoPlayback/cs/Scenario7_PlayingVideoLists.xaml
+++ b/Samples/VideoPlayback/cs/Scenario6_PlayingVideoLists.xaml
@@ -11,7 +11,7 @@
//*********************************************************
-->
/// Demonstrates playing video lists using MediaPlaybackList.
///
- public sealed partial class Scenario7 : Page
+ public sealed partial class Scenario6 : Page
{
private MainPage rootPage = MainPage.Current;
private MediaPlaybackList playbackList = new MediaPlaybackList();
private MediaPlayer mp;
- public Scenario7()
+ public Scenario6()
{
this.InitializeComponent();
}
diff --git a/Samples/VideoPlayback/cs/Scenario8_VideoComposition.xaml b/Samples/VideoPlayback/cs/Scenario7_VideoComposition.xaml
similarity index 98%
rename from Samples/VideoPlayback/cs/Scenario8_VideoComposition.xaml
rename to Samples/VideoPlayback/cs/Scenario7_VideoComposition.xaml
index 282ba61fb8..5131ad4d81 100644
--- a/Samples/VideoPlayback/cs/Scenario8_VideoComposition.xaml
+++ b/Samples/VideoPlayback/cs/Scenario7_VideoComposition.xaml
@@ -11,7 +11,7 @@
//*********************************************************
-->
- public sealed partial class Scenario8 : Page
+ public sealed partial class Scenario7 : Page
{
private MainPage rootPage = MainPage.Current;
private MediaPlayer mediaPlayer;
- public Scenario8()
+ public Scenario7()
{
this.InitializeComponent();
Loaded += Scenario8_Loaded;
diff --git a/Samples/VideoPlayback/cs/Scenario9_TransferMediaPlayer1.xaml b/Samples/VideoPlayback/cs/Scenario8_TransferMediaPlayer1.xaml
similarity index 97%
rename from Samples/VideoPlayback/cs/Scenario9_TransferMediaPlayer1.xaml
rename to Samples/VideoPlayback/cs/Scenario8_TransferMediaPlayer1.xaml
index f3fd061468..a8bae2e811 100644
--- a/Samples/VideoPlayback/cs/Scenario9_TransferMediaPlayer1.xaml
+++ b/Samples/VideoPlayback/cs/Scenario8_TransferMediaPlayer1.xaml
@@ -11,7 +11,7 @@
//*********************************************************
-->
- public sealed partial class Scenario9_TransferMediaPlayer1 : Page
+ public sealed partial class Scenario8_TransferMediaPlayer1 : Page
{
private MainPage rootPage = MainPage.Current;
- public Scenario9_TransferMediaPlayer1()
+ public Scenario8_TransferMediaPlayer1()
{
this.InitializeComponent();
}
diff --git a/Samples/VideoPlayback/cs/Scenario10_TransferMediaPlayer2.xaml b/Samples/VideoPlayback/cs/Scenario9_TransferMediaPlayer2.xaml
similarity index 97%
rename from Samples/VideoPlayback/cs/Scenario10_TransferMediaPlayer2.xaml
rename to Samples/VideoPlayback/cs/Scenario9_TransferMediaPlayer2.xaml
index bd8b310912..17aaf0dbbe 100644
--- a/Samples/VideoPlayback/cs/Scenario10_TransferMediaPlayer2.xaml
+++ b/Samples/VideoPlayback/cs/Scenario9_TransferMediaPlayer2.xaml
@@ -11,7 +11,7 @@
//*********************************************************
-->
- public sealed partial class Scenario10_TransferMediaPlayer2 : Page
+ public sealed partial class Scenario9_TransferMediaPlayer2 : Page
{
private MainPage rootPage = MainPage.Current;
- public Scenario10_TransferMediaPlayer2()
+ public Scenario9_TransferMediaPlayer2()
{
this.InitializeComponent();
}
diff --git a/Samples/VideoPlayback/cs/Themes/generic.xaml b/Samples/VideoPlayback/cs/Themes/generic.xaml
deleted file mode 100644
index 0fad2ef8d0..0000000000
--- a/Samples/VideoPlayback/cs/Themes/generic.xaml
+++ /dev/null
@@ -1,889 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Visible
-
-
-
-
-
-
-
-
-
-
- Visible
-
-
-
-
-
-
-
-
-
-
-
-
- Visible
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Visible
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Visible
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Collapsed
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Samples/VideoPlayback/cs/VideoPlayback.csproj b/Samples/VideoPlayback/cs/VideoPlayback.csproj
index eb24bc18d7..01241a7f18 100644
--- a/Samples/VideoPlayback/cs/VideoPlayback.csproj
+++ b/Samples/VideoPlayback/cs/VideoPlayback.csproj
@@ -11,7 +11,7 @@
VideoPlaybacken-USUAP
- 10.0.14366.0
+ 10.0.14393.010.0.14366.014true
@@ -97,7 +97,6 @@
App.xaml.cs
App.xaml
-
MainPage.xaml.cs
MainPage.xaml
@@ -106,35 +105,32 @@
Properties\AssemblyInfo.cs
-
- Scenario9_TransferMediaPlayer1.xaml
+
+ Scenario8_TransferMediaPlayer1.xaml
-
- Scenario10_TransferMediaPlayer2.xaml
+
+ Scenario9_TransferMediaPlayer2.xamlScenario1_PlayingVideos.xaml
-
- Scenario2_CustomizingMediaTransportControls.xaml
+
+ Scenario3_DisplayingOutOfBandClosedCaptions.xaml
-
- Scenario4_DisplayingOutOfBandClosedCaptions.xaml
+
+ Scenario2_DisplayingInBandClosedCaptions.xaml
-
- Scenario3_DisplayingInBandClosedCaptions.xaml
+
+ Scenario5_SelectingAudioTracks.xaml
-
- Scenario6_SelectingAudioTracks.xaml
+
+ Scenario4_SelectingVideoTracks.xaml
-
- Scenario5_SelectingVideoTracks.xaml
+
+ Scenario6_PlayingVideoLists.xaml
-
- Scenario7_PlayingVideoLists.xaml
-
-
- Scenario8_VideoComposition.xaml
+
+ Scenario7_VideoComposition.xaml
@@ -153,11 +149,11 @@
MSBuild:CompileDesigner
-
+ DesignerMSBuild:Compile
-
+ DesignerMSBuild:Compile
@@ -165,31 +161,27 @@
MSBuild:CompileDesigner
-
- MSBuild:Compile
- Designer
-
-
+ MSBuild:CompileDesigner
-
+ MSBuild:CompileDesigner
-
+ MSBuild:CompileDesigner
-
+ MSBuild:CompileDesigner
-
+ DesignerMSBuild:Compile
-
+ DesignerMSBuild:Compile
@@ -198,10 +190,6 @@
MSBuild:CompileDesigner
-
- MSBuild:Compile
- Designer
-
diff --git a/Samples/VideoPlayback/js/VideoPlayback.jsproj b/Samples/VideoPlayback/js/VideoPlayback.jsproj
index de93068429..9fd66c1438 100644
--- a/Samples/VideoPlayback/js/VideoPlayback.jsproj
+++ b/Samples/VideoPlayback/js/VideoPlayback.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/VideoPlayback/js/package.appxmanifest b/Samples/VideoPlayback/js/package.appxmanifest
index 04f2d2c0bc..96dc81f9c0 100644
--- a/Samples/VideoPlayback/js/package.appxmanifest
+++ b/Samples/VideoPlayback/js/package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/VideoPlaybackSynchronization/cs/Package.appxmanifest b/Samples/VideoPlaybackSynchronization/cs/Package.appxmanifest
index 59a17c3750..1fcdf3944f 100644
--- a/Samples/VideoPlaybackSynchronization/cs/Package.appxmanifest
+++ b/Samples/VideoPlaybackSynchronization/cs/Package.appxmanifest
@@ -13,7 +13,7 @@
Assets\StoreLogo-sdk.png
-
+
diff --git a/Samples/VideoPlaybackSynchronization/cs/VideoPlaybackSynchronization.csproj b/Samples/VideoPlaybackSynchronization/cs/VideoPlaybackSynchronization.csproj
index efdff9b4d5..160ef1044e 100644
--- a/Samples/VideoPlaybackSynchronization/cs/VideoPlaybackSynchronization.csproj
+++ b/Samples/VideoPlaybackSynchronization/cs/VideoPlaybackSynchronization.csproj
@@ -11,7 +11,7 @@
VideoPlaybackSynchronizationen-USUAP
- 10.0.14366.0
+ 10.0.14393.010.0.14366.014true
diff --git a/Samples/VoIP/cs/Voip/Package.appxmanifest b/Samples/VoIP/cs/Voip/Package.appxmanifest
index 74a424d7c6..76bc6cecf2 100644
--- a/Samples/VoIP/cs/Voip/Package.appxmanifest
+++ b/Samples/VoIP/cs/Voip/Package.appxmanifest
@@ -8,7 +8,7 @@
Assets\StoreLogo-sdk.png
-
+
diff --git a/Samples/VoIP/cs/Voip/Voip.csproj b/Samples/VoIP/cs/Voip/Voip.csproj
index bc6828e0f3..604dfa020a 100644
--- a/Samples/VoIP/cs/Voip/Voip.csproj
+++ b/Samples/VoIP/cs/Voip/Voip.csproj
@@ -11,7 +11,7 @@
Voipen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10586.014false
diff --git a/Samples/VoIP/cs/VoipBackEnd/VoipBackEnd.vcxproj b/Samples/VoIP/cs/VoipBackEnd/VoipBackEnd.vcxproj
index 829a888783..f29dd2813b 100644
--- a/Samples/VoIP/cs/VoipBackEnd/VoipBackEnd.vcxproj
+++ b/Samples/VoIP/cs/VoipBackEnd/VoipBackEnd.vcxproj
@@ -35,7 +35,7 @@
14.0trueWindows Store
- 10.0.14295.0
+ 10.0.14393.010.0.10240.010.0
diff --git a/Samples/VoIP/cs/VoipHost/VoipHost.vcxproj b/Samples/VoIP/cs/VoipHost/VoipHost.vcxproj
index f086883a92..630c3ab4fe 100644
--- a/Samples/VoIP/cs/VoipHost/VoipHost.vcxproj
+++ b/Samples/VoIP/cs/VoipHost/VoipHost.vcxproj
@@ -41,7 +41,7 @@
14.0trueWindows Store
- 10.0.14295.0
+ 10.0.14393.010.0.10240.010.0
diff --git a/Samples/VoIP/cs/VoipTasks/VoipTasks.csproj b/Samples/VoIP/cs/VoipTasks/VoipTasks.csproj
index 765d04eed3..7c2d913bfa 100644
--- a/Samples/VoIP/cs/VoipTasks/VoipTasks.csproj
+++ b/Samples/VoIP/cs/VoipTasks/VoipTasks.csproj
@@ -11,7 +11,7 @@
VoipTasksen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014512
@@ -122,7 +122,7 @@
-
+ Windows Mobile Extensions for the UWP
diff --git a/Samples/WRLInProcessWinRTComponent/cpp/Server/WRLInProcessWinRTComponentPS.vcxproj b/Samples/WRLInProcessWinRTComponent/cpp/Server/WRLInProcessWinRTComponentPS.vcxproj
index 482644a72e..ece3da1942 100644
--- a/Samples/WRLInProcessWinRTComponent/cpp/Server/WRLInProcessWinRTComponentPS.vcxproj
+++ b/Samples/WRLInProcessWinRTComponent/cpp/Server/WRLInProcessWinRTComponentPS.vcxproj
@@ -34,7 +34,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0trueen-US
diff --git a/Samples/WRLInProcessWinRTComponent/cpp/Server/WRLInProcessWinRTComponent_server.vcxproj b/Samples/WRLInProcessWinRTComponent/cpp/Server/WRLInProcessWinRTComponent_server.vcxproj
index 9919518298..1b3cc27207 100644
--- a/Samples/WRLInProcessWinRTComponent/cpp/Server/WRLInProcessWinRTComponent_server.vcxproj
+++ b/Samples/WRLInProcessWinRTComponent/cpp/Server/WRLInProcessWinRTComponent_server.vcxproj
@@ -36,7 +36,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0truefalse
diff --git a/Samples/WRLInProcessWinRTComponent/cpp/cpp/Package.appxmanifest b/Samples/WRLInProcessWinRTComponent/cpp/cpp/Package.appxmanifest
index f844e830c0..bed88b0d11 100644
--- a/Samples/WRLInProcessWinRTComponent/cpp/cpp/Package.appxmanifest
+++ b/Samples/WRLInProcessWinRTComponent/cpp/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/WRLInProcessWinRTComponent/cpp/cpp/WRLInProcessWinRTComponent_client_cpp.vcxproj b/Samples/WRLInProcessWinRTComponent/cpp/cpp/WRLInProcessWinRTComponent_client_cpp.vcxproj
index 96fcc965f3..3658323710 100644
--- a/Samples/WRLInProcessWinRTComponent/cpp/cpp/WRLInProcessWinRTComponent_client_cpp.vcxproj
+++ b/Samples/WRLInProcessWinRTComponent/cpp/cpp/WRLInProcessWinRTComponent_client_cpp.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/WRLInProcessWinRTComponent/cpp/cs/Package.appxmanifest b/Samples/WRLInProcessWinRTComponent/cpp/cs/Package.appxmanifest
index 77aa9b8aff..0780964043 100644
--- a/Samples/WRLInProcessWinRTComponent/cpp/cs/Package.appxmanifest
+++ b/Samples/WRLInProcessWinRTComponent/cpp/cs/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/WRLInProcessWinRTComponent/cpp/cs/WRLInProcessWinRTComponent_client_cs.csproj b/Samples/WRLInProcessWinRTComponent/cpp/cs/WRLInProcessWinRTComponent_client_cs.csproj
index 0b55a06e17..2dfe1d8741 100644
--- a/Samples/WRLInProcessWinRTComponent/cpp/cs/WRLInProcessWinRTComponent_client_cs.csproj
+++ b/Samples/WRLInProcessWinRTComponent/cpp/cs/WRLInProcessWinRTComponent_client_cs.csproj
@@ -11,7 +11,7 @@
WRLInProcessWinRTComponenten-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/WRLInProcessWinRTComponent/cpp/js/Package.appxmanifest b/Samples/WRLInProcessWinRTComponent/cpp/js/Package.appxmanifest
index fab760706e..91466528f5 100644
--- a/Samples/WRLInProcessWinRTComponent/cpp/js/Package.appxmanifest
+++ b/Samples/WRLInProcessWinRTComponent/cpp/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/WRLInProcessWinRTComponent/cpp/js/WRLInProcessWinRTComponent_client_js.jsproj b/Samples/WRLInProcessWinRTComponent/cpp/js/WRLInProcessWinRTComponent_client_js.jsproj
index 019c89eab4..702d29db5d 100644
--- a/Samples/WRLInProcessWinRTComponent/cpp/js/WRLInProcessWinRTComponent_client_js.jsproj
+++ b/Samples/WRLInProcessWinRTComponent/cpp/js/WRLInProcessWinRTComponent_client_js.jsproj
@@ -37,7 +37,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/WRLOutOfProcessWinRTComponent/cpp/Server/WRLOutOfProcessWinRTComponentPS.vcxproj b/Samples/WRLOutOfProcessWinRTComponent/cpp/Server/WRLOutOfProcessWinRTComponentPS.vcxproj
index f568fcc528..c4361a50a8 100644
--- a/Samples/WRLOutOfProcessWinRTComponent/cpp/Server/WRLOutOfProcessWinRTComponentPS.vcxproj
+++ b/Samples/WRLOutOfProcessWinRTComponent/cpp/Server/WRLOutOfProcessWinRTComponentPS.vcxproj
@@ -34,7 +34,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0trueen-US
diff --git a/Samples/WRLOutOfProcessWinRTComponent/cpp/Server/WRLOutOfProcessWinRTComponent_server.vcxproj b/Samples/WRLOutOfProcessWinRTComponent/cpp/Server/WRLOutOfProcessWinRTComponent_server.vcxproj
index 9609eba8be..ae7f8239fd 100644
--- a/Samples/WRLOutOfProcessWinRTComponent/cpp/Server/WRLOutOfProcessWinRTComponent_server.vcxproj
+++ b/Samples/WRLOutOfProcessWinRTComponent/cpp/Server/WRLOutOfProcessWinRTComponent_server.vcxproj
@@ -35,12 +35,12 @@
en-US14.0UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0falseWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0trueMidl
diff --git a/Samples/WRLOutOfProcessWinRTComponent/cpp/cpp/Package.appxmanifest b/Samples/WRLOutOfProcessWinRTComponent/cpp/cpp/Package.appxmanifest
index cd48ae24cf..87d1b62b4e 100644
--- a/Samples/WRLOutOfProcessWinRTComponent/cpp/cpp/Package.appxmanifest
+++ b/Samples/WRLOutOfProcessWinRTComponent/cpp/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/WRLOutOfProcessWinRTComponent/cpp/cpp/WRLOutOfProcessWinRTComponent_client_cpp.vcxproj b/Samples/WRLOutOfProcessWinRTComponent/cpp/cpp/WRLOutOfProcessWinRTComponent_client_cpp.vcxproj
index 027bb46575..a754852832 100644
--- a/Samples/WRLOutOfProcessWinRTComponent/cpp/cpp/WRLOutOfProcessWinRTComponent_client_cpp.vcxproj
+++ b/Samples/WRLOutOfProcessWinRTComponent/cpp/cpp/WRLOutOfProcessWinRTComponent_client_cpp.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/WRLOutOfProcessWinRTComponent/cpp/cs/Package.appxmanifest b/Samples/WRLOutOfProcessWinRTComponent/cpp/cs/Package.appxmanifest
index 962762d608..4a911b3ae5 100644
--- a/Samples/WRLOutOfProcessWinRTComponent/cpp/cs/Package.appxmanifest
+++ b/Samples/WRLOutOfProcessWinRTComponent/cpp/cs/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/WRLOutOfProcessWinRTComponent/cpp/cs/WRLOutOfProcessWinRTComponent_client_cs.csproj b/Samples/WRLOutOfProcessWinRTComponent/cpp/cs/WRLOutOfProcessWinRTComponent_client_cs.csproj
index 0d97699c8b..6c4486edbc 100644
--- a/Samples/WRLOutOfProcessWinRTComponent/cpp/cs/WRLOutOfProcessWinRTComponent_client_cs.csproj
+++ b/Samples/WRLOutOfProcessWinRTComponent/cpp/cs/WRLOutOfProcessWinRTComponent_client_cs.csproj
@@ -11,7 +11,7 @@
WRLOutOfProcessWinRTComponenten-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/WRLOutOfProcessWinRTComponent/cpp/js/Package.appxmanifest b/Samples/WRLOutOfProcessWinRTComponent/cpp/js/Package.appxmanifest
index 98a3d53997..50bc587e47 100644
--- a/Samples/WRLOutOfProcessWinRTComponent/cpp/js/Package.appxmanifest
+++ b/Samples/WRLOutOfProcessWinRTComponent/cpp/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/WRLOutOfProcessWinRTComponent/cpp/js/WRLOutOfProcessWinRTComponent_client_js.jsproj b/Samples/WRLOutOfProcessWinRTComponent/cpp/js/WRLOutOfProcessWinRTComponent_client_js.jsproj
index 347cc31dc2..cc4d7bc72e 100644
--- a/Samples/WRLOutOfProcessWinRTComponent/cpp/js/WRLOutOfProcessWinRTComponent_client_js.jsproj
+++ b/Samples/WRLOutOfProcessWinRTComponent/cpp/js/WRLOutOfProcessWinRTComponent_client_js.jsproj
@@ -37,7 +37,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/WebAccountManagement/cpp/Package.appxmanifest b/Samples/WebAccountManagement/cpp/Package.appxmanifest
index 09bf175811..9b30a3d73d 100644
--- a/Samples/WebAccountManagement/cpp/Package.appxmanifest
+++ b/Samples/WebAccountManagement/cpp/Package.appxmanifest
@@ -8,7 +8,7 @@
Assets\StoreLogo-sdk.png
-
+
diff --git a/Samples/WebAccountManagement/cpp/WebAccountManagement.vcxproj b/Samples/WebAccountManagement/cpp/WebAccountManagement.vcxproj
index b683fb4496..7101f14488 100644
--- a/Samples/WebAccountManagement/cpp/WebAccountManagement.vcxproj
+++ b/Samples/WebAccountManagement/cpp/WebAccountManagement.vcxproj
@@ -9,7 +9,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/WebAccountManagement/cs/Package.appxmanifest b/Samples/WebAccountManagement/cs/Package.appxmanifest
index ae2231ea97..c3e91b47c3 100644
--- a/Samples/WebAccountManagement/cs/Package.appxmanifest
+++ b/Samples/WebAccountManagement/cs/Package.appxmanifest
@@ -8,7 +8,7 @@
Assets\StoreLogo-sdk.png
-
+
diff --git a/Samples/WebAccountManagement/cs/WebAccountManagement.csproj b/Samples/WebAccountManagement/cs/WebAccountManagement.csproj
index d4648b92d5..1e82503071 100644
--- a/Samples/WebAccountManagement/cs/WebAccountManagement.csproj
+++ b/Samples/WebAccountManagement/cs/WebAccountManagement.csproj
@@ -11,7 +11,7 @@
Accountsen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014512
@@ -191,7 +191,7 @@
-
+ Microsoft Desktop Extension SDK for Universal App Platform
diff --git a/Samples/WebAuthenticationBroker/cpp/Package.appxmanifest b/Samples/WebAuthenticationBroker/cpp/Package.appxmanifest
index c7f27fae0d..7a26cb56ea 100644
--- a/Samples/WebAuthenticationBroker/cpp/Package.appxmanifest
+++ b/Samples/WebAuthenticationBroker/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/WebAuthenticationBroker/cpp/WebAuthenticationBroker.vcxproj b/Samples/WebAuthenticationBroker/cpp/WebAuthenticationBroker.vcxproj
index c0b32c17bf..2097974afd 100644
--- a/Samples/WebAuthenticationBroker/cpp/WebAuthenticationBroker.vcxproj
+++ b/Samples/WebAuthenticationBroker/cpp/WebAuthenticationBroker.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0trueWebAuthentication
diff --git a/Samples/WebAuthenticationBroker/cs/Package.appxmanifest b/Samples/WebAuthenticationBroker/cs/Package.appxmanifest
index 09a329b7c5..f1843ae2a1 100644
--- a/Samples/WebAuthenticationBroker/cs/Package.appxmanifest
+++ b/Samples/WebAuthenticationBroker/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/WebAuthenticationBroker/cs/WebAuthenticationBroker.csproj b/Samples/WebAuthenticationBroker/cs/WebAuthenticationBroker.csproj
index 9c35622870..a7076c89db 100644
--- a/Samples/WebAuthenticationBroker/cs/WebAuthenticationBroker.csproj
+++ b/Samples/WebAuthenticationBroker/cs/WebAuthenticationBroker.csproj
@@ -11,7 +11,7 @@
WabCSen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
@@ -182,7 +182,7 @@
-
+ Microsoft Desktop Extension SDK for Universal App Platform
diff --git a/Samples/WebAuthenticationBroker/js/Package.appxmanifest b/Samples/WebAuthenticationBroker/js/Package.appxmanifest
index 68ad151137..cc415a4ad0 100644
--- a/Samples/WebAuthenticationBroker/js/Package.appxmanifest
+++ b/Samples/WebAuthenticationBroker/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/WebAuthenticationBroker/js/WebAuthenticationBroker.jsproj b/Samples/WebAuthenticationBroker/js/WebAuthenticationBroker.jsproj
index a9cf71e7b7..0ef1e88e29 100644
--- a/Samples/WebAuthenticationBroker/js/WebAuthenticationBroker.jsproj
+++ b/Samples/WebAuthenticationBroker/js/WebAuthenticationBroker.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/WebSocket/cpp/WebSocket.vcxproj b/Samples/WebSocket/cpp/WebSocket.vcxproj
index a0a1649bc3..05cc4d36e1 100644
--- a/Samples/WebSocket/cpp/WebSocket.vcxproj
+++ b/Samples/WebSocket/cpp/WebSocket.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.14295.0true
diff --git a/Samples/WebSocket/cs/WebSocket.csproj b/Samples/WebSocket/cs/WebSocket.csproj
index 20391fefe3..e1a6e25eda 100644
--- a/Samples/WebSocket/cs/WebSocket.csproj
+++ b/Samples/WebSocket/cs/WebSocket.csproj
@@ -11,7 +11,7 @@
WebSocketen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.14295.014true
diff --git a/Samples/WebSocket/js/Package.appxmanifest b/Samples/WebSocket/js/Package.appxmanifest
index d81916f3ff..f03d971bc6 100644
--- a/Samples/WebSocket/js/Package.appxmanifest
+++ b/Samples/WebSocket/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/WebSocket/js/WebSocket.jsproj b/Samples/WebSocket/js/WebSocket.jsproj
index 1fae94b74b..7a6d31a573 100644
--- a/Samples/WebSocket/js/WebSocket.jsproj
+++ b/Samples/WebSocket/js/WebSocket.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.14295.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/WebView/js/Package.appxmanifest b/Samples/WebView/js/Package.appxmanifest
index 82f0c51b9b..7da685cf75 100644
--- a/Samples/WebView/js/Package.appxmanifest
+++ b/Samples/WebView/js/Package.appxmanifest
@@ -15,7 +15,7 @@
images\storelogo-sdk.png
-
+
diff --git a/Samples/WebView/js/StreamUriResolverCPP/StreamUriResolverCPP.vcxproj b/Samples/WebView/js/StreamUriResolverCPP/StreamUriResolverCPP.vcxproj
index 8169552368..c11c65d3a4 100644
--- a/Samples/WebView/js/StreamUriResolverCPP/StreamUriResolverCPP.vcxproj
+++ b/Samples/WebView/js/StreamUriResolverCPP/StreamUriResolverCPP.vcxproj
@@ -36,10 +36,10 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0
diff --git a/Samples/WebView/js/StreamUriResolverCS/StreamUriResolverCS.csproj b/Samples/WebView/js/StreamUriResolverCS/StreamUriResolverCS.csproj
index d2dbb5fb27..64f780182c 100644
--- a/Samples/WebView/js/StreamUriResolverCS/StreamUriResolverCS.csproj
+++ b/Samples/WebView/js/StreamUriResolverCS/StreamUriResolverCS.csproj
@@ -11,7 +11,7 @@
SDK.WebViewSampleCSen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/WebView/js/WebView.jsproj b/Samples/WebView/js/WebView.jsproj
index 0b1955a854..c56997b22d 100644
--- a/Samples/WebView/js/WebView.jsproj
+++ b/Samples/WebView/js/WebView.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/WebView/js/WinRTComponent/WinRTComponent.vcxproj b/Samples/WebView/js/WinRTComponent/WinRTComponent.vcxproj
index dbbbd44dae..8a0e348616 100644
--- a/Samples/WebView/js/WinRTComponent/WinRTComponent.vcxproj
+++ b/Samples/WebView/js/WinRTComponent/WinRTComponent.vcxproj
@@ -36,7 +36,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/WebView/js/WinRTComponent/WinRTSharedObject.cpp b/Samples/WebView/js/WinRTComponent/WinRTSharedObject.cpp
index 0c55f66e0d..05c9c8e6a2 100644
--- a/Samples/WebView/js/WinRTComponent/WinRTSharedObject.cpp
+++ b/Samples/WebView/js/WinRTComponent/WinRTSharedObject.cpp
@@ -5,27 +5,52 @@
#include
using namespace WinRTComponent;
-using namespace std;
+using namespace Windows::Foundation;
+using namespace Windows::System::Threading;
WinRTSharedObject::WinRTSharedObject()
{
}
-void WinRTSharedObject::CheckPrimesInRange()
+EventRegistrationToken WinRTSharedObject::PrimeFound::add(PrimeFoundHandler^ handler)
{
- vector numsVector;
+ // Since the WinRTSharedObject is shared between threads, we capture the context
+ // at registration time so that the callback is made on the correct thread.
+ return m_primeFoundAgile += ref new Windows::Foundation::EventHandler(
+ [handler](Platform::Object^ sender, Platform::Object^ args)
+ {
+ handler->Invoke(safe_cast(sender), safe_cast(args));
+ }, Platform::CallbackContext::Same);
+}
- for (int num = startNumber; num <= endNumber; num++)
+void WinRTSharedObject::PrimeFound::remove(EventRegistrationToken token)
+{
+ m_primeFoundAgile -= token;
+}
+
+void WinRTSharedObject::PrimeFound::raise(WinRTSharedObject^ sender, PrimeFoundEventArgs^ args)
+{
+ m_primeFoundAgile(sender, args);
+}
+
+void WinRTSharedObject::CheckPrimesInRange()
+{
+ ThreadPool::RunAsync(ref new WorkItemHandler([this](IAsyncAction^ action)
{
- if (IsPrime(num))
+ for (int num = startNumber; num <= endNumber && action->Status != AsyncStatus::Canceled; num++)
{
- numsVector.push_back(num);
- NotifyAppOfPrimes(num);
+ if (IsPrime(num))
+ {
+ auto args = ref new PrimeFoundEventArgs(num);
+ PrimeFound(this, args);
+ // An event handler can set cancel=true to stop the computation.
+ if (args->Cancel)
+ {
+ break;
+ }
+ }
}
- }
-
- int* numsArray = &numsVector[0];
- //return numsArray;
+ }), WorkItemPriority::Normal, WorkItemOptions::TimeSliced);
}
bool WinRTSharedObject::IsPrime(int n)
diff --git a/Samples/WebView/js/WinRTComponent/WinRTSharedObject.h b/Samples/WebView/js/WinRTComponent/WinRTSharedObject.h
index 276858b6d5..f9ca5465a3 100644
--- a/Samples/WebView/js/WinRTComponent/WinRTSharedObject.h
+++ b/Samples/WebView/js/WinRTComponent/WinRTSharedObject.h
@@ -4,16 +4,37 @@
namespace WinRTComponent
{
-
- public delegate void NotifyAppHandler(int number);
-
+ [Windows::Foundation::Metadata::AllowForWebAttribute]
+ public ref class PrimeFoundEventArgs sealed
+ {
+ internal:
+ PrimeFoundEventArgs(int prime) : m_prime(prime) { }
+ public:
+ property int Prime { int get() { return m_prime; } };
+ property bool Cancel { bool get() { return m_cancel; }
+ void set(bool value) { m_cancel = value; } }
+
+ private:
+ const int m_prime;
+ bool m_cancel = false;
+ };
+
[Windows::Foundation::Metadata::AllowForWebAttribute]
public ref class WinRTSharedObject sealed
{
public:
WinRTSharedObject();
- event NotifyAppHandler^ NotifyAppOfPrimes;
+#pragma warning(suppress:4462) // We manually marshal this interface.
+ using PrimeFoundHandler = Windows::Foundation::TypedEventHandler;
+
+ event PrimeFoundHandler^ PrimeFound
+ {
+ Windows::Foundation::EventRegistrationToken add(PrimeFoundHandler^ handler);
+ void remove(Windows::Foundation::EventRegistrationToken token);
+ internal:
+ void raise(WinRTSharedObject^ sender, PrimeFoundEventArgs^ args);
+ }
void CheckPrimesInRange();
bool IsPrime(int number);
@@ -23,5 +44,7 @@ namespace WinRTComponent
private:
int startNumber;
int endNumber;
+
+ event Windows::Foundation::EventHandler^ m_primeFoundAgile;
};
}
diff --git a/Samples/WebView/js/css/10_AppWebviewComm.css b/Samples/WebView/js/css/10_AppWebviewComm.css
index e460a04e2e..72d7da5f46 100644
--- a/Samples/WebView/js/css/10_AppWebviewComm.css
+++ b/Samples/WebView/js/css/10_AppWebviewComm.css
@@ -24,6 +24,10 @@ Copyright (c) Microsoft Corporation. All rights reserved
visibility: hidden;
}
+#scenario10_output {
+ height: 50%;
+}
+
#outputArea {
width: 100%;
height: 100%;
diff --git a/Samples/WebView/js/html/10_AppWebviewComm.html b/Samples/WebView/js/html/10_AppWebviewComm.html
index 8fb20ea81a..e351c07f9d 100644
--- a/Samples/WebView/js/html/10_AppWebviewComm.html
+++ b/Samples/WebView/js/html/10_AppWebviewComm.html
@@ -12,16 +12,20 @@
-
+
Sometimes, webpage loaded inside the webview and vice versa needs to communicate or share some object with each other. To do this, you can implement a winrt object that implements IAgileObject and send it to the webview using AddWebAllowedObject
method. A new metadata attribute AllowForWeb should be specified above the class which object will be projected. This provides a security option to filter context which can be exposed to the webpage loaded inside webview.
-
Under the Output heading below, the displayed HTML has been loaded into the WebView control. The Winrt object is a simple prime number caclulator. Enter a valid range below and then tap the "Reload" button. The webview page notifies
- the app whenever it finds a new prime number in the range.
+
Under the Output heading below, the displayed HTML has been loaded into the WebView control. The Winrt object is a simple prime number calculator. Enter a valid range below and then tap the "Reload" button. The webview page notifies
+ the app whenever it finds a new prime number in the range.
+ The WinRT object will stop calculating when it reaches the end of the range or when the app sets the cancel property in the event handler.
-
+
+
-
+
diff --git a/Samples/WebView/js/js/10_AppWebviewComm.js b/Samples/WebView/js/js/10_AppWebviewComm.js
index 2aeea38b15..7b6f20ae62 100644
--- a/Samples/WebView/js/js/10_AppWebviewComm.js
+++ b/Samples/WebView/js/js/10_AppWebviewComm.js
@@ -2,9 +2,16 @@
(function () {
"use strict";
+ var webview;
+ var outputArea;
+ var cancelCheckbox;
var page = WinJS.UI.Pages.define("/html/10_AppWebviewComm.html", {
ready: function (element, options) {
+ outputArea = document.getElementById("outputArea");
+ webview = document.getElementById("webview");
+ cancelCheckbox = document.getElementById("cancelCheckbox");
+
// Load the contents of the sample HTML file to be displayed in the text area
WinJS.xhr({ url: "ms-appx-web:///html/appwebviewcomm_example.html", responseType: "text" }).done(function (request) {
document.getElementById("htmlString").value = request.responseText;
@@ -12,7 +19,7 @@
document.getElementById("reloadButton").addEventListener("click", reloadPage, false);
- document.getElementById("webview").addEventListener("MSWebViewNavigationStarting", navigationStarting);
+ webview.addEventListener("MSWebViewNavigationStarting", navigationStarting);
// create winrt object, pass it to the webview and load the page
reloadPage();
@@ -20,27 +27,29 @@
});
function navigationStarting() {
- if (document.getElementById("webview").addWebAllowedObject !== undefined) {
- // create the winrt object, pass it to webview. This winrt object can be used inside webview till the next navigation.
+ if (webview.addWebAllowedObject) {
+ // Create the winrt object, and pass it to webview. This winrt object can be used inside webview until the next navigation.
var winRTSharedObject = new WinRTComponent.WinRTSharedObject();
- winRTSharedObject.onnotifyappofprimes = function (e) { appendOutput("Notification from webview for prime number: " + e.target.toString()); }
+ winRTSharedObject.addEventListener("primefound", function(e) {
+ appendOutput("Notification from webview for prime number: " + e.prime);
+ e.cancel = cancelCheckbox.checked;
+ });
winRTSharedObject.setStartNumber(document.getElementById("startnumField").value);
winRTSharedObject.setEndNumber(document.getElementById("endnumField").value);
- document.getElementById("webview").addWebAllowedObject("winRTSharedObject", winRTSharedObject);
+ webview.addWebAllowedObject("winRTSharedObject", winRTSharedObject);
} else {
WinJS.log && WinJS.log("addWebAllowedObject method is not supported by WebView", "sdksample", "error");
}
}
function reloadPage() {
- document.getElementById("outputArea").value = "";
- document.getElementById("webview").navigate("ms-appx-web:///html/appwebviewcomm_example.html");
+ outputArea.value = "";
+ webview.navigate("ms-appx-web:///html/appwebviewcomm_example.html");
}
// Appends a line of text to outputArea
function appendOutput(message) {
- var outputArea = document.getElementById("outputArea");
outputArea.value += message + "\n";
outputArea.scrollTop = outputArea.scrollHeight;
}
diff --git a/Samples/WebWorkers/js/Package.appxmanifest b/Samples/WebWorkers/js/Package.appxmanifest
index eeb357ba29..6bb1fbf261 100644
--- a/Samples/WebWorkers/js/Package.appxmanifest
+++ b/Samples/WebWorkers/js/Package.appxmanifest
@@ -15,7 +15,7 @@
images\storelogo-sdk.png
-
+
diff --git a/Samples/WebWorkers/js/WebWorkers.jsproj b/Samples/WebWorkers/js/WebWorkers.jsproj
index 13e3d2418e..00316081cd 100644
--- a/Samples/WebWorkers/js/WebWorkers.jsproj
+++ b/Samples/WebWorkers/js/WebWorkers.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/WiFiDirect/README.md b/Samples/WiFiDirect/README.md
index 6e00f84b20..e770ebe488 100644
--- a/Samples/WiFiDirect/README.md
+++ b/Samples/WiFiDirect/README.md
@@ -7,13 +7,29 @@
This sample shows how to use the Wi-Fi Direct API to discover devices and connect to the them over Wi-Fi Direct.
-Specifically, this sample shows how to:
-
-- **Advertise a Wi-Fi Direct device:** A device can advertise it's presence so that other Wi-Fi Direct devices can discover and connect to it. There are optional settings that an advertiser may specify, such as custom information elements to share during discovery, and options for how to establish a connection.
+Specifically, this sample demonstrates the following:
+
+- **Advertise a Wi-Fi Direct device:**
+A device can advertise its presence so that other Wi-Fi Direct devices
+can discover and connect to it. There are optional settings that
+an advertiser may specify, such as custom information elements
+to share during discovery, and options for how to establish a connection.
+An advertiser can also specify advanced optional settings such as
+pairing configuration methods (in order of preference)
+and the preferred pairing procedure.
+The advertiser can also be cofigured in legacy mode wherein legacy
+(non-WiFiDirect) clients can connect to it.
+The legacy mode also supports specifying a SSID and a passphrase.
- **Discover a Wi-Fi Direct device:** Discover advertising devices over Wi-Fi Direct.
- **Connect to a device/Accept an incoming connection:** After discovering a Wi-Fi Direct device, a device may connect to it. The advertising device may accept or decline the connection.
+The connector can also be configured with optional advanced settings
+such as the pairing configuration methods (in order of preference)
+and the preferred pairing procedure.
- **Send data over Wi-Fi Direct after connecting to a device:** Connected peers may open TCP and UDP sockets and send data. This sample just sends text strings as a sample.
+The C++ and JS samples do not demonstrate advanced optional settings yet.
+Support for those will come in a future sample.
+
**Note** This sample requires two or more devices with Wi-Fi chipsets and drivers that support Wi-Fi Direct.
**Note**�This sample was created using one of the universal app templates available in Visual Studio. It shows how its solution is structured so it can run on Windows 10. For more info about how to build apps that target Windows and Windows Phone with Visual Studio, see [Build apps that target Windows 10 by using Visual Studio](http://msdn.microsoft.com/library/windows/apps/dn609832).
diff --git a/Samples/WiFiDirect/cpp/Package.appxmanifest b/Samples/WiFiDirect/cpp/Package.appxmanifest
index 6c022d7555..be49a98515 100644
--- a/Samples/WiFiDirect/cpp/Package.appxmanifest
+++ b/Samples/WiFiDirect/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/WiFiDirect/cpp/WiFiDirect.vcxproj b/Samples/WiFiDirect/cpp/WiFiDirect.vcxproj
index 1e5d50117e..44a50ef496 100644
--- a/Samples/WiFiDirect/cpp/WiFiDirect.vcxproj
+++ b/Samples/WiFiDirect/cpp/WiFiDirect.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/WiFiDirect/cs/ConnectionSettingsPanel.xaml b/Samples/WiFiDirect/cs/ConnectionSettingsPanel.xaml
new file mode 100644
index 0000000000..26c9cd4fc0
--- /dev/null
+++ b/Samples/WiFiDirect/cs/ConnectionSettingsPanel.xaml
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PushButton
+
+
+
+
+
+
+ ProvidePin
+
+
+
+
+
+
+ DisplayPin
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GroupOwnerNegotiation
+
+
+
+
+
+
+ Invitation
+
+
+
+
+
+
+
diff --git a/Samples/WiFiDirect/cs/ConnectionSettingsPanel.xaml.cs b/Samples/WiFiDirect/cs/ConnectionSettingsPanel.xaml.cs
new file mode 100644
index 0000000000..09add487e0
--- /dev/null
+++ b/Samples/WiFiDirect/cs/ConnectionSettingsPanel.xaml.cs
@@ -0,0 +1,102 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using System.Threading.Tasks;
+using Windows.Devices.Enumeration;
+using Windows.Devices.WiFiDirect;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+// The User Control item template is documented at http://go.microsoft.com/fwlink/?LinkId=234236
+
+namespace SDKTemplate
+{
+ public sealed partial class ConnectionSettingsPanel : UserControl
+ {
+ private MainPage rootPage = MainPage.Current;
+
+ List _supportedConfigMethods = new List();
+
+ public ConnectionSettingsPanel()
+ {
+ this.InitializeComponent();
+
+ // Initialize the GroupOwnerIntent combo box.
+ // The options are "Default", then values 0 through 15.
+ cmbGOIntent.Items.Add(new ComboBoxItem() { Content = "Default" });
+ for (int i = 0; i <= 15; i++)
+ {
+ cmbGOIntent.Items.Add(new ComboBoxItem() { Content = i.ToString(), Tag = (short)i });
+ }
+ cmbGOIntent.SelectedIndex = 0;
+ }
+
+ public void Reset()
+ {
+ _supportedConfigMethods.Clear();
+ }
+
+ private void btnAddConfigMethods_Click(object sender, RoutedEventArgs e)
+ {
+ // The configuration methods are added in the order of preference, most preferred first.
+ // Save the values here so we can apply them in OnConnectionRequested.
+ // In practice, most apps will have a hard-coded preference list.
+ WiFiDirectConfigurationMethod method = Utils.GetSelectedItemTag(cmbSupportedConfigMethods);
+ _supportedConfigMethods.Add(method);
+ rootPage.NotifyUser($"Added configuration method {method}", NotifyType.StatusMessage);
+ }
+
+ public async Task RequestPairDeviceAsync(DeviceInformationPairing pairing)
+ {
+ WiFiDirectConnectionParameters connectionParams = new WiFiDirectConnectionParameters();
+
+ short? groupOwnerIntent = Utils.GetSelectedItemTag(cmbGOIntent);
+ if (groupOwnerIntent.HasValue)
+ {
+ connectionParams.GroupOwnerIntent = groupOwnerIntent.Value;
+ }
+
+ DevicePairingKinds devicePairingKinds = DevicePairingKinds.None;
+ if (_supportedConfigMethods.Count > 0)
+ {
+ // If specific configuration methods were added, then use them.
+ foreach (var configMethod in _supportedConfigMethods)
+ {
+ connectionParams.PreferenceOrderedConfigurationMethods.Add(configMethod);
+ devicePairingKinds |= WiFiDirectConnectionParameters.GetDevicePairingKinds(configMethod);
+ }
+ }
+ else
+ {
+ // If specific configuration methods were not added, then we'll use these pairing kinds.
+ devicePairingKinds = DevicePairingKinds.ConfirmOnly | DevicePairingKinds.DisplayPin | DevicePairingKinds.ProvidePin;
+ }
+
+ connectionParams.PreferredPairingProcedure = Utils.GetSelectedItemTag(cmbPreferredPairingProcedure);
+ DeviceInformationCustomPairing customPairing = pairing.Custom;
+ customPairing.PairingRequested += OnPairingRequested;
+
+ DevicePairingResult result = await customPairing.PairAsync(devicePairingKinds, DevicePairingProtectionLevel.Default, connectionParams);
+ if (result.Status != DevicePairingResultStatus.Paired)
+ {
+ rootPage.NotifyUser($"PairAsync failed, Status: {result.Status}", NotifyType.ErrorMessage);
+ return false;
+ }
+ return true;
+ }
+
+ private void OnPairingRequested(DeviceInformationCustomPairing sender, DevicePairingRequestedEventArgs args)
+ {
+ Utils.HandlePairing(Dispatcher, args);
+ }
+ }
+}
diff --git a/Samples/WiFiDirect/cs/DispatcherTaskExtensions.cs b/Samples/WiFiDirect/cs/DispatcherTaskExtensions.cs
new file mode 100644
index 0000000000..8dc51ae8bc
--- /dev/null
+++ b/Samples/WiFiDirect/cs/DispatcherTaskExtensions.cs
@@ -0,0 +1,45 @@
+//*********************************************************
+//
+// Copyright (c) Microsoft. All rights reserved.
+// This code is licensed under the MIT License (MIT).
+// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
+// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
+// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
+// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
+//
+//*********************************************************
+
+using System;
+using System.Threading.Tasks;
+using Windows.UI.Core;
+
+namespace SDKTemplate
+{
+ // This extension method is taken from
+ // https://github.com/Microsoft/Windows-task-snippets/blob/master/tasks/UI-thread-task-await-from-background-thread.md
+ public static class DispatcherTaskExtensions
+ {
+ public static async Task RunTaskAsync(this CoreDispatcher dispatcher,
+ Func> func, CoreDispatcherPriority priority = CoreDispatcherPriority.Normal)
+ {
+ var taskCompletionSource = new TaskCompletionSource();
+ await dispatcher.RunAsync(priority, async () =>
+ {
+ try
+ {
+ taskCompletionSource.SetResult(await func());
+ }
+ catch (Exception ex)
+ {
+ taskCompletionSource.SetException(ex);
+ }
+ });
+ return await taskCompletionSource.Task;
+ }
+
+ // There is no TaskCompletionSource so we use a bool that we throw away.
+ public static async Task RunTaskAsync(this CoreDispatcher dispatcher,
+ Func func, CoreDispatcherPriority priority = CoreDispatcherPriority.Normal) =>
+ await RunTaskAsync(dispatcher, async () => { await func(); return false; }, priority);
+ }
+}
diff --git a/Samples/WiFiDirect/cs/Package.appxmanifest b/Samples/WiFiDirect/cs/Package.appxmanifest
index 22462d7f67..e0d169458f 100644
--- a/Samples/WiFiDirect/cs/Package.appxmanifest
+++ b/Samples/WiFiDirect/cs/Package.appxmanifest
@@ -11,7 +11,6 @@
Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"
Version="1.0.0.0" />
-
@@ -21,7 +20,7 @@
-
+
diff --git a/Samples/WiFiDirect/cs/SampleConfiguration.cs b/Samples/WiFiDirect/cs/SampleConfiguration.cs
index 2f10aac032..eb8c97d578 100644
--- a/Samples/WiFiDirect/cs/SampleConfiguration.cs
+++ b/Samples/WiFiDirect/cs/SampleConfiguration.cs
@@ -22,8 +22,8 @@ public partial class MainPage : Page
List scenarios = new List
{
- new Scenario() { Title="Advertiser", ClassType=typeof(Scenario1)},
- new Scenario() { Title="Connector", ClassType=typeof(Scenario2)}
+ new Scenario() { Title="Advertiser", ClassType=typeof(Scenario1_Advertiser)},
+ new Scenario() { Title="Connector", ClassType=typeof(Scenario2_Connector)}
};
public async void NotifyUserFromBackground(string strMessage, NotifyType type)
diff --git a/Samples/WiFiDirect/cs/Scenario1_Advertiser.xaml b/Samples/WiFiDirect/cs/Scenario1_Advertiser.xaml
index afc1623aa2..c8c701a3af 100644
--- a/Samples/WiFiDirect/cs/Scenario1_Advertiser.xaml
+++ b/Samples/WiFiDirect/cs/Scenario1_Advertiser.xaml
@@ -11,158 +11,113 @@
//*********************************************************
-->
-
-
-
-
-
-
-
-
-
-
- This scenario illustrates how to make the local device discoverable, and how to listen for and accept an incoming connection request.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ This scenario illustrates how to make the system discoverable, and how to listen for and accept an incoming connection request.
+
+
+
+
+
+
+
+
+
+
+
+
+ Normal
+
+
+
+
+
+
+ Intensive
+
+
+
+
+
+
+ None
+
+
+
+
-
-
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
diff --git a/Samples/WiFiDirect/cs/Scenario1_Advertiser.xaml.cs b/Samples/WiFiDirect/cs/Scenario1_Advertiser.xaml.cs
index 5fb7d34041..d37afb0c79 100644
--- a/Samples/WiFiDirect/cs/Scenario1_Advertiser.xaml.cs
+++ b/Samples/WiFiDirect/cs/Scenario1_Advertiser.xaml.cs
@@ -9,20 +9,21 @@
//
//*********************************************************
-using Windows.UI.Xaml;
-using Windows.UI.Xaml.Controls;
-using Windows.UI.Xaml.Navigation;
-using Windows.Devices.WiFiDirect;
-using Windows.Networking.Sockets;
-using Windows.UI.Core;
+using System;
+using System.Collections.Concurrent;
+using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Threading.Tasks;
-using Windows.Storage.Streams;
using Windows.Devices.Enumeration;
+using Windows.Devices.WiFiDirect;
+using Windows.Networking.Sockets;
+using Windows.Storage.Streams;
+using Windows.Security.Cryptography;
+using Windows.UI.Core;
using Windows.UI.Popups;
-using System.Collections.Generic;
-using System;
-
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Navigation;
// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
@@ -31,338 +32,337 @@ namespace SDKTemplate
///
/// An empty page that can be used on its own or navigated to within a Frame.
///
- public sealed partial class Scenario1 : Page
+ public sealed partial class Scenario1_Advertiser : Page
{
- private MainPage rootPage;
- public ObservableCollection _connectedDevices
- {
- get;
- private set;
- }
+ private MainPage rootPage = MainPage.Current;
+ private ObservableCollection ConnectedDevices = new ObservableCollection();
WiFiDirectAdvertisementPublisher _publisher;
WiFiDirectConnectionListener _listener;
- StreamSocketListener _listenerSocket;
+ List _informationElements = new List();
+ ConcurrentDictionary _pendingConnections = new ConcurrentDictionary();
- public Scenario1()
+ public Scenario1_Advertiser()
{
this.InitializeComponent();
-
- _connectedDevices = new ObservableCollection();
- _listenerSocket = null;
-
- lvConnectedDevices.ItemsSource = _connectedDevices;
- lvConnectedDevices.SelectionMode = ListViewSelectionMode.Single;
}
- protected override void OnNavigatedTo(NavigationEventArgs e)
+ protected override void OnNavigatedFrom(NavigationEventArgs e)
{
- rootPage = MainPage.Current;
+ if (btnStopAdvertisement.IsEnabled)
+ {
+ StopAdvertisement();
+ }
}
private void btnStartAdvertisement_Click(object sender, RoutedEventArgs e)
{
- try
+ _publisher = new WiFiDirectAdvertisementPublisher();
+ _publisher.StatusChanged += OnStatusChanged;
+
+ _listener = new WiFiDirectConnectionListener();
+
+ if (chkListener.IsChecked.Value)
{
- if (_publisher == null)
+ try
{
- _publisher = new WiFiDirectAdvertisementPublisher();
+ // This can raise an exception if the machine does not support WiFi. Sorry.
+ _listener.ConnectionRequested += OnConnectionRequested;
}
-
- if (chkListener.IsChecked == true)
+ catch (Exception ex)
{
- if (_listener == null)
- {
- _listener = new WiFiDirectConnectionListener();
- }
-
- _listener.ConnectionRequested += OnConnectionRequested;
+ rootPage.NotifyUser($"Error preparing Advertisement: {ex}", NotifyType.ErrorMessage);
+ return;
}
+ }
- _publisher.Advertisement.IsAutonomousGroupOwnerEnabled = (chkPreferGroupOwnerMode.IsChecked == true);
+ var discoverability = Utils.GetSelectedItemTag(cmbListenState);
+ _publisher.Advertisement.ListenStateDiscoverability = discoverability;
- if (cmbListenState.SelectionBoxItem.ToString().Equals("Normal") == true)
- {
- _publisher.Advertisement.ListenStateDiscoverability = WiFiDirectAdvertisementListenStateDiscoverability.Normal;
- }
- else if (cmbListenState.SelectionBoxItem.ToString().Equals("Intensive") == true)
+ _publisher.Advertisement.IsAutonomousGroupOwnerEnabled = chkPreferGroupOwnerMode.IsChecked.Value;
+
+ // Legacy settings are meaningful only if IsAutonomousGroupOwnerEnabled is true.
+ if (_publisher.Advertisement.IsAutonomousGroupOwnerEnabled && chkLegacySetting.IsChecked.Value)
+ {
+ _publisher.Advertisement.LegacySettings.IsEnabled = true;
+ if (!String.IsNullOrEmpty(txtPassphrase.Text))
{
- _publisher.Advertisement.ListenStateDiscoverability = WiFiDirectAdvertisementListenStateDiscoverability.Intensive;
+ var creds = new Windows.Security.Credentials.PasswordCredential();
+ creds.Password = txtPassphrase.Text;
+ _publisher.Advertisement.LegacySettings.Passphrase = creds;
}
- else if (cmbListenState.SelectionBoxItem.ToString().Equals("None") == true)
+
+ if (!String.IsNullOrEmpty(txtSsid.Text))
{
- _publisher.Advertisement.ListenStateDiscoverability = WiFiDirectAdvertisementListenStateDiscoverability.None;
+ _publisher.Advertisement.LegacySettings.Ssid = txtSsid.Text;
}
+ }
- _publisher.StatusChanged += OnStatusChanged;
+ // Add the information elements.
+ foreach (WiFiDirectInformationElement informationElement in _informationElements)
+ {
+ _publisher.Advertisement.InformationElements.Add(informationElement);
+ }
- _publisher.Start();
+ _publisher.Start();
- rootPage.NotifyUser("Advertisement started, waiting for StatusChanged callback...", NotifyType.StatusMessage);
+ if (_publisher.Status == WiFiDirectAdvertisementPublisherStatus.Started)
+ {
+ btnStartAdvertisement.IsEnabled = false;
+ btnStopAdvertisement.IsEnabled = true;
+ rootPage.NotifyUser("Advertisement started.", NotifyType.StatusMessage);
}
- catch (Exception ex)
+ else
{
- rootPage.NotifyUser("Error starting Advertisement: " + ex.ToString(), NotifyType.ErrorMessage);
+ rootPage.NotifyUser($"Advertisement failed to start. Status is {_publisher.Status}", NotifyType.ErrorMessage);
}
}
private void btnAddIe_Click(object sender, RoutedEventArgs e)
{
- if (_publisher == null)
- {
- _publisher = new WiFiDirectAdvertisementPublisher();
- }
+ WiFiDirectInformationElement informationElement = new WiFiDirectInformationElement();
- if (txtInformationElement.Text == "")
- {
- rootPage.NotifyUser("Please specifiy an IE", NotifyType.ErrorMessage);
- return;
- }
-
- WiFiDirectInformationElement IE = new WiFiDirectInformationElement();
-
- // IE blob
+ // Information element blob
DataWriter dataWriter = new DataWriter();
dataWriter.UnicodeEncoding = UnicodeEncoding.Utf8;
dataWriter.ByteOrder = ByteOrder.LittleEndian;
dataWriter.WriteUInt32(dataWriter.MeasureString(txtInformationElement.Text));
dataWriter.WriteString(txtInformationElement.Text);
- IE.Value = dataWriter.DetachBuffer();
+ informationElement.Value = dataWriter.DetachBuffer();
- // OUI
- DataWriter dataWriterOUI = new DataWriter();
- dataWriterOUI.WriteBytes(Globals.CustomOui);
- IE.Oui = dataWriterOUI.DetachBuffer();
+ // Organizational unit identifier (OUI)
+ informationElement.Oui = CryptographicBuffer.CreateFromByteArray(Globals.CustomOui);
// OUI Type
- IE.OuiType = Globals.CustomOuiType;
+ informationElement.OuiType = Globals.CustomOuiType;
- _publisher.Advertisement.InformationElements.Add(IE);
- txtInformationElement.Text = "";
+ // Save this information element so we can add it when we advertise.
+ _informationElements.Add(informationElement);
+ txtInformationElement.Text = "";
rootPage.NotifyUser("IE added successfully", NotifyType.StatusMessage);
}
private void btnStopAdvertisement_Click(object sender, RoutedEventArgs e)
{
- try
- {
- if (_publisher != null)
- {
- _publisher.Stop();
- _publisher.StatusChanged -= OnStatusChanged;
- rootPage.NotifyUser("Advertisement stopped successfully", NotifyType.StatusMessage);
- }
-
- if (_listener != null)
- {
- _listener.ConnectionRequested -= OnConnectionRequested;
- }
- }
- catch (Exception ex)
- {
- rootPage.NotifyUser("Error stopping Advertisement: " + ex.ToString(), NotifyType.ErrorMessage);
- }
+ StopAdvertisement();
+ rootPage.NotifyUser("Advertisement stopped successfully", NotifyType.StatusMessage);
}
- private async void OnConnectionRequested(WiFiDirectConnectionListener sender, WiFiDirectConnectionRequestedEventArgs connectionEventArgs)
+ private void StopAdvertisement()
{
- try
- {
- var connectionRequest = connectionEventArgs.GetConnectionRequest();
+ _publisher.Stop();
+ _publisher.StatusChanged -= OnStatusChanged;
- var tcs = new TaskCompletionSource();
- var dialogTask = tcs.Task;
- var messageDialog = new MessageDialog("Connection request received from " + connectionRequest.DeviceInformation.Name, "Connection Request");
+ _listener.ConnectionRequested -= OnConnectionRequested;
- // Add commands and set their callbacks; both buttons use the same callback function instead of inline event handlers
- messageDialog.Commands.Add(new UICommand("Accept", null, 0));
- messageDialog.Commands.Add(new UICommand("Decline", null, 1));
+ connectionSettingsPanel.Reset();
+ _informationElements.Clear();
- // Set the command that will be invoked by default
- messageDialog.DefaultCommandIndex = 1;
+ btnStartAdvertisement.IsEnabled = true;
+ btnStopAdvertisement.IsEnabled = false;
+ }
- // Set the command to be invoked when escape is pressed
- messageDialog.CancelCommandIndex = 1;
+ private async Task HandleConnectionRequestAsync(WiFiDirectConnectionRequest connectionRequest)
+ {
+ string deviceName = connectionRequest.DeviceInformation.Name;
- await Dispatcher.RunAsync(CoreDispatcherPriority.High, async () =>
- {
- // Show the message dialog
- var commandChosen = await messageDialog.ShowAsync();
+ bool isPaired = (connectionRequest.DeviceInformation.Pairing?.IsPaired == true) ||
+ (await IsAepPairedAsync(connectionRequest.DeviceInformation.Id));
- tcs.SetResult((commandChosen.Label == "Accept") ? true : false);
- });
+ // Show the prompt only in case of WiFiDirect reconnection or Legacy client connection.
+ if (isPaired || _publisher.Advertisement.LegacySettings.IsEnabled)
+ {
+ var messageDialog = new MessageDialog($"Connection request received from {deviceName}", "Connection Request");
- var fProceed = await dialogTask;
+ // Add two commands, distinguished by their tag.
+ // The default command is "Decline", and if the user cancels, we treat it as "Decline".
+ messageDialog.Commands.Add(new UICommand("Accept", null, true));
+ messageDialog.Commands.Add(new UICommand("Decline", null, null));
+ messageDialog.DefaultCommandIndex = 1;
+ messageDialog.CancelCommandIndex = 1;
- if (fProceed == true)
- {
- var tcsWiFiDirectDevice = new TaskCompletionSource();
- var wfdDeviceTask = tcsWiFiDirectDevice.Task;
+ // Show the message dialog
+ var commandChosen = await messageDialog.ShowAsync();
- await Dispatcher.RunAsync(CoreDispatcherPriority.High, async () =>
- {
- try
- {
- rootPage.NotifyUser("Connecting to " + connectionRequest.DeviceInformation.Name + "...", NotifyType.StatusMessage);
+ if (commandChosen.Id == null)
+ {
+ return false;
+ }
+ }
- WiFiDirectConnectionParameters connectionParams = new WiFiDirectConnectionParameters();
- connectionParams.GroupOwnerIntent = Convert.ToInt16(txtGOIntent.Text);
+ rootPage.NotifyUser($"Connecting to {deviceName}...", NotifyType.StatusMessage);
- // IMPORTANT: FromIdAsync needs to be called from the UI thread
- tcsWiFiDirectDevice.SetResult(await WiFiDirectDevice.FromIdAsync(connectionRequest.DeviceInformation.Id, connectionParams));
- }
- catch (Exception ex)
- {
- rootPage.NotifyUser("FromIdAsync task threw an exception: " + ex.ToString(), NotifyType.ErrorMessage);
- }
- });
+ // Pair device if not already paired and not using legacy settings
+ if (!isPaired && !_publisher.Advertisement.LegacySettings.IsEnabled)
+ {
+ if (!await connectionSettingsPanel.RequestPairDeviceAsync(connectionRequest.DeviceInformation.Pairing))
+ {
+ return false;
+ }
+ }
- WiFiDirectDevice wfdDevice = await wfdDeviceTask;
+ WiFiDirectDevice wfdDevice = null;
+ try
+ {
+ // IMPORTANT: FromIdAsync needs to be called from the UI thread
+ wfdDevice = await WiFiDirectDevice.FromIdAsync(connectionRequest.DeviceInformation.Id);
+ }
+ catch (Exception ex)
+ {
+ rootPage.NotifyUser($"Exception in FromIdAsync: {ex}", NotifyType.ErrorMessage);
+ return false;
+ }
- // Register for the ConnectionStatusChanged event handler
- wfdDevice.ConnectionStatusChanged += OnConnectionStatusChanged;
+ // Register for the ConnectionStatusChanged event handler
+ wfdDevice.ConnectionStatusChanged += OnConnectionStatusChanged;
- await Dispatcher.RunAsync(CoreDispatcherPriority.High, () =>
- {
- ConnectedDevice connectedDevice = new ConnectedDevice("Waiting for client to connect...", wfdDevice, null);
- _connectedDevices.Add(connectedDevice);
- });
+ var listenerSocket = new StreamSocketListener();
- var EndpointPairs = wfdDevice.GetConnectionEndpointPairs();
+ // Save this (listenerSocket, wfdDevice) pair so we can hook it up when the socket connection is made.
+ _pendingConnections[listenerSocket] = wfdDevice;
- _listenerSocket = null;
- _listenerSocket = new StreamSocketListener();
- _listenerSocket.ConnectionReceived += OnSocketConnectionReceived;
- await _listenerSocket.BindEndpointAsync(EndpointPairs[0].LocalHostName, Globals.strServerPort);
+ var EndpointPairs = wfdDevice.GetConnectionEndpointPairs();
- rootPage.NotifyUserFromBackground("Devices connected on L2, listening on IP Address: " + EndpointPairs[0].LocalHostName.ToString() +
- " Port: " + Globals.strServerPort, NotifyType.StatusMessage);
- }
- else
- {
- // Decline the connection request
- rootPage.NotifyUserFromBackground("Connection request from " + connectionRequest.DeviceInformation.Name + " was declined", NotifyType.ErrorMessage);
- connectionRequest.Dispose();
- }
+ listenerSocket.ConnectionReceived += OnSocketConnectionReceived;
+ try
+ {
+ await listenerSocket.BindEndpointAsync(EndpointPairs[0].LocalHostName, Globals.strServerPort);
}
catch (Exception ex)
{
- rootPage.NotifyUserFromBackground("Connect operation threw an exception: " + ex.Message, NotifyType.ErrorMessage);
+ rootPage.NotifyUser($"Connect operation threw an exception: {ex.Message}", NotifyType.ErrorMessage);
+ return false;
}
+
+ rootPage.NotifyUser($"Devices connected on L2, listening on IP Address: {EndpointPairs[0].LocalHostName}" +
+ $" Port: {Globals.strServerPort}", NotifyType.StatusMessage);
+ return true;
}
- private void OnStatusChanged(WiFiDirectAdvertisementPublisher sender, WiFiDirectAdvertisementPublisherStatusChangedEventArgs statusEventArgs)
+ private async void OnConnectionRequested(WiFiDirectConnectionListener sender, WiFiDirectConnectionRequestedEventArgs connectionEventArgs)
{
- rootPage.NotifyUserFromBackground("Advertisement: Status: " + statusEventArgs.Status.ToString() + " Error: " + statusEventArgs.Error.ToString(), NotifyType.StatusMessage);
- return;
+ WiFiDirectConnectionRequest connectionRequest = connectionEventArgs.GetConnectionRequest();
+ bool success = await Dispatcher.RunTaskAsync(async () =>
+ {
+ return await HandleConnectionRequestAsync(connectionRequest);
+ });
+
+ if (!success)
+ {
+ // Decline the connection request
+ rootPage.NotifyUserFromBackground($"Connection request from {connectionRequest.DeviceInformation.Name} was declined", NotifyType.ErrorMessage);
+ connectionRequest.Dispose();
+ }
}
- private async void OnSocketConnectionReceived(StreamSocketListener sender, StreamSocketListenerConnectionReceivedEventArgs args)
+ private async Task IsAepPairedAsync(string deviceId)
{
- rootPage.NotifyUserFromBackground("Connecting to remote side on L4 layer...", NotifyType.StatusMessage);
- StreamSocket serverSocket = args.Socket;
+ List additionalProperties = new List();
+ additionalProperties.Add("System.Devices.Aep.DeviceAddress");
+ String deviceSelector = $"System.Devices.Aep.AepId:=\"{deviceId}\"";
+ DeviceInformation devInfo = null;
try
{
- SocketReaderWriter socketRW = new SocketReaderWriter(serverSocket, rootPage);
- socketRW.ReadMessage();
+ devInfo = await DeviceInformation.CreateFromIdAsync(deviceId, additionalProperties);
+ }
+ catch (Exception ex)
+ {
+ rootPage.NotifyUser("DeviceInformation.CreateFromIdAsync threw an exception: " + ex.Message, NotifyType.ErrorMessage);
+ }
+
+ if (devInfo == null)
+ {
+ rootPage.NotifyUser("Device Information is null", NotifyType.ErrorMessage);
+ return false;
+ }
- while (true)
+ deviceSelector = $"System.Devices.Aep.DeviceAddress:=\"{devInfo.Properties["System.Devices.Aep.DeviceAddress"]}\"";
+ DeviceInformationCollection pairedDeviceCollection = await DeviceInformation.FindAllAsync(deviceSelector, null, DeviceInformationKind.Device);
+ return pairedDeviceCollection.Count > 0;
+ }
+
+ private async void OnStatusChanged(WiFiDirectAdvertisementPublisher sender, WiFiDirectAdvertisementPublisherStatusChangedEventArgs statusEventArgs)
+ {
+ if (statusEventArgs.Status == WiFiDirectAdvertisementPublisherStatus.Started)
+ {
+ await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
- string sessionId = socketRW.GetCurrentMessage();
- if (sessionId != null)
+ if (sender.Advertisement.LegacySettings.IsEnabled)
{
- rootPage.NotifyUserFromBackground("Connected with remote side on L4 layer", NotifyType.StatusMessage);
+ // Show the autogenerated passphrase and SSID.
+ if (String.IsNullOrEmpty(txtPassphrase.Text))
+ {
+ txtPassphrase.Text = _publisher.Advertisement.LegacySettings.Passphrase.Password;
+ }
- await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
+ if (String.IsNullOrEmpty(txtSsid.Text))
{
- for (int idx = 0; idx < _connectedDevices.Count; idx++)
- {
- if (_connectedDevices[idx].DisplayName.Equals("Waiting for client to connect...") == true)
- {
- ConnectedDevice connectedDevice = _connectedDevices[idx];
- _connectedDevices.RemoveAt(idx);
+ txtSsid.Text = _publisher.Advertisement.LegacySettings.Ssid;
+ }
+ }
+ });
+ }
- connectedDevice.DisplayName = sessionId;
- connectedDevice.SocketRW = socketRW;
+ rootPage.NotifyUserFromBackground($"Advertisement: Status: {statusEventArgs.Status}, Error: {statusEventArgs.Error}", NotifyType.StatusMessage);
+ return;
+ }
- _connectedDevices.Add(connectedDevice);
- break;
- }
- }
- });
+ private void OnSocketConnectionReceived(StreamSocketListener sender, StreamSocketListenerConnectionReceivedEventArgs args)
+ {
+ var task = Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async () =>
+ {
+ rootPage.NotifyUser("Connecting to remote side on L4 layer...", NotifyType.StatusMessage);
+ StreamSocket serverSocket = args.Socket;
+ SocketReaderWriter socketRW = new SocketReaderWriter(serverSocket, rootPage);
+ // The first message sent is the name of the connection.
+ string message = await socketRW.ReadMessageAsync();
- break;
- }
+ // Find the pending connection and add it to the list of active connections.
+ WiFiDirectDevice wfdDevice;
+ if (_pendingConnections.TryRemove(sender, out wfdDevice))
+ {
+ ConnectedDevices.Add(new ConnectedDevice(message, wfdDevice, socketRW));
+ }
- await Task.Delay(100);
+ while (message != null)
+ {
+ message = await socketRW.ReadMessageAsync();
}
- }
- catch (Exception ex)
- {
- rootPage.NotifyUserFromBackground("Connection failed: " + ex.Message, NotifyType.ErrorMessage);
- }
+ });
}
private void OnConnectionStatusChanged(WiFiDirectDevice sender, object arg)
{
- rootPage.NotifyUserFromBackground("Connection status changed: " + sender.ConnectionStatus, NotifyType.StatusMessage);
- }
+ rootPage.NotifyUserFromBackground($"Connection status changed: {sender.ConnectionStatus}", NotifyType.StatusMessage);
- private void btnSendMessage_Click(object sender, RoutedEventArgs e)
- {
- if (lvConnectedDevices.SelectedItems.Count == 0)
+ if (sender.ConnectionStatus == WiFiDirectConnectionStatus.Disconnected)
{
- rootPage.NotifyUser("Please select a Session to send data", NotifyType.ErrorMessage);
- return;
+ // TODO: Should we remove this connection from the list?
+ // (Yes, probably.)
}
+ }
- if (txtSendMessage.Text == "")
- {
- rootPage.NotifyUser("Please type a message to send", NotifyType.ErrorMessage);
- return;
- }
+ private async void btnSendMessage_Click(object sender, RoutedEventArgs e)
+ {
+ var connectedDevice = (ConnectedDevice)lvConnectedDevices.SelectedItem;
+ await connectedDevice.SocketRW.WriteMessageAsync(txtSendMessage.Text);
+ }
- try
- {
- foreach (ConnectedDevice connectedDevice in lvConnectedDevices.SelectedItems)
- {
- connectedDevice.SocketRW.WriteMessage(txtSendMessage.Text);
- }
- }
- catch (Exception ex)
- {
- rootPage.NotifyUser("Send threw an exception: " + ex.Message, NotifyType.ErrorMessage);
- }
+ private bool CanCloseDevice(object connectedDevice)
+ {
+ return connectedDevice != null;
}
private void btnCloseDevice_Click(object sender, RoutedEventArgs e)
{
- if (lvConnectedDevices.SelectedItems.Count == 0)
- {
- rootPage.NotifyUser("Please select a device to close", NotifyType.ErrorMessage);
- return;
- }
+ var connectedDevice = (ConnectedDevice)lvConnectedDevices.SelectedItem;
+ ConnectedDevices.Remove(connectedDevice);
- try
- {
- foreach (ConnectedDevice connectedDevice in lvConnectedDevices.SelectedItems)
- {
- // Close socket
- connectedDevice.SocketRW.Dispose();
-
- // Close WiFiDirectDevice object
- connectedDevice.WfdDevice.Dispose();
- _connectedDevices.Remove(connectedDevice);
-
- rootPage.NotifyUser(connectedDevice.DisplayName + " closed successfully", NotifyType.StatusMessage);
- }
- }
- catch (Exception ex)
- {
- rootPage.NotifyUser("Close threw an exception: " + ex.Message, NotifyType.ErrorMessage);
- }
+ // Close socket and WiFiDirect object
+ connectedDevice.Dispose();
}
}
}
+
diff --git a/Samples/WiFiDirect/cs/Scenario2_Connector.xaml b/Samples/WiFiDirect/cs/Scenario2_Connector.xaml
index 3f074a3b74..5ca20dd5e9 100644
--- a/Samples/WiFiDirect/cs/Scenario2_Connector.xaml
+++ b/Samples/WiFiDirect/cs/Scenario2_Connector.xaml
@@ -11,213 +11,99 @@
//*********************************************************
-->
-
-
-
-
-
-
-
-
-
-
+
+
+
+
This scenario illustrates how to discover nearby Wi-Fi Direct devices, select a device, connect to it (pairing as necessary), and retrieve the available IP endpoint pairs that can be used to initiate socket connections.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ DeviceInterface
+
+
+
+
+
+
+ AssociationEndpoint
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
diff --git a/Samples/WiFiDirect/cs/Scenario2_Connector.xaml.cs b/Samples/WiFiDirect/cs/Scenario2_Connector.xaml.cs
index c608d9622e..e9968e5792 100644
--- a/Samples/WiFiDirect/cs/Scenario2_Connector.xaml.cs
+++ b/Samples/WiFiDirect/cs/Scenario2_Connector.xaml.cs
@@ -9,21 +9,22 @@
//
//*********************************************************
-using Windows.UI.Xaml.Controls;
-using Windows.Devices.Enumeration;
-using System.Threading;
-using Windows.UI.Xaml.Navigation;
-using Windows.Devices.WiFiDirect;
using System;
-using System.Collections.ObjectModel;
using System.Collections.Generic;
-using Windows.UI.Core;
+using System.Collections.ObjectModel;
using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
using System.Threading.Tasks;
+using Windows.Devices.Enumeration;
+using Windows.Devices.WiFiDirect;
+using Windows.Networking;
using Windows.Networking.Sockets;
+using Windows.Security.Cryptography;
using Windows.Storage.Streams;
-using System.Runtime.InteropServices.WindowsRuntime;
-using System.Linq;
+using Windows.UI.Core;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
@@ -32,54 +33,38 @@ namespace SDKTemplate
///
/// An empty page that can be used on its own or navigated to within a Frame.
///
- public sealed partial class Scenario2 : Page
+ public sealed partial class Scenario2_Connector : Page
{
- private MainPage rootPage;
+ private MainPage rootPage = MainPage.Current;
DeviceWatcher _deviceWatcher;
- ReaderWriterLockSlim _discoveryRWLock;
- bool _fWatcherStarted;
- public ObservableCollection _discoveredDevices
- {
- get;
- private set;
- }
- CancellationTokenSource _cancellationTokenSource;
+ bool _fWatcherStarted = false;
+ WiFiDirectAdvertisementPublisher _publisher = new WiFiDirectAdvertisementPublisher();
- public ObservableCollection _connectedDevices
- {
- get;
- private set;
- }
+ public ObservableCollection DiscoveredDevices { get; } = new ObservableCollection();
+ public ObservableCollection ConnectedDevices { get; } = new ObservableCollection();
- public Scenario2()
+ public Scenario2_Connector()
{
this.InitializeComponent();
-
- _discoveryRWLock = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);
- _fWatcherStarted = false;
- _discoveredDevices = new ObservableCollection();
- _connectedDevices = new ObservableCollection();
-
- lvDiscoveredDevices.ItemsSource = _discoveredDevices;
- lvDiscoveredDevices.SelectionMode = ListViewSelectionMode.Single;
-
- lvConnectedDevices.ItemsSource = _connectedDevices;
- lvConnectedDevices.SelectionMode = ListViewSelectionMode.Single;
}
- private void btnWatcher_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
+ private void btnWatcher_Click(object sender, RoutedEventArgs e)
{
if (_fWatcherStarted == false)
{
- btnWatcher.Content = "Stop Watcher";
- _fWatcherStarted = true;
+ _publisher.Start();
+
+ if (_publisher.Status != WiFiDirectAdvertisementPublisherStatus.Started)
+ {
+ rootPage.NotifyUser("Failed to start advertisement.", NotifyType.ErrorMessage);
+ return;
+ }
- _discoveredDevices.Clear();
+ DiscoveredDevices.Clear();
rootPage.NotifyUser("Finding Devices...", NotifyType.StatusMessage);
- _deviceWatcher = null;
- String deviceSelector = WiFiDirectDevice.GetDeviceSelector((cmbDeviceSelector.ToString().Equals("Device Interface") == true) ?
- WiFiDirectDeviceSelectorType.DeviceInterface : WiFiDirectDeviceSelectorType.AssociationEndpoint);
+ String deviceSelector = WiFiDirectDevice.GetDeviceSelector(
+ Utils.GetSelectedItemTag(cmbDeviceSelector));
_deviceWatcher = DeviceInformation.CreateWatcher(deviceSelector, new string[] { "System.Devices.WiFiDirect.InformationElements" });
@@ -90,9 +75,14 @@ private void btnWatcher_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
_deviceWatcher.Stopped += OnStopped;
_deviceWatcher.Start();
+
+ btnWatcher.Content = "Stop Watcher";
+ _fWatcherStarted = true;
}
else
{
+ _publisher.Stop();
+
btnWatcher.Content = "Start Watcher";
_fWatcherStarted = false;
@@ -103,6 +93,8 @@ private void btnWatcher_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
_deviceWatcher.Stopped -= OnStopped;
_deviceWatcher.Stop();
+
+ rootPage.NotifyUser("Device watcher stopped.", NotifyType.StatusMessage);
}
}
@@ -111,12 +103,7 @@ private async void OnDeviceAdded(DeviceWatcher deviceWatcher, DeviceInformation
{
await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
- _discoveryRWLock.EnterWriteLock();
-
- var deviceInfoDisplay = new DiscoveredDevice(deviceInfo);
- _discoveredDevices.Add(deviceInfoDisplay);
-
- _discoveryRWLock.ExitWriteLock();
+ DiscoveredDevices.Add(new DiscoveredDevice(deviceInfo));
});
}
@@ -124,18 +111,14 @@ private async void OnDeviceRemoved(DeviceWatcher deviceWatcher, DeviceInformatio
{
await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
- _discoveryRWLock.EnterWriteLock();
-
- foreach (DiscoveredDevice devInfodisplay in _discoveredDevices)
+ foreach (DiscoveredDevice discoveredDevice in DiscoveredDevices)
{
- if (devInfodisplay.DeviceInfo.Id == deviceInfoUpdate.Id)
+ if (discoveredDevice.DeviceInfo.Id == deviceInfoUpdate.Id)
{
- _discoveredDevices.Remove(devInfodisplay);
+ DiscoveredDevices.Remove(discoveredDevice);
break;
}
}
-
- _discoveryRWLock.ExitWriteLock();
});
}
@@ -143,14 +126,11 @@ private async void OnDeviceUpdated(DeviceWatcher deviceWatcher, DeviceInformatio
{
await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
- _discoveryRWLock.EnterWriteLock();
-
- for (int idx = 0; idx < _discoveredDevices.Count; idx++)
+ foreach (DiscoveredDevice discoveredDevice in DiscoveredDevices)
{
- DiscoveredDevice devInfodisplay = _discoveredDevices[idx];
- if (devInfodisplay.DeviceInfo.Id == deviceInfoUpdate.Id)
+ if (discoveredDevice.DeviceInfo.Id == deviceInfoUpdate.Id)
{
- devInfodisplay.DeviceInfo.Update(deviceInfoUpdate);
+ discoveredDevice.UpdateDeviceInfo(deviceInfoUpdate);
break;
}
}
@@ -166,203 +146,181 @@ private void OnStopped(DeviceWatcher deviceWatcher, object o)
{
rootPage.NotifyUserFromBackground("DeviceWatcher stopped", NotifyType.StatusMessage);
}
-
#endregion
- protected override void OnNavigatedTo(NavigationEventArgs e)
- {
- rootPage = MainPage.Current;
- }
- private void btnIe_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
+ private void btnIe_Click(object sender, RoutedEventArgs e)
{
- if (lvDiscoveredDevices.SelectedItems.Count == 0)
+ var discoveredDevice = (DiscoveredDevice)lvDiscoveredDevices.SelectedItem;
+
+ if (discoveredDevice == null)
{
rootPage.NotifyUser("No device selected, please select one.", NotifyType.ErrorMessage);
return;
}
- var selectedDevices = lvDiscoveredDevices.SelectedItems;
+ IList informationElements = null;
+ try
+ {
+ informationElements = WiFiDirectInformationElement.CreateFromDeviceInformation(discoveredDevice.DeviceInfo);
+ }
+ catch (Exception ex)
+ {
+ rootPage.NotifyUser("No Information element found: " + ex.Message, NotifyType.ErrorMessage);
+ }
- foreach (DiscoveredDevice discoveredDevice in selectedDevices)
+ if (informationElements != null)
{
- try
+ StringWriter message = new StringWriter();
+
+ foreach (WiFiDirectInformationElement informationElement in informationElements)
{
- var iECollection = WiFiDirectInformationElement.CreateFromDeviceInformation(discoveredDevice.DeviceInfo);
+ string ouiName = CryptographicBuffer.EncodeToHexString(informationElement.Oui);
+ string value = string.Empty;
+ Byte[] bOui = informationElement.Oui.ToArray();
- if (iECollection.Count == 0)
+ if (bOui.SequenceEqual(Globals.MsftOui))
{
- rootPage.NotifyUser("No Information Elements found", NotifyType.StatusMessage);
- return;
+ // The format of Microsoft information elements is documented here:
+ // https://msdn.microsoft.com/en-us/library/dn392651.aspx
+ // with errata here:
+ // https://msdn.microsoft.com/en-us/library/mt242386.aspx
+ ouiName += " (Microsoft)";
}
-
- StringWriter strIeOutput = new StringWriter();
- String strIe = "N/A";
-
- foreach (WiFiDirectInformationElement ie in iECollection)
+ else if (bOui.SequenceEqual(Globals.WfaOui))
+ {
+ ouiName += " (WFA)";
+ }
+ else if (bOui.SequenceEqual(Globals.CustomOui))
{
- Byte[] bOui = ie.Oui.ToArray();
+ ouiName += " (Custom)";
- if (bOui.SequenceEqual(Globals.MsftOui))
- {
- strIeOutput.Write("Microsoft IE: ");
- }
- else if (bOui.SequenceEqual(Globals.WfaOui))
- {
- strIeOutput.Write("WFA IE: ");
- }
- else if (bOui.SequenceEqual(Globals.CustomOui))
+ if (informationElement.OuiType == Globals.CustomOuiType)
{
- strIeOutput.Write("Custom IE: ");
-
- DataReader dataReader = Windows.Storage.Streams.DataReader.FromBuffer(ie.Value);
- dataReader.UnicodeEncoding = Windows.Storage.Streams.UnicodeEncoding.Utf8;
+ DataReader dataReader = DataReader.FromBuffer(informationElement.Value);
+ dataReader.UnicodeEncoding = UnicodeEncoding.Utf8;
dataReader.ByteOrder = ByteOrder.LittleEndian;
// Read the string.
- strIe = dataReader.ReadString(dataReader.ReadUInt32());
- }
- else
- {
- strIeOutput.Write("Unknown IE: ");
+ try
+ {
+ string data = dataReader.ReadString(dataReader.ReadUInt32());
+ value = $"Data: {data}";
+ }
+ catch (Exception)
+ {
+ value = "(Unable to parse)";
+ }
}
-
- strIeOutput.WriteLine(String.Format("OUI Type: {0} OUI: 0x{1} 0x{2} 0x{3} IE Data: {4}\n",
- Convert.ToString(ie.OuiType), Convert.ToString(bOui[0], 16), Convert.ToString(bOui[1], 16),
- Convert.ToString(bOui[2], 16), strIe));
-
- strIe = "N/A";
}
- rootPage.NotifyUser(strIeOutput.ToString(), NotifyType.StatusMessage);
- }
- catch (Exception ex)
- {
- rootPage.NotifyUser("No Information element found: " + ex.Message, NotifyType.ErrorMessage);
+ message.WriteLine($"OUI {ouiName}, Type {informationElement.OuiType} {value}");
}
+
+ message.Write($"Information elements found: {informationElements.Count}");
+
+ rootPage.NotifyUser(message.ToString(), NotifyType.StatusMessage);
}
}
- private async void btnFromId_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
+ private async void btnFromId_Click(object sender, RoutedEventArgs e)
{
- if (lvDiscoveredDevices.SelectedItems.Count == 0)
+ var discoveredDevice = (DiscoveredDevice)lvDiscoveredDevices.SelectedItem;
+
+ if (discoveredDevice == null)
{
- rootPage.NotifyUser("No device selected, please select atleast one.", NotifyType.ErrorMessage);
+ rootPage.NotifyUser("No device selected, please select one.", NotifyType.ErrorMessage);
return;
}
- var selectedDevices = lvDiscoveredDevices.SelectedItems;
+ rootPage.NotifyUser($"Connecting to {discoveredDevice.DeviceInfo.Name}...", NotifyType.StatusMessage);
- foreach (DiscoveredDevice discoveredDevice in selectedDevices)
+ if (!discoveredDevice.DeviceInfo.Pairing.IsPaired)
{
- rootPage.NotifyUser("Connecting to " + discoveredDevice.DeviceInfo.Name + "...", NotifyType.StatusMessage);
-
- try
+ if (!await connectionSettingsPanel.RequestPairDeviceAsync(discoveredDevice.DeviceInfo.Pairing))
{
- WiFiDirectConnectionParameters connectionParams = new WiFiDirectConnectionParameters();
- connectionParams.GroupOwnerIntent = Convert.ToInt16(txtGOIntent.Text);
-
- _cancellationTokenSource = new CancellationTokenSource();
+ return;
+ }
+ }
- // IMPORTANT: FromIdAsync needs to be called from the UI thread
- var wfdDevice = await WiFiDirectDevice.FromIdAsync(discoveredDevice.DeviceInfo.Id, connectionParams).AsTask(_cancellationTokenSource.Token);
+ try
+ {
+ // IMPORTANT: FromIdAsync needs to be called from the UI thread
+ var wfdDevice = await WiFiDirectDevice.FromIdAsync(discoveredDevice.DeviceInfo.Id);
- // Register for the ConnectionStatusChanged event handler
- wfdDevice.ConnectionStatusChanged += OnConnectionStatusChanged;
+ // Register for the ConnectionStatusChanged event handler
+ wfdDevice.ConnectionStatusChanged += OnConnectionStatusChanged;
- var endpointPairs = wfdDevice.GetConnectionEndpointPairs();
+ IReadOnlyList endpointPairs = wfdDevice.GetConnectionEndpointPairs();
+ HostName remoteHostName = endpointPairs[0].RemoteHostName;
- rootPage.NotifyUser("Devices connected on L2 layer, connecting to IP Address: " + endpointPairs[0].RemoteHostName +
- " Port: " + Globals.strServerPort, NotifyType.StatusMessage);
+ rootPage.NotifyUser($"Devices connected on L2 layer, connecting to IP Address: {remoteHostName} Port: {Globals.strServerPort}",
+ NotifyType.StatusMessage);
- // Wait for server to start listening on a socket
- await Task.Delay(2000);
+ // Wait for server to start listening on a socket
+ await Task.Delay(2000);
- // Connect to Advertiser on L4 layer
- StreamSocket clientSocket = new StreamSocket();
- await clientSocket.ConnectAsync(endpointPairs[0].RemoteHostName, Globals.strServerPort);
+ // Connect to Advertiser on L4 layer
+ StreamSocket clientSocket = new StreamSocket();
+ await clientSocket.ConnectAsync(remoteHostName, Globals.strServerPort);
+ rootPage.NotifyUser("Connected with remote side on L4 layer", NotifyType.StatusMessage);
- SocketReaderWriter socketRW = new SocketReaderWriter(clientSocket, rootPage);
+ SocketReaderWriter socketRW = new SocketReaderWriter(clientSocket, rootPage);
- string sessionId = "Session: " + Path.GetRandomFileName();
- ConnectedDevice connectedDevice = new ConnectedDevice(sessionId, wfdDevice, socketRW);
- _connectedDevices.Add(connectedDevice);
+ string sessionId = Path.GetRandomFileName();
+ ConnectedDevice connectedDevice = new ConnectedDevice(sessionId, wfdDevice, socketRW);
+ ConnectedDevices.Add(connectedDevice);
- socketRW.ReadMessage();
- socketRW.WriteMessage(sessionId);
+ // The first message sent over the socket is the name of the connection.
+ await socketRW.WriteMessageAsync(sessionId);
- rootPage.NotifyUser("Connected with remote side on L4 layer", NotifyType.StatusMessage);
- }
- catch (TaskCanceledException)
- {
- rootPage.NotifyUser("FromIdAsync was canceled by user", NotifyType.ErrorMessage);
- }
- catch (Exception ex)
+ while (await socketRW.ReadMessageAsync() != null)
{
- rootPage.NotifyUser("Connect operation threw an exception: " + ex.Message, NotifyType.ErrorMessage);
+ // Keep reading messages
}
- _cancellationTokenSource = null;
+ }
+ catch (TaskCanceledException)
+ {
+ rootPage.NotifyUser("FromIdAsync was canceled by user", NotifyType.ErrorMessage);
+ }
+ catch (Exception ex)
+ {
+ rootPage.NotifyUser($"Connect operation threw an exception: {ex.Message}", NotifyType.ErrorMessage);
}
}
private void OnConnectionStatusChanged(WiFiDirectDevice sender, object arg)
{
- rootPage.NotifyUserFromBackground("Connection status changed: " + sender.ConnectionStatus, NotifyType.StatusMessage);
+ rootPage.NotifyUserFromBackground($"Connection status changed: {sender.ConnectionStatus}", NotifyType.StatusMessage);
}
- private void btnSendMessage_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
+ private async void btnSendMessage_Click(object sender, RoutedEventArgs e)
{
- if (lvConnectedDevices.SelectedItems.Count == 0)
- {
- rootPage.NotifyUser("Please select a Session to send data", NotifyType.ErrorMessage);
- return;
- }
+ var connectedDevice = (ConnectedDevice)lvConnectedDevices.SelectedItem;
+ await connectedDevice.SocketRW.WriteMessageAsync(txtSendMessage.Text);
+ }
- if (txtSendMessage.Text == "")
- {
- rootPage.NotifyUser("Please type a message to send", NotifyType.ErrorMessage);
- return;
- }
+ private void btnClose_Click(object sender, RoutedEventArgs e)
+ {
+ var connectedDevice = (ConnectedDevice)lvConnectedDevices.SelectedItem;
+ ConnectedDevices.Remove(connectedDevice);
- try
- {
- foreach (ConnectedDevice connectedDevice in lvConnectedDevices.SelectedItems)
- {
- connectedDevice.SocketRW.WriteMessage(txtSendMessage.Text);
- }
- }
- catch (Exception ex)
- {
- rootPage.NotifyUser("Send threw an exception: " + ex.Message, NotifyType.ErrorMessage);
- }
+ // Close socket and WiFiDirect object
+ connectedDevice.Dispose();
}
- private void btnClose_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
+ private async void btnUnpair_Click(object sender, RoutedEventArgs e)
{
- if (lvConnectedDevices.SelectedItems.Count == 0)
+ var discoveredDevice = (DiscoveredDevice)lvDiscoveredDevices.SelectedItem;
+
+ if (discoveredDevice == null)
{
- rootPage.NotifyUser("Please select a device to close", NotifyType.ErrorMessage);
+ rootPage.NotifyUser("No device selected, please select one.", NotifyType.ErrorMessage);
return;
}
- try
- {
- foreach (ConnectedDevice connectedDevice in lvConnectedDevices.SelectedItems)
- {
- // Close socket
- connectedDevice.SocketRW.Dispose();
-
- // Close WiFiDirectDevice object
- connectedDevice.WfdDevice.Dispose();
- _connectedDevices.Remove(connectedDevice);
-
- rootPage.NotifyUser(connectedDevice.DisplayName + " closed successfully", NotifyType.StatusMessage);
- }
- }
- catch (Exception ex)
- {
- rootPage.NotifyUser("Close threw an exception: " + ex.Message, NotifyType.ErrorMessage);
- }
+ DeviceUnpairingResult result = await discoveredDevice.DeviceInfo.Pairing.UnpairAsync();
+ rootPage.NotifyUser($"Unpair result: {result.Status}", NotifyType.StatusMessage);
}
}
}
diff --git a/Samples/WiFiDirect/cs/SocketReaderWriter.cs b/Samples/WiFiDirect/cs/SocketReaderWriter.cs
index 7105a85842..2c04a64c64 100644
--- a/Samples/WiFiDirect/cs/SocketReaderWriter.cs
+++ b/Samples/WiFiDirect/cs/SocketReaderWriter.cs
@@ -15,25 +15,19 @@
using Windows.Devices.Enumeration;
using System.ComponentModel;
using Windows.Devices.WiFiDirect;
+using System.Threading.Tasks;
+using Windows.UI.Popups;
+using Windows.UI.Core;
+using Windows.Foundation;
namespace SDKTemplate
{
- public static class Globals
- {
- public static readonly byte[] CustomOui = { 0xAA, 0xBB, 0xCC };
- public static readonly byte CustomOuiType = 0xDD;
- public static readonly byte[] WfaOui = { 0x50, 0x6F, 0x9A };
- public static readonly byte[] MsftOui = { 0x00, 0x50, 0xF2 };
- public static readonly string strServerPort = "50001";
- }
-
public class SocketReaderWriter : IDisposable
{
DataReader _dataReader;
DataWriter _dataWriter;
StreamSocket _streamSocket;
private MainPage _rootPage;
- string _currentMessage;
public SocketReaderWriter(StreamSocket socket, MainPage mainPage)
{
@@ -47,7 +41,6 @@ public SocketReaderWriter(StreamSocket socket, MainPage mainPage)
_streamSocket = socket;
_rootPage = mainPage;
- _currentMessage = null;
}
public void Dispose()
@@ -57,7 +50,7 @@ public void Dispose()
_streamSocket.Dispose();
}
- public async void WriteMessage(string message)
+ public async Task WriteMessageAsync(string message)
{
try
{
@@ -72,7 +65,7 @@ public async void WriteMessage(string message)
}
}
- public async void ReadMessage()
+ public async Task ReadMessageAsync()
{
try
{
@@ -85,10 +78,9 @@ public async void ReadMessage()
if (bytesRead > 0)
{
// Decode the string.
- _currentMessage = _dataReader.ReadString(messageLength);
- _rootPage.NotifyUserFromBackground("Got message: " + _currentMessage, NotifyType.StatusMessage);
-
- ReadMessage();
+ string message = _dataReader.ReadString(messageLength);
+ _rootPage.NotifyUserFromBackground("Got message: " + message, NotifyType.StatusMessage);
+ return message;
}
}
}
@@ -96,98 +88,53 @@ public async void ReadMessage()
{
_rootPage.NotifyUserFromBackground("Socket was closed!", NotifyType.StatusMessage);
}
- }
-
- public string GetCurrentMessage()
- {
- return _currentMessage;
+ return null;
}
}
public class DiscoveredDevice : INotifyPropertyChanged
{
- private DeviceInformation deviceInfo;
+ public DeviceInformation DeviceInfo { get; private set; }
- public DiscoveredDevice(DeviceInformation deviceInfoIn)
+ public DiscoveredDevice(DeviceInformation deviceInfo)
{
- deviceInfo = deviceInfoIn;
+ DeviceInfo = deviceInfo;
}
- public DeviceInformation DeviceInfo
- {
- get
- {
- return deviceInfo;
- }
- }
+ public string DisplayName => DeviceInfo.Name + " - " + (DeviceInfo.Pairing.IsPaired ? "Paired" : "Unpaired");
+ public override string ToString() => DisplayName;
- public override string ToString()
+ public void UpdateDeviceInfo(DeviceInformationUpdate update)
{
- return deviceInfo.Name;
+ DeviceInfo.Update(update);
+ PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("DisplayName"));
}
public event PropertyChangedEventHandler PropertyChanged;
}
- public class ConnectedDevice : INotifyPropertyChanged
+ public class ConnectedDevice : IDisposable
{
- private SocketReaderWriter socketRW;
- private WiFiDirectDevice wfdDevice;
- private string displayName = "";
+ public SocketReaderWriter SocketRW { get; }
+ public WiFiDirectDevice WfdDevice { get; }
+ public string DisplayName { get; }
public ConnectedDevice(string displayName, WiFiDirectDevice wfdDevice, SocketReaderWriter socketRW)
{
- this.socketRW = socketRW;
- this.wfdDevice = wfdDevice;
- this.displayName = displayName;
+ DisplayName = displayName;
+ WfdDevice = wfdDevice;
+ SocketRW = socketRW;
}
- private ConnectedDevice() { }
-
- public SocketReaderWriter SocketRW
- {
- get
- {
- return socketRW;
- }
-
- set
- {
- socketRW = value;
- }
- }
+ public override string ToString() => DisplayName;
- public WiFiDirectDevice WfdDevice
- {
- get
- {
- return wfdDevice;
- }
-
- set
- {
- wfdDevice = value;
- }
- }
-
- public override string ToString()
- {
- return displayName;
- }
-
- public string DisplayName
+ public void Dispose()
{
- get
- {
- return displayName;
- }
+ // Close socket
+ SocketRW.Dispose();
- set
- {
- displayName = value;
- }
+ // Close WiFiDirectDevice object
+ WfdDevice.Dispose();
}
-
- public event PropertyChangedEventHandler PropertyChanged;
}
}
diff --git a/Samples/WiFiDirect/cs/Utils.cs b/Samples/WiFiDirect/cs/Utils.cs
new file mode 100644
index 0000000000..6410c6bb35
--- /dev/null
+++ b/Samples/WiFiDirect/cs/Utils.cs
@@ -0,0 +1,126 @@
+//*********************************************************
+//
+// Copyright (c) Microsoft. All rights reserved.
+// This code is licensed under the MIT License (MIT).
+// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
+// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
+// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
+// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
+//
+//*********************************************************
+
+using System;
+using System.Threading.Tasks;
+using Windows.Devices.Enumeration;
+using Windows.Foundation;
+using Windows.UI.Core;
+using Windows.UI.Popups;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+
+namespace SDKTemplate
+{
+ public static class Globals
+ {
+ // WARNING! This custom OUI is for demonstration purposes only.
+ // OUI values are assigned by the IEEE Registration Authority.
+ // Replace this custom OUI with the value assigned to your organization.
+ public static readonly byte[] CustomOui = { 0xAA, 0xBB, 0xCC };
+ public static readonly byte CustomOuiType = 0xDD;
+
+ // OUI assigned to the Wi-Fi Alliance.
+ public static readonly byte[] WfaOui = { 0x50, 0x6F, 0x9A };
+
+ // OUI assigned to Microsoft Corporation.
+ public static readonly byte[] MsftOui = { 0x00, 0x50, 0xF2 };
+
+ public static readonly string strServerPort = "50001";
+ public static readonly int iAdvertisementStartTimeout = 5000; // in ms
+ }
+
+ public static class Utils
+ {
+ private static async Task ShowPinToUserAsync(CoreDispatcher dispatcher, string strPin)
+ {
+ await dispatcher.RunTaskAsync(async () =>
+ {
+ var messageDialog = new MessageDialog($"Enter this PIN on the remote device: {strPin}");
+
+ // Add commands
+ messageDialog.Commands.Add(new UICommand("OK", null, 0));
+
+ // Set the command that will be invoked by default
+ messageDialog.DefaultCommandIndex = 0;
+
+ // Set the command that will be invoked if the user cancels
+ messageDialog.CancelCommandIndex = 0;
+
+ // Show the Pin
+ await messageDialog.ShowAsync();
+ });
+ }
+
+ private static async Task GetPinFromUserAsync(CoreDispatcher dispatcher)
+ {
+ return await dispatcher.RunTaskAsync(async () =>
+ {
+ var pinBox = new TextBox();
+ var dialog = new ContentDialog()
+ {
+ Title = "Enter Pin",
+ PrimaryButtonText = "OK",
+ Content = pinBox
+ };
+ await dialog.ShowAsync();
+ return pinBox.Text;
+ });
+ }
+
+ public static async void HandlePairing(CoreDispatcher dispatcher, DevicePairingRequestedEventArgs args)
+ {
+ using (Deferral deferral = args.GetDeferral())
+ {
+ switch (args.PairingKind)
+ {
+ case DevicePairingKinds.DisplayPin:
+ await ShowPinToUserAsync(dispatcher, args.Pin);
+ args.Accept();
+ break;
+
+ case DevicePairingKinds.ConfirmOnly:
+ args.Accept();
+ break;
+
+ case DevicePairingKinds.ProvidePin:
+ args.Accept(await GetPinFromUserAsync(dispatcher));
+ break;
+ }
+ }
+ }
+
+ // Helper function to take the selected item in a combo box
+ // and return its tag, which is assumed to be of type T.
+ static public T GetSelectedItemTag(ComboBox comboBox)
+ {
+ var element = (FrameworkElement)comboBox.SelectedItem;
+ return (T)element.Tag;
+ }
+
+ // Function binding target for the "Send" button on a text box.
+ static public bool CanSendMessage(string message, object connectedDevice)
+ {
+ return !String.IsNullOrEmpty(message) && connectedDevice != null;
+ }
+
+ // General-purpose function binding targets.
+ static public bool IsNonNull(object o)
+ {
+ return o != null;
+ }
+
+ static public bool IsNonEmptyString(string value)
+ {
+ return !String.IsNullOrEmpty(value);
+ }
+ }
+}
diff --git a/Samples/WiFiDirect/cs/WiFiDirect.csproj b/Samples/WiFiDirect/cs/WiFiDirect.csproj
index a429a168f4..3da06ee3a1 100644
--- a/Samples/WiFiDirect/cs/WiFiDirect.csproj
+++ b/Samples/WiFiDirect/cs/WiFiDirect.csproj
@@ -10,8 +10,8 @@
WiFiDirectApien-USUAP
- 10.0.14295.0
- 10.0.10240.0
+ 10.0.14393.0
+ 10.0.14366.014true512
@@ -101,6 +101,10 @@
Properties\AssemblyInfo.cs
+
+ ConnectionSettingsPanel.xaml
+
+ Scenario1_Advertiser.xaml
@@ -109,6 +113,7 @@
Scenario2_Connector.xaml
+
@@ -126,6 +131,10 @@
MSBuild:CompileDesigner
+
+ Designer
+ MSBuild:Compile
+ MSBuild:CompileDesigner
diff --git a/Samples/WiFiDirect/js/WiFiDirect.jsproj b/Samples/WiFiDirect/js/WiFiDirect.jsproj
index 68914a5639..03c8c485e7 100644
--- a/Samples/WiFiDirect/js/WiFiDirect.jsproj
+++ b/Samples/WiFiDirect/js/WiFiDirect.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/WiFiDirect/js/package.appxmanifest b/Samples/WiFiDirect/js/package.appxmanifest
index 90d6f022f8..7a7b3565bd 100644
--- a/Samples/WiFiDirect/js/package.appxmanifest
+++ b/Samples/WiFiDirect/js/package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/WiFiDirectServices/cpp/Package.appxmanifest b/Samples/WiFiDirectServices/cpp/Package.appxmanifest
index 42ad26fff2..3830526574 100644
--- a/Samples/WiFiDirectServices/cpp/Package.appxmanifest
+++ b/Samples/WiFiDirectServices/cpp/Package.appxmanifest
@@ -8,7 +8,7 @@
Assets\StoreLogo-sdk.png
-
+
diff --git a/Samples/WiFiDirectServices/cpp/WiFiDirectServices.vcxproj b/Samples/WiFiDirectServices/cpp/WiFiDirectServices.vcxproj
index ab053a4052..02677aa646 100644
--- a/Samples/WiFiDirectServices/cpp/WiFiDirectServices.vcxproj
+++ b/Samples/WiFiDirectServices/cpp/WiFiDirectServices.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/WiFiDirectServices/cs/Package.appxmanifest b/Samples/WiFiDirectServices/cs/Package.appxmanifest
index a2923792f2..5622516210 100644
--- a/Samples/WiFiDirectServices/cs/Package.appxmanifest
+++ b/Samples/WiFiDirectServices/cs/Package.appxmanifest
@@ -8,7 +8,7 @@
Assets\StoreLogo-sdk.png
-
+
diff --git a/Samples/WiFiDirectServices/cs/WiFiDirectServices.csproj b/Samples/WiFiDirectServices/cs/WiFiDirectServices.csproj
index 59e5d08b35..116a77bbf2 100644
--- a/Samples/WiFiDirectServices/cs/WiFiDirectServices.csproj
+++ b/Samples/WiFiDirectServices/cs/WiFiDirectServices.csproj
@@ -10,7 +10,7 @@
WiFiDirectServicesen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/WiFiScan/cpp/Package.appxmanifest b/Samples/WiFiScan/cpp/Package.appxmanifest
index 6e8e17af2d..e3363dad94 100644
--- a/Samples/WiFiScan/cpp/Package.appxmanifest
+++ b/Samples/WiFiScan/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/WiFiScan/cpp/WiFiScan.vcxproj b/Samples/WiFiScan/cpp/WiFiScan.vcxproj
index 9a6b08db65..b96fce9de4 100644
--- a/Samples/WiFiScan/cpp/WiFiScan.vcxproj
+++ b/Samples/WiFiScan/cpp/WiFiScan.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0trueWiFiScan
diff --git a/Samples/WiFiScan/cs/Package.appxmanifest b/Samples/WiFiScan/cs/Package.appxmanifest
index bcd05fc7c8..aa276ec95b 100644
--- a/Samples/WiFiScan/cs/Package.appxmanifest
+++ b/Samples/WiFiScan/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/WiFiScan/cs/WiFiScan.csproj b/Samples/WiFiScan/cs/WiFiScan.csproj
index f55e6740ea..f1a11142e1 100644
--- a/Samples/WiFiScan/cs/WiFiScan.csproj
+++ b/Samples/WiFiScan/cs/WiFiScan.csproj
@@ -11,7 +11,7 @@
WiFiScanen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/WindowsAudioSession/cpp/Package.appxmanifest b/Samples/WindowsAudioSession/cpp/Package.appxmanifest
index 8cf2da5548..a3b16fb447 100644
--- a/Samples/WindowsAudioSession/cpp/Package.appxmanifest
+++ b/Samples/WindowsAudioSession/cpp/Package.appxmanifest
@@ -8,7 +8,7 @@
Assets\StoreLogo-sdk.png
-
+
diff --git a/Samples/WindowsAudioSession/cpp/WindowsAudioSession.vcxproj b/Samples/WindowsAudioSession/cpp/WindowsAudioSession.vcxproj
index 28e45d73a9..fbf8193575 100644
--- a/Samples/WindowsAudioSession/cpp/WindowsAudioSession.vcxproj
+++ b/Samples/WindowsAudioSession/cpp/WindowsAudioSession.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/XamlAnimatedGif/cs/AnimatedGif.csproj b/Samples/XamlAnimatedGif/cs/AnimatedGif.csproj
index 39b63b43ab..d6b96c0108 100644
--- a/Samples/XamlAnimatedGif/cs/AnimatedGif.csproj
+++ b/Samples/XamlAnimatedGif/cs/AnimatedGif.csproj
@@ -10,7 +10,7 @@
AnimatedGifen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.14295.014true
diff --git a/Samples/XamlAnimatedGif/cs/Package.appxmanifest b/Samples/XamlAnimatedGif/cs/Package.appxmanifest
index bf94490f48..0595cee224 100644
--- a/Samples/XamlAnimatedGif/cs/Package.appxmanifest
+++ b/Samples/XamlAnimatedGif/cs/Package.appxmanifest
@@ -13,7 +13,7 @@
Assets\StoreLogo-sdk.png
-
+
diff --git a/Samples/XamlAutoSuggestBox/cs/AutoSuggestBox.csproj b/Samples/XamlAutoSuggestBox/cs/AutoSuggestBox.csproj
index 9dc0c2802a..182d4b83c8 100644
--- a/Samples/XamlAutoSuggestBox/cs/AutoSuggestBox.csproj
+++ b/Samples/XamlAutoSuggestBox/cs/AutoSuggestBox.csproj
@@ -11,7 +11,7 @@
ASBMigrationSampleen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/XamlAutoSuggestBox/cs/Package.appxmanifest b/Samples/XamlAutoSuggestBox/cs/Package.appxmanifest
index 124f24df98..cc45bf86ea 100644
--- a/Samples/XamlAutoSuggestBox/cs/Package.appxmanifest
+++ b/Samples/XamlAutoSuggestBox/cs/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/XamlBind/cpp/Package.appxmanifest b/Samples/XamlBind/cpp/Package.appxmanifest
index 05874d7bdd..5a3abf3c85 100644
--- a/Samples/XamlBind/cpp/Package.appxmanifest
+++ b/Samples/XamlBind/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/XamlBind/cpp/xBindSampleCX.vcxproj b/Samples/XamlBind/cpp/xBindSampleCX.vcxproj
index 82e62aa8d2..3671cdd023 100644
--- a/Samples/XamlBind/cpp/xBindSampleCX.vcxproj
+++ b/Samples/XamlBind/cpp/xBindSampleCX.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14366.0
+ 10.0.14393.010.0.14366.0true
diff --git a/Samples/XamlBind/cpp/xBindSampleModel/xBindSampleModel.csproj b/Samples/XamlBind/cpp/xBindSampleModel/xBindSampleModel.csproj
index 9cb3e8b1ba..2a0f56f9fd 100644
--- a/Samples/XamlBind/cpp/xBindSampleModel/xBindSampleModel.csproj
+++ b/Samples/XamlBind/cpp/xBindSampleModel/xBindSampleModel.csproj
@@ -12,7 +12,7 @@
xBindSampleModelen-USUAP
- 10.0.14366.0
+ 10.0.14393.010.0.14366.014true
diff --git a/Samples/XamlBind/cs/Package.appxmanifest b/Samples/XamlBind/cs/Package.appxmanifest
index 19b80dc348..4fd030061c 100644
--- a/Samples/XamlBind/cs/Package.appxmanifest
+++ b/Samples/XamlBind/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/XamlBind/cs/xBindSampleCS.csproj b/Samples/XamlBind/cs/xBindSampleCS.csproj
index c1d717fbcd..10caefe2a4 100644
--- a/Samples/XamlBind/cs/xBindSampleCS.csproj
+++ b/Samples/XamlBind/cs/xBindSampleCS.csproj
@@ -10,7 +10,7 @@
xBindSampleCSen-USUAP
- 10.0.14366.0
+ 10.0.14393.010.0.14366.014true
diff --git a/Samples/XamlBind/cs/xBindSampleModel/xBindSampleModel.csproj b/Samples/XamlBind/cs/xBindSampleModel/xBindSampleModel.csproj
index d6087ba5c0..e27f504ba1 100644
--- a/Samples/XamlBind/cs/xBindSampleModel/xBindSampleModel.csproj
+++ b/Samples/XamlBind/cs/xBindSampleModel/xBindSampleModel.csproj
@@ -12,7 +12,7 @@
xBindSampleModelen-USUAP
- 10.0.14366.0
+ 10.0.14393.010.0.14366.014true
diff --git a/Samples/XamlBottomUpList/cs/BottomUpList.csproj b/Samples/XamlBottomUpList/cs/BottomUpList.csproj
index e38db3e995..3a7c6ff856 100644
--- a/Samples/XamlBottomUpList/cs/BottomUpList.csproj
+++ b/Samples/XamlBottomUpList/cs/BottomUpList.csproj
@@ -10,7 +10,7 @@
ResizeViewen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.14295.014true
diff --git a/Samples/XamlBottomUpList/cs/Package.appxmanifest b/Samples/XamlBottomUpList/cs/Package.appxmanifest
index 7679a99330..ce6b591d48 100644
--- a/Samples/XamlBottomUpList/cs/Package.appxmanifest
+++ b/Samples/XamlBottomUpList/cs/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/XamlCloudFontIntegration/cpp/CloudFontIntegration.vcxproj b/Samples/XamlCloudFontIntegration/cpp/CloudFontIntegration.vcxproj
index b5d465c430..c19d040b3a 100644
--- a/Samples/XamlCloudFontIntegration/cpp/CloudFontIntegration.vcxproj
+++ b/Samples/XamlCloudFontIntegration/cpp/CloudFontIntegration.vcxproj
@@ -9,7 +9,7 @@
Windows Store10.0true
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/XamlCloudFontIntegration/cpp/Package.appxmanifest b/Samples/XamlCloudFontIntegration/cpp/Package.appxmanifest
index c7f1815f7f..a4bb69c2a3 100644
--- a/Samples/XamlCloudFontIntegration/cpp/Package.appxmanifest
+++ b/Samples/XamlCloudFontIntegration/cpp/Package.appxmanifest
@@ -8,7 +8,7 @@
Assets\StoreLogo-sdk.png
-
+
diff --git a/Samples/XamlCloudFontIntegration/cs/CloudFontIntegration.csproj b/Samples/XamlCloudFontIntegration/cs/CloudFontIntegration.csproj
index 2ab4ce63e0..57d2af758d 100644
--- a/Samples/XamlCloudFontIntegration/cs/CloudFontIntegration.csproj
+++ b/Samples/XamlCloudFontIntegration/cs/CloudFontIntegration.csproj
@@ -11,7 +11,7 @@
XamlCloudFontIntegrationen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/XamlCloudFontIntegration/cs/Package.appxmanifest b/Samples/XamlCloudFontIntegration/cs/Package.appxmanifest
index acc9eeb8f4..faeb8261f6 100644
--- a/Samples/XamlCloudFontIntegration/cs/Package.appxmanifest
+++ b/Samples/XamlCloudFontIntegration/cs/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/XamlCommanding/cpp/Commanding.vcxproj b/Samples/XamlCommanding/cpp/Commanding.vcxproj
index 00a6d5effc..c9ecc22be6 100644
--- a/Samples/XamlCommanding/cpp/Commanding.vcxproj
+++ b/Samples/XamlCommanding/cpp/Commanding.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/XamlCommanding/cpp/Package.appxmanifest b/Samples/XamlCommanding/cpp/Package.appxmanifest
index b89df2d583..c60abfbb44 100644
--- a/Samples/XamlCommanding/cpp/Package.appxmanifest
+++ b/Samples/XamlCommanding/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/XamlCommanding/cs/Commanding.csproj b/Samples/XamlCommanding/cs/Commanding.csproj
index 7ef503d684..3816b35929 100644
--- a/Samples/XamlCommanding/cs/Commanding.csproj
+++ b/Samples/XamlCommanding/cs/Commanding.csproj
@@ -11,7 +11,7 @@
Commandingen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/XamlCommanding/cs/Package.appxmanifest b/Samples/XamlCommanding/cs/Package.appxmanifest
index ba34a7ff7c..85fad5b196 100644
--- a/Samples/XamlCommanding/cs/Package.appxmanifest
+++ b/Samples/XamlCommanding/cs/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/XamlContextMenu/cs/ContextMenu.csproj b/Samples/XamlContextMenu/cs/ContextMenu.csproj
index 5cc98e996d..94b096400c 100644
--- a/Samples/XamlContextMenu/cs/ContextMenu.csproj
+++ b/Samples/XamlContextMenu/cs/ContextMenu.csproj
@@ -11,7 +11,7 @@
ContextMenuCSen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/XamlContextMenu/cs/Package.appxmanifest b/Samples/XamlContextMenu/cs/Package.appxmanifest
index c9806ff7bb..2a180cdb90 100644
--- a/Samples/XamlContextMenu/cs/Package.appxmanifest
+++ b/Samples/XamlContextMenu/cs/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/XamlCustomMediaTransportControls/README.md b/Samples/XamlCustomMediaTransportControls/README.md
index 6cc99a1325..e22f7b434a 100644
--- a/Samples/XamlCustomMediaTransportControls/README.md
+++ b/Samples/XamlCustomMediaTransportControls/README.md
@@ -9,10 +9,10 @@ This sample shows how to create customized media transport controls for the Medi
Specifically, this sample shows how to:
-- **Set up the custom template:** We can add a new template in our Themes/generic.xaml folder and create a custom template. We also added a class called CustomControls.cs
+- **Set up the custom template:** Add a new template to the Themes/generic.xaml folder and create a custom template. Add a class called CustomMediaTransportControls.cs
which show how to use the custom template in your app
-- **Add a custom button:** In generic.xaml we added a custom button in our CommandBar and show how to reference it and make it usable in CustomControls.cs
-- **Change the color of the slider:** We added references in app.xaml for a custom brush which we then used to change the color of our media slider
+- **Add a custom button:** In generic.xaml, add a custom button to the CommandBar, show how to reference it, and make it useable in CustomMediaTransportControls.cs
+- **Change the color of the slider:** Add references in app.xaml for a custom brush used to change the color of the media slider
**Note** The Windows universal samples require Visual Studio 2015 to build and Windows 10 to execute.
@@ -22,11 +22,13 @@ To obtain information about Microsoft Visual Studio 2015 and the tools for devel
## Related topics
-### Reference
+### Samples
+
+* [VideoPlayback sample](/Samples/VideoPlayback)
-
+### Reference
-[Media Transport Controls](https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.mediatransportcontrols.aspx)
+* [Media Transport Controls](https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.mediatransportcontrols.aspx)
## System requirements
diff --git a/Samples/XamlCustomMediaTransportControls/cs/CustomControls.cs b/Samples/XamlCustomMediaTransportControls/cs/CustomMediaTransportControls.cs
similarity index 61%
rename from Samples/XamlCustomMediaTransportControls/cs/CustomControls.cs
rename to Samples/XamlCustomMediaTransportControls/cs/CustomMediaTransportControls.cs
index 5b8198754c..cecc7f00e8 100644
--- a/Samples/XamlCustomMediaTransportControls/cs/CustomControls.cs
+++ b/Samples/XamlCustomMediaTransportControls/cs/CustomMediaTransportControls.cs
@@ -13,12 +13,9 @@
namespace CustomMediaTransportControls
{
- class CustomControls
- {
- }
-
public sealed class CustomMediaTransportControls : MediaTransportControls
{
+ public event EventHandler Liked;
public CustomMediaTransportControls()
{
@@ -27,16 +24,17 @@ public CustomMediaTransportControls()
protected override void OnApplyTemplate()
{
- //This is where you would get your custom button and create an event handler for its click method.
- Button RateButton = GetTemplateChild("RateButton") as Button;
- RateButton.Click += RateButton_Click;
+ // This is where you would get your custom button and create an event handler for its click method.
+ Button likeButton = GetTemplateChild("LikeButton") as Button;
+ likeButton.Click += LikeButton_Click;
+
base.OnApplyTemplate();
}
- private void RateButton_Click(object sender, RoutedEventArgs e)
+ private void LikeButton_Click(object sender, RoutedEventArgs e)
{
- //When creating a button, you would add your custom code here
-
+ // Raise an event on the custom control when 'like' is clicked
+ Liked?.Invoke(this, EventArgs.Empty);
}
}
}
diff --git a/Samples/XamlCustomMediaTransportControls/cs/CustomMediaTransportControls.csproj b/Samples/XamlCustomMediaTransportControls/cs/CustomMediaTransportControls.csproj
index 1abd07458e..a6b2426290 100644
--- a/Samples/XamlCustomMediaTransportControls/cs/CustomMediaTransportControls.csproj
+++ b/Samples/XamlCustomMediaTransportControls/cs/CustomMediaTransportControls.csproj
@@ -11,8 +11,8 @@
CustomMediaTransportControlsen-USUAP
- 10.0.14295.0
- 10.0.10240.0
+ 10.0.14393.0
+ 10.0.14366.014true512
@@ -96,7 +96,7 @@
App.xaml
-
+ MainPage.xaml
@@ -139,9 +139,8 @@
Designer
- DesignerMSBuild:Compile
- PreserveNewest
+ Designer
diff --git a/Samples/XamlCustomMediaTransportControls/cs/MainPage.xaml b/Samples/XamlCustomMediaTransportControls/cs/MainPage.xaml
index f2c2839b9f..b02e4c7a32 100644
--- a/Samples/XamlCustomMediaTransportControls/cs/MainPage.xaml
+++ b/Samples/XamlCustomMediaTransportControls/cs/MainPage.xaml
@@ -9,8 +9,8 @@
-
-
+
+
@@ -18,9 +18,10 @@
IsZoomButtonVisible="True"
IsZoomEnabled="True"
IsPlaybackRateButtonVisible="True"
- IsPlaybackRateEnabled="True">
+ IsPlaybackRateEnabled="True"
+ Liked="CustomMTC_Liked">
-
-
+
+
diff --git a/Samples/XamlCustomMediaTransportControls/cs/MainPage.xaml.cs b/Samples/XamlCustomMediaTransportControls/cs/MainPage.xaml.cs
index 4fc7c35d1e..749656a814 100644
--- a/Samples/XamlCustomMediaTransportControls/cs/MainPage.xaml.cs
+++ b/Samples/XamlCustomMediaTransportControls/cs/MainPage.xaml.cs
@@ -5,6 +5,8 @@
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.Foundation;
using Windows.Foundation.Collections;
+using Windows.Media.Core;
+using Windows.UI.Popups;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
@@ -22,12 +24,20 @@ namespace CustomMediaTransportControls
///
public sealed partial class MainPage : Page
{
+ private int likes = 0;
+
public MainPage()
{
this.InitializeComponent();
- //This following line is setting the source for the MediaElement
- this.MainME.Source = new System.Uri("ms-appx:///Assets/fishes.wmv");
+ //This following line is setting the source for the MediaPlayerElement
+ this.MainMPE.Source = MediaSource.CreateFromUri(new Uri("ms-appx:///Assets/fishes.wmv"));
+ }
+
+ private async void CustomMTC_Liked(object sender, EventArgs e)
+ {
+ var messageDialog = new MessageDialog("You liked this video " + (++likes) + " times.");
+ await messageDialog.ShowAsync();
}
}
}
diff --git a/Samples/XamlCustomMediaTransportControls/cs/Package.appxmanifest b/Samples/XamlCustomMediaTransportControls/cs/Package.appxmanifest
index 1428391473..96642af7e5 100644
--- a/Samples/XamlCustomMediaTransportControls/cs/Package.appxmanifest
+++ b/Samples/XamlCustomMediaTransportControls/cs/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/XamlCustomMediaTransportControls/cs/Themes/generic.xaml b/Samples/XamlCustomMediaTransportControls/cs/Themes/generic.xaml
index 8cbc9dc613..39315a37b6 100644
--- a/Samples/XamlCustomMediaTransportControls/cs/Themes/generic.xaml
+++ b/Samples/XamlCustomMediaTransportControls/cs/Themes/generic.xaml
@@ -1,4 +1,4 @@
-
@@ -6,570 +6,49 @@
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -611,119 +88,132 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
-
+ x:DeferLoadStrategy="Lazy"
+ Visibility="Collapsed"
+ Foreground="{ThemeResource SliderHeaderForeground}"
+ Margin="{ThemeResource SliderHeaderThemeMargin}"
+ Content="{TemplateBinding Header}"
+ ContentTemplate="{TemplateBinding HeaderTemplate}"
+ FontWeight="{ThemeResource SliderHeaderThemeFontWeight}"
+ TextWrapping="Wrap" />
+
@@ -736,54 +226,68 @@
-
-
+ Fill="{TemplateBinding Background}"
+ Height="{ThemeResource SliderTrackThemeHeight}"
+ Grid.Row="1"
+ Grid.ColumnSpan="3" />
+
+
+ Visibility="Collapsed"
+ Fill="{ThemeResource SliderTickBarFill}"
+ Height="{ThemeResource SliderOutsideTickBarThemeHeight}"
+ VerticalAlignment="Bottom"
+ Margin="0,0,0,4"
+ Grid.ColumnSpan="3" />
+ Visibility="Collapsed"
+ Fill="{ThemeResource SliderInlineTickBarFill}"
+ Height="{ThemeResource SliderTrackThemeHeight}"
+ Grid.Row="1"
+ Grid.ColumnSpan="3" />
-
+ Visibility="Collapsed"
+ Fill="{ThemeResource SliderTickBarFill}"
+ Height="{ThemeResource SliderOutsideTickBarThemeHeight}"
+ VerticalAlignment="Top"
+ Margin="0,4,0,0"
+ Grid.Row="2"
+ Grid.ColumnSpan="3" />
+ Style="{StaticResource SliderThumbStyle}"
+ Height="24"
+ Width="24"
+ Grid.Row="0"
+ Grid.RowSpan="3"
+ Grid.Column="1"
+ FocusVisualMargin="-14,-6,-14,-6"
+ AutomationProperties.AccessibilityView="Raw">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -796,45 +300,45 @@
+ Fill="{TemplateBinding Background}"
+ Width="{ThemeResource SliderTrackThemeHeight}"
+ Grid.Column="1"
+ Grid.RowSpan="3" />
+ Fill="{TemplateBinding Foreground}"
+ Grid.Column="1"
+ Grid.Row="2" />
+ Visibility="Collapsed"
+ Fill="{ThemeResource SliderTickBarFill}"
+ Width="{ThemeResource SliderOutsideTickBarThemeHeight}"
+ HorizontalAlignment="Right"
+ Margin="0,0,4,0"
+ Grid.RowSpan="3" />
+ Visibility="Collapsed"
+ Fill="{ThemeResource SliderInlineTickBarFill}"
+ Width="{ThemeResource SliderTrackThemeHeight}"
+ Grid.Column="1"
+ Grid.RowSpan="3" />
+ Visibility="Collapsed"
+ Fill="{ThemeResource SliderTickBarFill}"
+ Width="{ThemeResource SliderOutsideTickBarThemeHeight}"
+ HorizontalAlignment="Left"
+ Margin="4,0,0,0"
+ Grid.Column="2"
+ Grid.RowSpan="3" />
+ Style="{StaticResource SliderThumbStyle}"
+ DataContext="{TemplateBinding Value}"
+ Width="24"
+ Height="8"
+ Grid.Row="1"
+ Grid.Column="0"
+ Grid.ColumnSpan="3"
+ FocusVisualMargin="-6,-14,-6,-14"
+ AutomationProperties.AccessibilityView="Raw" />
@@ -842,45 +346,45 @@
-
-
-
-
-
-
-
+
+
-
-
-
+
+
+
+
-
+
-
-
-
+
+
+
+
+
+
+
-
-
-
-
+
+
+
-
-
+
+ Visible
@@ -888,29 +392,29 @@
-
+
-
-
+
+ Visible
-
-
+
+
-
+
-
-
+
+ Visible
@@ -918,19 +422,17 @@
-
-
-
+
+
-
-
-
+
+
-
-
+
+ Visible
@@ -938,16 +440,15 @@
-
+
-
-
-
+
+
-
-
+
+ Visible
@@ -955,26 +456,25 @@
-
+
-
-
-
+
+
-
-
+
+
-
-
+
+
@@ -993,8 +493,11 @@
+
+
+
-
+ Collapsed
@@ -1003,193 +506,284 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+ Margin="12" />
-
-
+
+
-
+
-
-
+
+
-
-
+ Margin="12,0"
+ Grid.Row="1"
+ Height="15">
+
+
-
-
-
-
+
+
+
+
+
+
-
-
-
+
+
-
+
+
+
+
+
+
+
+
+
-
+ HorizontalAlignment='Center'
+ Margin='0'/>
+
+
+
+
+
+
+
+
+
-
+
-
+
+
+
+
+
-
+
+
+
+
+
+
+
+
-
+ Style='{StaticResource AppBarButtonStyle}'
+ MediaTransportControlsHelper.DropoutOrder='1'
+ Visibility='Collapsed'>
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+ Style='{StaticResource AppBarButtonStyle}'
+ MediaTransportControlsHelper.DropoutOrder='1'
+ Visibility='Collapsed'>
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+ Style='{StaticResource AppBarButtonStyle}'
+ MediaTransportControlsHelper.DropoutOrder='10'
+ Visibility='Collapsed'>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1199,4 +793,4 @@
-
+
\ No newline at end of file
diff --git a/Samples/XamlDataVirtualization/cs/DataVirtualization.csproj b/Samples/XamlDataVirtualization/cs/DataVirtualization.csproj
index 1567067042..3d817ec7f3 100644
--- a/Samples/XamlDataVirtualization/cs/DataVirtualization.csproj
+++ b/Samples/XamlDataVirtualization/cs/DataVirtualization.csproj
@@ -11,7 +11,7 @@
DataVirtualizationen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/XamlDataVirtualization/cs/Package.appxmanifest b/Samples/XamlDataVirtualization/cs/Package.appxmanifest
index a4e8784129..d2c120882e 100644
--- a/Samples/XamlDataVirtualization/cs/Package.appxmanifest
+++ b/Samples/XamlDataVirtualization/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/XamlDeferLoadStrategy/cs/Package.appxmanifest b/Samples/XamlDeferLoadStrategy/cs/Package.appxmanifest
index bc22c90649..aa0b7f390c 100644
--- a/Samples/XamlDeferLoadStrategy/cs/Package.appxmanifest
+++ b/Samples/XamlDeferLoadStrategy/cs/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/XamlDeferLoadStrategy/cs/xDeferLoadStrategy.csproj b/Samples/XamlDeferLoadStrategy/cs/xDeferLoadStrategy.csproj
index 868462c4b6..a9bb45a925 100644
--- a/Samples/XamlDeferLoadStrategy/cs/xDeferLoadStrategy.csproj
+++ b/Samples/XamlDeferLoadStrategy/cs/xDeferLoadStrategy.csproj
@@ -11,7 +11,7 @@
xDeferLoadStrategyen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/XamlDragAndDrop/cpp/DragAndDropSampleNative.vcxproj b/Samples/XamlDragAndDrop/cpp/DragAndDropSampleNative.vcxproj
index 87a4aedbe9..ad90dc73c7 100644
--- a/Samples/XamlDragAndDrop/cpp/DragAndDropSampleNative.vcxproj
+++ b/Samples/XamlDragAndDrop/cpp/DragAndDropSampleNative.vcxproj
@@ -7,7 +7,7 @@
14.0trueWindows Store
- 10.0.14295.0
+ 10.0.14393.010.0.10240.010.0
diff --git a/Samples/XamlDragAndDrop/cpp/Package.appxmanifest b/Samples/XamlDragAndDrop/cpp/Package.appxmanifest
index 969ba1788a..4d99d45aec 100644
--- a/Samples/XamlDragAndDrop/cpp/Package.appxmanifest
+++ b/Samples/XamlDragAndDrop/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/XamlDragAndDrop/cs/DragAndDropSampleManaged.csproj b/Samples/XamlDragAndDrop/cs/DragAndDropSampleManaged.csproj
index 287ecea26e..1ccd277da6 100644
--- a/Samples/XamlDragAndDrop/cs/DragAndDropSampleManaged.csproj
+++ b/Samples/XamlDragAndDrop/cs/DragAndDropSampleManaged.csproj
@@ -10,7 +10,7 @@
DragAndDropSampleManageden-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/XamlDragAndDrop/cs/Package.appxmanifest b/Samples/XamlDragAndDrop/cs/Package.appxmanifest
index d6d1aaaaa3..e0b11f5d3b 100644
--- a/Samples/XamlDragAndDrop/cs/Package.appxmanifest
+++ b/Samples/XamlDragAndDrop/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/XamlFocusVisuals/cs/FocusVisuals.csproj b/Samples/XamlFocusVisuals/cs/FocusVisuals.csproj
index ec408754b1..521c55304d 100644
--- a/Samples/XamlFocusVisuals/cs/FocusVisuals.csproj
+++ b/Samples/XamlFocusVisuals/cs/FocusVisuals.csproj
@@ -11,7 +11,7 @@
FocusVisualsSampleen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/XamlFocusVisuals/cs/Package.appxmanifest b/Samples/XamlFocusVisuals/cs/Package.appxmanifest
index 91f9a229b0..732be10228 100644
--- a/Samples/XamlFocusVisuals/cs/Package.appxmanifest
+++ b/Samples/XamlFocusVisuals/cs/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/XamlGamepadNavigation/cs/GamepadNavigation.csproj b/Samples/XamlGamepadNavigation/cs/GamepadNavigation.csproj
index 3f70855bcb..3da75c4c9c 100644
--- a/Samples/XamlGamepadNavigation/cs/GamepadNavigation.csproj
+++ b/Samples/XamlGamepadNavigation/cs/GamepadNavigation.csproj
@@ -10,7 +10,7 @@
GamepadNavigationen-USUAP
- 10.0.14332.0
+ 10.0.14393.010.0.14332.014true
diff --git a/Samples/XamlGamepadNavigation/cs/Package.appxmanifest b/Samples/XamlGamepadNavigation/cs/Package.appxmanifest
index 3c607d5e12..4c1b2959ab 100644
--- a/Samples/XamlGamepadNavigation/cs/Package.appxmanifest
+++ b/Samples/XamlGamepadNavigation/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/XamlListView/cs/ListView.csproj b/Samples/XamlListView/cs/ListView.csproj
index 58874dec61..3ef761c7e8 100644
--- a/Samples/XamlListView/cs/ListView.csproj
+++ b/Samples/XamlListView/cs/ListView.csproj
@@ -11,7 +11,7 @@
XamlListViewen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/XamlListView/cs/Package.appxmanifest b/Samples/XamlListView/cs/Package.appxmanifest
index 3567bc0abc..a05dc9a0bc 100644
--- a/Samples/XamlListView/cs/Package.appxmanifest
+++ b/Samples/XamlListView/cs/Package.appxmanifest
@@ -14,7 +14,7 @@
Assets\StoreLogo-sdk.png
-
+
diff --git a/Samples/XamlMasterDetail/cpp/MasterDetail.vcxproj b/Samples/XamlMasterDetail/cpp/MasterDetail.vcxproj
index 21e52aa9a4..88d692a73b 100644
--- a/Samples/XamlMasterDetail/cpp/MasterDetail.vcxproj
+++ b/Samples/XamlMasterDetail/cpp/MasterDetail.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/XamlMasterDetail/cpp/Package.appxmanifest b/Samples/XamlMasterDetail/cpp/Package.appxmanifest
index 724e021416..f56f22bfe8 100644
--- a/Samples/XamlMasterDetail/cpp/Package.appxmanifest
+++ b/Samples/XamlMasterDetail/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/XamlMasterDetail/cs/MasterDetail.csproj b/Samples/XamlMasterDetail/cs/MasterDetail.csproj
index 358bcee9e6..5b86642597 100644
--- a/Samples/XamlMasterDetail/cs/MasterDetail.csproj
+++ b/Samples/XamlMasterDetail/cs/MasterDetail.csproj
@@ -10,7 +10,7 @@
MasterDetailAppen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/XamlMasterDetail/cs/Package.appxmanifest b/Samples/XamlMasterDetail/cs/Package.appxmanifest
index 22ecf638f8..2ca9165051 100644
--- a/Samples/XamlMasterDetail/cs/Package.appxmanifest
+++ b/Samples/XamlMasterDetail/cs/Package.appxmanifest
@@ -10,7 +10,7 @@
Assets\StoreLogo.png
-
+
diff --git a/Samples/XamlNavigation/cpp/NavigationMenu.vcxproj b/Samples/XamlNavigation/cpp/NavigationMenu.vcxproj
index a008ffef69..831bf960c5 100644
--- a/Samples/XamlNavigation/cpp/NavigationMenu.vcxproj
+++ b/Samples/XamlNavigation/cpp/NavigationMenu.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14332.0
+ 10.0.14393.010.0.14332.0true
diff --git a/Samples/XamlNavigation/cpp/Package.appxmanifest b/Samples/XamlNavigation/cpp/Package.appxmanifest
index 48943a7452..03c29fc907 100644
--- a/Samples/XamlNavigation/cpp/Package.appxmanifest
+++ b/Samples/XamlNavigation/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/XamlNavigation/cs/NavigationMenu.csproj b/Samples/XamlNavigation/cs/NavigationMenu.csproj
index 46d55ba868..ea1b2e4721 100644
--- a/Samples/XamlNavigation/cs/NavigationMenu.csproj
+++ b/Samples/XamlNavigation/cs/NavigationMenu.csproj
@@ -10,7 +10,7 @@
NavigationMenuSampleen-USUAP
- 10.0.14332.0
+ 10.0.14393.010.0.14332.014true
diff --git a/Samples/XamlNavigation/cs/Package.appxmanifest b/Samples/XamlNavigation/cs/Package.appxmanifest
index 2fb564d35a..4341f7a109 100644
--- a/Samples/XamlNavigation/cs/Package.appxmanifest
+++ b/Samples/XamlNavigation/cs/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/XamlPivot/cs/Package.appxmanifest b/Samples/XamlPivot/cs/Package.appxmanifest
index 7d97c9b1d7..f0236b6419 100644
--- a/Samples/XamlPivot/cs/Package.appxmanifest
+++ b/Samples/XamlPivot/cs/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/XamlPivot/cs/Pivot.csproj b/Samples/XamlPivot/cs/Pivot.csproj
index 1519b64ff1..436eba1d51 100644
--- a/Samples/XamlPivot/cs/Pivot.csproj
+++ b/Samples/XamlPivot/cs/Pivot.csproj
@@ -11,7 +11,7 @@
PivotCSen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/XamlPullToRefresh/cs/Package.appxmanifest b/Samples/XamlPullToRefresh/cs/Package.appxmanifest
index 068583d0bb..01c344578b 100644
--- a/Samples/XamlPullToRefresh/cs/Package.appxmanifest
+++ b/Samples/XamlPullToRefresh/cs/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/XamlPullToRefresh/cs/PullToRefresh.csproj b/Samples/XamlPullToRefresh/cs/PullToRefresh.csproj
index 3bba04328c..1fe083dab5 100644
--- a/Samples/XamlPullToRefresh/cs/PullToRefresh.csproj
+++ b/Samples/XamlPullToRefresh/cs/PullToRefresh.csproj
@@ -11,7 +11,7 @@
PullToRefreshen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10586.014true
@@ -228,7 +228,7 @@
-
+ Windows Mobile Extensions for the UWP
diff --git a/Samples/XamlResponsiveTechniques/cs/Package.appxmanifest b/Samples/XamlResponsiveTechniques/cs/Package.appxmanifest
index 88263245c6..a86e9a34a9 100644
--- a/Samples/XamlResponsiveTechniques/cs/Package.appxmanifest
+++ b/Samples/XamlResponsiveTechniques/cs/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/XamlResponsiveTechniques/cs/ResponsiveTechniques.csproj b/Samples/XamlResponsiveTechniques/cs/ResponsiveTechniques.csproj
index a7f0dc66ec..21bf889793 100644
--- a/Samples/XamlResponsiveTechniques/cs/ResponsiveTechniques.csproj
+++ b/Samples/XamlResponsiveTechniques/cs/ResponsiveTechniques.csproj
@@ -11,7 +11,7 @@
XAMLResponsiveTechniquesen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/XamlStateTriggers/cs/Package.appxmanifest b/Samples/XamlStateTriggers/cs/Package.appxmanifest
index 713abe054b..f3f54860d3 100644
--- a/Samples/XamlStateTriggers/cs/Package.appxmanifest
+++ b/Samples/XamlStateTriggers/cs/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/XamlStateTriggers/cs/StateTriggers.csproj b/Samples/XamlStateTriggers/cs/StateTriggers.csproj
index c9380d7d03..de895e187e 100644
--- a/Samples/XamlStateTriggers/cs/StateTriggers.csproj
+++ b/Samples/XamlStateTriggers/cs/StateTriggers.csproj
@@ -11,7 +11,7 @@
StateTriggersSampleen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/XamlTailoredMultipleViews/cs/TailoredMultipleViews/DisplaySizeHelper/DisplaySizeHelper.vcxproj b/Samples/XamlTailoredMultipleViews/cs/TailoredMultipleViews/DisplaySizeHelper/DisplaySizeHelper.vcxproj
index f43360d7b6..851193030a 100644
--- a/Samples/XamlTailoredMultipleViews/cs/TailoredMultipleViews/DisplaySizeHelper/DisplaySizeHelper.vcxproj
+++ b/Samples/XamlTailoredMultipleViews/cs/TailoredMultipleViews/DisplaySizeHelper/DisplaySizeHelper.vcxproj
@@ -36,7 +36,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/XamlTailoredMultipleViews/cs/TailoredMultipleViews/OneHandedUse_TailoredMultipleViews.csproj b/Samples/XamlTailoredMultipleViews/cs/TailoredMultipleViews/OneHandedUse_TailoredMultipleViews.csproj
index ade915d4aa..754e40488e 100644
--- a/Samples/XamlTailoredMultipleViews/cs/TailoredMultipleViews/OneHandedUse_TailoredMultipleViews.csproj
+++ b/Samples/XamlTailoredMultipleViews/cs/TailoredMultipleViews/OneHandedUse_TailoredMultipleViews.csproj
@@ -11,7 +11,7 @@
OneHandedUse_TailoredMultipleViewsen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/XamlTailoredMultipleViews/cs/TailoredMultipleViews/Package.appxmanifest b/Samples/XamlTailoredMultipleViews/cs/TailoredMultipleViews/Package.appxmanifest
index 59d615a9c5..90057d0941 100644
--- a/Samples/XamlTailoredMultipleViews/cs/TailoredMultipleViews/Package.appxmanifest
+++ b/Samples/XamlTailoredMultipleViews/cs/TailoredMultipleViews/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/XamlTransform3DAnimations/cs/Package.appxmanifest b/Samples/XamlTransform3DAnimations/cs/Package.appxmanifest
index 13375861ff..02592c2e21 100644
--- a/Samples/XamlTransform3DAnimations/cs/Package.appxmanifest
+++ b/Samples/XamlTransform3DAnimations/cs/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/XamlTransform3DAnimations/cs/Transform3DAnimations.csproj b/Samples/XamlTransform3DAnimations/cs/Transform3DAnimations.csproj
index ae6692c53a..41bf61ba53 100644
--- a/Samples/XamlTransform3DAnimations/cs/Transform3DAnimations.csproj
+++ b/Samples/XamlTransform3DAnimations/cs/Transform3DAnimations.csproj
@@ -11,7 +11,7 @@
Transform3DAnimationsen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/XamlTransform3DParallax/cpp/Package.appxmanifest b/Samples/XamlTransform3DParallax/cpp/Package.appxmanifest
index 715c5b5b1d..997197ce64 100644
--- a/Samples/XamlTransform3DParallax/cpp/Package.appxmanifest
+++ b/Samples/XamlTransform3DParallax/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/XamlTransform3DParallax/cpp/Transform3DParallax.vcxproj b/Samples/XamlTransform3DParallax/cpp/Transform3DParallax.vcxproj
index 975551ec56..a8dc327a12 100644
--- a/Samples/XamlTransform3DParallax/cpp/Transform3DParallax.vcxproj
+++ b/Samples/XamlTransform3DParallax/cpp/Transform3DParallax.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/Samples/XamlTransform3DParallax/cs/Package.appxmanifest b/Samples/XamlTransform3DParallax/cs/Package.appxmanifest
index 27f1c1537b..92dfd1f87d 100644
--- a/Samples/XamlTransform3DParallax/cs/Package.appxmanifest
+++ b/Samples/XamlTransform3DParallax/cs/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/XamlTransform3DParallax/cs/Transform3DParallax.csproj b/Samples/XamlTransform3DParallax/cs/Transform3DParallax.csproj
index 59a6730701..468485982e 100644
--- a/Samples/XamlTransform3DParallax/cs/Transform3DParallax.csproj
+++ b/Samples/XamlTransform3DParallax/cs/Transform3DParallax.csproj
@@ -11,7 +11,7 @@
Transform3DParallaxen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/XamlTreeView/cpp/Control/TreeViewControl.vcxproj b/Samples/XamlTreeView/cpp/Control/TreeViewControl.vcxproj
index 749327f087..6bb15c9f9b 100644
--- a/Samples/XamlTreeView/cpp/Control/TreeViewControl.vcxproj
+++ b/Samples/XamlTreeView/cpp/Control/TreeViewControl.vcxproj
@@ -35,7 +35,7 @@
14.0trueWindows Store
- 10.0.14295.0
+ 10.0.14393.010.0.14295.010.0
diff --git a/Samples/XamlTreeView/cpp/Package.appxmanifest b/Samples/XamlTreeView/cpp/Package.appxmanifest
index aab12f8a00..9ce427ad8d 100644
--- a/Samples/XamlTreeView/cpp/Package.appxmanifest
+++ b/Samples/XamlTreeView/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/XamlTreeView/cpp/TreeView.vcxproj b/Samples/XamlTreeView/cpp/TreeView.vcxproj
index 1939507960..6aab0bd12c 100644
--- a/Samples/XamlTreeView/cpp/TreeView.vcxproj
+++ b/Samples/XamlTreeView/cpp/TreeView.vcxproj
@@ -7,7 +7,7 @@
14.0trueWindows Store
- 10.0.14295.0
+ 10.0.14393.010.0.14295.010.0
diff --git a/Samples/XamlTreeView/cs/Package.appxmanifest b/Samples/XamlTreeView/cs/Package.appxmanifest
index 49285b2868..63ee68f04e 100644
--- a/Samples/XamlTreeView/cs/Package.appxmanifest
+++ b/Samples/XamlTreeView/cs/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/XamlTreeView/cs/TreeView.csproj b/Samples/XamlTreeView/cs/TreeView.csproj
index 6be5adee78..0a0bd66812 100644
--- a/Samples/XamlTreeView/cs/TreeView.csproj
+++ b/Samples/XamlTreeView/cs/TreeView.csproj
@@ -10,7 +10,7 @@
TreeViewen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.14295.014true
diff --git a/Samples/XamlUIBasics/cs/AppUIBasics/AppUIBasics.csproj b/Samples/XamlUIBasics/cs/AppUIBasics/AppUIBasics.csproj
index 75f3db7a08..2b1f8f7fe2 100644
--- a/Samples/XamlUIBasics/cs/AppUIBasics/AppUIBasics.csproj
+++ b/Samples/XamlUIBasics/cs/AppUIBasics/AppUIBasics.csproj
@@ -10,7 +10,7 @@
AppUIBasicsen-USUAP
- 10.0.14332.0
+ 10.0.14393.010.0.14332.014true
diff --git a/Samples/XamlUIBasics/cs/AppUIBasics/Package.appxmanifest b/Samples/XamlUIBasics/cs/AppUIBasics/Package.appxmanifest
index d9cbc5d0cc..2d9a98c52d 100644
--- a/Samples/XamlUIBasics/cs/AppUIBasics/Package.appxmanifest
+++ b/Samples/XamlUIBasics/cs/AppUIBasics/Package.appxmanifest
@@ -8,7 +8,7 @@
Assets\StoreLogo-sdk.png
-
+
diff --git a/Samples/XamlWebView/cs/Package.appxmanifest b/Samples/XamlWebView/cs/Package.appxmanifest
index f76de73413..056c6508d9 100644
--- a/Samples/XamlWebView/cs/Package.appxmanifest
+++ b/Samples/XamlWebView/cs/Package.appxmanifest
@@ -13,7 +13,7 @@
Assets\StoreLogo-sdk.png
-
+
diff --git a/Samples/XamlWebView/cs/XamlWebView.csproj b/Samples/XamlWebView/cs/XamlWebView.csproj
index d307c958da..d59fb460ed 100644
--- a/Samples/XamlWebView/cs/XamlWebView.csproj
+++ b/Samples/XamlWebView/cs/XamlWebView.csproj
@@ -11,7 +11,7 @@
XamlWebViewen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/XmlDocument/cs/Package.appxmanifest b/Samples/XmlDocument/cs/Package.appxmanifest
index 515dc0138b..babb2519fe 100644
--- a/Samples/XmlDocument/cs/Package.appxmanifest
+++ b/Samples/XmlDocument/cs/Package.appxmanifest
@@ -21,7 +21,7 @@
-
+
diff --git a/Samples/XmlDocument/cs/XmlDocument.csproj b/Samples/XmlDocument/cs/XmlDocument.csproj
index bba25aec6d..f923b2e16a 100644
--- a/Samples/XmlDocument/cs/XmlDocument.csproj
+++ b/Samples/XmlDocument/cs/XmlDocument.csproj
@@ -11,7 +11,7 @@
Xmlen-USUAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.014true
diff --git a/Samples/XmlDocument/js/Package.appxmanifest b/Samples/XmlDocument/js/Package.appxmanifest
index dedc0a5b5c..1f4970d40f 100644
--- a/Samples/XmlDocument/js/Package.appxmanifest
+++ b/Samples/XmlDocument/js/Package.appxmanifest
@@ -19,7 +19,7 @@
-
+
diff --git a/Samples/XmlDocument/js/XmlDocument.jsproj b/Samples/XmlDocument/js/XmlDocument.jsproj
index e212e0b96b..9dfe61af22 100644
--- a/Samples/XmlDocument/js/XmlDocument.jsproj
+++ b/Samples/XmlDocument/js/XmlDocument.jsproj
@@ -45,7 +45,7 @@
UAP
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0$(VersionNumberMajor).$(VersionNumberMinor)en-US
diff --git a/Samples/XmlLite/cpp/Package.appxmanifest b/Samples/XmlLite/cpp/Package.appxmanifest
index 516721f0e2..47a06bc8f5 100644
--- a/Samples/XmlLite/cpp/Package.appxmanifest
+++ b/Samples/XmlLite/cpp/Package.appxmanifest
@@ -20,7 +20,7 @@
-
+
diff --git a/Samples/XmlLite/cpp/XmlLite.vcxproj b/Samples/XmlLite/cpp/XmlLite.vcxproj
index f1ebf35670..c17fcd6d63 100644
--- a/Samples/XmlLite/cpp/XmlLite.vcxproj
+++ b/Samples/XmlLite/cpp/XmlLite.vcxproj
@@ -8,7 +8,7 @@
trueWindows Store10.0
- 10.0.14295.0
+ 10.0.14393.010.0.10240.0true
diff --git a/SharedContent/cpp/GameContent/MoveLookController.cpp b/SharedContent/cpp/GameContent/MoveLookController.cpp
index 9c02479c2e..0a10250146 100644
--- a/SharedContent/cpp/GameContent/MoveLookController.cpp
+++ b/SharedContent/cpp/GameContent/MoveLookController.cpp
@@ -658,16 +658,19 @@ void MoveLookController::UpdatePollingDevices()
m_gamepadsChanged = false;
unsigned int index = 0;
- if (Gamepad::Gamepads->Size == 0)
+ // Capture the list of gamepads so it won't change while we are studying it.
+ auto gamepads = Gamepad::Gamepads;
+
+ if (gamepads->Size == 0)
{
m_activeGamepad = nullptr;
}
// Check if the cached gamepad is still connected.
- else if(!Gamepad::Gamepads->IndexOf(m_activeGamepad, &index))
+ else if (!gamepads->IndexOf(m_activeGamepad, &index))
{
// MoveLookController is intended to handle input for a single player, so it
// defaults to the first active gamepad.
- m_activeGamepad = Gamepad::Gamepads->GetAt(0);
+ m_activeGamepad = gamepads->GetAt(0);
}
}
diff --git a/SharedContent/media/Square310x310Logo.png b/SharedContent/media/Square310x310Logo.png
new file mode 100644
index 0000000000..c96f294a47
Binary files /dev/null and b/SharedContent/media/Square310x310Logo.png differ