import {Plugin, Cordova, CordovaProperty} from './plugin'; import {Observable} from "rxjs/Observable"; declare var navigator; /** * @name Network * @description * Requires Cordova plugin: cordova-plugin-network-information. For more info, please see the [Network plugin docs](https://github.com/apache/cordova-plugin-network-information). * * @usage * ```js * import {Network, Connection} from 'ionic-native'; * * // watch network for a disconnect * let disconnectSubscription = Network.onDisconnect().subscribe(() => { * console.log('network was disconnected :-( ') * }); * * // stop disconnect watch * disconnectSubscription.unsubscribe(); * * * // watch network for a connection * let connectSubscription = Network.onConnect().subscribe(() => { * console.log('network connected!');
* * // We just got a connection but we need to wait briefly * 
// before we determine the connection type. Might need to wait
 * // prior to doing any api requests as well. * setTimeout(() => { * console.log(Network.connection); * if (Network.connection === Connection.WIFI) { * console.log('we got a wifi connection, woohoo!'); * } * }); * }); * * // stop connect watch * connectSubscription.unsubscribe(); * * ``` */ @Plugin({ plugin: 'cordova-plugin-network-information', repo: 'https://github.com/apache/cordova-plugin-network-information', platforms: ['Amazon Fire OS', 'iOS', 'Android', 'BlackBerry 10', 'Windows Phone 7', 'Windows Phone 8', 'Windows', 'Firefox OS', 'Browser'], pluginRef: 'navigator.connection' }) export class Network { /** * Return the network connection type */ @CordovaProperty static get connection() : Connection { return navigator.connection.type; } /** * Watch the network for a disconnect (i.e. network goes offline) * @returns {Observable} Returns an observable. */ @Cordova({ eventObservable: true, event: 'offline' }) static onDisconnect() : Observable { return } /** * Watch the network for a connection (i.e. network goes online) * @returns {Observable} Returns an observable. */ @Cordova({ eventObservable: true, event: 'online' }) static onConnect() : Observable { return; } } export class Connection { static get UNKNOWN() { return "unknown"; } static get ETHERNET() { return "ethernet"; } static get WIFI() { return "wifi"; } static get CELL_2G() { return "2g"; } static get CELL_3G() { return "3g"; } static get CELL_4G() { return "4g"; } static get CELL() { return "cellular"; } static get NONE() { return "none"; } }