You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by an...@apache.org on 2012/04/20 00:53:56 UTC

[2/8] git commit: adding device, connection and acceleration support

adding device, connection and acceleration support


Project: http://git-wip-us.apache.org/repos/asf/incubator-cordova-js/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cordova-js/commit/134d2b43
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-js/tree/134d2b43
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-js/diff/134d2b43

Branch: refs/heads/bada
Commit: 134d2b438214b1b1a3adb44309ff2655c1eeb44b
Parents: 89f1302
Author: Anis Kadri <an...@gmail.com>
Authored: Thu Apr 19 15:50:03 2012 -0700
Committer: Anis Kadri <an...@gmail.com>
Committed: Thu Apr 19 15:53:15 2012 -0700

----------------------------------------------------------------------
 lib/bada/exec.js                      |   25 ++++----
 lib/bada/plugin/bada/Accelerometer.js |   43 ++++++++++++++
 lib/bada/plugin/bada/NetworkStatus.js |   31 ++++++++++
 lib/bada/plugin/bada/device.js        |   84 +++++++++++++++++++++++++++
 lib/bada/plugin/device.js             |   85 ----------------------------
 lib/scripts/bootstrap-bada.js         |    1 +
 6 files changed, 172 insertions(+), 97 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cordova-js/blob/134d2b43/lib/bada/exec.js
----------------------------------------------------------------------
diff --git a/lib/bada/exec.js b/lib/bada/exec.js
index a18cb6e..1c78a9c 100644
--- a/lib/bada/exec.js
+++ b/lib/bada/exec.js
@@ -1,16 +1,17 @@
 var plugins = {
-    "Device": require('bada/plugin/device'),
+    "Device": require('cordova/plugin/bada/device'),
+    "NetworkStatus": require('cordova/plugin/bada/NetworkStatus'),
+    "Accelerometer": require('cordova/plugin/bada/Accelerometer')
 };
-module.exports = {
-    exec: function(success, fail, service, action, args) {
-        try {
-            plugins[service][action](success, fail, args);
-        }
-        catch(e) {
-            console.log("missing exec: " + service + "." + action);
-            console.log(args);
-            console.log(e);
-            console.log(e.stack);
-        }
+
+module.exports = function(success, fail, service, action, args) {
+    try {
+        plugins[service][action](success, fail, args);
+    }
+    catch(e) {
+        console.log("missing exec: " + service + "." + action);
+        console.log(args);
+        console.log(e);
+        console.log(e.stack);
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-cordova-js/blob/134d2b43/lib/bada/plugin/bada/Accelerometer.js
----------------------------------------------------------------------
diff --git a/lib/bada/plugin/bada/Accelerometer.js b/lib/bada/plugin/bada/Accelerometer.js
new file mode 100644
index 0000000..f1c4c87
--- /dev/null
+++ b/lib/bada/plugin/bada/Accelerometer.js
@@ -0,0 +1,43 @@
+var Acceleration = require('cordova/plugin/Acceleration');
+
+module.exports = {
+    getAcceleration: function(successCallback, errorCallback, options) {
+        var success = function(acceleration) {
+            console.log("Accelermometer:getAcceleration:success");
+            var accel = new Acceleration(acceleration.xAxis, acceleration.yAxis, acceleration.zAxis);
+            successCallback(accel);
+        };
+        var error = function(err) {
+            console.log("Accelermometer:getAcceleration:error");
+            switch(err.code) {
+                case err.TYPE_MISMATCH_ERR:
+                    console.log("TYPE MISMATCH ERROR");
+                    break;
+            }
+
+            errorCallback(err);
+        };
+        deviceapis.accelerometer.getCurrentAcceleration(success, error);
+    },
+    // XXX: unused with cordovaJS
+    watchAcceleration: function(successCallback, errorCallback, options) {
+        var success = function(acceleration) {
+            console.log("accelerometer:watchAcceleration:success");
+            var accel = new Acceleration(acceleration.xAxis, acceleration.yAxis, acceleration.zAxis);
+            successCallback(accel);
+        };
+        var error = function(err) {
+            console.log("accelerometer:watchAcceleration:error");
+            switch(err.code) {
+                case err.TYPE_MISMATCH_ERR:
+                break;
+            }
+
+            errorCallback(err);
+        };
+        return deviceapis.accelerometer.watchAcceleration(success, error);
+    },
+    clearWatch: function(watchID) {
+        deviceapis.accelerometer.clearWatch(watchID);
+    }
+};

http://git-wip-us.apache.org/repos/asf/incubator-cordova-js/blob/134d2b43/lib/bada/plugin/bada/NetworkStatus.js
----------------------------------------------------------------------
diff --git a/lib/bada/plugin/bada/NetworkStatus.js b/lib/bada/plugin/bada/NetworkStatus.js
new file mode 100644
index 0000000..d35536c
--- /dev/null
+++ b/lib/bada/plugin/bada/NetworkStatus.js
@@ -0,0 +1,31 @@
+var channel = require('cordova/channel');
+
+// We can't tell if a cell connection is 2,3 or 4G.
+// We just know if it's connected and the signal strength
+// if it's roaming and the network name etc..so unless wifi we default to UNKNOWN
+
+module.exports = {
+    getConnectionInfo: function(success, fail) {
+       var Connection = require("cordova/plugin/Connection");
+       var connectionType = Connection.NONE
+       deviceapis.devicestatus.getPropertyValue(function(value) {
+               console.log("Device WiFi network status: "+value);
+               if(value == "connected") {
+                   connectionType = Connection.WIFI;
+               }
+               channel.onCordovaConnectionReady.fire();
+               success(connectionType);
+           }, 
+           function(error) {
+                console.log(JSON.stringify(error));
+                fail();
+           } , {aspect: "WiFiNetwork", property: "networkStatus"}
+       );
+        //info.getPropertyValue(function(value) {
+        //console.log("Device Cellular network status: "+value);
+        //if(signalStrength > 10) {
+        //self.type = Connection.CELL_3G;
+        //}
+        //}, fail, {aspect: "CellularNetwork", property: "signalStrength"});
+    }
+};

http://git-wip-us.apache.org/repos/asf/incubator-cordova-js/blob/134d2b43/lib/bada/plugin/bada/device.js
----------------------------------------------------------------------
diff --git a/lib/bada/plugin/bada/device.js b/lib/bada/plugin/bada/device.js
new file mode 100644
index 0000000..555ef9a
--- /dev/null
+++ b/lib/bada/plugin/bada/device.js
@@ -0,0 +1,84 @@
+var channel = require('cordova/channel');
+
+function Device() {
+
+    this.platform = null;
+    this.version = null;
+    this.name = null;
+    this.uuid = null;
+    this.cordova = null
+
+    var me = this;
+    
+    channel.onCordovaReady.subscribeOnce(function() {
+       me.getInfo(function (device) {
+           me.platform = device.platform;
+           me.version  = device.version;
+           me.name     = device.name;
+           me.uuid     = device.uuid;
+           me.cordova  = device.cordova;
+
+           channel.onCordovaInfoReady.fire();
+           //console.log("CordovaInfoReady "+JSON.stringify(device));
+       },
+       function (e) {
+           me.available = false;
+           console.log("error initializing cordova: " + e);
+       });
+    });
+};
+
+
+Device.prototype.getInfo = function(success, fail, args) {
+   var info = deviceapis.devicestatus;
+   var properties = ["name", "uuid", "os_name", "os_vendor", "os_version"];
+
+   var me = this;
+    
+   var name = null,
+       platform = null,
+       uuid = null,
+       os_name = null,
+       os_version = null,
+       os_vendor = null;
+
+   var checkProperties = function() {
+       properties.pop();
+       if(properties.length == 0) {
+           me.name = name;
+           me.platform = os_vendor + " " + os_name;
+           me.version = os_version;
+           me.uuid = uuid;
+           me.cordova = "1.6.0";
+           success(me);
+       }
+   };
+
+   info.getPropertyValue(function(value) {
+           console.log("Device IMEI: "+value);
+           uuid = value;
+           checkProperties();
+           }, fail, {aspect: "Device", property: "imei"});
+   info.getPropertyValue(function(value) {
+           console.log("Device name: "+value);
+           name = value;
+           checkProperties();
+           }, fail, {aspect: "Device", property: "version"});
+   info.getPropertyValue(function(value) {
+           console.log("OperatingSystem name: "+value);
+           os_name = value;
+           checkProperties();
+           }, fail, {aspect: "OperatingSystem", property: "name"});
+   info.getPropertyValue(function(value) {
+           console.log("OperatingSystem version: "+value);
+           os_version = value;
+           checkProperties();
+           }, fail, {aspect: "OperatingSystem", property: "version"});
+   info.getPropertyValue(function(value) {
+           console.log("OperatingSystem vendor: "+value);
+           os_vendor = value;
+           checkProperties();
+           }, fail, {aspect: "OperatingSystem", property: "vendor"});
+}
+
+module.exports = new Device();

http://git-wip-us.apache.org/repos/asf/incubator-cordova-js/blob/134d2b43/lib/bada/plugin/device.js
----------------------------------------------------------------------
diff --git a/lib/bada/plugin/device.js b/lib/bada/plugin/device.js
deleted file mode 100644
index 36fc9f9..0000000
--- a/lib/bada/plugin/device.js
+++ /dev/null
@@ -1,85 +0,0 @@
-var channel = require('cordova/channel');
-
-function Device() {
-
-    this.platform = null;
-    this.version = null;
-    this.name = null;
-    this.uuid = null;
-    this.cordova = null
-
-    var me = this;
-    
-    channel.onCordovaReady.subscribeOnce(function() {
-        me.getInfo(function (device) {
-            me.platform = device.platform;
-            me.version  = device.version;
-            me.name     = device.name;
-            me.uuid     = device.uuid;
-            me.cordova  = device.cordova;
-
-            channel.onCordovaInfoReady.fire();
-        },
-        function (e) {
-            me.available = false;
-            console.log("error initializing cordova: " + e);
-        });
-    });
-};
-
-
-Device.prototype.getInfo = function(success, fail, args) {
-    console.log("getInfo");
-   var info = deviceapis.devicestatus;
-   var properties = ["name", "uuid", "os_name", "os_vendor", "os_version"];
-
-   var device = new Device();
-    
-   var name = null,
-       platform = null,
-       uuid = null,
-       os_name = null,
-       os_version = null,
-       os_vendor = null;
-
-   var checkProperties = function() {
-       properties.pop();
-       if(properties.length == 0) {
-           device.name = name;
-           device.platform = os_vendor + " " + os_name;
-           device.version = os_version;
-           device.uuid = uuid;
-           device.cordova = "1.6.0";
-           channel.onNativeReady().fire();
-           success(device);
-       }
-   };
-
-   info.getPropertyValue(function(value) {
-           console.log("Device IMEI: "+value);
-           uuid = value;
-           checkProperties();
-           }, fail, {aspect: "Device", property: "imei"});
-   info.getPropertyValue(function(value) {
-           console.log("Device name: "+value);
-           name = value;
-           checkProperties();
-           }, fail, {aspect: "Device", property: "version"});
-   info.getPropertyValue(function(value) {
-           console.log("OperatingSystem name: "+value);
-           os_name = value;
-           checkProperties();
-           }, fail, {aspect: "OperatingSystem", property: "name"});
-   info.getPropertyValue(function(value) {
-           console.log("OperatingSystem version: "+value);
-           os_version = value;
-           checkProperties();
-           }, fail, {aspect: "OperatingSystem", property: "version"});
-   info.getPropertyValue(function(value) {
-           console.log("OperatingSystem vendor: "+value);
-           os_vendor = value;
-           checkProperties();
-           }, fail, {aspect: "OperatingSystem", property: "vendor"});
-}
-
-module.exports = new Device();

http://git-wip-us.apache.org/repos/asf/incubator-cordova-js/blob/134d2b43/lib/scripts/bootstrap-bada.js
----------------------------------------------------------------------
diff --git a/lib/scripts/bootstrap-bada.js b/lib/scripts/bootstrap-bada.js
new file mode 100644
index 0000000..19cf867
--- /dev/null
+++ b/lib/scripts/bootstrap-bada.js
@@ -0,0 +1 @@
+require('cordova/channel').onNativeReady.fire();