summaryrefslogtreecommitdiff
path: root/StoneIsland/plugins/cordova-plugin-network-information
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2015-09-10 14:58:03 -0400
committerJules Laplace <jules@okfoc.us>2015-09-10 14:58:03 -0400
commitd73a4b1c5a2540077607dcc4001acbae85980ae4 (patch)
treec30089f1742f9430bb18679dc6664157a5dc66f4 /StoneIsland/plugins/cordova-plugin-network-information
parent124e6c0a8d9577b4a30e0b265f5c23d637c41966 (diff)
app skeleton
Diffstat (limited to 'StoneIsland/plugins/cordova-plugin-network-information')
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/CONTRIBUTING.md37
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/LICENSE202
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/NOTICE8
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/README.md208
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/RELEASENOTES.md116
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/doc/de/README.md190
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/doc/de/index.md186
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/doc/es/README.md190
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/doc/es/index.md186
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/doc/fr/README.md188
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/doc/fr/index.md184
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/doc/it/README.md190
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/doc/it/index.md186
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/doc/ja/README.md190
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/doc/ja/index.md186
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/doc/ko/README.md190
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/doc/ko/index.md186
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/doc/pl/README.md190
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/doc/pl/index.md186
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/doc/ru/index.md182
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/doc/zh/README.md190
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/doc/zh/index.md186
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/package.json46
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/plugin.xml174
-rwxr-xr-xStoneIsland/plugins/cordova-plugin-network-information/src/android/NetworkManager.java267
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/src/blackberry10/index.js64
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/src/firefoxos/NetworkProxy.js97
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/src/ios/CDVConnection.h34
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/src/ios/CDVConnection.m127
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/src/ios/CDVReachability.h85
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/src/ios/CDVReachability.m260
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/src/tizen/NetworkProxy.js92
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/src/ubuntu/network_information.cpp63
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/src/ubuntu/network_information.h47
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/src/windows/NetworkInfoProxy.js88
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/src/wp/NetworkStatus.cs129
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/tests/plugin.xml30
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/tests/tests.js101
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/www/Connection.js34
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/www/browser/network.js92
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/www/network.js91
41 files changed, 5678 insertions, 0 deletions
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/CONTRIBUTING.md b/StoneIsland/plugins/cordova-plugin-network-information/CONTRIBUTING.md
new file mode 100644
index 00000000..f7dbcaba
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/CONTRIBUTING.md
@@ -0,0 +1,37 @@
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+-->
+
+# Contributing to Apache Cordova
+
+Anyone can contribute to Cordova. And we need your contributions.
+
+There are multiple ways to contribute: report bugs, improve the docs, and
+contribute code.
+
+For instructions on this, start with the
+[contribution overview](http://cordova.apache.org/#contribute).
+
+The details are explained there, but the important items are:
+ - Sign and submit an Apache ICLA (Contributor License Agreement).
+ - Have a Jira issue open that corresponds to your contribution.
+ - Run the tests so your patch doesn't break existing functionality.
+
+We look forward to your contributions!
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/LICENSE b/StoneIsland/plugins/cordova-plugin-network-information/LICENSE
new file mode 100644
index 00000000..7a4a3ea2
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License. \ No newline at end of file
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/NOTICE b/StoneIsland/plugins/cordova-plugin-network-information/NOTICE
new file mode 100644
index 00000000..fb19cbdb
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/NOTICE
@@ -0,0 +1,8 @@
+Apache Cordova
+Copyright 2012 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+This product includes software developed by Apple Inc. License can be found in the header of the affected files. (src/ios/CDVReachability.h, src/ios/CDVReachability.m)
+
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/README.md b/StoneIsland/plugins/cordova-plugin-network-information/README.md
new file mode 100644
index 00000000..c78f3b02
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/README.md
@@ -0,0 +1,208 @@
+<!--
+# license: Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+-->
+
+# cordova-plugin-network-information
+
+[![Build Status](https://travis-ci.org/apache/cordova-plugin-network-information.svg)](https://travis-ci.org/apache/cordova-plugin-network-information)
+
+This plugin provides an implementation of an old version of the
+[Network Information API](http://www.w3.org/TR/2011/WD-netinfo-api-20110607/).
+It provides information about the device's cellular and
+wifi connection, and whether the device has an internet connection.
+
+## Installation
+
+ cordova plugin add cordova-plugin-network-information
+
+## Supported Platforms
+
+- Amazon Fire OS
+- Android
+- BlackBerry 10
+- Browser
+- iOS
+- Windows Phone 7 and 8
+- Tizen
+- Windows
+- Firefox OS
+
+# Connection
+
+> The `connection` object, exposed via `navigator.connection`, provides information about the device's cellular and wifi connection.
+
+## Properties
+
+- connection.type
+
+## Constants
+
+- Connection.UNKNOWN
+- Connection.ETHERNET
+- Connection.WIFI
+- Connection.CELL_2G
+- Connection.CELL_3G
+- Connection.CELL_4G
+- Connection.CELL
+- Connection.NONE
+
+## connection.type
+
+This property offers a fast way to determine the device's network
+connection state, and type of connection.
+
+### Quick Example
+
+ function checkConnection() {
+ var networkState = navigator.connection.type;
+
+ var states = {};
+ states[Connection.UNKNOWN] = 'Unknown connection';
+ states[Connection.ETHERNET] = 'Ethernet connection';
+ states[Connection.WIFI] = 'WiFi connection';
+ states[Connection.CELL_2G] = 'Cell 2G connection';
+ states[Connection.CELL_3G] = 'Cell 3G connection';
+ states[Connection.CELL_4G] = 'Cell 4G connection';
+ states[Connection.CELL] = 'Cell generic connection';
+ states[Connection.NONE] = 'No network connection';
+
+ alert('Connection type: ' + states[networkState]);
+ }
+
+ checkConnection();
+
+
+### API Change
+
+Until Cordova 2.3.0, the `Connection` object was accessed via
+`navigator.network.connection`, after which it was changed to
+`navigator.connection` to match the W3C specification. It's still
+available at its original location, but is deprecated and will
+eventually be removed.
+
+### iOS Quirks
+
+- iOS can't detect the type of cellular network connection.
+ - `navigator.connection.type` is set to `Connection.CELL` for all cellular data.
+
+### Windows Phone Quirks
+
+- When running in the emulator, always detects `navigator.connection.type` as `Connection.UNKNOWN`.
+
+- Windows Phone can't detect the type of cellular network connection.
+ - `navigator.connection.type` is set to `Connection.CELL` for all cellular data.
+
+### Windows Quirks
+
+- When running in the Phone 8.1 emulator, always detects `navigator.connection.type` as `Connection.ETHERNET`.
+
+### Tizen Quirks
+
+- Tizen can only detect a WiFi or cellular connection.
+ - `navigator.connection.type` is set to `Connection.CELL_2G` for all cellular data.
+
+### Firefox OS Quirks
+
+- Firefox OS can't detect the type of cellular network connection.
+ - `navigator.connection.type` is set to `Connection.CELL` for all cellular data.
+
+### Browser Quirks
+
+- Browser can't detect the type of network connection.
+`navigator.connection.type` is always set to `Connection.UNKNOWN` when online.
+
+# Network-related Events
+
+## offline
+
+The event fires when an application goes offline, and the device is
+not connected to the Internet.
+
+ document.addEventListener("offline", yourCallbackFunction, false);
+
+### Details
+
+The `offline` event fires when a previously connected device loses a
+network connection so that an application can no longer access the
+Internet. It relies on the same information as the Connection API,
+and fires when the value of `connection.type` becomes `NONE`.
+
+Applications typically should use `document.addEventListener` to
+attach an event listener once the `deviceready` event fires.
+
+### Quick Example
+
+ document.addEventListener("offline", onOffline, false);
+
+ function onOffline() {
+ // Handle the offline event
+ }
+
+
+### iOS Quirks
+
+During initial startup, the first offline event (if applicable) takes at least a second to fire.
+
+### Windows Phone 7 Quirks
+
+When running in the Emulator, the `connection.status` is always unknown, so this event does _not_ fire.
+
+### Windows Phone 8 Quirks
+
+The Emulator reports the connection type as `Cellular`, which does not change, so the event does _not_ fire.
+
+## online
+
+This event fires when an application goes online, and the device
+becomes connected to the Internet.
+
+ document.addEventListener("online", yourCallbackFunction, false);
+
+### Details
+
+The `online` event fires when a previously unconnected device receives
+a network connection to allow an application access to the Internet.
+It relies on the same information as the Connection API,
+and fires when the `connection.type` changes from `NONE` to any other
+value.
+
+Applications typically should use `document.addEventListener` to
+attach an event listener once the `deviceready` event fires.
+
+### Quick Example
+
+ document.addEventListener("online", onOnline, false);
+
+ function onOnline() {
+ // Handle the online event
+ }
+
+
+### iOS Quirks
+
+During initial startup, the first `online` event (if applicable) takes
+at least a second to fire, prior to which `connection.type` is
+`UNKNOWN`.
+
+### Windows Phone 7 Quirks
+
+When running in the Emulator, the `connection.status` is always unknown, so this event does _not_ fire.
+
+### Windows Phone 8 Quirks
+
+The Emulator reports the connection type as `Cellular`, which does not change, so events does _not_ fire.
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/RELEASENOTES.md b/StoneIsland/plugins/cordova-plugin-network-information/RELEASENOTES.md
new file mode 100644
index 00000000..06bc5090
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/RELEASENOTES.md
@@ -0,0 +1,116 @@
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+-->
+# Release Notes
+
+### 0.2.1 (Sept 5, 2013)
+* CB-4432 copyright notice change
+
+### 0.2.3 (Sept 25, 2013)
+* CB-4889 bumping&resetting version
+* [windows8] commandProxy was moved
+* CB-4889 renaming org.apache.cordova.core.network-information to org.apache.cordova.network-information
+* removed duplicate comment line from plugin.xml
+* added Network APIs for FirefoxOS
+* Rename CHANGELOG.md -> RELEASENOTES.md
+* [CB-4752] Incremented plugin version on dev branch.
+
+### 0.2.4 (Oct 28, 2013)
+* CB-5128: add repo + issue tag to plugin.xml for network information plugin
+* [CB-4915] Incremented plugin version on dev branch.
+
+### 0.2.5 (Dec 4, 2013)
+* [ubuntu] specify policy_group
+* add ubuntu platform
+* Added amazon-fireos platform. Change to use amazon-fireos as the platform if user agent string contains 'cordova-amazon-fireos'
+
+### 0.2.6 (Jan 02, 2014)
+* CB-5658 Add doc/index.md for netinfo plugin
+
+### 0.2.7 (Feb 05, 2014)
+* Initial implementation of Tizen plugin.
+
+### 0.2.8 (Apr 17, 2014)
+* CB-6342: [iOS] iOS reports a cellular connection even when in Airplane mode
+* CB-6422: [windows8] use cordova/exec/proxy
+* CB-6460: Update license headers
+* CB-6465: Add license headers to Tizen code
+* Add NOTICE file
+
+### 0.2.9 (Jun 05, 2014)
+* updated notice file to include missing license
+* Cached extra info to better detect changes.
+* CB-6809 Add license to CONTRIBUTING.md
+* CB-6491 add CONTRIBUTING.md
+* CB-6350 - Fix networkStatusForFlags return value type to work with 64-bit iOS (closes #8)
+* Initial version of firefox os network information plugin
+* there was an error in the object definition
+
+### 0.2.10 (Jun 24, 2014)
+* CB-6907: [android] Don't crash on startup if no networks available
+
+### 0.2.11 (Aug 06, 2014)
+* **FFOS** update NetworkProxy.js
+* CB-6127 Updated translations for docs
+* CB-7019 Updated version and RELEASENOTES.md for release 0.2.10
+* Fixed docs for online/offline event being backwards
+
+### 0.2.12 (Sep 17, 2014)
+* CB-7471 cordova-plugin-network-information documentation translation
+* Fix network information type exception on fxos 2
+* Added support for the browser
+* CB-6724 added documentation for manual tests
+* remove reference to test assets, they are optional
+* Renamed test dir and added nested plugin.xml
+* CB-6964 ported manual tests
+* Port network tests to plugin-test-framework
+* Fix naviagtor typo
+
+### 0.2.13 (Oct 03, 2014)
+* CB-7595: Android L changes the type from Mobile to Cellular, I'm pretty sure this isn't documented
+
+### 0.2.14 (Dec 02, 2014)
+* CB-7976 **Android**: Use webView's context rather than Activity's context for intent receiver
+* CB-7700 cordova-plugin-network-information documentation translation: cordova-plugin-network-information
+
+### 0.2.15 (Feb 04, 2015)
+* CB-8384 Network status change support on Windows
+* CB-8384 Fixes the way we detect online status on Windows
+* CB-8384 Add Windows platform quirks
+* CB-8384 Add Windows section to Network Information plugin
+
+### 1.0.0 (Apr 15, 2015)
+* CB-8746 gave plugin major version bump
+* CB-8683 changed plugin-id to pacakge-name
+* CB-8653 properly updated translated docs to use new id
+* CB-8653 updated translated docs to use new id
+* CB-8185 Fixes typo in `cordova.platformId`
+* Use TRAVIS_BUILD_DIR, install paramedic by npm
+* CB-8185 Use `navigator.onLine` as connection information source on browser platform
+* CB-8653 Updated Readme
+* CB-8659: ios: 4.0.x Compatibility: Remove use of initWebView method
+* CB-8573 Integrate TravisCI
+* CB-8438 cordova-plugin-network-information documentation translation: cordova-plugin-network-information
+* CB-8538 Added package.json file
+
+### 1.0.1 (Jun 17, 2015)
+* Adding .ratignore file.
+* CB-9128 cordova-plugin-network-information documentation translation: cordova-plugin-network-information
+* fix npm md issue
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/doc/de/README.md b/StoneIsland/plugins/cordova-plugin-network-information/doc/de/README.md
new file mode 100644
index 00000000..f6292b27
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/doc/de/README.md
@@ -0,0 +1,190 @@
+<!--
+# license: Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+-->
+
+# cordova-plugin-network-information
+
+[![Build Status](https://travis-ci.org/apache/cordova-plugin-network-information.svg)](https://travis-ci.org/apache/cordova-plugin-network-information)
+
+Dieses Plugin stellt eine Implementierung einer alten Version der [Netzwerk-Informationen-API](http://www.w3.org/TR/2011/WD-netinfo-api-20110607/). Es werden Informationen über das Gerät Mobilfunk und Wifi-Anschluss, und ob das Gerät über eine Internetverbindung verfügt.
+
+## Installation
+
+ cordova plugin add cordova-plugin-network-information
+
+
+## Unterstützte Plattformen
+
+ * Amazon Fire OS
+ * Android
+ * BlackBerry 10
+ * Browser
+ * iOS
+ * Windows Phone 7 und 8
+ * Tizen
+ * Windows
+ * Firefox OS
+
+# Connection
+
+> Das `connection` Objekt, verfügbar gemachten über `navigator.connection`, enthält Informationen über die Mobilfunk- und Wi-Fi-Verbindung des Gerätes.
+
+## Eigenschaften
+
+ * connection.type
+
+## Konstanten
+
+ * Connection.UNKNOWN
+ * Connection.ETHERNET
+ * Connection.WIFI
+ * Connection.CELL_2G
+ * Connection.CELL_3G
+ * Connection.CELL_4G
+ * Connection.CELL
+ * Connection.NONE
+
+## connection.type
+
+Diese Eigenschaft bietet eine schnelle Möglichkeit, um den Netzwerkverbindungsstatus und die Art der Verbindung zu bestimmen.
+
+### Kurzes Beispiel
+
+ function checkConnection() {
+ var networkState = navigator.connection.type;
+
+ var states = {};
+ states[Connection.UNKNOWN] = 'Unknown connection';
+ states[Connection.ETHERNET] = 'Ethernet connection';
+ states[Connection.WIFI] = 'WiFi connection';
+ states[Connection.CELL_2G] = 'Cell 2G connection';
+ states[Connection.CELL_3G] = 'Cell 3G connection';
+ states[Connection.CELL_4G] = 'Cell 4G connection';
+ states[Connection.CELL] = 'Cell generic connection';
+ states[Connection.NONE] = 'No network connection';
+
+ alert('Connection type: ' + states[networkState]);
+ }
+
+ checkConnection();
+
+
+### API Änderung
+
+Bis Cordova 2.3.0 wurde auf das `Connection` Objekt über `navigator.network.connection` zugegriffen, danach wurde der Zugriff auf `navigator.connection` geändert, um der W3C-Spezifikation zu entsprechen. Es steht immer noch an seiner ursprünglichen Stelle, aber ist veraltet und wird schliesslich entfernt.
+
+### iOS Macken
+
+ * iOS kann Mobilfunknetz Verbindungstyp nicht erkennen.
+ * `navigator.connection.type`auf festgelegt ist `Connection.CELL` für alle Handy-Daten.
+
+### Windows Phone Macken
+
+ * Wenn im Emulator ausgeführt wird, erkennt immer `navigator.connection.type` als`Connection.UNKNOWN`.
+
+ * Windows Phone kann Mobilfunknetz Verbindungstyp nicht erkennen.
+
+ * `navigator.connection.type`auf festgelegt ist `Connection.CELL` für alle Handy-Daten.
+
+### Windows-Eigenheiten
+
+ * Wenn im Telefon 8.1 Emulator ausgeführt wird, erkennt immer `navigator.connection.type` als `Connection.ETHERNET`.
+
+### Tizen Macken
+
+ * Tizen kann nur ein WiFi oder Mobilfunkverbindung erkennen.
+ * `Navigator.Connection.Type` ist für alle Handy-Daten auf `Connection.CELL_2G` festgelegt.
+
+### Firefox OS Macken
+
+ * Firefox-OS kann Mobilfunknetz Verbindungstyp nicht erkennen.
+ * `navigator.connection.type`auf festgelegt ist `Connection.CELL` für alle Handy-Daten.
+
+### Browser-Eigenheiten
+
+ * Browser kann die Art der Netzwerkverbindung nicht erkennen. `navigator.connection.type` ist immer auf `Connection.UNKNOWN` beim online gesetzt.
+
+# Netzwerk-Veranstaltungen
+
+## offline
+
+Das Ereignis wird ausgelöst, wenn eine Anwendung offline geht, und das Gerät nicht mit dem Internet verbunden ist.
+
+ document.addEventListener("offline", yourCallbackFunction, false);
+
+
+### Details
+
+Das `offline` -Ereignis wird ausgelöst, wenn ein bereits angeschlossenes Gerät eine Netzwerkverbindung verliert, so dass eine Anwendung nicht mehr auf das Internet zugreifen kann. Es stützt sich auf die gleichen Informationen wie die Verbindung-API und wird ausgelöst, wenn der Wert des `connection.type` wird`NONE`.
+
+Anwendungen sollten in der Regel verwenden `document.addEventListener` einmal einen Ereignis-Listener hinzufügen das `deviceready` -Ereignis ausgelöst.
+
+### Kurzes Beispiel
+
+ document.addEventListener("offline", onOffline, false);
+
+ function onOffline() {
+ // Handle the offline event
+ }
+
+
+### iOS Macken
+
+Beim ersten Start dauert das erste offline-Event (falls zutreffend) mindestens eine Sekunde zu schießen.
+
+### Windows Phone 7 Macken
+
+Bei der Ausführung im Emulator, der `connection.status` ist immer unbekannt, so dass dieses Ereignis *nicht* Feuer.
+
+### Windows Phone 8 Macken
+
+Der Emulator meldet den Verbindungstyp als `Cellular` , die wird nicht geändert, so dass das Ereignis *nicht* Feuer.
+
+## online
+
+Dieses Ereignis wird ausgelöst, wenn eine Anwendung online geht, und das Gerät wird mit dem Internet verbunden.
+
+ document.addEventListener("online", yourCallbackFunction, false);
+
+
+### Details
+
+Das `online` -Ereignis wird ausgelöst, wenn ein zuvor unverbundenen Gerät eine Netzwerkverbindung zu einem Anwendung Zugriff auf das Internet empfängt. Es stützt sich auf die gleichen Informationen wie die Verbindung-API und wird ausgelöst, wenn die `connection.type` ändert sich von `NONE` auf einen anderen Wert.
+
+Anwendungen sollten in der Regel verwenden `document.addEventListener` einmal einen Ereignis-Listener hinzufügen das `deviceready` -Ereignis ausgelöst.
+
+### Kurzes Beispiel
+
+ document.addEventListener("online", onOnline, false);
+
+ function onOnline() {
+ // Handle the online event
+ }
+
+
+### iOS Macken
+
+Beim ersten Start die erste `online` Ereignis (falls zutreffend) dauert mindestens eine Sekunde vor dem Feuer `connection.type` ist`UNKNOWN`.
+
+### Windows Phone 7 Macken
+
+Bei der Ausführung im Emulator, der `connection.status` ist immer unbekannt, so dass dieses Ereignis *nicht* Feuer.
+
+### Windows Phone 8 Macken
+
+Der Emulator meldet den Verbindungstyp als `Cellular` , die wird nicht geändert, so dass Ereignisse *nicht* Feuer. \ No newline at end of file
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/doc/de/index.md b/StoneIsland/plugins/cordova-plugin-network-information/doc/de/index.md
new file mode 100644
index 00000000..537328a6
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/doc/de/index.md
@@ -0,0 +1,186 @@
+<!---
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+# cordova-plugin-network-information
+
+Dieses Plugin stellt eine Implementierung einer alten Version der [Netzwerk-Informationen-API][1]. Es werden Informationen über das Gerät Mobilfunk und Wifi-Anschluss, und ob das Gerät über eine Internetverbindung verfügt.
+
+ [1]: http://www.w3.org/TR/2011/WD-netinfo-api-20110607/
+
+## Installation
+
+ cordova plugin add cordova-plugin-network-information
+
+
+## Unterstützte Plattformen
+
+* Amazon Fire OS
+* Android
+* BlackBerry 10
+* Browser
+* iOS
+* Windows Phone 7 und 8
+* Tizen
+* Windows
+* Firefox OS
+
+# Connection
+
+> Das `connection` Objekt, verfügbar gemachten über `navigator.connection`, enthält Informationen über die Mobilfunk- und Wi-Fi-Verbindung des Gerätes.
+
+## Eigenschaften
+
+* connection.type
+
+## Konstanten
+
+* Connection.UNKNOWN
+* Connection.ETHERNET
+* Connection.WIFI
+* Connection.CELL_2G
+* Connection.CELL_3G
+* Connection.CELL_4G
+* Connection.CELL
+* Connection.NONE
+
+## connection.type
+
+Diese Eigenschaft bietet eine schnelle Möglichkeit, um den Netzwerkverbindungsstatus und die Art der Verbindung zu bestimmen.
+
+### Kurzes Beispiel
+
+ function checkConnection() {
+ var networkState = navigator.connection.type;
+
+ var states = {};
+ states[Connection.UNKNOWN] = 'Unknown connection';
+ states[Connection.ETHERNET] = 'Ethernet connection';
+ states[Connection.WIFI] = 'WiFi connection';
+ states[Connection.CELL_2G] = 'Cell 2G connection';
+ states[Connection.CELL_3G] = 'Cell 3G connection';
+ states[Connection.CELL_4G] = 'Cell 4G connection';
+ states[Connection.CELL] = 'Cell generic connection';
+ states[Connection.NONE] = 'No network connection';
+
+ alert('Connection type: ' + states[networkState]);
+ }
+
+ checkConnection();
+
+
+### API Änderung
+
+Bis Cordova 2.3.0 wurde auf das `Connection` Objekt über `navigator.network.connection` zugegriffen, danach wurde der Zugriff auf `navigator.connection` geändert, um der W3C-Spezifikation zu entsprechen. Es steht immer noch an seiner ursprünglichen Stelle, aber ist veraltet und wird schliesslich entfernt.
+
+### iOS Macken
+
+* iOS kann Mobilfunknetz Verbindungstyp nicht erkennen.
+ * `navigator.connection.type`auf festgelegt ist `Connection.CELL` für alle Handy-Daten.
+
+### Windows Phone Macken
+
+* Wenn im Emulator ausgeführt wird, erkennt immer `navigator.connection.type` als`Connection.UNKNOWN`.
+
+* Windows Phone kann Mobilfunknetz Verbindungstyp nicht erkennen.
+
+ * `navigator.connection.type`auf festgelegt ist `Connection.CELL` für alle Handy-Daten.
+
+### Windows-Eigenheiten
+
+* Wenn im Telefon 8.1 Emulator ausgeführt wird, erkennt immer `navigator.connection.type` als `Connection.ETHERNET`.
+
+### Tizen Macken
+
+* Tizen kann nur ein WiFi oder Mobilfunkverbindung erkennen.
+ * `Navigator.Connection.Type` ist für alle Handy-Daten auf `Connection.CELL_2G` festgelegt.
+
+### Firefox OS Macken
+
+* Firefox-OS kann Mobilfunknetz Verbindungstyp nicht erkennen.
+ * `navigator.connection.type`auf festgelegt ist `Connection.CELL` für alle Handy-Daten.
+
+# Netzwerk-Veranstaltungen
+
+## offline
+
+Das Ereignis wird ausgelöst, wenn eine Anwendung offline geht, und das Gerät nicht mit dem Internet verbunden ist.
+
+ document.addEventListener("offline", yourCallbackFunction, false);
+
+
+### Details
+
+Das `offline` -Ereignis wird ausgelöst, wenn ein bereits angeschlossenes Gerät eine Netzwerkverbindung verliert, so dass eine Anwendung nicht mehr auf das Internet zugreifen kann. Es stützt sich auf die gleichen Informationen wie die Verbindung-API und wird ausgelöst, wenn der Wert des `connection.type` wird`NONE`.
+
+Anwendungen sollten in der Regel verwenden `document.addEventListener` einmal einen Ereignis-Listener hinzufügen das `deviceready` -Ereignis ausgelöst.
+
+### Kurzes Beispiel
+
+ document.addEventListener("offline", onOffline, false);
+
+ function onOffline() {
+ // Handle the offline event
+ }
+
+
+### iOS Macken
+
+Beim ersten Start dauert das erste offline-Event (falls zutreffend) mindestens eine Sekunde zu schießen.
+
+### Windows Phone 7 Macken
+
+Bei der Ausführung im Emulator, der `connection.status` ist immer unbekannt, so dass dieses Ereignis *nicht* Feuer.
+
+### Windows Phone 8 Macken
+
+Der Emulator meldet den Verbindungstyp als `Cellular` , die wird nicht geändert, so dass das Ereignis *nicht* Feuer.
+
+## online
+
+Dieses Ereignis wird ausgelöst, wenn eine Anwendung online geht, und das Gerät wird mit dem Internet verbunden.
+
+ document.addEventListener("online", yourCallbackFunction, false);
+
+
+### Details
+
+Das `online` -Ereignis wird ausgelöst, wenn ein zuvor unverbundenen Gerät eine Netzwerkverbindung zu einem Anwendung Zugriff auf das Internet empfängt. Es stützt sich auf die gleichen Informationen wie die Verbindung-API und wird ausgelöst, wenn die `connection.type` ändert sich von `NONE` auf einen anderen Wert.
+
+Anwendungen sollten in der Regel verwenden `document.addEventListener` einmal einen Ereignis-Listener hinzufügen das `deviceready` -Ereignis ausgelöst.
+
+### Kurzes Beispiel
+
+ document.addEventListener("online", onOnline, false);
+
+ function onOnline() {
+ // Handle the online event
+ }
+
+
+### iOS Macken
+
+Beim ersten Start die erste `online` Ereignis (falls zutreffend) dauert mindestens eine Sekunde vor dem Feuer `connection.type` ist`UNKNOWN`.
+
+### Windows Phone 7 Macken
+
+Bei der Ausführung im Emulator, der `connection.status` ist immer unbekannt, so dass dieses Ereignis *nicht* Feuer.
+
+### Windows Phone 8 Macken
+
+Der Emulator meldet den Verbindungstyp als `Cellular` , die wird nicht geändert, so dass Ereignisse *nicht* Feuer.
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/doc/es/README.md b/StoneIsland/plugins/cordova-plugin-network-information/doc/es/README.md
new file mode 100644
index 00000000..4e30593d
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/doc/es/README.md
@@ -0,0 +1,190 @@
+<!--
+# license: Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+-->
+
+# cordova-plugin-network-information
+
+[![Build Status](https://travis-ci.org/apache/cordova-plugin-network-information.svg)](https://travis-ci.org/apache/cordova-plugin-network-information)
+
+Este plugin proporciona una implementación de una versión antigua de la [Red de información API](http://www.w3.org/TR/2011/WD-netinfo-api-20110607/). Proporciona información acerca del dispositivo móvil y conexión wifi, y si el dispositivo tiene una conexión a internet.
+
+## Instalación
+
+ cordova plugin add cordova-plugin-network-information
+
+
+## Plataformas soportadas
+
+ * Amazon fire OS
+ * Android
+ * BlackBerry 10
+ * Explorador
+ * iOS
+ * Windows Phone 7 y 8
+ * Tizen
+ * Windows
+ * Firefox OS
+
+# Connection
+
+> El objeto de `connection`, expuesto a través de `navigator.connection`, proporciona información sobre conexión celular y wifi del dispositivo.
+
+## Propiedades
+
+ * connection.type
+
+## Constantes
+
+ * Connection.UNKNOWN
+ * Connection.ETHERNET
+ * Connection.WIFI
+ * Connection.CELL_2G
+ * Connection.CELL_3G
+ * Connection.CELL_4G
+ * Connection.CELL
+ * Connection.NONE
+
+## connection.type
+
+Esta propiedad ofrece una forma rápida de determinar el estado de conexión de red del dispositivo y el tipo de conexión.
+
+### Ejemplo rápido
+
+ function checkConnection() {
+ var networkState = navigator.connection.type;
+
+ var states = {};
+ states[Connection.UNKNOWN] = 'Unknown connection';
+ states[Connection.ETHERNET] = 'Ethernet connection';
+ states[Connection.WIFI] = 'WiFi connection';
+ states[Connection.CELL_2G] = 'Cell 2G connection';
+ states[Connection.CELL_3G] = 'Cell 3G connection';
+ states[Connection.CELL_4G] = 'Cell 4G connection';
+ states[Connection.CELL] = 'Cell generic connection';
+ states[Connection.NONE] = 'No network connection';
+
+ alert('Connection type: ' + states[networkState]);
+ }
+
+ checkConnection();
+
+
+### Cambio de API
+
+Hasta Cordova 2.3.0, el objeto de `conexión` era acceder a través de `navigator.network.connection`, tras lo cual fue cambiada a `navigator.connection` para que coincida con la especificación del W3C. Sigue estando disponible en su ubicación original, pero es obsoleto y eventualmente desaparecerá.
+
+### iOS rarezas
+
+ * iOS no puede detectar el tipo de conexión de red celular.
+ * `navigator.connection.type` está establecido en `Connection.CELL` para todos los datos de celulares.
+
+### Windows Phone rarezas
+
+ * Cuando se ejecuta en el emulador, siempre detecta `navigator.connection.type` como `Connection.UNKNOWN`.
+
+ * Windows Phone no puede detectar el tipo de conexión de red celular.
+
+ * `navigator.connection.type` está establecido en `Connection.CELL` para todos los datos de celulares.
+
+### Windows rarezas
+
+ * Cuando se ejecuta en el emulador de teléfono 8.1, siempre detecta `navigator.connection.type` como`Connection.ETHERNET`.
+
+### Rarezas Tizen
+
+ * Tizen sólo puede detectar un Wi-Fi o conexión celular.
+ * `navigator.connection.type`se establece en `Connection.CELL_2G` para todos los datos celulares.
+
+### Firefox OS rarezas
+
+ * Firefox OS no puede detectar el tipo de conexión de red celular.
+ * `navigator.connection.type` está establecido en `Connection.CELL` para todos los datos de celulares.
+
+### Navegador rarezas
+
+ * Navegador no puede detectar el tipo de conexión de red. `Navigator.Connection.Type` se encuentra siempre a `Connection.UNKNOWN` cuando en línea.
+
+# Eventos relacionados con la red
+
+## offline
+
+El evento se desencadena cuando una aplicación está desconectada, y el dispositivo no está conectado a Internet.
+
+ document.addEventListener("offline", yourCallbackFunction, false);
+
+
+### Detalles
+
+El evento `offline` se desencadena cuando un dispositivo conectado previamente pierde una conexión de red para que una aplicación no puede acceder a Internet. Se basa en la misma información que la API de conexión y cuando se dispara el valor del `connection.type` se convierte`NONE`.
+
+Las aplicaciones normalmente deben utilizar `document.addEventListener` para conectar un detector de eventos una vez que se desencadene el evento `deviceready`.
+
+### Ejemplo rápido
+
+ document.addEventListener("offline", onOffline, false);
+
+ function onOffline() {
+ // Handle the offline event
+ }
+
+
+### iOS rarezas
+
+Durante el arranque inicial, el primer evento offline (si es aplicable) tarda al menos un segundo en fuego.
+
+### Windows Phone 7 rarezas
+
+Cuando se ejecuta en el emulador, la `connection.status` siempre es desconocido, así que este evento no se ** fuego.
+
+### Windows Phone 8 rarezas
+
+El emulador informa el tipo de conexión como `celular`, que no cambia, así que el evento *no se* fuego.
+
+## online
+
+Este evento se desencadena cuando una aplicación va en línea, y el dispositivo se conecta a Internet.
+
+ document.addEventListener("online", yourCallbackFunction, false);
+
+
+### Detalles
+
+El evento `online` se desencadena cuando un dispositivo previamente inconexos recibe una conexión de red para permitir un acceso a las aplicaciones para Internet. Se basa en la misma información que la API de conexión y se desencadena cuando el `connection.type` cambia de `ninguno` a cualquier otro valor.
+
+Las aplicaciones normalmente deben utilizar `document.addEventListener` para conectar un detector de eventos una vez que se desencadene el evento `deviceready`.
+
+### Ejemplo rápido
+
+ document.addEventListener("online", onOnline, false);
+
+ function onOnline() {
+ // Handle the online event
+ }
+
+
+### iOS rarezas
+
+Durante el arranque inicial, el primer evento `en línea` (si procede) al menos toma un segundo para disparar, antes de que `connection.type` es `desconocido`.
+
+### Windows Phone 7 rarezas
+
+Cuando se ejecuta en el emulador, la `connection.status` siempre es desconocido, así que este evento no se ** fuego.
+
+### Windows Phone 8 rarezas
+
+El emulador, informa el tipo de conexión como `Cellular` , que no cambia, así que se lo eventos *no* fuego. \ No newline at end of file
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/doc/es/index.md b/StoneIsland/plugins/cordova-plugin-network-information/doc/es/index.md
new file mode 100644
index 00000000..65158ef5
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/doc/es/index.md
@@ -0,0 +1,186 @@
+<!---
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+# cordova-plugin-network-information
+
+Este plugin proporciona una implementación de una versión antigua de la [Red de información API][1]. Proporciona información acerca del dispositivo móvil y conexión wifi, y si el dispositivo tiene una conexión a internet.
+
+ [1]: http://www.w3.org/TR/2011/WD-netinfo-api-20110607/
+
+## Instalación
+
+ cordova plugin add cordova-plugin-network-information
+
+
+## Plataformas soportadas
+
+* Amazon fire OS
+* Android
+* BlackBerry 10
+* Explorador
+* iOS
+* Windows Phone 7 y 8
+* Tizen
+* Windows
+* Firefox OS
+
+# Conexión
+
+> El objeto de `connection`, expuesto a través de `navigator.connection`, proporciona información sobre conexión celular y wifi del dispositivo.
+
+## Propiedades
+
+* connection.type
+
+## Constantes
+
+* Connection.UNKNOWN
+* Connection.ETHERNET
+* Connection.WIFI
+* Connection.CELL_2G
+* Connection.CELL_4G
+* Connection.CELL_3G
+* Connection.CELL
+* Connection.NONE
+
+## connection.type
+
+Esta propiedad ofrece una forma rápida de determinar el estado de conexión de red del dispositivo y el tipo de conexión.
+
+### Ejemplo rápido
+
+ function checkConnection() {
+ var networkState = navigator.connection.type;
+
+ var states = {};
+ states[Connection.UNKNOWN] = 'Unknown connection';
+ states[Connection.ETHERNET] = 'Ethernet connection';
+ states[Connection.WIFI] = 'WiFi connection';
+ states[Connection.CELL_2G] = 'Cell 2G connection';
+ states[Connection.CELL_3G] = 'Cell 3G connection';
+ states[Connection.CELL_4G] = 'Cell 4G connection';
+ states[Connection.CELL] = 'Cell generic connection';
+ states[Connection.NONE] = 'No network connection';
+
+ alert('Connection type: ' + states[networkState]);
+ }
+
+ checkConnection();
+
+
+### Cambio de API
+
+Hasta Cordova 2.3.0, el objeto de `conexión` era acceder a través de `navigator.network.connection`, tras lo cual fue cambiada a `navigator.connection` para que coincida con la especificación del W3C. Sigue estando disponible en su ubicación original, pero es obsoleto y eventualmente desaparecerá.
+
+### iOS rarezas
+
+* iOS no puede detectar el tipo de conexión de red celular.
+ * `navigator.connection.type` está establecido en `Connection.CELL` para todos los datos de celulares.
+
+### Windows Phone rarezas
+
+* Cuando se ejecuta en el emulador, siempre detecta `navigator.connection.type` como `Connection.UNKNOWN`.
+
+* Windows Phone no puede detectar el tipo de conexión de red celular.
+
+ * `navigator.connection.type` está establecido en `Connection.CELL` para todos los datos de celulares.
+
+### Windows rarezas
+
+* Cuando se ejecuta en el emulador de teléfono 8.1, siempre detecta `navigator.connection.type` como`Connection.ETHERNET`.
+
+### Rarezas Tizen
+
+* Tizen sólo puede detectar un Wi-Fi o conexión celular.
+ * `navigator.connection.type`se establece en `Connection.CELL_2G` para todos los datos celulares.
+
+### Firefox OS rarezas
+
+* Firefox OS no puede detectar el tipo de conexión de red celular.
+ * `navigator.connection.type`se establece en `Connection.CELL` para todos los datos celulares.
+
+# Eventos relacionados con la red
+
+## offline
+
+El evento se desencadena cuando una aplicación está desconectada, y el dispositivo no está conectado a Internet.
+
+ document.addEventListener("offline", yourCallbackFunction, false);
+
+
+### Detalles
+
+El evento `offline` se desencadena cuando un dispositivo conectado previamente pierde una conexión de red para que una aplicación no puede acceder a Internet. Se basa en la misma información que la API de conexión y cuando se dispara el valor del `connection.type` se convierte`NONE`.
+
+Las aplicaciones normalmente deben utilizar `document.addEventListener` para conectar un detector de eventos una vez que se desencadene el evento `deviceready`.
+
+### Ejemplo rápido
+
+ document.addEventListener("offline", onOffline, false);
+
+ function onOffline() {
+ // Handle the offline event
+ }
+
+
+### iOS rarezas
+
+Durante el arranque inicial, el primer evento offline (si es aplicable) tarda al menos un segundo en fuego.
+
+### Windows Phone 7 rarezas
+
+Cuando se ejecuta en el emulador, la `connection.status` siempre es desconocido, así que este evento no se ** fuego.
+
+### Windows Phone 8 rarezas
+
+El emulador informa el tipo de conexión como `celular`, que no cambia, así que el evento *no se* fuego.
+
+## online
+
+Este evento se desencadena cuando una aplicación va en línea, y el dispositivo se conecta a Internet.
+
+ document.addEventListener("online", yourCallbackFunction, false);
+
+
+### Detalles
+
+El evento `online` se desencadena cuando un dispositivo previamente inconexos recibe una conexión de red para permitir un acceso a las aplicaciones para Internet. Se basa en la misma información que la API de conexión y se desencadena cuando el `connection.type` cambia de `ninguno` a cualquier otro valor.
+
+Las aplicaciones normalmente deben utilizar `document.addEventListener` para conectar un detector de eventos una vez que se desencadene el evento `deviceready`.
+
+### Ejemplo rápido
+
+ document.addEventListener("online", onOnline, false);
+
+ function onOnline() {
+ // Handle the online event
+ }
+
+
+### iOS rarezas
+
+Durante el arranque inicial, el primer evento `en línea` (si procede) al menos toma un segundo para disparar, antes de que `connection.type` es `desconocido`.
+
+### Windows Phone 7 rarezas
+
+Cuando se ejecuta en el emulador, la `connection.status` siempre es desconocido, así que este evento no se ** fuego.
+
+### Windows Phone 8 rarezas
+
+El emulador, informa el tipo de conexión como `Cellular` , que no cambia, así que se lo eventos *no* fuego.
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/doc/fr/README.md b/StoneIsland/plugins/cordova-plugin-network-information/doc/fr/README.md
new file mode 100644
index 00000000..8f2b82cc
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/doc/fr/README.md
@@ -0,0 +1,188 @@
+<!--
+# license: Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+-->
+
+# cordova-plugin-network-information
+
+[![Build Status](https://travis-ci.org/apache/cordova-plugin-network-information.svg)](https://travis-ci.org/apache/cordova-plugin-network-information)
+
+Ce plugin fournit une implémentation d'une ancienne version de l' [API Information Network](http://www.w3.org/TR/2011/WD-netinfo-api-20110607/). Il fournit des informations sur l'appareil cellulaire et connexion wifi, et si l'appareil dispose d'une connexion internet.
+
+## Installation
+
+ cordova plugin add cordova-plugin-network-information
+
+
+## Plates-formes supportées
+
+ * Amazon Fire OS
+ * Android
+ * BlackBerry 10
+ * Navigateur
+ * iOS
+ * Windows Phone 7 et 8
+ * Paciarelli
+ * Windows
+ * Firefox OS
+
+# Connexion
+
+> L'objet `connection`, disponible via `navigator.connection`, fournit des informations sur la connection cellulaire/wifi de l'appareil.
+
+## Propriétés
+
+ * connection.type
+
+## Constantes
+
+ * Connection.UNKNOWN
+ * Connection.ETHERNET
+ * Connection.WIFI
+ * Connection.CELL_2G
+ * Connection.CELL_3G
+ * Connection.CELL_4G
+ * Connection.CELL
+ * Connection.NONE
+
+## connection.type
+
+Cette propriété offre un moyen rapide pour déterminer l'état et le type de la connexion réseau de l'appareil.
+
+### Exemple court
+
+ function checkConnection() {
+ var networkState = navigator.connection.type;
+
+ var states = {};
+ states[Connection.UNKNOWN] = 'Unknown connection';
+ states[Connection.ETHERNET] = 'Ethernet connection';
+ states[Connection.WIFI] = 'WiFi connection';
+ states[Connection.CELL_2G] = 'Cell 2G connection';
+ states[Connection.CELL_3G] = 'Cell 3G connection';
+ states[Connection.CELL_4G] = 'Cell 4G connection';
+ states[Connection.CELL] = 'Cell generic connection';
+ states[Connection.NONE] = 'No network connection';
+
+ alert('Connection type: ' + states[networkState]);
+ }
+
+ checkConnection();
+
+
+### Changement d'API
+
+Jusqu'à Cordova 2.3.0, l'objet `Connection` était accessible via `navigator.network.connection` ; ceci a été changé pour `navigator.connection` afin de concorder avec la spécification du W3C. L'accès est toujours possible à l'emplacement d'origine, mais est considéré comme obsolète et sera bientôt supprimé.
+
+### Notes au sujet d'iOS
+
+ * iOS ne peut pas détecter le type de connexion au réseau cellulaire.
+ * `navigator.connection.type`a la valeur `Connection.CELL` pour toutes les données cellulaires.
+
+### Windows Phone Quirks
+
+ * Lors de l'exécution dans l'émulateur, détecte toujours `navigator.connection.type` comme`Connection.UNKNOWN`.
+
+ * Windows Phone ne peut pas détecter le type de connexion au réseau cellulaire.
+
+ * `navigator.connection.type`a la valeur `Connection.CELL` pour toutes les données cellulaires.
+
+### Bizarreries de Windows
+
+ * Lors de l'exécution dans l'émulateur de téléphone 8.1, `Connection.ETHERNET` détecte toujours `navigator.connection.type`.
+
+### Bizarreries de paciarelli
+
+ * Paciarelli ne peut détecter une connexion cellulaire ou le WiFi.
+ * `navigator.connection.type` a la valeur `Connection.CELL_2G` pour toutes les données cellulaires.
+
+### Firefox OS Quirks
+
+ * Firefox OS ne peut pas détecter le type de connexion au réseau cellulaire.
+ * `navigator.connection.type`a la valeur `Connection.CELL` pour toutes les données cellulaires.
+
+### Bizarreries navigateur
+
+ * Navigateur ne peut pas détecter le type de connexion réseau. `navigator.connection.type` est toujours définie sur `Connection.UNKNOWN` en ligne.
+
+# Événements liés au réseau
+
+## offline
+
+L'évènement se déclenche lorsqu'une application se déconnecte, quand l'appareil n'est pas connecté à Internet.
+
+ document.addEventListener("offline", yourCallbackFunction, false);
+
+
+### Détails
+
+L'évènement `offline` se déclenche lorsqu'un appareil précédemment connecté perd sa connexion au réseau, empêchant ainsi l'application d'accéder à Internet. Il s'appuie sur les mêmes informations que l'API de connexion et se déclenche lorsque la valeur de `connection.type` devient`NONE`.
+
+Les applications devraient en général utiliser `document.addEventListener` pour attacher un écouteur d'évènements, une fois l'évènement `deviceready` déclenché.
+
+### Exemple court
+
+ document.addEventListener (« hors ligne », onOffline, false) ;
+
+ function onOffline() {/ / gestion de l'événement en mode hors connexion}
+
+
+### Notes au sujet d'iOS
+
+Lors du démarrage initial, le déclenchement du premier évènement offline (si applicable) prend au moins une seconde.
+
+### Windows Phone 7 Quirks
+
+Lors de l'exécution dans l'émulateur, le `connection.status` est toujours inconnu, ainsi cet événement ne fait *pas* de feu.
+
+### Notes au sujet de Windows Phone 8
+
+L'émulateur signale le type de connexion comme `Cellular`, type qui ne change jamais, ainsi l'évènement n'est *pas* déclenché.
+
+## online
+
+L'évènement se déclenche lorsqu'une application se connecte, quand l'appareil est connecté à Internet.
+
+ document.addEventListener("online", yourCallbackFunction, false);
+
+
+### Détails
+
+L'évènement `online` se déclenche lorsqu'un appareil précédemment non-connecté se connecte au réseau, permettant ainsi à l'application d'accéder à Internet. Il s'appuie sur les mêmes informations que l'API de connexion et se déclenche quand le `connection.type` passe de `NONE` à une autre valeur.
+
+Les applications devraient en général utiliser `document.addEventListener` pour attacher un écouteur d'évènements, une fois l'évènement `deviceready` déclenché.
+
+### Exemple court
+
+ document.addEventListener("online", onOnline, false);
+
+ function onOnline() {
+ // Handle the online event
+ }
+
+
+### Notes au sujet d'iOS
+
+Lors du démarrage initial, le déclenchement du premier évènement `online` (si applicable) prend au moins une seconde avant quoi `connection.type` vaut `UNKNOWN`.
+
+### Windows Phone 7 Quirks
+
+Lors de l'exécution dans l'émulateur, le `connection.status` est toujours inconnu, ainsi cet événement ne fait *pas* de feu.
+
+### Notes au sujet de Windows Phone 8
+
+L'émulateur signale le type de connexion comme `Cellular` , qui ne change pas, aussi des événements ne fait *pas* de feu. \ No newline at end of file
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/doc/fr/index.md b/StoneIsland/plugins/cordova-plugin-network-information/doc/fr/index.md
new file mode 100644
index 00000000..e49c5d52
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/doc/fr/index.md
@@ -0,0 +1,184 @@
+<!---
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+# cordova-plugin-network-information
+
+Ce plugin fournit une implémentation d'une ancienne version de l' [API Information Network][1]. Il fournit des informations sur l'appareil cellulaire et connexion wifi, et si l'appareil dispose d'une connexion internet.
+
+ [1]: http://www.w3.org/TR/2011/WD-netinfo-api-20110607/
+
+## Installation
+
+ cordova plugin add cordova-plugin-network-information
+
+
+## Plates-formes prises en charge
+
+* Amazon Fire OS
+* Android
+* BlackBerry 10
+* Navigateur
+* iOS
+* Windows Phone 7 et 8
+* Paciarelli
+* Windows
+* Firefox OS
+
+# Connexion
+
+> L'objet `connection`, disponible via `navigator.connection`, fournit des informations sur la connection cellulaire/wifi de l'appareil.
+
+## Propriétés
+
+* connection.type
+
+## Constantes
+
+* Connection.UNKNOWN
+* Connection.ETHERNET
+* Connection.WIFI
+* Connection.CELL_2G
+* Connection.CELL_3G
+* Connection.CELL_4G
+* Connection.CELL
+* Connection.NONE
+
+## connection.type
+
+Cette propriété offre un moyen rapide pour déterminer l'état et le type de la connexion réseau de l'appareil.
+
+### Petit exemple
+
+ function checkConnection() {
+ var networkState = navigator.connection.type;
+
+ var states = {};
+ states[Connection.UNKNOWN] = 'Unknown connection';
+ states[Connection.ETHERNET] = 'Ethernet connection';
+ states[Connection.WIFI] = 'WiFi connection';
+ states[Connection.CELL_2G] = 'Cell 2G connection';
+ states[Connection.CELL_3G] = 'Cell 3G connection';
+ states[Connection.CELL_4G] = 'Cell 4G connection';
+ states[Connection.CELL] = 'Cell generic connection';
+ states[Connection.NONE] = 'No network connection';
+
+ alert('Connection type: ' + states[networkState]);
+ }
+
+ checkConnection();
+
+
+### Changement d'API
+
+Jusqu'à Cordova 2.3.0, l'objet `Connection` était accessible via `navigator.network.connection` ; ceci a été changé pour `navigator.connection` afin de concorder avec la spécification du W3C. L'accès est toujours possible à l'emplacement d'origine, mais est considéré comme obsolète et sera bientôt supprimé.
+
+### iOS Quirks
+
+* iOS ne peut pas détecter le type de connexion au réseau cellulaire.
+ * `navigator.connection.type`a la valeur `Connection.CELL` pour toutes les données cellulaires.
+
+### Windows Phone Quirks
+
+* Lors de l'exécution dans l'émulateur, détecte toujours `navigator.connection.type` comme`Connection.UNKNOWN`.
+
+* Windows Phone ne peut pas détecter le type de connexion au réseau cellulaire.
+
+ * `navigator.connection.type`a la valeur `Connection.CELL` pour toutes les données cellulaires.
+
+### Bizarreries de Windows
+
+* Lors de l'exécution dans l'émulateur de téléphone 8.1, `Connection.ETHERNET` détecte toujours `navigator.connection.type`.
+
+### Bizarreries de paciarelli
+
+* Paciarelli ne peut détecter une connexion cellulaire ou le WiFi.
+ * `navigator.connection.type` a la valeur `Connection.CELL_2G` pour toutes les données cellulaires.
+
+### Firefox OS Quirks
+
+* Firefox OS ne peut pas détecter le type de connexion au réseau cellulaire.
+ * `navigator.connection.type` a la valeur `Connection.CELL` pour toutes les données cellulaires.
+
+# Événements liés au réseau
+
+## offline
+
+L'évènement se déclenche lorsqu'une application se déconnecte, quand l'appareil n'est pas connecté à Internet.
+
+ document.addEventListener("offline", yourCallbackFunction, false);
+
+
+### Détails
+
+L'évènement `offline` se déclenche lorsqu'un appareil précédemment connecté perd sa connexion au réseau, empêchant ainsi l'application d'accéder à Internet. Il s'appuie sur les mêmes informations que l'API de connexion et se déclenche lorsque la valeur de `connection.type` devient`NONE`.
+
+Les applications doivent généralement utiliser `document.addEventListener` pour attacher un écouteur d'événements une fois le `deviceready` événement se déclenche.
+
+### Exemple court
+
+ document.addEventListener (« hors ligne », onOffline, false) ;
+
+ function onOffline() {/ / gestion de l'événement en mode hors connexion}
+
+
+### Notes au sujet d'iOS
+
+Lors du démarrage initial, le déclenchement du premier évènement offline (si applicable) prend au moins une seconde.
+
+### Windows Phone 7 Quirks
+
+Lors de l'exécution dans l'émulateur, le `connection.status` est toujours inconnu, ainsi cet événement ne fait *pas* de feu.
+
+### Notes au sujet de Windows Phone 8
+
+L'émulateur signale le type de connexion comme `Cellular`, type qui ne change jamais, ainsi l'évènement n'est *pas* déclenché.
+
+## online
+
+L'évènement se déclenche lorsqu'une application se connecte, quand l'appareil est connecté à Internet.
+
+ document.addEventListener("online", yourCallbackFunction, false);
+
+
+### Détails
+
+L'évènement `online` se déclenche lorsqu'un appareil précédemment non-connecté se connecte au réseau, permettant ainsi à l'application d'accéder à Internet. Il s'appuie sur les mêmes informations que l'API de connexion et se déclenche quand le `connection.type` passe de `NONE` à une autre valeur.
+
+Les applications doivent généralement utiliser `document.addEventListener` pour attacher un écouteur d'événements une fois le `deviceready` événement se déclenche.
+
+### Exemple court
+
+ document.addEventListener("online", onOnline, false);
+
+ function onOnline() {
+ // Handle the online event
+ }
+
+
+### Notes au sujet d'iOS
+
+Lors du démarrage initial, le déclenchement du premier évènement `online` (si applicable) prend au moins une seconde avant quoi `connection.type` vaut `UNKNOWN`.
+
+### Windows Phone 7 Quirks
+
+Lors de l'exécution dans l'émulateur, le `connection.status` est toujours inconnu, ainsi cet événement ne fait *pas* de feu.
+
+### Notes au sujet de Windows Phone 8
+
+L'émulateur signale le type de connexion comme `Cellular` , qui ne change pas, aussi des événements ne fait *pas* de feu.
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/doc/it/README.md b/StoneIsland/plugins/cordova-plugin-network-information/doc/it/README.md
new file mode 100644
index 00000000..f4343594
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/doc/it/README.md
@@ -0,0 +1,190 @@
+<!--
+# license: Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+-->
+
+# cordova-plugin-network-information
+
+[![Build Status](https://travis-ci.org/apache/cordova-plugin-network-information.svg)](https://travis-ci.org/apache/cordova-plugin-network-information)
+
+Questo plugin fornisce un'implementazione di una vecchia versione dell' [API di informazioni di rete](http://www.w3.org/TR/2011/WD-netinfo-api-20110607/). Fornisce informazioni sul dispositivo cellulare e connessione wifi, e se il dispositivo dispone di una connessione internet.
+
+## Installazione
+
+ cordova plugin add cordova-plugin-network-information
+
+
+## Piattaforme supportate
+
+ * Amazon fuoco OS
+ * Android
+ * BlackBerry 10
+ * Browser
+ * iOS
+ * Windows Phone 7 e 8
+ * Tizen
+ * Windows
+ * Firefox OS
+
+# Connessione
+
+> Il `connection` oggetto, esposto tramite `navigator.connection` , fornisce informazioni sulla connessione wifi e cellulare del dispositivo.
+
+## Proprietà
+
+ * connection.type
+
+## Costanti
+
+ * Connection.UNKNOWN
+ * Connection.ETHERNET
+ * Connection.WIFI
+ * Connection.CELL_2G
+ * Connection.CELL_3G
+ * Connection.CELL_4G
+ * Connection.CELL
+ * Connection.NONE
+
+## connection.type
+
+Questa proprietà offre un modo rapido per determinare stato della connessione di rete del dispositivo e il tipo di connessione.
+
+### Esempio rapido
+
+ function checkConnection() {
+ var networkState = navigator.connection.type;
+
+ var states = {};
+ states[Connection.UNKNOWN] = 'Unknown connection';
+ states[Connection.ETHERNET] = 'Ethernet connection';
+ states[Connection.WIFI] = 'WiFi connection';
+ states[Connection.CELL_2G] = 'Cell 2G connection';
+ states[Connection.CELL_3G] = 'Cell 3G connection';
+ states[Connection.CELL_4G] = 'Cell 4G connection';
+ states[Connection.CELL] = 'Cell generic connection';
+ states[Connection.NONE] = 'No network connection';
+
+ alert('Connection type: ' + states[networkState]);
+ }
+
+ checkConnection();
+
+
+### Cambiamento di API
+
+Fino a Cordova 2.3.0, il `Connection` oggetto era accessibile tramite `navigator.network.connection` , dopo che è stato cambiato in `navigator.connection` per abbinare la specifica W3C. È ancora disponibile nella sua posizione originale, ma è obsoleto e verrà rimosso alla fine.
+
+### iOS stranezze
+
+ * iOS non è possibile rilevare il tipo di connessione di rete cellulare.
+ * `navigator.connection.type`è impostata su `Connection.CELL` per tutti i dati cellulare.
+
+### Stranezze di Windows Phone
+
+ * Quando è in esecuzione nell'emulatore, rileva sempre `navigator.connection.type` come`Connection.UNKNOWN`.
+
+ * Windows Phone non riesce a rilevare il tipo di connessione di rete cellulare.
+
+ * `navigator.connection.type`è impostata su `Connection.CELL` per tutti i dati cellulare.
+
+### Stranezze di Windows
+
+ * Quando è in esecuzione nell'emulatore Phone 8.1, sempre rileva `navigator.connection.type` come `Connection.ETHERNET`.
+
+### Tizen stranezze
+
+ * Tizen può rilevare solo un WiFi o una connessione cellulare.
+ * `navigator.connection.type` è impostata su `Connection.CELL_2G` per tutti i dati cellulare.
+
+### Firefox OS stranezze
+
+ * Sistema operativo Firefox non riesce a rilevare il tipo di connessione di rete cellulare.
+ * `navigator.connection.type`è impostata su `Connection.CELL` per tutti i dati cellulare.
+
+### Stranezze browser
+
+ * Browser non è in grado di rilevare il tipo di connessione di rete. `navigator.connection.type` è sempre impostata su `Connection.UNKNOWN` quando si è online.
+
+# Eventi relativi alla rete
+
+## offline
+
+L'evento viene generato quando un'applicazione passa alla modalità offline, e il dispositivo non è connesso a Internet.
+
+ document.addEventListener("offline", yourCallbackFunction, false);
+
+
+### Dettagli
+
+Il `offline` evento viene generato quando un dispositivo precedentemente connesso perde una connessione di rete in modo che un'applicazione non è più possibile accedere a Internet. Esso si basa sulle stesse informazioni come l'API di connessione e viene generato quando il valore di `connection.type` diventa`NONE`.
+
+Applicazioni in genere è necessario utilizzare `document.addEventListener` per fissare un listener di eventi una volta il `deviceready` evento incendi.
+
+### Esempio rapido
+
+ document.addEventListener("offline", onOffline, false);
+
+ function onOffline() {
+ // Handle the offline event
+ }
+
+
+### iOS stranezze
+
+Durante l'avvio iniziale, il primo evento offline (se applicabile) richiede almeno un secondo al fuoco.
+
+### Windows Phone 7 capricci
+
+Quando è in esecuzione nell'emulatore, il `connection.status` è sempre sconosciuto, così fa di questo evento *non* fuoco.
+
+### Windows Phone 8 stranezze
+
+L'emulatore riporta il tipo di connessione come `Cellular` , che non cambia, così fa l'evento *non* fuoco.
+
+## online
+
+Questo evento viene generato quando un'applicazione va online, e il dispositivo diventa collegato a Internet.
+
+ document.addEventListener("online", yourCallbackFunction, false);
+
+
+### Dettagli
+
+Il `online` evento viene generato quando un dispositivo precedentemente scollegato riceve una connessione di rete per consentire un'accesso di applicazione a Internet. Esso si basa sulle stesse informazioni come l'API di connessione e viene attivato quando il `connection.type` cambia da `NONE` a qualsiasi altro valore.
+
+Applicazioni in genere è necessario utilizzare `document.addEventListener` per fissare un listener di eventi una volta il `deviceready` evento incendi.
+
+### Esempio rapido
+
+ document.addEventListener("online", onOnline, false);
+
+ function onOnline() {
+ // Handle the online event
+ }
+
+
+### iOS stranezze
+
+Durante l'avvio iniziale, il primo `online` evento (se applicabile) richiede almeno un secondo al fuoco, prima che `connection.type` è`UNKNOWN`.
+
+### Windows Phone 7 capricci
+
+Quando è in esecuzione nell'emulatore, il `connection.status` è sempre sconosciuto, così fa di questo evento *non* fuoco.
+
+### Windows Phone 8 stranezze
+
+L'emulatore riporta il tipo di connessione come `Cellular` , che non cambia, quindi, non gli eventi *non* a fuoco. \ No newline at end of file
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/doc/it/index.md b/StoneIsland/plugins/cordova-plugin-network-information/doc/it/index.md
new file mode 100644
index 00000000..e1917195
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/doc/it/index.md
@@ -0,0 +1,186 @@
+<!---
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+# cordova-plugin-network-information
+
+Questo plugin fornisce un'implementazione di una vecchia versione dell' [API di informazioni di rete][1]. Fornisce informazioni sul dispositivo cellulare e connessione wifi, e se il dispositivo dispone di una connessione internet.
+
+ [1]: http://www.w3.org/TR/2011/WD-netinfo-api-20110607/
+
+## Installazione
+
+ cordova plugin add cordova-plugin-network-information
+
+
+## Piattaforme supportate
+
+* Amazon fuoco OS
+* Android
+* BlackBerry 10
+* Browser
+* iOS
+* Windows Phone 7 e 8
+* Tizen
+* Windows
+* Firefox OS
+
+# Connessione
+
+> Il `connection` oggetto, esposto tramite `navigator.connection` , fornisce informazioni sulla connessione wifi e cellulare del dispositivo.
+
+## Proprietà
+
+* connection.type
+
+## Costanti
+
+* Connection.UNKNOWN
+* Connection.ETHERNET
+* Connection.WIFI
+* Connection.CELL_2G
+* Connection.CELL_3G
+* Connection.CELL_4G
+* Connection.CELL
+* Connection.NONE
+
+## connection.type
+
+Questa proprietà offre un modo rapido per determinare stato della connessione di rete del dispositivo e il tipo di connessione.
+
+### Esempio rapido
+
+ function checkConnection() {
+ var networkState = navigator.connection.type;
+
+ var states = {};
+ states[Connection.UNKNOWN] = 'Unknown connection';
+ states[Connection.ETHERNET] = 'Ethernet connection';
+ states[Connection.WIFI] = 'WiFi connection';
+ states[Connection.CELL_2G] = 'Cell 2G connection';
+ states[Connection.CELL_3G] = 'Cell 3G connection';
+ states[Connection.CELL_4G] = 'Cell 4G connection';
+ states[Connection.CELL] = 'Cell generic connection';
+ states[Connection.NONE] = 'No network connection';
+
+ alert('Connection type: ' + states[networkState]);
+ }
+
+ checkConnection();
+
+
+### Cambiamento di API
+
+Fino a Cordova 2.3.0, il `Connection` oggetto era accessibile tramite `navigator.network.connection` , dopo che è stato cambiato in `navigator.connection` per abbinare la specifica W3C. È ancora disponibile nella sua posizione originale, ma è obsoleto e verrà rimosso alla fine.
+
+### iOS stranezze
+
+* iOS non è possibile rilevare il tipo di connessione di rete cellulare.
+ * `navigator.connection.type`è impostata su `Connection.CELL` per tutti i dati cellulare.
+
+### Stranezze di Windows Phone
+
+* Quando è in esecuzione nell'emulatore, rileva sempre `navigator.connection.type` come`Connection.UNKNOWN`.
+
+* Windows Phone non riesce a rilevare il tipo di connessione di rete cellulare.
+
+ * `navigator.connection.type`è impostata su `Connection.CELL` per tutti i dati cellulare.
+
+### Stranezze di Windows
+
+* Quando è in esecuzione nell'emulatore Phone 8.1, sempre rileva `navigator.connection.type` come `Connection.ETHERNET`.
+
+### Tizen stranezze
+
+* Tizen può rilevare solo un WiFi o una connessione cellulare.
+ * `navigator.connection.type` è impostata su `Connection.CELL_2G` per tutti i dati cellulare.
+
+### Firefox OS stranezze
+
+* Sistema operativo Firefox non riesce a rilevare il tipo di connessione di rete cellulare.
+ * `navigator.connection.type`è impostata su `Connection.CELL` per tutti i dati cellulare.
+
+# Eventi relativi alla rete
+
+## offline
+
+L'evento viene generato quando un'applicazione passa alla modalità offline, e il dispositivo non è connesso a Internet.
+
+ document.addEventListener("offline", yourCallbackFunction, false);
+
+
+### Dettagli
+
+Il `offline` evento viene generato quando un dispositivo precedentemente connesso perde una connessione di rete in modo che un'applicazione non è più possibile accedere a Internet. Esso si basa sulle stesse informazioni come l'API di connessione e viene generato quando il valore di `connection.type` diventa`NONE`.
+
+Applicazioni in genere è necessario utilizzare `document.addEventListener` per fissare un listener di eventi una volta il `deviceready` evento incendi.
+
+### Esempio rapido
+
+ document.addEventListener("offline", onOffline, false);
+
+ function onOffline() {
+ // Handle the offline event
+ }
+
+
+### iOS stranezze
+
+Durante l'avvio iniziale, il primo evento offline (se applicabile) richiede almeno un secondo al fuoco.
+
+### Windows Phone 7 capricci
+
+Quando è in esecuzione nell'emulatore, il `connection.status` è sempre sconosciuto, così fa di questo evento *non* fuoco.
+
+### Windows Phone 8 stranezze
+
+L'emulatore riporta il tipo di connessione come `Cellular` , che non cambia, così fa l'evento *non* fuoco.
+
+## online
+
+Questo evento viene generato quando un'applicazione va online, e il dispositivo diventa collegato a Internet.
+
+ document.addEventListener("online", yourCallbackFunction, false);
+
+
+### Dettagli
+
+Il `online` evento viene generato quando un dispositivo precedentemente scollegato riceve una connessione di rete per consentire un'accesso di applicazione a Internet. Esso si basa sulle stesse informazioni come l'API di connessione e viene attivato quando il `connection.type` cambia da `NONE` a qualsiasi altro valore.
+
+Applicazioni in genere è necessario utilizzare `document.addEventListener` per fissare un listener di eventi una volta il `deviceready` evento incendi.
+
+### Esempio rapido
+
+ document.addEventListener("online", onOnline, false);
+
+ function onOnline() {
+ // Handle the online event
+ }
+
+
+### iOS stranezze
+
+Durante l'avvio iniziale, il primo `online` evento (se applicabile) richiede almeno un secondo al fuoco, prima che `connection.type` è`UNKNOWN`.
+
+### Windows Phone 7 capricci
+
+Quando è in esecuzione nell'emulatore, il `connection.status` è sempre sconosciuto, così fa di questo evento *non* fuoco.
+
+### Windows Phone 8 stranezze
+
+L'emulatore riporta il tipo di connessione come `Cellular` , che non cambia, quindi, non gli eventi *non* a fuoco.
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/doc/ja/README.md b/StoneIsland/plugins/cordova-plugin-network-information/doc/ja/README.md
new file mode 100644
index 00000000..797b7413
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/doc/ja/README.md
@@ -0,0 +1,190 @@
+<!--
+# license: Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+-->
+
+# cordova-plugin-network-information
+
+[![Build Status](https://travis-ci.org/apache/cordova-plugin-network-information.svg)](https://travis-ci.org/apache/cordova-plugin-network-information)
+
+このプラグインは、古いバージョンの[ネットワーク情報 API](http://www.w3.org/TR/2011/WD-netinfo-api-20110607/)の実装を提供します。 デバイスの携帯電話や wifi 接続に関する情報を提供し、かどうか、デバイスがインターネットに接続します。
+
+## インストール
+
+ cordova plugin add cordova-plugin-network-information
+
+
+## サポートされているプラットフォーム
+
+ * アマゾン火 OS
+ * アンドロイド
+ * ブラックベリー 10
+ * ブラウザー
+ * iOS
+ * Windows Phone 7 と 8
+ * Tizen
+ * Windows
+ * Firefox の OS
+
+# Connection
+
+> `connection`オブジェクトによって公開されて `navigator.connection` 、デバイスの携帯電話や wifi 接続に関する情報を提供します。
+
+## プロパティ
+
+ * connection.type
+
+## 定数
+
+ * Connection.UNKNOWN
+ * Connection.ETHERNET
+ * Connection.WIFI
+ * Connection.CELL_2G
+ * Connection.CELL_3G
+ * Connection.CELL_4G
+ * Connection.CELL
+ * Connection.NONE
+
+## connection.type
+
+このプロパティはデバイスのネットワーク接続状態を確認する速い方法を提供し、接続の種類。
+
+### 簡単な例
+
+ function checkConnection() {
+ var networkState = navigator.connection.type;
+
+ var states = {};
+ states[Connection.UNKNOWN] = 'Unknown connection';
+ states[Connection.ETHERNET] = 'Ethernet connection';
+ states[Connection.WIFI] = 'WiFi connection';
+ states[Connection.CELL_2G] = 'Cell 2G connection';
+ states[Connection.CELL_3G] = 'Cell 3G connection';
+ states[Connection.CELL_4G] = 'Cell 4G connection';
+ states[Connection.CELL] = 'Cell generic connection';
+ states[Connection.NONE] = 'No network connection';
+
+ alert('Connection type: ' + states[networkState]);
+ }
+
+ checkConnection();
+
+
+### API の変更
+
+コルドバ 2.3.0、まで、 `Connection` 経由でアクセスされたオブジェクトが `navigator.network.connection` 、それに変更されましたが後 `navigator.connection` W3C の仕様に一致します。 それはまだ元の場所は廃止され、最終的に削除されます。
+
+### iOS の癖
+
+ * iOS は、携帯電話のネットワーク接続の種類を検出できません。
+ * `navigator.connection.type`設定する `Connection.CELL` すべての携帯電話データの。
+
+### Windows Phone の癖
+
+ * エミュレーターで実行しているときを常に検出 `navigator.connection.type` として`Connection.UNKNOWN`.
+
+ * Windows Phone 携帯電話ネットワーク接続の種類を検出できません。
+
+ * `navigator.connection.type`設定する `Connection.CELL` すべての携帯電話データの。
+
+### Windows の癖
+
+ * 電話 8.1 エミュレーターで実行する場合は、常に `Connection.ETHERNET` として `navigator.connection.type` を検出します.
+
+### Tizen の癖
+
+ * Tizen には、WiFi または携帯電話の接続だけを検出できます。
+ * `navigator.connection.type` は、すべての携帯電話のデータを `Connection.CELL_2G` に設定されます。
+
+### Firefox OS 癖
+
+ * Firefox の OS は、携帯電話のネットワーク接続の種類を検出できません。
+ * `navigator.connection.type`設定する `Connection.CELL` すべての携帯電話データの。
+
+### ブラウザーの癖
+
+ * ブラウザーは、ネットワーク接続の種類を検出できません。 `navigator.connection.type`は、 `Connection.UNKNOWN`オンライン時に常に設定されます。
+
+# ネットワーク関連のイベント
+
+## offline
+
+アプリケーションがオフラインになり、デバイスがインターネットに接続されていないときに発生します。
+
+ document.addEventListener("offline", yourCallbackFunction, false);
+
+
+### 詳細
+
+`offline`アプリケーションはもはや、インターネットにアクセスできるように、以前接続されたデバイスは、ネットワーク接続が失われたときに発生します。 接続 API と同じ情報に依存しており、火災時の値 `connection.type` になります。`NONE`.
+
+通常アプリケーションに使用する必要があります `document.addEventListener` 一度のイベント リスナーをアタッチし、 `deviceready` イベントが発生します。
+
+### 簡単な例
+
+ document.addEventListener("offline", onOffline, false);
+
+ function onOffline() {
+ // Handle the offline event
+ }
+
+
+### iOS の癖
+
+初回起動時 (当てはまる場合) の最初のオフライン イベントは火に 1 秒以上かかります。
+
+### Windows Phone 7 の癖
+
+エミュレーターで実行しているとき、 `connection.status` は常に知られている、このイベントは*ない*火。
+
+### Windows Phone 8 癖
+
+エミュレーターと接続の種類のレポート `Cellular` は変化しません、イベントは*ない*火。
+
+## online
+
+アプリケーションは、オンラインになるし、デバイスがインターネットに接続するときに発生します。
+
+ document.addEventListener("online", yourCallbackFunction, false);
+
+
+### 詳細
+
+`online`以前接続されていないデバイスが、インターネットへのアプリケーション アクセスを許可するネットワーク接続を受信するときに発生します。 接続 API と同じ情報に依存しており、場合に適用されます、 `connection.type` から変更 `NONE` 以外の値にします。
+
+通常アプリケーションに使用する必要があります `document.addEventListener` 一度のイベント リスナーをアタッチし、 `deviceready` イベントが発生します。
+
+### 簡単な例
+
+ document.addEventListener("online", onOnline, false);
+
+ function onOnline() {
+ // Handle the online event
+ }
+
+
+### iOS の癖
+
+初回起動時には、最初の `online` (当てはまる場合) イベントが少なくとも火を前に第 2 `connection.type` は`UNKNOWN`.
+
+### Windows Phone 7 の癖
+
+エミュレーターで実行しているとき、 `connection.status` は常に知られている、このイベントは*ない*火。
+
+### Windows Phone 8 癖
+
+エミュレーターと接続の種類のレポート `Cellular` は変化しません、イベントは*ない*火。 \ No newline at end of file
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/doc/ja/index.md b/StoneIsland/plugins/cordova-plugin-network-information/doc/ja/index.md
new file mode 100644
index 00000000..71b6f82e
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/doc/ja/index.md
@@ -0,0 +1,186 @@
+<!---
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+# cordova-plugin-network-information
+
+このプラグインは、古いバージョンの[ネットワーク情報 API][1]の実装を提供します。 デバイスの携帯電話や wifi 接続に関する情報を提供し、かどうか、デバイスがインターネットに接続します。
+
+ [1]: http://www.w3.org/TR/2011/WD-netinfo-api-20110607/
+
+## インストール
+
+ cordova plugin add cordova-plugin-network-information
+
+
+## サポートされているプラットフォーム
+
+* アマゾン火 OS
+* アンドロイド
+* ブラックベリー 10
+* ブラウザー
+* iOS
+* Windows Phone 7 と 8
+* Tizen
+* Windows
+* Firefox の OS
+
+# Connection
+
+> `connection`オブジェクトによって公開されて `navigator.connection` 、デバイスの携帯電話や wifi 接続に関する情報を提供します。
+
+## プロパティ
+
+* connection.type
+
+## 定数
+
+* Connection.UNKNOWN
+* Connection.ETHERNET
+* Connection.WIFI
+* Connection.CELL_2G
+* Connection.CELL_3G
+* Connection.CELL_4G
+* Connection.CELL
+* Connection.NONE
+
+## connection.type
+
+このプロパティはデバイスのネットワーク接続状態を確認する速い方法を提供し、接続の種類。
+
+### 簡単な例
+
+ function checkConnection() {
+ var networkState = navigator.connection.type;
+
+ var states = {};
+ states[Connection.UNKNOWN] = 'Unknown connection';
+ states[Connection.ETHERNET] = 'Ethernet connection';
+ states[Connection.WIFI] = 'WiFi connection';
+ states[Connection.CELL_2G] = 'Cell 2G connection';
+ states[Connection.CELL_3G] = 'Cell 3G connection';
+ states[Connection.CELL_4G] = 'Cell 4G connection';
+ states[Connection.CELL] = 'Cell generic connection';
+ states[Connection.NONE] = 'No network connection';
+
+ alert('Connection type: ' + states[networkState]);
+ }
+
+ checkConnection();
+
+
+### API の変更
+
+コルドバ 2.3.0、まで、 `Connection` 経由でアクセスされたオブジェクトが `navigator.network.connection` 、それに変更されましたが後 `navigator.connection` W3C の仕様に一致します。 それはまだ元の場所は廃止され、最終的に削除されます。
+
+### iOS の癖
+
+* iOS は、携帯電話のネットワーク接続の種類を検出できません。
+ * `navigator.connection.type`設定する `Connection.CELL` すべての携帯電話データの。
+
+### Windows Phone の癖
+
+* エミュレーターで実行しているときを常に検出 `navigator.connection.type` として`Connection.UNKNOWN`.
+
+* Windows Phone 携帯電話ネットワーク接続の種類を検出できません。
+
+ * `navigator.connection.type`設定する `Connection.CELL` すべての携帯電話データの。
+
+### Windows の癖
+
+* 電話 8.1 エミュレーターで実行する場合は、常に `Connection.ETHERNET` として `navigator.connection.type` を検出します.
+
+### Tizen の癖
+
+* Tizen には、WiFi または携帯電話の接続だけを検出できます。
+ * `navigator.connection.type` は、すべての携帯電話のデータを `Connection.CELL_2G` に設定されます。
+
+### Firefox OS 癖
+
+* Firefox の OS は、携帯電話のネットワーク接続の種類を検出できません。
+ * `navigator.connection.type`設定する `Connection.CELL` すべての携帯電話データの。
+
+# ネットワーク関連のイベント
+
+## offline
+
+アプリケーションがオフラインになり、デバイスがインターネットに接続されていないときに発生します。
+
+ document.addEventListener("offline", yourCallbackFunction, false);
+
+
+### 詳細
+
+`offline`アプリケーションはもはや、インターネットにアクセスできるように、以前接続されたデバイスは、ネットワーク接続が失われたときに発生します。 接続 API と同じ情報に依存しており、火災時の値 `connection.type` になります。`NONE`.
+
+通常アプリケーションに使用する必要があります `document.addEventListener` 一度のイベント リスナーをアタッチし、 `deviceready` イベントが発生します。
+
+### 簡単な例
+
+ document.addEventListener("offline", onOffline, false);
+
+ function onOffline() {
+ // Handle the offline event
+ }
+
+
+### iOS の癖
+
+初回起動時 (当てはまる場合) の最初のオフライン イベントは火に 1 秒以上かかります。
+
+### Windows Phone 7 の癖
+
+エミュレーターで実行しているとき、 `connection.status` は常に知られている、このイベントは*ない*火。
+
+### Windows Phone 8 癖
+
+エミュレーターと接続の種類のレポート `Cellular` は変化しません、イベントは*ない*火。
+
+## online
+
+アプリケーションは、オンラインになるし、デバイスがインターネットに接続するときに発生します。
+
+ document.addEventListener("online", yourCallbackFunction, false);
+
+
+### 詳細
+
+`online`以前接続されていないデバイスが、インターネットへのアプリケーション アクセスを許可するネットワーク接続を受信するときに発生します。 接続 API と同じ情報に依存しており、場合に適用されます、 `connection.type` から変更 `NONE` 以外の値にします。
+
+通常アプリケーションに使用する必要があります `document.addEventListener` 一度のイベント リスナーをアタッチし、 `deviceready` イベントが発生します。
+
+### 簡単な例
+
+ document.addEventListener("online", onOnline, false);
+
+ function onOnline() {
+ // Handle the online event
+ }
+
+
+### iOS の癖
+
+初回起動時には、最初の `online` (当てはまる場合) イベントが少なくとも火を前に第 2 `connection.type` は`UNKNOWN`.
+
+### Windows Phone 7 の癖
+
+エミュレーターで実行しているとき、 `connection.status` は常に知られている、このイベントは*ない*火。
+
+### Windows Phone 8 癖
+
+エミュレーターと接続の種類のレポート `Cellular` は変化しません、イベントは*ない*火。
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/doc/ko/README.md b/StoneIsland/plugins/cordova-plugin-network-information/doc/ko/README.md
new file mode 100644
index 00000000..a6675391
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/doc/ko/README.md
@@ -0,0 +1,190 @@
+<!--
+# license: Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+-->
+
+# cordova-plugin-network-information
+
+[![Build Status](https://travis-ci.org/apache/cordova-plugin-network-information.svg)](https://travis-ci.org/apache/cordova-plugin-network-information)
+
+이 플러그인 [네트워크 정보 API](http://www.w3.org/TR/2011/WD-netinfo-api-20110607/)의 이전 버전에 대 한 구현을 제공합니다. 소자의 셀룰러와 와이파이 연결에 대 한 정보를 제공 합니다 장치는 인터넷 연결에 있는지 여부.
+
+## 설치
+
+ cordova plugin add cordova-plugin-network-information
+
+
+## 지원 되는 플랫폼
+
+ * 아마존 화재 운영 체제
+ * 안 드 로이드
+ * 블랙베리 10
+ * 브라우저
+ * iOS
+ * Windows Phone 7과 8
+ * Tizen
+ * 윈도우
+ * Firefox 운영 체제
+
+# 연결
+
+> `connection`개체를 통해 노출 `navigator.connection` , 소자의 셀룰러와 와이파이 연결에 대 한 정보를 제공 합니다.
+
+## 속성
+
+ * connection.type
+
+## 상수
+
+ * Connection.UNKNOWN
+ * Connection.ETHERNET
+ * Connection.WIFI
+ * Connection.CELL_2G
+ * Connection.CELL_3G
+ * Connection.CELL_4G
+ * Connection.CELL
+ * Connection.NONE
+
+## connection.type
+
+이 디바이스의 네트워크 연결 상태를 확인 하는 빠른 방법을 제공 합니다 및 연결의 종류.
+
+### 빠른 예제
+
+ function checkConnection() {
+ var networkState = navigator.connection.type;
+
+ var states = {};
+ states[Connection.UNKNOWN] = 'Unknown connection';
+ states[Connection.ETHERNET] = 'Ethernet connection';
+ states[Connection.WIFI] = 'WiFi connection';
+ states[Connection.CELL_2G] = 'Cell 2G connection';
+ states[Connection.CELL_3G] = 'Cell 3G connection';
+ states[Connection.CELL_4G] = 'Cell 4G connection';
+ states[Connection.CELL] = 'Cell generic connection';
+ states[Connection.NONE] = 'No network connection';
+
+ alert('Connection type: ' + states[networkState]);
+ }
+
+ checkConnection();
+
+
+### API 변경
+
+코르 도우 바 2.3.0까지 `Connection` 개체를 통해 액세스 했습니다 `navigator.network.connection` , 후에 변경 된 `navigator.connection` W3C 사양에 맞게. 그것은 그것의 원래 위치에 계속 사용할 수 하지만 사용 되지 않습니다 및 결국 제거 될 것 이다.
+
+### iOS 단점
+
+ * iOS는 셀룰러 네트워크 연결의 종류를 감지할 수 없습니다.
+ * `navigator.connection.type`로 설정 된 `Connection.CELL` 모든 셀룰러 데이터에 대 한.
+
+### Windows Phone 단점
+
+ * 에뮬레이터에서 실행할 때 항상 검색 `navigator.connection.type` 으로`Connection.UNKNOWN`.
+
+ * Windows Phone 셀룰러 네트워크 연결 유형을 검색할 수 없습니다.
+
+ * `navigator.connection.type`로 설정 된 `Connection.CELL` 모든 셀룰러 데이터에 대 한.
+
+### 윈도우 특수
+
+ * 전화 8.1 에뮬레이터에서 실행 하는 경우 항상 `Connection.ETHERNET`로 `navigator.connection.type`를 감지합니다.
+
+### Tizen 특수
+
+ * Tizen은 와이파이 또는 휴대 전화 연결에만 검색할 수 있습니다.
+ * `navigator.connection.type`는 모든 셀룰러 데이터에 대 한 `Connection.CELL_2G`로 설정 됩니다.
+
+### 파이어 폭스 OS 단점
+
+ * 파이어 폭스 OS 셀룰러 네트워크 연결 유형을 검색할 수 없습니다.
+ * `navigator.connection.type`로 설정 된 `Connection.CELL` 모든 셀룰러 데이터에 대 한.
+
+### 브라우저 만지면
+
+ * 브라우저는 네트워크 연결의 종류를 검색할 수 없습니다. `navigator.connection.type` `Connection.UNKNOWN` 때 온라인으로 항상 설정 됩니다.
+
+# 네트워크 관련 이벤트
+
+## offline
+
+이벤트가 발생 하면 응용 프로그램 오프 라인, 이동 및 장치가 인터넷에 연결 되어 있지.
+
+ document.addEventListener("offline", yourCallbackFunction, false);
+
+
+### 세부 정보
+
+`offline`이벤트가 발생 하면 응용 프로그램이 더 이상 인터넷에 액세스할 수 있도록 이전 연결 된 장치가 네트워크 연결 손실. 그것은 연결 API와 동일한 정보에 의존 하 고 경우의 값 `connection.type` 된다`NONE`.
+
+일반적으로 응용 프로그램을 사용 해야 합니다 `document.addEventListener` 한번 이벤트 리스너를 연결 하는 `deviceready` 이벤트가 발생 합니다.
+
+### 빠른 예제
+
+ document.addEventListener("offline", onOffline, false);
+
+ function onOffline() {
+ // Handle the offline event
+ }
+
+
+### iOS 단점
+
+처음 시작 하는 동안 첫 번째 오프 라인 이벤트 (있는 경우)를 적어도 초를 걸립니다.
+
+### Windows Phone 7 단점
+
+에뮬레이터에서 실행 하는 경우는 `connection.status` 항상 불명 하다, 그래서이 이벤트는 *없는* 불.
+
+### Windows Phone 8 단점
+
+에뮬레이터도 연결 형식을 보고 `Cellular` 는 변경 되지 않습니다, 그래서 이벤트 않습니다 *하지* 불.
+
+## online
+
+응용 프로그램은 온라인 및 장치가 인터넷에 연결 된다 때이 이벤트가 발생 합니다.
+
+ document.addEventListener("online", yourCallbackFunction, false);
+
+
+### 세부 정보
+
+`online`이전 연결 되지 않은 장치는 인터넷에 대 한 응용 프로그램 액세스를 허용 하도록 네트워크 연결을 받을 때 이벤트가 발생 합니다. 그것은 연결 API와 동일한 정보에 의존 하 고 경우에 `connection.type` 에서 변경 `NONE` 다른 값으로.
+
+일반적으로 응용 프로그램을 사용 해야 합니다 `document.addEventListener` 한번 이벤트 리스너를 연결 하는 `deviceready` 이벤트가 발생 합니다.
+
+### 빠른 예제
+
+ document.addEventListener("online", onOnline, false);
+
+ function onOnline() {
+ // Handle the online event
+ }
+
+
+### iOS 단점
+
+처음 시작 하는 동안 첫 번째 `online` 이벤트 (있는 경우) 이전에 불 초 걸립니다 이상 `connection.type` 입니다`UNKNOWN`.
+
+### Windows Phone 7 단점
+
+에뮬레이터에서 실행 하는 경우는 `connection.status` 항상 불명 하다, 그래서이 이벤트는 *없는* 불.
+
+### Windows Phone 8 단점
+
+에뮬레이터도 연결 형식을 보고 `Cellular` 는 변경 되지 않습니다, 그래서 이벤트 않습니다 *하지* 불. \ No newline at end of file
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/doc/ko/index.md b/StoneIsland/plugins/cordova-plugin-network-information/doc/ko/index.md
new file mode 100644
index 00000000..cb4c727a
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/doc/ko/index.md
@@ -0,0 +1,186 @@
+<!---
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+# cordova-plugin-network-information
+
+이 플러그인 [네트워크 정보 API][1]의 이전 버전에 대 한 구현을 제공합니다. 소자의 셀룰러와 와이파이 연결에 대 한 정보를 제공 합니다 장치는 인터넷 연결에 있는지 여부.
+
+ [1]: http://www.w3.org/TR/2011/WD-netinfo-api-20110607/
+
+## 설치
+
+ cordova plugin add cordova-plugin-network-information
+
+
+## 지원 되는 플랫폼
+
+* 아마존 화재 운영 체제
+* 안 드 로이드
+* 블랙베리 10
+* 브라우저
+* iOS
+* Windows Phone 7과 8
+* Tizen
+* 윈도우
+* Firefox 운영 체제
+
+# 연결
+
+> `connection`개체를 통해 노출 `navigator.connection` , 소자의 셀룰러와 와이파이 연결에 대 한 정보를 제공 합니다.
+
+## 속성
+
+* connection.type
+
+## 상수
+
+* Connection.UNKNOWN
+* Connection.ETHERNET
+* Connection.WIFI
+* Connection.CELL_2G
+* Connection.CELL_3G
+* Connection.CELL_4G
+* Connection.CELL
+* Connection.NONE
+
+## connection.type
+
+이 디바이스의 네트워크 연결 상태를 확인 하는 빠른 방법을 제공 합니다 및 연결의 종류.
+
+### 빠른 예제
+
+ function checkConnection() {
+ var networkState = navigator.connection.type;
+
+ var states = {};
+ states[Connection.UNKNOWN] = 'Unknown connection';
+ states[Connection.ETHERNET] = 'Ethernet connection';
+ states[Connection.WIFI] = 'WiFi connection';
+ states[Connection.CELL_2G] = 'Cell 2G connection';
+ states[Connection.CELL_3G] = 'Cell 3G connection';
+ states[Connection.CELL_4G] = 'Cell 4G connection';
+ states[Connection.CELL] = 'Cell generic connection';
+ states[Connection.NONE] = 'No network connection';
+
+ alert('Connection type: ' + states[networkState]);
+ }
+
+ checkConnection();
+
+
+### API 변경
+
+코르 도우 바 2.3.0까지 `Connection` 개체를 통해 액세스 했습니다 `navigator.network.connection` , 후에 변경 된 `navigator.connection` W3C 사양에 맞게. 그것은 그것의 원래 위치에 계속 사용할 수 하지만 사용 되지 않습니다 및 결국 제거 될 것 이다.
+
+### iOS 단점
+
+* iOS는 셀룰러 네트워크 연결의 종류를 감지할 수 없습니다.
+ * `navigator.connection.type`로 설정 된 `Connection.CELL` 모든 셀룰러 데이터에 대 한.
+
+### Windows Phone 단점
+
+* 에뮬레이터에서 실행할 때 항상 검색 `navigator.connection.type` 으로`Connection.UNKNOWN`.
+
+* Windows Phone 셀룰러 네트워크 연결 유형을 검색할 수 없습니다.
+
+ * `navigator.connection.type`로 설정 된 `Connection.CELL` 모든 셀룰러 데이터에 대 한.
+
+### 윈도우 특수
+
+* 전화 8.1 에뮬레이터에서 실행 하는 경우 항상 `Connection.ETHERNET`로 `navigator.connection.type`를 감지합니다.
+
+### Tizen 특수
+
+* Tizen은 와이파이 또는 휴대 전화 연결에만 검색할 수 있습니다.
+ * `navigator.connection.type`는 모든 셀룰러 데이터에 대 한 `Connection.CELL_2G`로 설정 됩니다.
+
+### 파이어 폭스 OS 단점
+
+* 파이어 폭스 OS 셀룰러 네트워크 연결 유형을 검색할 수 없습니다.
+ * `navigator.connection.type`로 설정 된 `Connection.CELL` 모든 셀룰러 데이터에 대 한.
+
+# 네트워크 관련 이벤트
+
+## offline
+
+이벤트가 발생 하면 응용 프로그램 오프 라인, 이동 및 장치가 인터넷에 연결 되어 있지.
+
+ document.addEventListener("offline", yourCallbackFunction, false);
+
+
+### 세부 정보
+
+`offline`이벤트가 발생 하면 응용 프로그램이 더 이상 인터넷에 액세스할 수 있도록 이전 연결 된 장치가 네트워크 연결 손실. 그것은 연결 API와 동일한 정보에 의존 하 고 경우의 값 `connection.type` 된다`NONE`.
+
+일반적으로 응용 프로그램을 사용 해야 합니다 `document.addEventListener` 한번 이벤트 리스너를 연결 하는 `deviceready` 이벤트가 발생 합니다.
+
+### 빠른 예제
+
+ document.addEventListener("offline", onOffline, false);
+
+ function onOffline() {
+ // Handle the offline event
+ }
+
+
+### iOS 단점
+
+처음 시작 하는 동안 첫 번째 오프 라인 이벤트 (있는 경우)를 적어도 초를 걸립니다.
+
+### Windows Phone 7 단점
+
+에뮬레이터에서 실행 하는 경우는 `connection.status` 항상 불명 하다, 그래서이 이벤트는 *없는* 불.
+
+### Windows Phone 8 단점
+
+에뮬레이터도 연결 형식을 보고 `Cellular` 는 변경 되지 않습니다, 그래서 이벤트 않습니다 *하지* 불.
+
+## online
+
+응용 프로그램은 온라인 및 장치가 인터넷에 연결 된다 때이 이벤트가 발생 합니다.
+
+ document.addEventListener("online", yourCallbackFunction, false);
+
+
+### 세부 정보
+
+`online`이전 연결 되지 않은 장치는 인터넷에 대 한 응용 프로그램 액세스를 허용 하도록 네트워크 연결을 받을 때 이벤트가 발생 합니다. 그것은 연결 API와 동일한 정보에 의존 하 고 경우에 `connection.type` 에서 변경 `NONE` 다른 값으로.
+
+일반적으로 응용 프로그램을 사용 해야 합니다 `document.addEventListener` 한번 이벤트 리스너를 연결 하는 `deviceready` 이벤트가 발생 합니다.
+
+### 빠른 예제
+
+ document.addEventListener("online", onOnline, false);
+
+ function onOnline() {
+ // Handle the online event
+ }
+
+
+### iOS 단점
+
+처음 시작 하는 동안 첫 번째 `online` 이벤트 (있는 경우) 이전에 불 초 걸립니다 이상 `connection.type` 입니다`UNKNOWN`.
+
+### Windows Phone 7 단점
+
+에뮬레이터에서 실행 하는 경우는 `connection.status` 항상 불명 하다, 그래서이 이벤트는 *없는* 불.
+
+### Windows Phone 8 단점
+
+에뮬레이터도 연결 형식을 보고 `Cellular` 는 변경 되지 않습니다, 그래서 이벤트 않습니다 *하지* 불.
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/doc/pl/README.md b/StoneIsland/plugins/cordova-plugin-network-information/doc/pl/README.md
new file mode 100644
index 00000000..4b66cbb4
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/doc/pl/README.md
@@ -0,0 +1,190 @@
+<!--
+# license: Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+-->
+
+# cordova-plugin-network-information
+
+[![Build Status](https://travis-ci.org/apache/cordova-plugin-network-information.svg)](https://travis-ci.org/apache/cordova-plugin-network-information)
+
+Wtyczka stanowi implementację starą wersję [API informacji w sieci](http://www.w3.org/TR/2011/WD-netinfo-api-20110607/). Udostępnia informacje na temat urządzenia komórkowe i wifi połączenie, i czy urządzenie ma połączenie z Internetem.
+
+## Instalacja
+
+ cordova plugin add cordova-plugin-network-information
+
+
+## Obsługiwane platformy
+
+ * Amazon Fire OS
+ * Android
+ * BlackBerry 10
+ * Przeglądarka
+ * iOS
+ * Windows Phone 7 i 8
+ * Tizen
+ * Windows
+ * Firefox OS
+
+# Połączenie
+
+> `connection`Obiektu, wystawiony przez `navigator.connection` , zawiera informacje o połączeniu urządzenia komórkowe i wifi.
+
+## Właściwości
+
+ * Connection.Type
+
+## Stałe
+
+ * Connection.UNKNOWN
+ * Connection.ETHERNET
+ * Connection.WIFI
+ * Connection.CELL_2G
+ * Connection.CELL_3G
+ * Connection.CELL_4G
+ * Connection.CELL
+ * Connection.NONE
+
+## Connection.Type
+
+Oferuje szybki sposób ustalić stan połączenia sieciowego urządzenia i typ połączenia.
+
+### Szybki przykład
+
+ function checkConnection() {
+ var networkState = navigator.connection.type;
+
+ var states = {};
+ states[Connection.UNKNOWN] = 'Unknown connection';
+ states[Connection.ETHERNET] = 'Ethernet connection';
+ states[Connection.WIFI] = 'WiFi connection';
+ states[Connection.CELL_2G] = 'Cell 2G connection';
+ states[Connection.CELL_3G] = 'Cell 3G connection';
+ states[Connection.CELL_4G] = 'Cell 4G connection';
+ states[Connection.CELL] = 'Cell generic connection';
+ states[Connection.NONE] = 'No network connection';
+
+ alert('Connection type: ' + states[networkState]);
+ }
+
+ checkConnection();
+
+
+### Zmiana interfejsu API
+
+Do Cordova 2.3.0 `Connection` obiekt uzyskano za pośrednictwem `navigator.network.connection` , po którym został zmieniony na `navigator.connection` odpowiadać specyfikacji W3C. To jest nadal dostępne w jego oryginalnej lokalizacji, ale jest niezalecane i zostaną ostatecznie usunięte.
+
+### Dziwactwa iOS
+
+ * iOS nie może wykryć typ połączenia w sieci komórkowej.
+ * `navigator.connection.type`jest zestaw `Connection.CELL` dla wszystkich komórek danych.
+
+### Windows Phone dziwactwa
+
+ * Po uruchomieniu w emulatorze, zawsze wykrywa `navigator.connection.type` jako`Connection.UNKNOWN`.
+
+ * Windows Phone nie może wykryć typ połączenia w sieci komórkowej.
+
+ * `navigator.connection.type`jest zestaw `Connection.CELL` dla wszystkich komórek danych.
+
+### Windows dziwactwa
+
+ * Po uruchomieniu w emulatorze telefonu 8.1, zawsze wykrywa `navigator.connection.type` jako `Connection.ETHERNET`.
+
+### Dziwactwa Tizen
+
+ * Tizen można tylko dostrzegać Wi-Fi lub połączenia komórkowe.
+ * `Navigator.Connection.Type` jest zestaw do `Connection.CELL_2G` dla wszystkich komórek danych.
+
+### Firefox OS dziwactwa
+
+ * Firefox OS nie można wykryć typ połączenia w sieci komórkowej.
+ * `navigator.connection.type`jest zestaw `Connection.CELL` dla wszystkich komórek danych.
+
+### Quirks przeglądarki
+
+ * Przeglądarka nie może wykryć typ połączenia sieciowego. `Navigator.Connection.Type` jest zawsze zestaw do `Connection.UNKNOWN` podczas online.
+
+# Zdarzenia związane z sieci
+
+## offline
+
+Zdarzenie odpala gdy aplikacja przejdzie do trybu offline, a urządzenie nie jest podłączone do Internetu.
+
+ document.addEventListener("offline", yourCallbackFunction, false);
+
+
+### Szczegóły
+
+`offline`Zdarzenie fires po wcześniej podłączone urządzenie traci połączenia z siecią, dzięki czemu aplikacja może już dostęp do Internetu. Opiera się na te same informacje połączenia API i gdy odpalam wartość `connection.type` staje się`NONE`.
+
+Aplikacje zwykle należy użyć `document.addEventListener` Aby dołączyć słuchacza raz `deviceready` pożary zdarzenia.
+
+### Szybki przykład
+
+ document.addEventListener("offline", onOffline, false);
+
+ function onOffline() {
+ // Handle the offline event
+ }
+
+
+### Dziwactwa iOS
+
+Podczas uruchamiania systemu pierwsza impreza offline (jeśli dotyczy) trwa co najmniej drugi ognia.
+
+### Dziwactwa Windows Phone 7
+
+Po uruchomieniu w emulatorze, `connection.status` zawsze jest nieznana, więc to wydarzenie *nie* ogień.
+
+### Windows Phone 8 dziwactwa
+
+Emulator raporty typ połączenia, jako `Cellular` , co nie zmienia, więc zdarzenie *nie* ogień.
+
+## online
+
+Wydarzenie to odpala gdy aplikacja przechodzi w tryb online i urządzenie staje się połączenie z Internetem.
+
+ document.addEventListener("online", yourCallbackFunction, false);
+
+
+### Szczegóły
+
+`online`Zdarzenie odpala gdy wcześniej niezwiązane urządzenie odbiera połączenie sieciowe, aby umożliwić aplikacji dostęp do Internetu. Opiera się na te same informacje połączenia API i gdy odpalam `connection.type` zmienia się z `NONE` na inną wartość.
+
+Aplikacje zwykle należy użyć `document.addEventListener` Aby dołączyć słuchacza raz `deviceready` pożary zdarzenia.
+
+### Szybki przykład
+
+ document.addEventListener("online", onOnline, false);
+
+ function onOnline() {
+ // Handle the online event
+ }
+
+
+### Dziwactwa iOS
+
+Podczas uruchamiania systemu pierwszy `online` zdarzenia (w stosownych przypadkach) zajmuje co najmniej drugie ognia, przed którym `connection.type` jest`UNKNOWN`.
+
+### Dziwactwa Windows Phone 7
+
+Po uruchomieniu w emulatorze, `connection.status` zawsze jest nieznana, więc to wydarzenie *nie* ogień.
+
+### Windows Phone 8 dziwactwa
+
+Emulator sprawozdania jako typ połączenia `Cellular` , które nie zmienia, więc wydarzenia czy *nie* ogień. \ No newline at end of file
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/doc/pl/index.md b/StoneIsland/plugins/cordova-plugin-network-information/doc/pl/index.md
new file mode 100644
index 00000000..a42b973c
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/doc/pl/index.md
@@ -0,0 +1,186 @@
+<!---
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+# cordova-plugin-network-information
+
+Wtyczka stanowi implementację starą wersję [API informacji w sieci][1]. Udostępnia informacje na temat urządzenia komórkowe i wifi połączenie, i czy urządzenie ma połączenie z Internetem.
+
+ [1]: http://www.w3.org/TR/2011/WD-netinfo-api-20110607/
+
+## Instalacja
+
+ cordova plugin add cordova-plugin-network-information
+
+
+## Obsługiwane platformy
+
+* Amazon Fire OS
+* Android
+* BlackBerry 10
+* Przeglądarka
+* iOS
+* Windows Phone 7 i 8
+* Tizen
+* Windows
+* Firefox OS
+
+# Połączenie
+
+> `connection`Obiektu, wystawiony przez `navigator.connection` , zawiera informacje o połączeniu urządzenia komórkowe i wifi.
+
+## Właściwości
+
+* Connection.Type
+
+## Stałe
+
+* Connection.UNKNOWN
+* Connection.ETHERNET
+* Connection.WIFI
+* Connection.CELL_2G
+* Connection.CELL_3G
+* Connection.CELL_4G
+* Connection.CELL
+* Connection.NONE
+
+## Connection.Type
+
+Oferuje szybki sposób ustalić stan połączenia sieciowego urządzenia i typ połączenia.
+
+### Szybki przykład
+
+ function checkConnection() {
+ var networkState = navigator.connection.type;
+
+ var states = {};
+ states[Connection.UNKNOWN] = 'Unknown connection';
+ states[Connection.ETHERNET] = 'Ethernet connection';
+ states[Connection.WIFI] = 'WiFi connection';
+ states[Connection.CELL_2G] = 'Cell 2G connection';
+ states[Connection.CELL_3G] = 'Cell 3G connection';
+ states[Connection.CELL_4G] = 'Cell 4G connection';
+ states[Connection.CELL] = 'Cell generic connection';
+ states[Connection.NONE] = 'No network connection';
+
+ alert('Connection type: ' + states[networkState]);
+ }
+
+ checkConnection();
+
+
+### Zmiana interfejsu API
+
+Do Cordova 2.3.0 `Connection` obiekt uzyskano za pośrednictwem `navigator.network.connection` , po którym został zmieniony na `navigator.connection` odpowiadać specyfikacji W3C. To jest nadal dostępne w jego oryginalnej lokalizacji, ale jest niezalecane i zostaną ostatecznie usunięte.
+
+### Dziwactwa iOS
+
+* iOS nie może wykryć typ połączenia w sieci komórkowej.
+ * `navigator.connection.type`jest zestaw `Connection.CELL` dla wszystkich komórek danych.
+
+### Windows Phone dziwactwa
+
+* Po uruchomieniu w emulatorze, zawsze wykrywa `navigator.connection.type` jako`Connection.UNKNOWN`.
+
+* Windows Phone nie może wykryć typ połączenia w sieci komórkowej.
+
+ * `navigator.connection.type`jest zestaw `Connection.CELL` dla wszystkich komórek danych.
+
+### Windows dziwactwa
+
+* Po uruchomieniu w emulatorze telefonu 8.1, zawsze wykrywa `navigator.connection.type` jako `Connection.ETHERNET`.
+
+### Dziwactwa Tizen
+
+* Tizen można tylko dostrzegać Wi-Fi lub połączenia komórkowe.
+ * `Navigator.Connection.Type` jest zestaw do `Connection.CELL_2G` dla wszystkich komórek danych.
+
+### Firefox OS dziwactwa
+
+* Firefox OS nie można wykryć typ połączenia w sieci komórkowej.
+ * `navigator.connection.type`jest zestaw `Connection.CELL` dla wszystkich komórek danych.
+
+# Zdarzenia związane z sieci
+
+## offline
+
+Zdarzenie odpala gdy aplikacja przejdzie do trybu offline, a urządzenie nie jest podłączone do Internetu.
+
+ document.addEventListener("offline", yourCallbackFunction, false);
+
+
+### Szczegóły
+
+`offline`Zdarzenie fires po wcześniej podłączone urządzenie traci połączenia z siecią, dzięki czemu aplikacja może już dostęp do Internetu. Opiera się na te same informacje połączenia API i gdy odpalam wartość `connection.type` staje się`NONE`.
+
+Aplikacje zwykle należy użyć `document.addEventListener` Aby dołączyć słuchacza raz `deviceready` pożary zdarzenia.
+
+### Szybki przykład
+
+ document.addEventListener("offline", onOffline, false);
+
+ function onOffline() {
+ // Handle the offline event
+ }
+
+
+### Dziwactwa iOS
+
+Podczas uruchamiania systemu pierwsza impreza offline (jeśli dotyczy) trwa co najmniej drugi ognia.
+
+### Dziwactwa Windows Phone 7
+
+Po uruchomieniu w emulatorze, `connection.status` zawsze jest nieznana, więc to wydarzenie *nie* ogień.
+
+### Windows Phone 8 dziwactwa
+
+Emulator raporty typ połączenia, jako `Cellular` , co nie zmienia, więc zdarzenie *nie* ogień.
+
+## online
+
+Wydarzenie to odpala gdy aplikacja przechodzi w tryb online i urządzenie staje się połączenie z Internetem.
+
+ document.addEventListener("online", yourCallbackFunction, false);
+
+
+### Szczegóły
+
+`online`Zdarzenie odpala gdy wcześniej niezwiązane urządzenie odbiera połączenie sieciowe, aby umożliwić aplikacji dostęp do Internetu. Opiera się na te same informacje połączenia API i gdy odpalam `connection.type` zmienia się z `NONE` na inną wartość.
+
+Aplikacje zwykle należy użyć `document.addEventListener` Aby dołączyć słuchacza raz `deviceready` pożary zdarzenia.
+
+### Szybki przykład
+
+ document.addEventListener("online", onOnline, false);
+
+ function onOnline() {
+ // Handle the online event
+ }
+
+
+### Dziwactwa iOS
+
+Podczas uruchamiania systemu pierwszy `online` zdarzenia (w stosownych przypadkach) zajmuje co najmniej drugie ognia, przed którym `connection.type` jest`UNKNOWN`.
+
+### Dziwactwa Windows Phone 7
+
+Po uruchomieniu w emulatorze, `connection.status` zawsze jest nieznana, więc to wydarzenie *nie* ogień.
+
+### Windows Phone 8 dziwactwa
+
+Emulator sprawozdania jako typ połączenia `Cellular` , które nie zmienia, więc wydarzenia czy *nie* ogień.
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/doc/ru/index.md b/StoneIsland/plugins/cordova-plugin-network-information/doc/ru/index.md
new file mode 100644
index 00000000..481c1b18
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/doc/ru/index.md
@@ -0,0 +1,182 @@
+<!---
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+# cordova-plugin-network-information
+
+Этот плагин обеспечивает реализацию старой версии [API Сетевой информации][1]. Он предоставляет информацию о сотовых и Wi-Fi подключениях устройства, и информацию имеет ли устройство подключение к Интернету.
+
+ [1]: http://www.w3.org/TR/2011/WD-netinfo-api-20110607/
+
+## Установка
+
+ cordova plugin add cordova-plugin-network-information
+
+
+## Поддерживаемые платформы
+
+* Amazon Fire OS
+* Android
+* BlackBerry 10
+* Браузер
+* iOS
+* Windows Phone 7 и 8
+* Tizen
+* Windows 8
+* Firefox OS
+
+# Connection
+
+> Объект `connection`, доступный через `navigator.connection`, предоставляет информацию о сотовых и wifi подключениях устройства.
+
+## Свойства
+
+* connection.type
+
+## Константы
+
+* Connection.UNKNOWN
+* Connection.ETHERNET
+* Connection.WIFI
+* Connection.CELL_2G
+* Connection.CELL_3G
+* Connection.CELL_4G
+* Connection.CELL
+* Connection.NONE
+
+## connection.type
+
+Это свойство предоставляет быстрый способ для определения состояния подключения устройства к сети и тип этого подключения.
+
+### Краткий пример
+
+ function checkConnection() {
+ var networkState = navigator.connection.type;
+
+ var states = {};
+ states[Connection.UNKNOWN] = 'Unknown connection';
+ states[Connection.ETHERNET] = 'Ethernet connection';
+ states[Connection.WIFI] = 'WiFi connection';
+ states[Connection.CELL_2G] = 'Cell 2G connection';
+ states[Connection.CELL_3G] = 'Cell 3G connection';
+ states[Connection.CELL_4G] = 'Cell 4G connection';
+ states[Connection.CELL] = 'Cell generic connection';
+ states[Connection.NONE] = 'No network connection';
+
+ alert('Connection type: ' + states[networkState]);
+ }
+
+ checkConnection();
+
+
+### Изменения в API
+
+До Cordova 2.3.0 объект `Connection` был доступен через `navigator.network.connection`, после чего это свойство было изменено на `navigator.connection` в соответствии со спецификацией консорциума W3C. Он все еще доступен в его исходном расположении, но это расположение является устаревшим и в конечном итоге будет удалено.
+
+### Особенности iOS
+
+* iOS не может определить тип подключения к сотовой сети.
+ * `navigator.connection.type` имеет значение `Connection.CELL` для всех сотовых данных.
+
+### Особенности Windows Phone
+
+* Когда работает в эмуляторе, тип подключения всегда определяется `navigator.connection.type` как `Connection.UNKNOWN`.
+
+* Windows Phone не может определить тип подключения к сотовой сети.
+
+ * `navigator.connection.type` имеет значение `Connection.CELL` для всех сотовых данных.
+
+### Особенности Tizen
+
+* Tizen может обнаружить только соединения Wi-Fi или наличие сотовой связи.
+ * `navigator.connection.type` имеет значение `Connection.CELL_2G` для всех сотовых данных.
+
+### Особенности Firefox OS
+
+* Firefox OS не может определить тип подключения к сотовой сети.
+ * `navigator.connection.type` имеет значение `Connection.CELL` для всех сотовых данных.
+
+# События, связанные с сетью
+
+## offline
+
+Событие возникает, когда приложение переходит в автономный режим, и устройство не подключено к сети Интернет.
+
+ document.addEventListener("offline", yourCallbackFunction, false);
+
+
+### Подробности
+
+Событие `offline` возникает, когда ранее подключенное устройство теряет подключение к сети, так что приложение больше не может получить доступ к Интернет. Он опирается на ту же информацию, что и Connection API и срабатывает, когда значение `connection.type` становится равным `NONE`.
+
+Приложения обычно должно использовать `window.addEventListener` чтобы добавить обработчик события после того как произойдет событие `deviceready`.
+
+### Краткий пример
+
+ document.addEventListener("offline", onOffline, false);
+
+ function onOffline() {
+ // Handle the offline event
+ }
+
+
+### Особенности iOS
+
+Во время первоначального запуска первому событию offline (если применимо) требуется по крайней мере секунду на срабатывание.
+
+### Особенности Windows Phone 7
+
+Когда работает в эмуляторе, `connection.status` всегда неизвестен, так что это событие *не* срабатывает.
+
+### Особенности Windows Phone 8
+
+Эмулятор сообщает тип подключения как `Cellular` , которое не меняется, поэтому событие не *не* срабатывает.
+
+## online
+
+Это событие возникает, когда приложение выходит в онлайн, и устройство подключается к Интернету.
+
+ document.addEventListener("online", yourCallbackFunction, false);
+
+
+### Подробности
+
+Событие `online` возникает, когда ранее не подключенное к сети устройство получает сетевое подключение, разрешающее приложению доступ к Интернету. Оно опирается на ту же информацию, Connection API и вызывается когда `connection.type` меняется с `NONE` в любое другое значение.
+
+Приложения обычно должны использовать `window.addEventListener` чтобы добавить обработчик события после того как произойдет событие `deviceready`.
+
+### Краткий пример
+
+ document.addEventListener("online", onOnline, false);
+
+ function onOnline() {
+ // Handle the online event
+ }
+
+
+### Особенности iOS
+
+Во время первоначального запуска первое событие `online` (если применимо) занимает по меньшей мере секунду на срабатывание, до этого момента `connection.type` является равным `UNKNOWN`.
+
+### Особенности Windows Phone 7
+
+Когда работает в эмуляторе, `connection.status` всегда неизвестен, так что это событие *не* срабатывает.
+
+### Особенности Windows Phone 8
+
+Эмулятор сообщает тип подключения как `Cellular` , которое не меняется, поэтому событие не *не* срабатывает.
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/doc/zh/README.md b/StoneIsland/plugins/cordova-plugin-network-information/doc/zh/README.md
new file mode 100644
index 00000000..09e11e7e
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/doc/zh/README.md
@@ -0,0 +1,190 @@
+<!--
+# license: Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+-->
+
+# cordova-plugin-network-information
+
+[![Build Status](https://travis-ci.org/apache/cordova-plugin-network-information.svg)](https://travis-ci.org/apache/cordova-plugin-network-information)
+
+這個外掛程式提供的舊版本的[網路資訊 API](http://www.w3.org/TR/2011/WD-netinfo-api-20110607/)實現的。 它提供了有關該設備的行動電話和無線網路連接的資訊和設備是否已連接到 internet。
+
+## 安裝
+
+ cordova plugin add cordova-plugin-network-information
+
+
+## 支援的平臺
+
+ * 亞馬遜火 OS
+ * Android 系統
+ * 黑莓 10
+ * 瀏覽器
+ * iOS
+ * Windows Phone 7 和 8
+ * Tizen
+ * Windows
+ * 火狐瀏覽器作業系統
+
+# 連接
+
+> `connection`物件,通過公開 `navigator.connection` ,提供了有關該設備的行動電話和無線網路連接的資訊。
+
+## 屬性
+
+ * connection.type
+
+## 常量
+
+ * Connection.UNKNOWN
+ * Connection.ETHERNET
+ * Connection.WIFI
+ * Connection.CELL_2G
+ * Connection.CELL_3G
+ * Connection.CELL_4G
+ * Connection.CELL
+ * Connection.NONE
+
+## connection.type
+
+此屬性提供快速的方法來確定設備的網路連接狀態,和連線類型。
+
+### 快速的示例
+
+ function checkConnection() {
+ var networkState = navigator.connection.type;
+
+ var states = {};
+ states[Connection.UNKNOWN] = 'Unknown connection';
+ states[Connection.ETHERNET] = 'Ethernet connection';
+ states[Connection.WIFI] = 'WiFi connection';
+ states[Connection.CELL_2G] = 'Cell 2G connection';
+ states[Connection.CELL_3G] = 'Cell 3G connection';
+ states[Connection.CELL_4G] = 'Cell 4G connection';
+ states[Connection.CELL] = 'Cell generic connection';
+ states[Connection.NONE] = 'No network connection';
+
+ alert('Connection type: ' + states[networkState]);
+ }
+
+ checkConnection();
+
+
+### API 更改
+
+科爾多瓦 2.3.0,直到 `Connection` 物件的訪問通過 `navigator.network.connection` 後才改為其中, `navigator.connection` 以匹配的 W3C 規範。 它在其原始位置,是仍然可用,但已廢棄,最終將被刪除。
+
+### iOS 的怪癖
+
+ * iOS 無法檢測到蜂窩網路連接的類型。
+ * `navigator.connection.type`設置為 `Connection.CELL` 為所有蜂窩資料。
+
+### Windows Phone 怪癖
+
+ * 當運行在模擬器中,總能檢測到 `navigator.connection.type` 作為`Connection.UNKNOWN`.
+
+ * Windows Phone 不能檢測的蜂窩網路連接的類型。
+
+ * `navigator.connection.type`設置為 `Connection.CELL` 為所有蜂窩資料。
+
+### Windows 的怪癖
+
+ * 當電話 8.1 在模擬器中運行,總能檢測到 `navigator.connection.type` 作為 `Connection.ETHERNET`.
+
+### Tizen 怪癖
+
+ * 泰只能檢測一個 WiFi 或細胞連接。
+ * `navigator.connection.type` 是所有蜂窩資料設置為 `Connection.CELL_2G`。
+
+### 火狐瀏覽器作業系統的怪癖
+
+ * 火狐瀏覽器作業系統無法檢測到蜂窩網路連接的類型。
+ * `navigator.connection.type`設置為 `Connection.CELL` 為所有蜂窩資料。
+
+### 瀏覽器的怪癖
+
+ * 瀏覽器無法檢測到網路連接的類型。 `navigator.connection.type`總是被設置為`Connection.UNKNOWN`時線上。
+
+# 與網路相關的事件
+
+## offline
+
+當一個應用程式離線時,與該設備未連接到互聯網時,將觸發該事件。
+
+ document.addEventListener("offline", yourCallbackFunction, false);
+
+
+### 詳細資訊
+
+`offline`以前連接的設備失去網路連接,這樣,應用程式不再可以訪問互聯網時激發的事件。 它依賴于連接 API,相同的資訊和火災時的值 `connection.type` 變得`NONE`.
+
+應用程式通常應使用 `document.addEventListener` 將一個事件攔截器附加一次 `deviceready` 事件火災。
+
+### 快速的示例
+
+ document.addEventListener("offline", onOffline, false);
+
+ function onOffline() {
+ // Handle the offline event
+ }
+
+
+### iOS 的怪癖
+
+在初始啟動期間,第一次離線事件 (如果適用) 需至少一秒的火。
+
+### Windows Phone 7 的怪癖
+
+當運行在模擬器中, `connection.status` 始終是未知的因此此事件不會*不*火。
+
+### Windows Phone 8 怪癖
+
+模擬程式報告連線類型為 `Cellular` ,而不會更改,所以該事件不會*不*火。
+
+## online
+
+當應用程式進入線上狀態,和該設備將成為連接到互聯網時觸發此事件。
+
+ document.addEventListener("online", yourCallbackFunction, false);
+
+
+### 詳細資訊
+
+`online`當先前連接的行動裝置接收到一個網路連接以允許應用程式訪問互聯網時激發的事件。 它依賴于連接 API,相同的資訊,則會激發 `connection.type` 從更改 `NONE` 為任何其他值。
+
+應用程式通常應使用 `document.addEventListener` 將一個事件攔截器附加一次 `deviceready` 事件火災。
+
+### 快速的示例
+
+ document.addEventListener("online", onOnline, false);
+
+ function onOnline() {
+ // Handle the online event
+ }
+
+
+### iOS 的怪癖
+
+在初始啟動期間第一次 `online` 事件 (如果適用),至少需一秒的火災之前的, `connection.type` 是`UNKNOWN`.
+
+### Windows Phone 7 的怪癖
+
+當運行在模擬器中, `connection.status` 始終是未知的因此此事件不會*不*火。
+
+### Windows Phone 8 怪癖
+
+模擬程式報告連線類型為 `Cellular` ,而不會更改,所以事件不**火。 \ No newline at end of file
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/doc/zh/index.md b/StoneIsland/plugins/cordova-plugin-network-information/doc/zh/index.md
new file mode 100644
index 00000000..2041467e
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/doc/zh/index.md
@@ -0,0 +1,186 @@
+<!---
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+# cordova-plugin-network-information
+
+這個外掛程式提供的舊版本的[網路資訊 API][1]實現的。 它提供了有關該設備的行動電話和無線網路連接的資訊和設備是否已連接到 internet。
+
+ [1]: http://www.w3.org/TR/2011/WD-netinfo-api-20110607/
+
+## 安裝
+
+ cordova plugin add cordova-plugin-network-information
+
+
+## 支援的平臺
+
+* 亞馬遜火 OS
+* Android 系統
+* 黑莓 10
+* 瀏覽器
+* iOS
+* Windows Phone 7 和 8
+* 泰
+* Windows
+* 火狐瀏覽器的作業系統
+
+# 連接
+
+> `connection`物件,通過公開 `navigator.connection` ,提供了有關該設備的行動電話和無線網路連接的資訊。
+
+## 屬性
+
+* connection.type
+
+## 常量
+
+* Connection.UNKNOWN
+* Connection.ETHERNET
+* Connection.WIFI
+* Connection.CELL_2G
+* Connection.CELL_3G
+* Connection.CELL_4G
+* Connection.CELL
+* Connection.NONE
+
+## connection.type
+
+此屬性提供快速的方法來確定設備的網路連接狀態,和連線類型。
+
+### 快速的示例
+
+ function checkConnection() {
+ var networkState = navigator.connection.type;
+
+ var states = {};
+ states[Connection.UNKNOWN] = 'Unknown connection';
+ states[Connection.ETHERNET] = 'Ethernet connection';
+ states[Connection.WIFI] = 'WiFi connection';
+ states[Connection.CELL_2G] = 'Cell 2G connection';
+ states[Connection.CELL_3G] = 'Cell 3G connection';
+ states[Connection.CELL_4G] = 'Cell 4G connection';
+ states[Connection.CELL] = 'Cell generic connection';
+ states[Connection.NONE] = 'No network connection';
+
+ alert('Connection type: ' + states[networkState]);
+ }
+
+ checkConnection();
+
+
+### API 更改
+
+科爾多瓦 2.3.0,直到 `Connection` 物件的訪問通過 `navigator.network.connection` 後才改為其中, `navigator.connection` 以匹配的 W3C 規範。 它在其原始位置,是仍然可用,但已廢棄,最終將被刪除。
+
+### iOS 的怪癖
+
+* iOS 無法檢測到蜂窩網路連接的類型。
+ * `navigator.connection.type`設置為 `Connection.CELL` 為所有蜂窩資料。
+
+### Windows Phone 怪癖
+
+* 當運行在模擬器中,總能檢測到 `navigator.connection.type` 作為`Connection.UNKNOWN`.
+
+* Windows Phone 不能檢測的蜂窩網路連接的類型。
+
+ * `navigator.connection.type`設置為 `Connection.CELL` 為所有蜂窩資料。
+
+### Windows 的怪癖
+
+* 當電話 8.1 在模擬器中運行,總能檢測到 `navigator.connection.type` 作為 `Connection.ETHERNET`.
+
+### Tizen 怪癖
+
+* 泰只能檢測一個 WiFi 或細胞連接。
+ * `navigator.connection.type` 是所有蜂窩資料設置為 `Connection.CELL_2G`。
+
+### 火狐瀏覽器作業系統的怪癖
+
+* 火狐瀏覽器作業系統無法檢測到蜂窩網路連接的類型。
+ * `navigator.connection.type`設置為 `Connection.CELL` 為所有蜂窩資料。
+
+# 與網路相關的事件
+
+## offline
+
+當一個應用程式離線時,與該設備未連接到互聯網時,將觸發該事件。
+
+ document.addEventListener("offline", yourCallbackFunction, false);
+
+
+### 詳細資訊
+
+`offline`以前連接的設備失去網路連接,這樣,應用程式不再可以訪問互聯網時激發的事件。 它依賴于連接 API,相同的資訊和火災時的值 `connection.type` 變得`NONE`.
+
+應用程式通常應使用 `document.addEventListener` 將一個事件攔截器附加一次 `deviceready` 事件火災。
+
+### 快速的示例
+
+ document.addEventListener("offline", onOffline, false);
+
+ function onOffline() {
+ // Handle the offline event
+ }
+
+
+### iOS 的怪癖
+
+在初始啟動期間,第一次離線事件 (如果適用) 需至少一秒的火。
+
+### Windows Phone 7 的怪癖
+
+當運行在模擬器中, `connection.status` 始終是未知的因此此事件不會*不*火。
+
+### Windows Phone 8 怪癖
+
+模擬程式報告連線類型為 `Cellular` ,而不會更改,所以該事件不會*不*火。
+
+## online
+
+當應用程式進入線上狀態,和該設備將成為連接到互聯網時觸發此事件。
+
+ document.addEventListener("online", yourCallbackFunction, false);
+
+
+### 詳細資訊
+
+`online`當先前連接的行動裝置接收到一個網路連接以允許應用程式訪問互聯網時激發的事件。 它依賴于連接 API,相同的資訊,則會激發 `connection.type` 從更改 `NONE` 為任何其他值。
+
+應用程式通常應使用 `document.addEventListener` 將一個事件攔截器附加一次 `deviceready` 事件火災。
+
+### 快速的示例
+
+ document.addEventListener("online", onOnline, false);
+
+ function onOnline() {
+ // Handle the online event
+ }
+
+
+### iOS 的怪癖
+
+在初始啟動期間第一次 `online` 事件 (如果適用),至少需一秒的火災之前的, `connection.type` 是`UNKNOWN`.
+
+### Windows Phone 7 的怪癖
+
+當運行在模擬器中, `connection.status` 始終是未知的因此此事件不會*不*火。
+
+### Windows Phone 8 怪癖
+
+模擬程式報告連線類型為 `Cellular` ,而不會更改,所以事件不**火。
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/package.json b/StoneIsland/plugins/cordova-plugin-network-information/package.json
new file mode 100644
index 00000000..452db88b
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/package.json
@@ -0,0 +1,46 @@
+{
+ "name": "cordova-plugin-network-information",
+ "version": "1.0.1",
+ "description": "Cordova Network Information Plugin",
+ "cordova": {
+ "id": "cordova-plugin-network-information",
+ "platforms": [
+ "firefoxos",
+ "android",
+ "amazon-fireos",
+ "ubuntu",
+ "ios",
+ "blackberry10",
+ "wp7",
+ "wp8",
+ "windows8",
+ "windows",
+ "tizen",
+ "browser"
+ ]
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/apache/cordova-plugin-network-information"
+ },
+ "keywords": [
+ "cordova",
+ "network",
+ "information",
+ "ecosystem:cordova",
+ "cordova-firefoxos",
+ "cordova-android",
+ "cordova-amazon-fireos",
+ "cordova-ubuntu",
+ "cordova-ios",
+ "cordova-blackberry10",
+ "cordova-wp7",
+ "cordova-wp8",
+ "cordova-windows8",
+ "cordova-windows",
+ "cordova-tizen",
+ "cordova-browser"
+ ],
+ "author": "Apache Software Foundation",
+ "license": "Apache 2.0"
+}
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/plugin.xml b/StoneIsland/plugins/cordova-plugin-network-information/plugin.xml
new file mode 100644
index 00000000..e0ed97fc
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/plugin.xml
@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
+xmlns:android="http://schemas.android.com/apk/res/android"
+ id="cordova-plugin-network-information"
+ version="1.0.1">
+
+ <name>Network Information</name>
+ <description>Cordova Network Information Plugin</description>
+ <license>Apache 2.0</license>
+ <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" />
+ </js-module>
+
+ <js-module src="www/Connection.js" name="Connection">
+ <clobbers target="Connection" />
+ </js-module>
+
+ <!-- firefoxos -->
+ <platform name="firefoxos">
+ <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>
+ </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 -->
+ <platform name="amazon-fireos">
+ <config-file target="res/xml/config.xml" parent="/*">
+ <feature name="NetworkStatus">
+ <param name="android-package" value="org.apache.cordova.networkinformation.NetworkManager"/>
+ </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>
+
+
+ <!-- ubuntu -->
+ <platform name="ubuntu">
+ <config-file target="config.xml" parent="/*">
+ <feature name="Camera">
+ <param policy_group="connectivity" policy_version="1" />
+ </feature>
+ </config-file>
+ <header-file src="src/ubuntu/network_information.h" />
+ <source-file src="src/ubuntu/network_information.cpp" />
+ </platform>
+
+ <!-- ios -->
+ <platform name="ios">
+ <config-file target="config.xml" parent="/*">
+ <feature name="NetworkStatus">
+ <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" />
+ <source-file src="src/ios/CDVReachability.m" />
+ <framework src="SystemConfiguration.framework" weak="true" />
+ </platform>
+
+ <!-- blackberry10 -->
+ <platform name="blackberry10">
+ <source-file src="src/blackberry10/index.js" target-dir="NetworkStatus" />
+ <config-file target="www/config.xml" parent="/widget">
+ <feature name="NetworkStatus" value="NetworkStatus"/>
+ </config-file>
+ </platform>
+
+ <!-- wp7 -->
+ <platform name="wp7">
+ <config-file target="config.xml" parent="/*">
+ <feature name="NetworkStatus">
+ <param name="wp-package" value="NetworkStatus"/>
+ </feature>
+ </config-file>
+
+ <config-file target="Properties/WMAppManifest.xml" parent="/Deployment/App/Capabilities">
+ <Capability Name="ID_CAP_NETWORKING" />
+ </config-file>
+
+ <source-file src="src/wp/NetworkStatus.cs" />
+ </platform>
+
+ <!-- wp8 -->
+ <platform name="wp8">
+ <config-file target="config.xml" parent="/*">
+ <feature name="NetworkStatus">
+ <param name="wp-package" value="NetworkStatus"/>
+ </feature>
+ </config-file>
+
+ <config-file target="Properties/WMAppManifest.xml" parent="/Deployment/App/Capabilities">
+ <Capability Name="ID_CAP_NETWORKING" />
+ </config-file>
+
+ <source-file src="src/wp/NetworkStatus.cs" />
+ </platform>
+
+ <!-- windows8 -->
+ <platform name="windows8">
+ <js-module src="src/windows/NetworkInfoProxy.js" name="NetworkInfoProxy">
+ <merges target="" />
+ </js-module>
+ </platform>
+
+ <!-- windows -->
+ <platform name="windows">
+ <js-module src="src/windows/NetworkInfoProxy.js" name="NetworkInfoProxy">
+ <merges target="" />
+ </js-module>
+ </platform>
+
+ <!-- tizen -->
+ <platform name="tizen">
+ <js-module src="src/tizen/NetworkProxy.js" name="NetworkProxy">
+ <runs />
+ </js-module>
+ </platform>
+
+ <!-- browser -->
+ <platform name="browser">
+ <js-module src="www/browser/network.js" name="browserNetwork">
+ <clobbers target="navigator.connection" />
+ <clobbers target="navigator.network.connection" />
+ </js-module>
+ </platform>
+</plugin>
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/src/android/NetworkManager.java b/StoneIsland/plugins/cordova-plugin-network-information/src/android/NetworkManager.java
new file mode 100755
index 00000000..4c85ddab
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/src/android/NetworkManager.java
@@ -0,0 +1,267 @@
+/*
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+*/
+package org.apache.cordova.networkinformation;
+
+import org.apache.cordova.CallbackContext;
+import org.apache.cordova.CordovaInterface;
+import org.apache.cordova.CordovaPlugin;
+import org.apache.cordova.PluginResult;
+import org.apache.cordova.CordovaWebView;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.net.ConnectivityManager;
+import android.net.NetworkInfo;
+import android.util.Log;
+
+public class NetworkManager extends CordovaPlugin {
+
+ public static int NOT_REACHABLE = 0;
+ public static int REACHABLE_VIA_CARRIER_DATA_NETWORK = 1;
+ public static int REACHABLE_VIA_WIFI_NETWORK = 2;
+
+ public static final String WIFI = "wifi";
+ public static final String WIMAX = "wimax";
+ // mobile
+ public static final String MOBILE = "mobile";
+
+ // Android L calls this Cellular, because I have no idea!
+ public static final String CELLULAR = "cellular";
+ // 2G network types
+ public static final String GSM = "gsm";
+ public static final String GPRS = "gprs";
+ public static final String EDGE = "edge";
+ // 3G network types
+ public static final String CDMA = "cdma";
+ public static final String UMTS = "umts";
+ public static final String HSPA = "hspa";
+ public static final String HSUPA = "hsupa";
+ public static final String HSDPA = "hsdpa";
+ public static final String ONEXRTT = "1xrtt";
+ public static final String EHRPD = "ehrpd";
+ // 4G network types
+ public static final String LTE = "lte";
+ public static final String UMB = "umb";
+ public static final String HSPA_PLUS = "hspa+";
+ // return type
+ public static final String TYPE_UNKNOWN = "unknown";
+ public static final String TYPE_ETHERNET = "ethernet";
+ public static final String TYPE_WIFI = "wifi";
+ public static final String TYPE_2G = "2g";
+ public static final String TYPE_3G = "3g";
+ public static final String TYPE_4G = "4g";
+ public static final String TYPE_NONE = "none";
+
+ private static final String LOG_TAG = "NetworkManager";
+
+ private CallbackContext connectionCallbackContext;
+
+ ConnectivityManager sockMan;
+ BroadcastReceiver receiver;
+ private JSONObject lastInfo = null;
+
+ /**
+ * Sets the context of the Command. This can then be used to do things like
+ * get file paths associated with the Activity.
+ *
+ * @param cordova The context of the main Activity.
+ * @param webView The CordovaWebView Cordova is running in.
+ */
+ public void initialize(CordovaInterface cordova, CordovaWebView webView) {
+ super.initialize(cordova, webView);
+ this.sockMan = (ConnectivityManager) cordova.getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
+ this.connectionCallbackContext = null;
+
+ // We need to listen to connectivity events to update navigator.connection
+ IntentFilter intentFilter = new IntentFilter();
+ intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
+ if (this.receiver == null) {
+ this.receiver = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ // (The null check is for the ARM Emulator, please use Intel Emulator for better results)
+ if(NetworkManager.this.webView != null)
+ updateConnectionInfo(sockMan.getActiveNetworkInfo());
+ }
+ };
+ webView.getContext().registerReceiver(this.receiver, intentFilter);
+ }
+
+ }
+
+ /**
+ * Executes the request and returns PluginResult.
+ *
+ * @param action The action to execute.
+ * @param args JSONArry of arguments for the plugin.
+ * @param callbackContext The callback id used when calling back into JavaScript.
+ * @return True if the action was valid, false otherwise.
+ */
+ public boolean execute(String action, JSONArray args, CallbackContext callbackContext) {
+ if (action.equals("getConnectionInfo")) {
+ this.connectionCallbackContext = callbackContext;
+ NetworkInfo info = sockMan.getActiveNetworkInfo();
+ String connectionType = "";
+ try {
+ connectionType = this.getConnectionInfo(info).get("type").toString();
+ } catch (JSONException e) { }
+
+ PluginResult pluginResult = new PluginResult(PluginResult.Status.OK, connectionType);
+ pluginResult.setKeepCallback(true);
+ callbackContext.sendPluginResult(pluginResult);
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Stop network receiver.
+ */
+ public void onDestroy() {
+ if (this.receiver != null) {
+ try {
+ webView.getContext().unregisterReceiver(this.receiver);
+ } catch (Exception e) {
+ Log.e(LOG_TAG, "Error unregistering network receiver: " + e.getMessage(), e);
+ } finally {
+ receiver = null;
+ }
+ }
+ }
+
+ //--------------------------------------------------------------------------
+ // LOCAL METHODS
+ //--------------------------------------------------------------------------
+
+ /**
+ * Updates the JavaScript side whenever the connection changes
+ *
+ * @param info the current active network info
+ * @return
+ */
+ private void updateConnectionInfo(NetworkInfo info) {
+ // send update to javascript "navigator.network.connection"
+ // Jellybean sends its own info
+ JSONObject thisInfo = this.getConnectionInfo(info);
+ if(!thisInfo.equals(lastInfo))
+ {
+ String connectionType = "";
+ try {
+ connectionType = thisInfo.get("type").toString();
+ } catch (JSONException e) { }
+
+ sendUpdate(connectionType);
+ lastInfo = thisInfo;
+ }
+ }
+
+ /**
+ * Get the latest network connection information
+ *
+ * @param info the current active network info
+ * @return a JSONObject that represents the network info
+ */
+ private JSONObject getConnectionInfo(NetworkInfo info) {
+ String type = TYPE_NONE;
+ String extraInfo = "";
+ if (info != null) {
+ // If we are not connected to any network set type to none
+ if (!info.isConnected()) {
+ type = TYPE_NONE;
+ }
+ else {
+ type = getType(info);
+ }
+ extraInfo = info.getExtraInfo();
+ }
+
+ Log.d("CordovaNetworkManager", "Connection Type: " + type);
+ Log.d("CordovaNetworkManager", "Connection Extra Info: " + extraInfo);
+
+ JSONObject connectionInfo = new JSONObject();
+
+ try {
+ connectionInfo.put("type", type);
+ connectionInfo.put("extraInfo", extraInfo);
+ } catch (JSONException e) { }
+
+ return connectionInfo;
+ }
+
+ /**
+ * Create a new plugin result and send it back to JavaScript
+ *
+ * @param connection the network info to set as navigator.connection
+ */
+ private void sendUpdate(String type) {
+ if (connectionCallbackContext != null) {
+ PluginResult result = new PluginResult(PluginResult.Status.OK, type);
+ result.setKeepCallback(true);
+ connectionCallbackContext.sendPluginResult(result);
+ }
+ webView.postMessage("networkconnection", type);
+ }
+
+ /**
+ * Determine the type of connection
+ *
+ * @param info the network info so we can determine connection type.
+ * @return the type of mobile network we are on
+ */
+ private String getType(NetworkInfo info) {
+ if (info != null) {
+ String type = info.getTypeName();
+
+ if (type.toLowerCase().equals(WIFI)) {
+ return TYPE_WIFI;
+ }
+ else if (type.toLowerCase().equals(MOBILE) || type.toLowerCase().equals(CELLULAR)) {
+ type = info.getSubtypeName();
+ if (type.toLowerCase().equals(GSM) ||
+ type.toLowerCase().equals(GPRS) ||
+ type.toLowerCase().equals(EDGE)) {
+ return TYPE_2G;
+ }
+ else if (type.toLowerCase().startsWith(CDMA) ||
+ type.toLowerCase().equals(UMTS) ||
+ type.toLowerCase().equals(ONEXRTT) ||
+ type.toLowerCase().equals(EHRPD) ||
+ type.toLowerCase().equals(HSUPA) ||
+ type.toLowerCase().equals(HSDPA) ||
+ type.toLowerCase().equals(HSPA)) {
+ return TYPE_3G;
+ }
+ else if (type.toLowerCase().equals(LTE) ||
+ type.toLowerCase().equals(UMB) ||
+ type.toLowerCase().equals(HSPA_PLUS)) {
+ return TYPE_4G;
+ }
+ }
+ }
+ else {
+ return TYPE_NONE;
+ }
+ return TYPE_UNKNOWN;
+ }
+}
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/src/blackberry10/index.js b/StoneIsland/plugins/cordova-plugin-network-information/src/blackberry10/index.js
new file mode 100644
index 00000000..d47d840e
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/src/blackberry10/index.js
@@ -0,0 +1,64 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+
+//map from BB10 to cordova connection types:
+//https://github.com/apache/cordova-js/blob/master/lib/common/plugin/Connection.js
+function mapConnectionType(con) {
+ switch (con.type) {
+ case 'wired':
+ return 'ethernet';
+ case 'wifi':
+ return 'wifi';
+ case 'none':
+ return 'none';
+ case 'cellular':
+ switch (con.technology) {
+ case 'edge':
+ case 'gsm':
+ return '2g';
+ case 'evdo':
+ return '3g';
+ case 'umts':
+ return '3g';
+ case 'lte':
+ return '4g';
+ }
+ return "cellular";
+ }
+ return 'unknown';
+}
+
+function currentConnectionType() {
+ try {
+ //possible for webplatform to throw pps exception
+ return mapConnectionType(window.qnx.webplatform.device.activeConnection || { type : 'none' });
+ }
+ catch (e) {
+ return 'unknown';
+ }
+}
+
+module.exports = {
+ getConnectionInfo: function (success, fail, args, env) {
+ var result = new PluginResult(args, env);
+ result.ok(currentConnectionType());
+ }
+};
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/src/firefoxos/NetworkProxy.js b/StoneIsland/plugins/cordova-plugin-network-information/src/firefoxos/NetworkProxy.js
new file mode 100644
index 00000000..40d61637
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/src/firefoxos/NetworkProxy.js
@@ -0,0 +1,97 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+/*
+ Network API overview: http://www.w3.org/TR/netinfo-api/
+ and http://w3c.github.io/netinfo/
+*/
+
+var cordova = require('cordova'),
+ Connection = require('./Connection'),
+ modulemapper = require('cordova/modulemapper');
+
+var origConnection = modulemapper.getOriginalSymbol(window, 'navigator.connection');
+
+module.exports = {
+
+ getConnectionInfo: function(successCallback, errorCallback) {
+ var connection = origConnection || navigator.mozConnection,
+ connectionType = Connection.UNKNOWN;
+
+ if (!connection) {
+ setTimeout(function() {
+ successCallback(connectionType);
+ }, 0);
+ return;
+ }
+
+ var bandwidth = connection.bandwidth,
+ metered = connection.metered,
+ type = connection.type;
+
+ if (type != undefined) {
+ // For more information see:
+ // https://developer.mozilla.org/en-US/docs/Web/API/Network_Information_API
+
+ switch(type) {
+ case "cellular":
+ connectionType = Connection.CELL;
+ break;
+ case "ethernet":
+ connectionType = Connection.ETHERNET;
+ break;
+ case "wifi":
+ connectionType = Connection.WIFI;
+ break;
+ case "none":
+ connectionType = Connection.NONE;
+ break;
+ }
+ } else if (bandwidth != undefined && metered != undefined) {
+ /*
+ bandwidth of type double, readonly
+ The user agent must set the value of the bandwidth attribute to:
+ 0 if the user is currently offline;
+ Infinity if the bandwidth is unknown;
+ an estimation of the current bandwidth in MB/s (Megabytes per seconds)
+ available for communication with the browsing context active document's
+ domain.
+
+ For more information see:
+ https://developer.mozilla.org/en-US/docs/Web/API/Connection
+ */
+
+ if (bandwidth === 0) {
+ connectionType = Connection.NONE;
+ } else if (metered && isFinite(bandwidth)) {
+ connectionType = Connection.CELL;
+ } else if (!metered && isFinite(bandwidth)) {
+ connectionType = Connection.WIFI;
+ }
+ }
+
+ setTimeout(function() {
+ successCallback(connectionType);
+ }, 0);
+ }
+};
+
+require("cordova/exec/proxy").add("NetworkStatus", module.exports);
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/src/ios/CDVConnection.h b/StoneIsland/plugins/cordova-plugin-network-information/src/ios/CDVConnection.h
new file mode 100644
index 00000000..8add0279
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/src/ios/CDVConnection.h
@@ -0,0 +1,34 @@
+/*
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ */
+
+#import <Foundation/Foundation.h>
+#import <Cordova/CDVPlugin.h>
+#import "CDVReachability.h"
+
+@interface CDVConnection : CDVPlugin {
+ NSString* type;
+ NSString* _callbackId;
+
+ CDVReachability* internetReach;
+}
+
+@property (copy) NSString* connectionType;
+@property (strong) CDVReachability* internetReach;
+
+@end
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/src/ios/CDVConnection.m b/StoneIsland/plugins/cordova-plugin-network-information/src/ios/CDVConnection.m
new file mode 100644
index 00000000..37497675
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/src/ios/CDVConnection.m
@@ -0,0 +1,127 @@
+/*
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ */
+
+#import "CDVConnection.h"
+#import "CDVReachability.h"
+
+@interface CDVConnection (PrivateMethods)
+- (void)updateOnlineStatus;
+- (void)sendPluginResult;
+@end
+
+@implementation CDVConnection
+
+@synthesize connectionType, internetReach;
+
+- (void)getConnectionInfo:(CDVInvokedUrlCommand*)command
+{
+ _callbackId = command.callbackId;
+ [self sendPluginResult];
+}
+
+- (void)sendPluginResult
+{
+ CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:self.connectionType];
+
+ [result setKeepCallbackAsBool:YES];
+ [self.commandDelegate sendPluginResult:result callbackId:_callbackId];
+}
+
+- (NSString*)w3cConnectionTypeFor:(CDVReachability*)reachability
+{
+ NetworkStatus networkStatus = [reachability currentReachabilityStatus];
+
+ switch (networkStatus) {
+ case NotReachable:
+ return @"none";
+
+ case ReachableViaWWAN:
+ {
+ BOOL isConnectionRequired = [reachability connectionRequired];
+ if (isConnectionRequired) {
+ return @"none";
+ } else {
+ return @"cellular";
+ }
+ }
+ case ReachableViaWiFi:
+ return @"wifi";
+
+ default:
+ return @"unknown";
+ }
+}
+
+- (BOOL)isCellularConnection:(NSString*)theConnectionType
+{
+ return [theConnectionType isEqualToString:@"2g"] ||
+ [theConnectionType isEqualToString:@"3g"] ||
+ [theConnectionType isEqualToString:@"4g"] ||
+ [theConnectionType isEqualToString:@"cellular"];
+}
+
+- (void)updateReachability:(CDVReachability*)reachability
+{
+ if (reachability) {
+ // check whether the connection type has changed
+ NSString* newConnectionType = [self w3cConnectionTypeFor:reachability];
+ if ([newConnectionType isEqualToString:self.connectionType]) { // the same as before, remove dupes
+ return;
+ } else {
+ self.connectionType = [self w3cConnectionTypeFor:reachability];
+ }
+ }
+ [self sendPluginResult];
+}
+
+- (void)updateConnectionType:(NSNotification*)note
+{
+ CDVReachability* curReach = [note object];
+
+ if ((curReach != nil) && [curReach isKindOfClass:[CDVReachability class]]) {
+ [self updateReachability:curReach];
+ }
+}
+
+- (void)onPause
+{
+ [self.internetReach stopNotifier];
+}
+
+- (void)onResume
+{
+ [self.internetReach startNotifier];
+ [self updateReachability:self.internetReach];
+}
+
+- (void)pluginInitialize
+{
+ self.connectionType = @"none";
+ self.internetReach = [CDVReachability reachabilityForInternetConnection];
+ self.connectionType = [self w3cConnectionTypeFor:self.internetReach];
+ [self.internetReach startNotifier];
+ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateConnectionType:)
+ name:kReachabilityChangedNotification object:nil];
+ if (&UIApplicationDidEnterBackgroundNotification && &UIApplicationWillEnterForegroundNotification) {
+ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onPause) name:UIApplicationDidEnterBackgroundNotification object:nil];
+ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onResume) name:UIApplicationWillEnterForegroundNotification object:nil];
+ }
+}
+
+@end
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/src/ios/CDVReachability.h b/StoneIsland/plugins/cordova-plugin-network-information/src/ios/CDVReachability.h
new file mode 100644
index 00000000..01a95c35
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/src/ios/CDVReachability.h
@@ -0,0 +1,85 @@
+/*
+
+ File: Reachability.h
+ Abstract: Basic demonstration of how to use the SystemConfiguration Reachability APIs.
+ Version: 2.2
+
+ Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Inc.
+ ("Apple") in consideration of your agreement to the following terms, and your
+ use, installation, modification or redistribution of this Apple software
+ constitutes acceptance of these terms. If you do not agree with these terms,
+ please do not use, install, modify or redistribute this Apple software.
+
+ In consideration of your agreement to abide by the following terms, and subject
+ to these terms, Apple grants you a personal, non-exclusive license, under
+ Apple's copyrights in this original Apple software (the "Apple Software"), to
+ use, reproduce, modify and redistribute the Apple Software, with or without
+ modifications, in source and/or binary forms; provided that if you redistribute
+ the Apple Software in its entirety and without modifications, you must retain
+ this notice and the following text and disclaimers in all such redistributions
+ of the Apple Software.
+ Neither the name, trademarks, service marks or logos of Apple Inc. may be used
+ to endorse or promote products derived from the Apple Software without specific
+ prior written permission from Apple. Except as expressly stated in this notice,
+ no other rights or licenses, express or implied, are granted by Apple herein,
+ including but not limited to any patent rights that may be infringed by your
+ derivative works or by other works in which the Apple Software may be
+ incorporated.
+
+ The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO
+ WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED
+ WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN
+ COMBINATION WITH YOUR PRODUCTS.
+
+ IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR
+ DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF
+ CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF
+ APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ Copyright (C) 2010 Apple Inc. All Rights Reserved.
+
+*/
+
+#import <Foundation/Foundation.h>
+#import <SystemConfiguration/SystemConfiguration.h>
+#import <netinet/in.h>
+
+typedef enum {
+ NotReachable = 0,
+ ReachableViaWWAN, // this value has been swapped with ReachableViaWiFi for Cordova backwards compat. reasons
+ ReachableViaWiFi // this value has been swapped with ReachableViaWWAN for Cordova backwards compat. reasons
+} NetworkStatus;
+#define kReachabilityChangedNotification @"kNetworkReachabilityChangedNotification"
+
+@interface CDVReachability : NSObject
+{
+ BOOL localWiFiRef;
+ SCNetworkReachabilityRef reachabilityRef;
+}
+
+// reachabilityWithHostName- Use to check the reachability of a particular host name.
++ (CDVReachability*)reachabilityWithHostName:(NSString*)hostName;
+
+// reachabilityWithAddress- Use to check the reachability of a particular IP address.
++ (CDVReachability*)reachabilityWithAddress:(const struct sockaddr_in*)hostAddress;
+
+// reachabilityForInternetConnection- checks whether the default route is available.
+// Should be used by applications that do not connect to a particular host
++ (CDVReachability*)reachabilityForInternetConnection;
+
+// reachabilityForLocalWiFi- checks whether a local wifi connection is available.
++ (CDVReachability*)reachabilityForLocalWiFi;
+
+// Start listening for reachability notifications on the current run loop
+- (BOOL)startNotifier;
+- (void)stopNotifier;
+
+- (NetworkStatus)currentReachabilityStatus;
+// WWAN may be available, but not active until a connection has been established.
+// WiFi may require a connection for VPN on Demand.
+- (BOOL)connectionRequired;
+@end
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/src/ios/CDVReachability.m b/StoneIsland/plugins/cordova-plugin-network-information/src/ios/CDVReachability.m
new file mode 100644
index 00000000..c60261ae
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/src/ios/CDVReachability.m
@@ -0,0 +1,260 @@
+/*
+
+ File: Reachability.m
+ Abstract: Basic demonstration of how to use the SystemConfiguration Reachability APIs.
+ Version: 2.2
+
+ Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Inc.
+ ("Apple") in consideration of your agreement to the following terms, and your
+ use, installation, modification or redistribution of this Apple software
+ constitutes acceptance of these terms. If you do not agree with these terms,
+ please do not use, install, modify or redistribute this Apple software.
+
+ In consideration of your agreement to abide by the following terms, and subject
+ to these terms, Apple grants you a personal, non-exclusive license, under
+ Apple's copyrights in this original Apple software (the "Apple Software"), to
+ use, reproduce, modify and redistribute the Apple Software, with or without
+ modifications, in source and/or binary forms; provided that if you redistribute
+ the Apple Software in its entirety and without modifications, you must retain
+ this notice and the following text and disclaimers in all such redistributions
+ of the Apple Software.
+ Neither the name, trademarks, service marks or logos of Apple Inc. may be used
+ to endorse or promote products derived from the Apple Software without specific
+ prior written permission from Apple. Except as expressly stated in this notice,
+ no other rights or licenses, express or implied, are granted by Apple herein,
+ including but not limited to any patent rights that may be infringed by your
+ derivative works or by other works in which the Apple Software may be
+ incorporated.
+
+ The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO
+ WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED
+ WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN
+ COMBINATION WITH YOUR PRODUCTS.
+
+ IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR
+ DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF
+ CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF
+ APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ Copyright (C) 2010 Apple Inc. All Rights Reserved.
+
+*/
+
+#import <sys/socket.h>
+#import <netinet/in.h>
+#import <netinet6/in6.h>
+#import <arpa/inet.h>
+#import <ifaddrs.h>
+#import <netdb.h>
+
+#import <CoreFoundation/CoreFoundation.h>
+
+#import "CDVReachability.h"
+
+#define kShouldPrintReachabilityFlags 0
+
+static void CDVPrintReachabilityFlags(SCNetworkReachabilityFlags flags, const char* comment)
+{
+#if kShouldPrintReachabilityFlags
+ NSLog(@"Reachability Flag Status: %c%c %c%c%c%c%c%c%c %s\n",
+ (flags & kSCNetworkReachabilityFlagsIsWWAN) ? 'W' : '-',
+ (flags & kSCNetworkReachabilityFlagsReachable) ? 'R' : '-',
+
+ (flags & kSCNetworkReachabilityFlagsTransientConnection) ? 't' : '-',
+ (flags & kSCNetworkReachabilityFlagsConnectionRequired) ? 'c' : '-',
+ (flags & kSCNetworkReachabilityFlagsConnectionOnTraffic) ? 'C' : '-',
+ (flags & kSCNetworkReachabilityFlagsInterventionRequired) ? 'i' : '-',
+ (flags & kSCNetworkReachabilityFlagsConnectionOnDemand) ? 'D' : '-',
+ (flags & kSCNetworkReachabilityFlagsIsLocalAddress) ? 'l' : '-',
+ (flags & kSCNetworkReachabilityFlagsIsDirect) ? 'd' : '-',
+ comment
+ );
+#endif
+}
+
+@implementation CDVReachability
+
+static void CDVReachabilityCallback(SCNetworkReachabilityRef target, SCNetworkReachabilityFlags flags, void* info)
+{
+#pragma unused (target, flags)
+ // NSCAssert(info != NULL, @"info was NULL in ReachabilityCallback");
+ // NSCAssert([(NSObject*) info isKindOfClass: [Reachability class]], @"info was wrong class in ReachabilityCallback");
+
+ // Converted the asserts above to conditionals, with safe return from the function
+ if (info == NULL) {
+ NSLog(@"info was NULL in ReachabilityCallback");
+ return;
+ }
+
+ if (![(__bridge NSObject*)info isKindOfClass :[CDVReachability class]]) {
+ NSLog(@"info was wrong class in ReachabilityCallback");
+ return;
+ }
+
+ // We're on the main RunLoop, so an NSAutoreleasePool is not necessary, but is added defensively
+ // in case someon uses the Reachability object in a different thread.
+ @autoreleasepool {
+ CDVReachability* noteObject = (__bridge CDVReachability*)info;
+ // Post a notification to notify the client that the network reachability changed.
+ [[NSNotificationCenter defaultCenter] postNotificationName:kReachabilityChangedNotification object:noteObject];
+ }
+}
+
+- (BOOL)startNotifier
+{
+ BOOL retVal = NO;
+ SCNetworkReachabilityContext context = {0, (__bridge void*)(self), NULL, NULL, NULL};
+
+ if (SCNetworkReachabilitySetCallback(reachabilityRef, CDVReachabilityCallback, &context)) {
+ if (SCNetworkReachabilityScheduleWithRunLoop(reachabilityRef, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode)) {
+ retVal = YES;
+ }
+ }
+ return retVal;
+}
+
+- (void)stopNotifier
+{
+ if (reachabilityRef != NULL) {
+ SCNetworkReachabilityUnscheduleFromRunLoop(reachabilityRef, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode);
+ }
+}
+
+- (void)dealloc
+{
+ [self stopNotifier];
+ if (reachabilityRef != NULL) {
+ CFRelease(reachabilityRef);
+ }
+}
+
++ (CDVReachability*)reachabilityWithHostName:(NSString*)hostName;
+{
+ CDVReachability* retVal = NULL;
+ SCNetworkReachabilityRef reachability = SCNetworkReachabilityCreateWithName(NULL, [hostName UTF8String]);
+ if (reachability != NULL) {
+ retVal = [[self alloc] init];
+ if (retVal != NULL) {
+ retVal->reachabilityRef = reachability;
+ retVal->localWiFiRef = NO;
+ }
+ }
+ return retVal;
+}
+
++ (CDVReachability*)reachabilityWithAddress:(const struct sockaddr_in*)hostAddress;
+{
+ SCNetworkReachabilityRef reachability = SCNetworkReachabilityCreateWithAddress(kCFAllocatorDefault, (const struct sockaddr*)hostAddress);
+ CDVReachability* retVal = NULL;
+ if (reachability != NULL) {
+ retVal = [[self alloc] init];
+ if (retVal != NULL) {
+ retVal->reachabilityRef = reachability;
+ retVal->localWiFiRef = NO;
+ }
+ }
+ return retVal;
+}
+
++ (CDVReachability*)reachabilityForInternetConnection;
+{
+ struct sockaddr_in zeroAddress;
+ bzero(&zeroAddress, sizeof(zeroAddress));
+ zeroAddress.sin_len = sizeof(zeroAddress);
+ zeroAddress.sin_family = AF_INET;
+ return [self reachabilityWithAddress:&zeroAddress];
+}
+
++ (CDVReachability*)reachabilityForLocalWiFi;
+{
+ struct sockaddr_in localWifiAddress;
+ bzero(&localWifiAddress, sizeof(localWifiAddress));
+ localWifiAddress.sin_len = sizeof(localWifiAddress);
+ localWifiAddress.sin_family = AF_INET;
+ // IN_LINKLOCALNETNUM is defined in <netinet/in.h> as 169.254.0.0
+ localWifiAddress.sin_addr.s_addr = htonl(IN_LINKLOCALNETNUM);
+ CDVReachability* retVal = [self reachabilityWithAddress:&localWifiAddress];
+ if (retVal != NULL) {
+ retVal->localWiFiRef = YES;
+ }
+ return retVal;
+}
+
+#pragma mark Network Flag Handling
+
+- (NetworkStatus)localWiFiStatusForFlags:(SCNetworkReachabilityFlags)flags
+{
+ CDVPrintReachabilityFlags(flags, "localWiFiStatusForFlags");
+
+ BOOL retVal = NotReachable;
+ if ((flags & kSCNetworkReachabilityFlagsReachable) && (flags & kSCNetworkReachabilityFlagsIsDirect)) {
+ retVal = ReachableViaWiFi;
+ }
+ return retVal;
+}
+
+- (NetworkStatus)networkStatusForFlags:(SCNetworkReachabilityFlags)flags
+{
+ CDVPrintReachabilityFlags(flags, "networkStatusForFlags");
+ if ((flags & kSCNetworkReachabilityFlagsReachable) == 0) {
+ // if target host is not reachable
+ return NotReachable;
+ }
+
+ NetworkStatus retVal = NotReachable;
+
+ if ((flags & kSCNetworkReachabilityFlagsConnectionRequired) == 0) {
+ // if target host is reachable and no connection is required
+ // then we'll assume (for now) that your on Wi-Fi
+ retVal = ReachableViaWiFi;
+ }
+
+ if ((((flags & kSCNetworkReachabilityFlagsConnectionOnDemand) != 0) ||
+ ((flags & kSCNetworkReachabilityFlagsConnectionOnTraffic) != 0))) {
+ // ... and the connection is on-demand (or on-traffic) if the
+ // calling application is using the CFSocketStream or higher APIs
+
+ if ((flags & kSCNetworkReachabilityFlagsInterventionRequired) == 0) {
+ // ... and no [user] intervention is needed
+ retVal = ReachableViaWiFi;
+ }
+ }
+
+ if ((flags & kSCNetworkReachabilityFlagsIsWWAN) == kSCNetworkReachabilityFlagsIsWWAN) {
+ // ... but WWAN connections are OK if the calling application
+ // is using the CFNetwork (CFSocketStream?) APIs.
+ retVal = ReachableViaWWAN;
+ }
+ return retVal;
+}
+
+- (BOOL)connectionRequired;
+{
+ NSAssert(reachabilityRef != NULL, @"connectionRequired called with NULL reachabilityRef");
+ SCNetworkReachabilityFlags flags;
+ if (SCNetworkReachabilityGetFlags(reachabilityRef, &flags)) {
+ return flags & kSCNetworkReachabilityFlagsConnectionRequired;
+ }
+ return NO;
+}
+
+- (NetworkStatus)currentReachabilityStatus
+{
+ NSAssert(reachabilityRef != NULL, @"currentNetworkStatus called with NULL reachabilityRef");
+ NetworkStatus retVal = NotReachable;
+ SCNetworkReachabilityFlags flags;
+ if (SCNetworkReachabilityGetFlags(reachabilityRef, &flags)) {
+ if (localWiFiRef) {
+ retVal = [self localWiFiStatusForFlags:flags];
+ } else {
+ retVal = [self networkStatusForFlags:flags];
+ }
+ }
+ return retVal;
+}
+
+@end
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/src/tizen/NetworkProxy.js b/StoneIsland/plugins/cordova-plugin-network-information/src/tizen/NetworkProxy.js
new file mode 100644
index 00000000..cd9506e1
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/src/tizen/NetworkProxy.js
@@ -0,0 +1,92 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+
+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);
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/src/ubuntu/network_information.cpp b/StoneIsland/plugins/cordova-plugin-network-information/src/ubuntu/network_information.cpp
new file mode 100644
index 00000000..8fdb4949
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/src/ubuntu/network_information.cpp
@@ -0,0 +1,63 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "network_information.h"
+
+void NetworkInformation::getConnectionInfo(int scId, int ecId) {
+ Q_UNUSED(ecId);
+
+ QString result;
+ QNetworkInfo::NetworkMode networkMode = m_systemNetworkInfo.currentNetworkMode();
+ QNetworkInfo::NetworkStatus networkStatus = m_systemNetworkInfo.networkStatus(networkMode, 0);
+ QNetworkInfo::CellDataTechnology cellDataTechnology = m_systemNetworkInfo.currentCellDataTechnology(0);
+
+ if (networkStatus == QNetworkInfo::NoNetworkAvailable)
+ result = "Connection.NONE";
+
+ switch (networkMode) {
+ case QNetworkInfo::WimaxMode:
+ case QNetworkInfo::WlanMode:
+ result = "Connection.WIFI";
+ break;
+ case QNetworkInfo::EthernetMode:
+ result = "Connection.ETHERNET";
+ break;
+ case QNetworkInfo::LteMode:
+ result = "Connection.CELL_4G";
+ break;
+ case QNetworkInfo::GsmMode:
+ case QNetworkInfo::CdmaMode:
+ case QNetworkInfo::TdscdmaMode:
+ case QNetworkInfo::WcdmaMode:
+ switch (cellDataTechnology) {
+ case QNetworkInfo::UmtsDataTechnology:
+ case QNetworkInfo::HspaDataTechnology:
+ result = "Connection.CELL_3G";
+ break;
+ case QNetworkInfo::EdgeDataTechnology:
+ case QNetworkInfo::GprsDataTechnology:
+ result = "Connection.CELL_2G";
+ break;
+ case QNetworkInfo::UnknownDataTechnology:
+ result = "Connection.UNKNOWN";
+ break;
+ }
+ case QNetworkInfo::BluetoothMode:
+ case QNetworkInfo::UnknownMode:
+ result = "Connection.UNKNOWN";
+ break;
+ }
+
+ this->callback(scId, result);
+}
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/src/ubuntu/network_information.h b/StoneIsland/plugins/cordova-plugin-network-information/src/ubuntu/network_information.h
new file mode 100644
index 00000000..aca20e7b
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/src/ubuntu/network_information.h
@@ -0,0 +1,47 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef NETWORK_INFORMATION_H
+#define NETWORK_INFORMATION_H
+
+#include <cplugin.h>
+
+#include <QtSystemInfo>
+#include <QtCore>
+
+class NetworkInformation: public CPlugin {
+ Q_OBJECT
+public:
+ explicit NetworkInformation(Cordova *cordova): CPlugin(cordova) {}
+
+ virtual const QString fullName() override {
+ return NetworkInformation::fullID();
+ }
+
+ virtual const QString shortName() override {
+ return "Connection";
+ }
+
+ static const QString fullID() {
+ return "NetworkStatus";
+ }
+
+public slots:
+ void getConnectionInfo(int scId, int ecId);
+
+private:
+ QNetworkInfo m_systemNetworkInfo;
+};
+
+#endif
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/src/windows/NetworkInfoProxy.js b/StoneIsland/plugins/cordova-plugin-network-information/src/windows/NetworkInfoProxy.js
new file mode 100644
index 00000000..27ad2f06
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/src/windows/NetworkInfoProxy.js
@@ -0,0 +1,88 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+
+/*global Windows:true */
+
+var cordova = require('cordova');
+var Connection = require('./Connection');
+
+var winNetConn = Windows.Networking.Connectivity;
+var networkInfo = winNetConn.NetworkInformation;
+var networkCostInfo = winNetConn.NetworkCostType;
+var networkConnectivityInfo = winNetConn.NetworkConnectivityLevel;
+var networkAuthenticationInfo = winNetConn.NetworkAuthenticationType;
+var networkEncryptionInfo = winNetConn.NetworkEncryptionType;
+
+function getCurrrentConnectionType() {
+
+ var profile = networkInfo.getInternetConnectionProfile();
+
+ if (!profile) {
+ return Connection.NONE;
+ }
+
+ var conLevel = profile.getNetworkConnectivityLevel();
+ var interfaceType = profile.networkAdapter.ianaInterfaceType;
+
+ // since we use this to detect whether we are online or offline we do check agains InternetAccess
+ // localAccess (airplane mode as an example) or constrainedInternetAccess mean there is no access to the internet available
+ // https://msdn.microsoft.com/library/windows/apps/windows.networking.connectivity.networkconnectivitylevel.aspx
+ if (conLevel != Windows.Networking.Connectivity.NetworkConnectivityLevel.internetAccess) {
+ return Connection.NONE;
+ }
+
+ var connectionType;
+
+ switch (interfaceType) {
+ case 71:
+ connectionType = Connection.WIFI;
+ break;
+ case 6:
+ connectionType = Connection.ETHERNET;
+ break;
+ case 243: // (3GPP WWAN) // Fallthrough is intentional
+ case 244: // (3GPP2 WWAN)
+ connectionType = Connection.CELL_3G;
+ break;
+ default:
+ connectionType = Connection.UNKNOWN;
+ break;
+ }
+
+ return connectionType;
+}
+
+module.exports = {
+
+ getConnectionInfo:function(win,fail,args)
+ {
+ var reportConnectionInfoOnce = function () {
+ win(getCurrrentConnectionType(), { keepCallback: true });
+ }
+
+ // report current connection type
+ setTimeout(reportConnectionInfoOnce, 0);
+ // start traking future changes
+ networkInfo.addEventListener("networkstatuschanged", reportConnectionInfoOnce);
+ }
+};
+
+require("cordova/exec/proxy").add("NetworkStatus",module.exports);
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/src/wp/NetworkStatus.cs b/StoneIsland/plugins/cordova-plugin-network-information/src/wp/NetworkStatus.cs
new file mode 100644
index 00000000..12eb061d
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/src/wp/NetworkStatus.cs
@@ -0,0 +1,129 @@
+/*
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+using System;
+using System.Diagnostics;
+using System.Net;
+using System.Net.NetworkInformation;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Documents;
+using System.Windows.Ink;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Shapes;
+using Microsoft.Phone.Net.NetworkInformation;
+
+namespace WPCordovaClassLib.Cordova.Commands
+{
+
+ // http://msdn.microsoft.com/en-us/library/microsoft.phone.net.networkinformation(v=VS.92).aspx
+ // http://msdn.microsoft.com/en-us/library/microsoft.phone.net.networkinformation.devicenetworkinformation(v=VS.92).aspx
+
+ public class NetworkStatus : BaseCommand
+ {
+ const string UNKNOWN = "unknown";
+ const string ETHERNET = "ethernet";
+ const string WIFI = "wifi";
+ const string CELL_2G = "2g";
+ const string CELL_3G = "3g";
+ const string CELL_4G = "4g";
+ const string NONE = "none";
+ const string CELL = "cellular";
+
+ private bool HasCallback = false;
+
+ public NetworkStatus()
+ {
+ DeviceNetworkInformation.NetworkAvailabilityChanged += new EventHandler<NetworkNotificationEventArgs>(ChangeDetected);
+ }
+
+ public override void OnResume(object sender, Microsoft.Phone.Shell.ActivatedEventArgs e)
+ {
+ this.getConnectionInfo("");
+ }
+
+ public void getConnectionInfo(string empty)
+ {
+ HasCallback = true;
+ updateConnectionType(checkConnectionType());
+ }
+
+ private string checkConnectionType()
+ {
+ if (DeviceNetworkInformation.IsNetworkAvailable)
+ {
+ if (DeviceNetworkInformation.IsWiFiEnabled)
+ {
+ return WIFI;
+ }
+ else
+ {
+ return DeviceNetworkInformation.IsCellularDataEnabled ? CELL : UNKNOWN;
+ }
+ }
+ return NONE;
+ }
+
+ private string checkConnectionType(NetworkInterfaceSubType type)
+ {
+ switch (type)
+ {
+ case NetworkInterfaceSubType.Cellular_1XRTT: //cell
+ case NetworkInterfaceSubType.Cellular_GPRS: //cell
+ return CELL;
+ case NetworkInterfaceSubType.Cellular_EDGE: //2
+ return CELL_2G;
+ case NetworkInterfaceSubType.Cellular_3G:
+ case NetworkInterfaceSubType.Cellular_EVDO: //3
+ case NetworkInterfaceSubType.Cellular_EVDV: //3
+ case NetworkInterfaceSubType.Cellular_HSPA: //3
+ return CELL_3G;
+ case NetworkInterfaceSubType.WiFi:
+ return WIFI;
+ case NetworkInterfaceSubType.Unknown:
+ case NetworkInterfaceSubType.Desktop_PassThru:
+ default:
+ return UNKNOWN;
+ }
+ }
+
+ void ChangeDetected(object sender, NetworkNotificationEventArgs e)
+ {
+ switch (e.NotificationType)
+ {
+ case NetworkNotificationType.InterfaceConnected:
+ updateConnectionType(checkConnectionType(e.NetworkInterface.InterfaceSubtype));
+ break;
+ case NetworkNotificationType.InterfaceDisconnected:
+ updateConnectionType(NONE);
+ break;
+ default:
+ break;
+ }
+ }
+
+ private void updateConnectionType(string type)
+ {
+ // This should also implicitly fire offline/online events as that is handled on the JS side
+ if (this.HasCallback)
+ {
+ PluginResult result = new PluginResult(PluginResult.Status.OK, type);
+ result.KeepCallback = true;
+ DispatchCommandResult(result);
+ }
+ }
+ }
+}
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/tests/plugin.xml b/StoneIsland/plugins/cordova-plugin-network-information/tests/plugin.xml
new file mode 100644
index 00000000..8df4769c
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/tests/plugin.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ id="cordova-plugin-network-information-tests"
+ version="1.0.1">
+ <name>Cordova Network Information Plugin Tests</name>
+ <license>Apache 2.0</license>
+
+ <js-module src="tests.js" name="tests">
+ </js-module>
+</plugin>
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/tests/tests.js b/StoneIsland/plugins/cordova-plugin-network-information/tests/tests.js
new file mode 100644
index 00000000..23be97ac
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/tests/tests.js
@@ -0,0 +1,101 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+
+exports.defineAutoTests = function () {
+ describe('Network (navigator.connection)', function () {
+ it("network.spec.1 should exist", function () {
+ expect(navigator.network && navigator.network.connection).toBeDefined();
+ expect(navigator.connection).toBeDefined();
+ });
+
+ it("network.spec.2 should be set to a valid value", function () {
+ var validValues = {
+ 'unknown': 1,
+ 'ethernet': 1,
+ 'wifi': 1,
+ '2g': 1,
+ 'cellular': 1,
+ '3g': 1,
+ '4g': 1,
+ 'none': 1
+ };
+ expect(validValues[navigator.connection.type]).toBe(1);
+ });
+
+ it("network.spec.3 should have the same value in deprecated and non-deprecated apis", function () {
+ expect(navigator.network.connection.type).toBe(navigator.connection.type);
+ });
+
+ it("network.spec.4 should define constants for connection status", function () {
+ expect(Connection.UNKNOWN).toBe("unknown");
+ expect(Connection.ETHERNET).toBe("ethernet");
+ expect(Connection.WIFI).toBe("wifi");
+ expect(Connection.CELL_2G).toBe("2g");
+ expect(Connection.CELL_3G).toBe("3g");
+ expect(Connection.CELL_4G).toBe("4g");
+ expect(Connection.NONE).toBe("none");
+ expect(Connection.CELL).toBe("cellular");
+ });
+ });
+};
+
+/******************************************************************************/
+/******************************************************************************/
+/******************************************************************************/
+
+exports.defineManualTests = function (contentEl, createActionButton) {
+ function eventOutput(s) {
+ var el = document.getElementById("results");
+ el.innerHTML = el.innerHTML + s + "<br>";
+ }
+
+ function printNetwork() {
+ eventOutput("navigator.connection.type=" + navigator.connection.type);
+ eventOutput("navigator.network.connection.type=" + navigator.network.connection.type);
+ }
+
+ function onEvent(e) {
+ eventOutput('Event of type: ' + e.type);
+ printNetwork();
+ }
+
+ /******************************************************************************/
+
+ var html = '<div id="info">' +
+ '<b>Results:</b><br>' +
+ '<span id="results"></span>' +
+ '</div><div id="connection"></div>' +
+ 'Expected result: Status box will update with type of connection using two different methods. Both values must match.' +
+ ' The result will be unknown, ethernet, wifi, 2g, 3g, 4g, none, or cellular. Make sure it matches what the device is connected to.' +
+ '</p> <div id="actions"></div>';
+
+ document.addEventListener("online", onEvent, false);
+ document.addEventListener("offline", onEvent, false);
+ contentEl.innerHTML = html;
+
+ createActionButton('Show Network Connection', function () {
+ printNetwork();
+ }, 'connection');
+
+ createActionButton('Clear Log', function () {
+ document.getElementById('results').innerHTML = '';
+ }, 'actions');
+};
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/www/Connection.js b/StoneIsland/plugins/cordova-plugin-network-information/www/Connection.js
new file mode 100644
index 00000000..f20a485c
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/www/Connection.js
@@ -0,0 +1,34 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+
+/**
+ * Network status
+ */
+module.exports = {
+ UNKNOWN: "unknown",
+ ETHERNET: "ethernet",
+ WIFI: "wifi",
+ CELL_2G: "2g",
+ CELL_3G: "3g",
+ CELL_4G: "4g",
+ CELL:"cellular",
+ NONE: "none"
+};
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/www/browser/network.js b/StoneIsland/plugins/cordova-plugin-network-information/www/browser/network.js
new file mode 100644
index 00000000..72ec5139
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/www/browser/network.js
@@ -0,0 +1,92 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+
+/*global module, require*/
+
+var cordova = require('cordova'),
+ Connection = require('./Connection');
+
+var DOCUMENT_EVENTS_CHECK_INTERVAL = 500; // ms
+// Flag that indicates that ew need to re-fire online/offline events at document level
+// (Workaround for Chrome, since it fires such events only for window object)
+var NEED_FIRE_DOCUMENT_EVENT_MANUALLY = false;
+
+function NetworkConnection() {
+ this.type = Connection.UNKNOWN;
+}
+
+/**
+ * Get connection info
+ *
+ * @param {Function} successCallback The function to call when the Connection data is available
+ */
+NetworkConnection.prototype.getInfo = function(successCallback) {
+ successCallback(this.type);
+};
+
+Object.defineProperty(NetworkConnection.prototype, 'type', {
+ get: function () {
+ // It is not possible to determine real connection type in browser
+ // so we always report Connection.UNKNOWN when online
+ return (window.navigator.onLine === false ? Connection.NONE : Connection.UNKNOWN);
+ },
+ configurable: true,
+ enumerable: true
+});
+
+// This function tries to detect if document online/offline events is being fired
+// after corresponding window events, and if not, then fires them manually
+// This is workaround for Chrome, which fires only window online/offline events
+// and regarding to plugin spec we need these events at document object
+var eventRedirectHandler = function (e) {
+ // NEED_FIRE_DOCUMENT_EVENT_MANUALLY flag is already set,
+ // just fire corresponding document event and return
+ if (NEED_FIRE_DOCUMENT_EVENT_MANUALLY) {
+ cordova.fireDocumentEvent(e.type);
+ return;
+ }
+
+ // Flag that indicates whether corresponding document even is fired
+ var documentStateEventFired = false;
+ var setDocumentStateEventFired = function() {
+ documentStateEventFired = true;
+ };
+ document.addEventListener(e.type, setDocumentStateEventFired);
+ setTimeout(function () {
+ // Remove unnecessary listener
+ document.removeEventListener(e.type, setDocumentStateEventFired);
+ // if document event hasn't been fired in specified interval (500 ms by default),
+ // then we're in chrome and need to fire it manually
+ if (!documentStateEventFired) {
+ NEED_FIRE_DOCUMENT_EVENT_MANUALLY = true;
+ cordova.fireDocumentEvent(e.type);
+ }
+ }, DOCUMENT_EVENTS_CHECK_INTERVAL);
+};
+
+// Subscribe to native online/offline events
+window.addEventListener('online', eventRedirectHandler);
+window.addEventListener('offline', eventRedirectHandler);
+
+var me = new NetworkConnection();
+
+require("cordova/exec/proxy").add("NetworkStatus", { getConnectionInfo: me.getConnectionInfo });
+
+module.exports = me;
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/www/network.js b/StoneIsland/plugins/cordova-plugin-network-information/www/network.js
new file mode 100644
index 00000000..ac792d8c
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/www/network.js
@@ -0,0 +1,91 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+
+var exec = require('cordova/exec'),
+ cordova = require('cordova'),
+ channel = require('cordova/channel'),
+ utils = require('cordova/utils');
+
+// Link the onLine property with the Cordova-supplied network info.
+// This works because we clobber the navigator object with our own
+// object in bootstrap.js.
+// Browser platform do not need to define this property, because
+// it is already supported by modern browsers
+if (cordova.platformId !== 'browser' && typeof navigator != 'undefined') {
+ utils.defineGetter(navigator, 'onLine', function() {
+ return this.connection.type != 'none';
+ });
+}
+
+function NetworkConnection() {
+ this.type = 'unknown';
+}
+
+/**
+ * Get connection info
+ *
+ * @param {Function} successCallback The function to call when the Connection data is available
+ * @param {Function} errorCallback The function to call when there is an error getting the Connection data. (OPTIONAL)
+ */
+NetworkConnection.prototype.getInfo = function(successCallback, errorCallback) {
+ exec(successCallback, errorCallback, "NetworkStatus", "getConnectionInfo", []);
+};
+
+var me = new NetworkConnection();
+var timerId = null;
+var timeout = 500;
+
+channel.createSticky('onCordovaConnectionReady');
+channel.waitForInitialization('onCordovaConnectionReady');
+
+channel.onCordovaReady.subscribe(function() {
+ me.getInfo(function(info) {
+ me.type = info;
+ if (info === "none") {
+ // set a timer if still offline at the end of timer send the offline event
+ timerId = setTimeout(function(){
+ cordova.fireDocumentEvent("offline");
+ timerId = null;
+ }, timeout);
+ } else {
+ // If there is a current offline event pending clear it
+ if (timerId !== null) {
+ clearTimeout(timerId);
+ timerId = null;
+ }
+ cordova.fireDocumentEvent("online");
+ }
+
+ // should only fire this once
+ if (channel.onCordovaConnectionReady.state !== 2) {
+ channel.onCordovaConnectionReady.fire();
+ }
+ },
+ function (e) {
+ // If we can't get the network info we should still tell Cordova
+ // to fire the deviceready event.
+ if (channel.onCordovaConnectionReady.state !== 2) {
+ channel.onCordovaConnectionReady.fire();
+ }
+ console.log("Error initializing Network Connection: " + e);
+ });
+});
+
+module.exports = me;