added network connection api
diff --git a/framework/cordova-1.6.0.js b/framework/cordova-1.6.0.js
index 23215f2..66b6848 100644
--- a/framework/cordova-1.6.0.js
+++ b/framework/cordova-1.6.0.js
@@ -1369,11 +1369,18 @@
method: 'getstatus',
parameters: {},
onSuccess: function(result) {
+
var status = NetworkStatus.NOT_REACHABLE;
- if (result.isInternetConnectionAvailable == true)
- {
- // don't know whether its via wifi or carrier ... so return the worst case
- status = NetworkStatus.REACHABLE_VIA_CARRIER_DATA_NETWORK;
+ if (result.isInternetConnectionAvailable == true) {
+
+ if (result.wan.state == "connected") {
+ status = NetworkStatus.REACHABLE_VIA_CARRIER_DATA_NETWORK;
+ }
+
+ if (result.wifi.state == "connected") {
+ status = NetworkStatus.REACHABLE_VIA_WIFI_NETWORK;
+ }
+
}
successCallback(status);
},
@@ -1382,6 +1389,17 @@
};
+Network.prototype.connection = function(hostName, successCallback, options) {
+ this.request = navigator.service.Request('palm://com.palm.connectionmanager', {
+ method: 'getstatus',
+ parameters: {},
+ onSuccess: function(result) {
+ successCallback(result);
+ },
+ onFailure: function() {}
+ });
+};
+
/*
* This class contains information about any NetworkStatus.
* @constructor
diff --git a/framework/index.html b/framework/index.html
index fb62362..8d0f103 100644
--- a/framework/index.html
+++ b/framework/index.html
@@ -31,7 +31,7 @@
<a onclick="page('screen');">Adjust Screen Settings</a>
<a onclick="page('notifications');">Notification Examples</a>
<a onclick="info();">Show Device Info</a>
- <a onclick="net();">Show Network Info</a>
+ <a onclick="page('net');">Show Network Info</a>
<a onclick="window.debug.log('trace this');">Console Logging</a>
<a onclick="launchmap()">Launch Map App</a>
<a onclick="navigator.window.newCard('dashboard.html'); menu(false);">Launch New Card</a>
@@ -74,7 +74,14 @@
<div id="info" style="display: none;"></div>
-<div id="net" style="display: none;"></div>
+<div id="net" style="display: none;">
+ <p>navigator.network.isReachable</p>
+ <button id="isReachable" onclick="isReachable();">isReachable</button>
+ <p>navigator.network.connection</p>
+ <button id="isReachable" onclick="networkConnection();">connection</button>
+ <div id="networkResult"></div>
+
+</div>
<div id="camera" style="display: none;"></div>
@@ -223,9 +230,8 @@
page('storage');
}
-function net() {
- page('net');
- var netpage = lastpage;
+function isReachable() {
+ var netpage = document.getElementById("networkResult");
netpage.innerHTML = "Requesting network info...";
function successful(response) {
@@ -244,6 +250,18 @@
var request = navigator.network.isReachable('palm://com.palm.connectionmanager', successful, {});
}
+function networkConnection() {
+
+ var netpage = document.getElementById("networkResult");
+ netpage.innerHTML = "Requesting connection info...";
+
+ function successful(response) {
+ netpage.innerHTML = JSON.stringify(response);
+ }
+
+ var request = navigator.network.connection('palm://com.palm.connectionmanager', successful, {});
+}
+
function displayCurrentOrientation() {
navigator.notification.showBanner(navigator.orientation.getCurrentOrientation(), 'current orientaiton');
}
diff --git a/js/network.js b/js/network.js
index 8737baf..d5d6bbf 100755
--- a/js/network.js
+++ b/js/network.js
@@ -10,11 +10,18 @@
method: 'getstatus',
parameters: {},
onSuccess: function(result) {
+
var status = NetworkStatus.NOT_REACHABLE;
- if (result.isInternetConnectionAvailable == true)
- {
- // don't know whether its via wifi or carrier ... so return the worst case
- status = NetworkStatus.REACHABLE_VIA_CARRIER_DATA_NETWORK;
+ if (result.isInternetConnectionAvailable == true) {
+
+ if (result.wan.state == "connected") {
+ status = NetworkStatus.REACHABLE_VIA_CARRIER_DATA_NETWORK;
+ }
+
+ if (result.wifi.state == "connected") {
+ status = NetworkStatus.REACHABLE_VIA_WIFI_NETWORK;
+ }
+
}
successCallback(status);
},
@@ -23,6 +30,17 @@
};
+Network.prototype.connection = function(hostName, successCallback, options) {
+ this.request = navigator.service.Request('palm://com.palm.connectionmanager', {
+ method: 'getstatus',
+ parameters: {},
+ onSuccess: function(result) {
+ successCallback(result);
+ },
+ onFailure: function() {}
+ });
+};
+
/*
* This class contains information about any NetworkStatus.
* @constructor