mirror of
https://gitee.com/shuto/cordova-plugin-network-information.git
synced 2025-01-31 10:35:43 +08:00
Initial implementation of Tizen plugin.
This commit is contained in:
parent
f1a99e72fe
commit
a78e4c5dc7
28
plugin.xml
28
plugin.xml
@ -11,7 +11,7 @@ xmlns:android="http://schemas.android.com/apk/res/android"
|
|||||||
<keywords>cordova,network,information</keywords>
|
<keywords>cordova,network,information</keywords>
|
||||||
<repo>https://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information.git</repo>
|
<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>
|
<issue>https://issues.apache.org/jira/browse/CB/component/12320640</issue>
|
||||||
|
|
||||||
<js-module src="www/network.js" name="network">
|
<js-module src="www/network.js" name="network">
|
||||||
<clobbers target="navigator.connection" />
|
<clobbers target="navigator.connection" />
|
||||||
<clobbers target="navigator.network.connection" />
|
<clobbers target="navigator.network.connection" />
|
||||||
@ -20,43 +20,43 @@ xmlns:android="http://schemas.android.com/apk/res/android"
|
|||||||
<js-module src="www/Connection.js" name="Connection">
|
<js-module src="www/Connection.js" name="Connection">
|
||||||
<clobbers target="Connection" />
|
<clobbers target="Connection" />
|
||||||
</js-module>
|
</js-module>
|
||||||
|
|
||||||
<!-- firefoxos -->
|
<!-- firefoxos -->
|
||||||
<platform name="firefoxos">
|
<platform name="firefoxos">
|
||||||
<config-file target="config.xml" parent="/*">
|
<config-file target="config.xml" parent="/*">
|
||||||
<feature name="Network">
|
<feature name="Network">
|
||||||
<param name="firefoxos-package" value="Network" />
|
<param name="firefoxos-package" value="Network" />
|
||||||
</feature>
|
</feature>
|
||||||
</config-file>
|
</config-file>
|
||||||
<js-module src="src/firefoxos/NetworkProxy.js" name="NetworkProxy">
|
<js-module src="src/firefoxos/NetworkProxy.js" name="NetworkProxy">
|
||||||
<runs />
|
<runs />
|
||||||
</js-module>
|
</js-module>
|
||||||
</platform>
|
</platform>
|
||||||
|
|
||||||
<!-- android -->
|
<!-- android -->
|
||||||
<platform name="android">
|
<platform name="android">
|
||||||
<config-file target="res/xml/config.xml" parent="/*">
|
<config-file target="res/xml/config.xml" parent="/*">
|
||||||
<feature name="NetworkStatus">
|
<feature name="NetworkStatus">
|
||||||
<param name="android-package" value="org.apache.cordova.networkinformation.NetworkManager"/>
|
<param name="android-package" value="org.apache.cordova.networkinformation.NetworkManager"/>
|
||||||
</feature>
|
</feature>
|
||||||
</config-file>
|
</config-file>
|
||||||
|
|
||||||
<config-file target="AndroidManifest.xml" parent="/*">
|
<config-file target="AndroidManifest.xml" parent="/*">
|
||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||||
</config-file>
|
</config-file>
|
||||||
|
|
||||||
<source-file src="src/android/NetworkManager.java" target-dir="src/org/apache/cordova/networkinformation" />
|
<source-file src="src/android/NetworkManager.java" target-dir="src/org/apache/cordova/networkinformation" />
|
||||||
|
|
||||||
</platform>
|
</platform>
|
||||||
|
|
||||||
<!-- ios -->
|
<!-- ios -->
|
||||||
<platform name="ios">
|
<platform name="ios">
|
||||||
<config-file target="config.xml" parent="/*">
|
<config-file target="config.xml" parent="/*">
|
||||||
<feature name="NetworkStatus">
|
<feature name="NetworkStatus">
|
||||||
<param name="ios-package" value="CDVConnection" />
|
<param name="ios-package" value="CDVConnection" />
|
||||||
</feature>
|
</feature>
|
||||||
</config-file>
|
</config-file>
|
||||||
|
|
||||||
<header-file src="src/ios/CDVConnection.h" />
|
<header-file src="src/ios/CDVConnection.h" />
|
||||||
<source-file src="src/ios/CDVConnection.m" />
|
<source-file src="src/ios/CDVConnection.m" />
|
||||||
<header-file src="src/ios/CDVReachability.h" />
|
<header-file src="src/ios/CDVReachability.h" />
|
||||||
@ -109,4 +109,10 @@ xmlns:android="http://schemas.android.com/apk/res/android"
|
|||||||
</js-module>
|
</js-module>
|
||||||
</platform>
|
</platform>
|
||||||
|
|
||||||
|
<!-- tizen -->
|
||||||
|
<platform name="tizen">
|
||||||
|
<js-module src="src/tizen/NetworkProxy.js" name="NetworkProxy">
|
||||||
|
<runs />
|
||||||
|
</js-module>
|
||||||
|
</platform>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
71
src/tizen/NetworkProxy.js
Normal file
71
src/tizen/NetworkProxy.js
Normal file
@ -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);
|
Loading…
Reference in New Issue
Block a user