From ec83c32ebd45a87db440311f13f5d10dca651b0b Mon Sep 17 00:00:00 2001 From: Lukasz Bardeli Date: Fri, 4 Dec 2015 13:47:42 +0100 Subject: [PATCH] [Network Information] Fix for actual type of network connection [Verification] Code compiles without error. Passrate 100% (4 specs, 0 failures) Change-Id: I6df2f6fa4eae2377b744294d5453e16cbf2835eb Signed-off-by: Lukasz Bardeli --- .../cordova_networkinformation_api.js | 46 ++++++++++++++++++++-- 1 file changed, 43 insertions(+), 3 deletions(-) diff --git a/src/networkinformation/cordova_networkinformation_api.js b/src/networkinformation/cordova_networkinformation_api.js index 1d5d582..bb013d2 100644 --- a/src/networkinformation/cordova_networkinformation_api.js +++ b/src/networkinformation/cordova_networkinformation_api.js @@ -20,6 +20,8 @@ var plugin_name = 'cordova-plugin-network-information.tizen.NetworkStatus'; cordova.define(plugin_name, function(require, exports, module) { // TODO: remove -> end +var cordova = require('cordova'); + function toCordovaConnectionType(type) { switch (type) { case 'NONE': @@ -54,9 +56,9 @@ function onSuccessCallback(info) { var type = toCordovaConnectionType(info.networkType); if (Connection.NONE === type || Connection.UNKNOWN === type) { - document.dispatchEvent(new Event('offline')); + cordova.fireDocumentEvent('offline'); } else { - document.dispatchEvent(new Event('online')); + cordova.fireDocumentEvent('online'); } } @@ -74,7 +76,11 @@ exports = { getConnectionInfo: function(successCallback, errorCallback, args) { tizen.systeminfo.getPropertyValue('NETWORK', function(info) { successCallback(toCordovaConnectionType(info.networkType)); - }, errorCallback); + }, function(e){ + if (errorCallback) { + errorCallback(e); + } + }); } }; @@ -85,7 +91,41 @@ console.log('Loaded cordova.networkinformation API'); // TODO: remove when added to public cordova repository -> begin }); +var plugin_name_type = 'cordova-plugin-network-information.tizen.NetworkStatus.type'; + +cordova.define(plugin_name_type, function(require, exports, module) { +//TODO: remove -> end + +var exec = require('cordova/exec'); + +function NetworkConnection() { + this.type = Connection.UNKNOWN; + var that = this; + function successCallback(info) { + that.type = info; + } + + function errorCallback() { + that.type = Connection.UNKNOWN; + } + + function getType() { + exec(successCallback, errorCallback, 'NetworkStatus', 'getConnectionInfo', []); + } + + document.addEventListener('offline', getType); + document.addEventListener('online', getType); +} +var me = new NetworkConnection(); + +module.exports = me; + +//TODO: remove when added to public cordova repository -> begin +}); + exports = function(require) { require('cordova-tizen').addPlugin('cordova-plugin-network-information.network', plugin_name, 'runs'); + require('cordova-tizen').addPlugin('cordova-plugin-network-information.network', plugin_name_type, 'clobbers', 'navigator.connection'); + require('cordova-tizen').addPlugin('cordova-plugin-network-information.network', plugin_name_type, 'clobbers', 'navigator.network.connection'); }; // TODO: remove -> end -- 2.7.4