summaryrefslogtreecommitdiff
path: root/StoneIsland/plugins/cordova-plugin-device/src/windows/DeviceProxy.js
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2016-11-08 12:37:03 -0500
committerJules Laplace <jules@okfoc.us>2016-11-08 12:37:03 -0500
commitef4f212fc1482136dba1e690ec589b315b4a377f (patch)
tree0b7e16d72567fafcfd3e08d7c5c591ad07a63458 /StoneIsland/plugins/cordova-plugin-device/src/windows/DeviceProxy.js
parent5fa81da81260d65113f57a293b6256d334fe8e2d (diff)
build 0.7.0
Diffstat (limited to 'StoneIsland/plugins/cordova-plugin-device/src/windows/DeviceProxy.js')
-rw-r--r--[-rwxr-xr-x]StoneIsland/plugins/cordova-plugin-device/src/windows/DeviceProxy.js68
1 files changed, 29 insertions, 39 deletions
diff --git a/StoneIsland/plugins/cordova-plugin-device/src/windows/DeviceProxy.js b/StoneIsland/plugins/cordova-plugin-device/src/windows/DeviceProxy.js
index 69ed4446..f338ad3a 100755..100644
--- a/StoneIsland/plugins/cordova-plugin-device/src/windows/DeviceProxy.js
+++ b/StoneIsland/plugins/cordova-plugin-device/src/windows/DeviceProxy.js
@@ -19,13 +19,14 @@
*
*/
+/* global Windows, createUUID */
+
var ROOT_CONTAINER = "{00000000-0000-0000-FFFF-FFFFFFFFFFFF}";
var DEVICE_CLASS_KEY = "{A45C254E-DF1C-4EFD-8020-67D146A850E0},10";
-var DEVICE_CLASS_KEY_NO_SEMICOLON = '{A45C254E-DF1C-4EFD-8020-67D146A850E0}10';
+var DEVICE_CLASS_KEY_NO_SEMICOLON = "{A45C254E-DF1C-4EFD-8020-67D146A850E0}10";
var ROOT_CONTAINER_QUERY = "System.Devices.ContainerId:=\"" + ROOT_CONTAINER + "\"";
var HAL_DEVICE_CLASS = "4d36e966-e325-11ce-bfc1-08002be10318";
var DEVICE_DRIVER_VERSION_KEY = "{A8B865DD-2E3D-4094-AD97-E593A70C75D6},3";
-var MANU_KEY = "System.Devices.Manufacturer";
module.exports = {
@@ -33,8 +34,6 @@ module.exports = {
// deviceId aka uuid, stored in Windows.Storage.ApplicationData.current.localSettings.values.deviceId
var deviceId;
- var manufacturer = "unknown";
-
// get deviceId, or create and store one
var localSettings = Windows.Storage.ApplicationData.current.localSettings;
if (localSettings.values.deviceId) {
@@ -55,51 +54,42 @@ module.exports = {
var userAgent = window.clientInformation.userAgent;
- // this will report "windows" in windows8.1 and windows phone 8.1 apps
- // and "windows8" in windows 8.0 apps similar to cordova.js
- // See https://github.com/apache/cordova-js/blob/master/src/windows/platform.js#L25
+ // this will report "windows" in windows8.1 and windows phone 8.1 apps
+ // and "windows8" in windows 8.0 apps similar to cordova.js
+ // See https://github.com/apache/cordova-js/blob/master/src/windows/platform.js#L25
var devicePlatform = userAgent.indexOf("MSAppHost/1.0") == -1 ? "windows" : "windows8";
var versionString = userAgent.match(/Windows (?:Phone |NT )?([0-9.]+)/)[1];
-
+ var deviceInfo = new Windows.Security.ExchangeActiveSyncProvisioning.EasClientDeviceInformation();
+ // Running in the Windows Simulator is a remote session.
+ // Running in the Windows Phone Emulator has the systemProductName set to "Virtual"
+ var isVirtual = Windows.System.RemoteDesktop.InteractiveSession.isRemote || deviceInfo.systemProductName == "Virtual";
+ var manufacturer = deviceInfo.systemManufacturer;
+ var model = deviceInfo.systemProductName;
var Pnp = Windows.Devices.Enumeration.Pnp;
- Pnp.PnpObject.findAllAsync(Pnp.PnpObjectType.deviceContainer,[MANU_KEY])
- .then(function (infoList) {
- var numDevices = infoList.length;
- if (numDevices) {
- for (var i = 0; i < numDevices; i++) {
- var devContainer = infoList[i];
- if (devContainer.id == ROOT_CONTAINER) {
- manufacturer = devContainer.properties[MANU_KEY];
+ Pnp.PnpObject.findAllAsync(Pnp.PnpObjectType.device,
+ [DEVICE_DRIVER_VERSION_KEY, DEVICE_CLASS_KEY],
+ ROOT_CONTAINER_QUERY)
+ .then(function (rootDevices) {
+ for (var i = 0; i < rootDevices.length; i++) {
+ var rootDevice = rootDevices[i];
+ if (!rootDevice.properties) continue;
+ if (rootDevice.properties[DEVICE_CLASS_KEY_NO_SEMICOLON] == HAL_DEVICE_CLASS) {
+ versionString = rootDevice.properties[DEVICE_DRIVER_VERSION_KEY];
break;
}
}
- }
- })
- .then(function () {
- Pnp.PnpObject.findAllAsync(Pnp.PnpObjectType.device,
- [DEVICE_DRIVER_VERSION_KEY, DEVICE_CLASS_KEY],
- ROOT_CONTAINER_QUERY)
- .then(function (rootDevices) {
- for (var i = 0; i < rootDevices.length; i++) {
- var rootDevice = rootDevices[i];
- if (!rootDevice.properties) continue;
- if (rootDevice.properties[DEVICE_CLASS_KEY_NO_SEMICOLON] == HAL_DEVICE_CLASS) {
- versionString = rootDevice.properties[DEVICE_DRIVER_VERSION_KEY];
- break;
- }
- }
- setTimeout(function () {
- win({ platform: devicePlatform,
- version: versionString,
- uuid: deviceId,
- model: window.clientInformation.platform,
- manufacturer:manufacturer});
- }, 0);
- });
+ setTimeout(function () {
+ win({ platform: devicePlatform,
+ version: versionString,
+ uuid: deviceId,
+ isVirtual: isVirtual,
+ model: model,
+ manufacturer:manufacturer});
+ }, 0);
});
}