You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by pu...@apache.org on 2015/02/05 00:36:01 UTC

cordova-plugin-device git commit: [CB7285][Windows] add manufacturer property for windows, and cleanup

Repository: cordova-plugin-device
Updated Branches:
  refs/heads/master 734e01f5a -> 1a13ee066


[CB7285][Windows] add manufacturer property for windows, and cleanup


Project: http://git-wip-us.apache.org/repos/asf/cordova-plugin-device/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-plugin-device/commit/1a13ee06
Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugin-device/tree/1a13ee06
Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugin-device/diff/1a13ee06

Branch: refs/heads/master
Commit: 1a13ee0665647b8f492a4a6acbb2946c1fc73f6a
Parents: 734e01f
Author: Jesse MacFadyen <pu...@gmail.com>
Authored: Wed Feb 4 15:35:39 2015 -0800
Committer: Jesse MacFadyen <pu...@gmail.com>
Committed: Wed Feb 4 15:35:39 2015 -0800

----------------------------------------------------------------------
 src/windows/DeviceProxy.js | 76 ++++++++++++++++++++++++++++-------------
 1 file changed, 52 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-plugin-device/blob/1a13ee06/src/windows/DeviceProxy.js
----------------------------------------------------------------------
diff --git a/src/windows/DeviceProxy.js b/src/windows/DeviceProxy.js
index 5c81a86..ecbe407 100644
--- a/src/windows/DeviceProxy.js
+++ b/src/windows/DeviceProxy.js
@@ -19,12 +19,23 @@
  *
 */
 
+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 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 = {
 
     getDeviceInfo:function(win, fail, args) {
 
         // 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) {
             deviceId = localSettings.values.deviceId;
@@ -42,39 +53,56 @@ module.exports = {
             localSettings.values.deviceId = deviceId;
         }
 
-        var userAgent = window.clientInformation.userAgent,
+
+        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
-            devicePlatform = userAgent.indexOf("MSAppHost/1.0") == -1 ? "windows" : "windows8",
-            versionString = userAgent.match(/Windows (?:Phone |NT )?([0-9.]+)/)[1];
+        var devicePlatform = userAgent.indexOf("MSAppHost/1.0") == -1 ? "windows" : "windows8";
+        var versionString = userAgent.match(/Windows (?:Phone |NT )?([0-9.]+)/)[1];
         
-        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 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 pnpObject = Windows.Devices.Enumeration.Pnp.PnpObject;
-        pnpObject.findAllAsync(Windows.Devices.Enumeration.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;
+
+
+        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];
+                        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 });
-            }, 0);
+                    setTimeout(function () {
+                        win({ platform: devicePlatform,
+                              version: versionString,
+                              uuid: deviceId,
+                              model: window.clientInformation.platform,
+                              manufacturer:manufacturer});
+                    }, 0);
+            });
         });
     }
 
-};
+}; // exports
 
 require("cordova/exec/proxy").add("Device", module.exports);


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