Merge branch 'tizen' of http://github.com/siovene/cordova-plugin-network-information into dev
diff --git a/plugin.xml b/plugin.xml
index 2fd1f09..c097e7a 100644
--- a/plugin.xml
+++ b/plugin.xml
@@ -11,7 +11,7 @@
<keywords>cordova,network,information</keywords>
<repo>https://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information.git</repo>
<issue>https://issues.apache.org/jira/browse/CB/component/12320640</issue>
-
+
<js-module src="www/network.js" name="network">
<clobbers target="navigator.connection" />
<clobbers target="navigator.network.connection" />
@@ -20,33 +20,33 @@
<js-module src="www/Connection.js" name="Connection">
<clobbers target="Connection" />
</js-module>
-
- <!-- firefoxos -->
+
+ <!-- firefoxos -->
<platform name="firefoxos">
<config-file target="config.xml" parent="/*">
<feature name="Network">
<param name="firefoxos-package" value="Network" />
</feature>
- </config-file>
+ </config-file>
<js-module src="src/firefoxos/NetworkProxy.js" name="NetworkProxy">
<runs />
</js-module>
</platform>
-
+
<!-- android -->
<platform name="android">
<config-file target="res/xml/config.xml" parent="/*">
<feature name="NetworkStatus">
<param name="android-package" value="org.apache.cordova.networkinformation.NetworkManager"/>
- </feature>
+ </feature>
</config-file>
-
+
<config-file target="AndroidManifest.xml" parent="/*">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
</config-file>
<source-file src="src/android/NetworkManager.java" target-dir="src/org/apache/cordova/networkinformation" />
-
+
</platform>
<!-- amazon-fireos -->
@@ -78,13 +78,13 @@
</platform>
<!-- ios -->
- <platform name="ios">
+ <platform name="ios">
<config-file target="config.xml" parent="/*">
<feature name="NetworkStatus">
- <param name="ios-package" value="CDVConnection" />
+ <param name="ios-package" value="CDVConnection" />
</feature>
</config-file>
-
+
<header-file src="src/ios/CDVConnection.h" />
<source-file src="src/ios/CDVConnection.m" />
<header-file src="src/ios/CDVReachability.h" />
@@ -137,4 +137,10 @@
</js-module>
</platform>
+ <!-- tizen -->
+ <platform name="tizen">
+ <js-module src="src/tizen/NetworkProxy.js" name="NetworkProxy">
+ <runs />
+ </js-module>
+ </platform>
</plugin>
diff --git a/src/tizen/NetworkProxy.js b/src/tizen/NetworkProxy.js
new file mode 100644
index 0000000..1b7a89a
--- /dev/null
+++ b/src/tizen/NetworkProxy.js
@@ -0,0 +1,71 @@
+var cordova = require('cordova');
+var Connection = require('./Connection');
+
+module.exports = {
+ getConnectionInfo: function(successCallback, errorCallback) {
+ var cncType = Connection.NONE;
+ var infoCount = 0;
+ var deviceCapabilities = null;
+ var timerId = 0;
+ var timeout = 300;
+
+
+ function connectionCB() {
+ if (timerId !== null) {
+ clearTimeout(timerId);
+ timerId = null;
+ }
+
+ infoCount++;
+
+ if (infoCount > 1) {
+ if (successCallback) {
+ successCallback(cncType);
+ }
+ }
+ }
+
+ function errorCB(error) {
+ console.log("Error: " + error.code + "," + error.name + "," + error.message);
+
+ if (errorCallback) {
+ errorCallback();
+ }
+ }
+
+ function wifiSuccessCB(wifi) {
+ if ((wifi.status === "ON") && (wifi.ipAddress.length !== 0)) {
+ cncType = Connection.WIFI;
+ }
+ connectionCB();
+ }
+
+ function cellularSuccessCB(cell) {
+ if ((cncType === Connection.NONE) && (cell.status === "ON") && (cell.ipAddress.length !== 0)) {
+ cncType = Connection.CELL_2G;
+ }
+ connectionCB();
+ }
+
+
+ deviceCapabilities = tizen.systeminfo.getCapabilities();
+
+
+ timerId = setTimeout(function() {
+ timerId = null;
+ infoCount = 1;
+ connectionCB();
+ }, timeout);
+
+
+ if (deviceCapabilities.wifi) {
+ tizen.systeminfo.getPropertyValue("WIFI_NETWORK", wifiSuccessCB, errorCB);
+ }
+
+ if (deviceCapabilities.telephony) {
+ tizen.systeminfo.getPropertyValue("CELLULAR_NETWORK", cellularSuccessCB, errorCB);
+ }
+ }
+};
+
+require("cordova/tizen/commandProxy").add("NetworkStatus", module.exports);