cordova-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sgreb...@apache.org
Subject cordova-plugin-battery-status git commit: CB-7953 Add cordova-plugin-battery-status support for browser platform
Date Mon, 15 Jun 2015 08:47:27 GMT
Repository: cordova-plugin-battery-status
Updated Branches:
  refs/heads/master 51185c068 -> ed64714c5


CB-7953 Add cordova-plugin-battery-status support for browser platform

Added browser support
Updated the docs

github close #20


Project: http://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status/commit/ed64714c
Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status/tree/ed64714c
Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status/diff/ed64714c

Branch: refs/heads/master
Commit: ed64714c55ba6e3366e8af710200b01bf687c137
Parents: 51185c0
Author: daserge <daserge@yandex.ru>
Authored: Wed Mar 18 11:47:21 2015 +0300
Committer: sgrebnov <v-segreb@microsoft.com>
Committed: Mon Jun 15 11:47:00 2015 +0300

----------------------------------------------------------------------
 README.md                   | 15 ++++++++
 plugin.xml                  |  7 ++++
 src/browser/BatteryProxy.js | 80 ++++++++++++++++++++++++++++++++++++++++
 3 files changed, 102 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status/blob/ed64714c/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index 658ed04..42202d1 100644
--- a/README.md
+++ b/README.md
@@ -58,6 +58,7 @@ attach an event listener after the `deviceready` event fires.
 - Windows (Windows Phone 8.1 only)
 - Tizen
 - Firefox OS
+- Browser
 
 ### Android and Amazon Fire OS Quirks
 
@@ -74,6 +75,10 @@ parameter _is_ supported.
 Windows Phone 8.1 does not support `isPlugged` parameter.
 The `level` parameter _is_ supported.
 
+### Browser Quirks
+
+Supported browsers are Chrome, Firefox and Opera. 
+
 ### Example
 
     window.addEventListener("batterystatus", onBatteryStatus, false);
@@ -107,6 +112,7 @@ an event listener once the `deviceready` event fires.
 - Tizen
 - Firefox OS
 - Windows (Windows Phone 8.1 only)
+- Browser
 
 ### Windows Quirks
 
@@ -121,6 +127,10 @@ Windows Phone 8.1 will fire `batterycritical` event regardless of plugged
state
         alert("Battery Level Critical " + info.level + "%\nRecharge Soon!");
     }
 
+### Browser Quirks
+
+Supported browsers are Chrome, Firefox and Opera. 
+
 ## batterylow
 
 The event fires when the percentage of battery charge has reached the
@@ -145,6 +155,7 @@ attach an event listener once the `deviceready` event fires.
 - Tizen
 - Firefox OS
 - Windows (Windows Phone 8.1 only)
+- Browser
 
 ### Windows Quirks
 
@@ -158,3 +169,7 @@ Windows Phone 8.1 will fire `batterylow` event regardless of plugged state
as it
         // Handle the battery low event
         alert("Battery Level Low " + info.level + "%");
     }
+
+### Browser Quirks
+
+Supported browsers are Chrome, Firefox and Opera. 

http://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status/blob/ed64714c/plugin.xml
----------------------------------------------------------------------
diff --git a/plugin.xml b/plugin.xml
index 5eef8ed..97b781e 100644
--- a/plugin.xml
+++ b/plugin.xml
@@ -123,4 +123,11 @@
             <runs />
         </js-module>
     </platform>
+	
+    <!-- browser -->
+    <platform name="browser">
+        <js-module src="src/browser/BatteryProxy.js" name="Battery">
+            <runs />
+        </js-module>
+    </platform>
 </plugin>

http://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status/blob/ed64714c/src/browser/BatteryProxy.js
----------------------------------------------------------------------
diff --git a/src/browser/BatteryProxy.js b/src/browser/BatteryProxy.js
new file mode 100644
index 0000000..d9bc059
--- /dev/null
+++ b/src/browser/BatteryProxy.js
@@ -0,0 +1,80 @@
+/*
+ *
+ * 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 w3cBattery;
+var winCallBack;
+
+function success() {
+    winCallBack({ level: w3cBattery.level * 100, isPlugged: w3cBattery.charging });
+}
+
+var Battery = {
+    start: function(win, fail, args, env) {
+        try {
+            var subscribe = function(battery) {
+                w3cBattery = battery;
+                winCallBack = win;
+
+                success();
+
+                if (typeof w3cBattery.addEventListener === 'function') {
+                    w3cBattery.addEventListener('levelchange', success, false);
+                    w3cBattery.addEventListener('chargingchange', success, false);
+                } else {
+                    w3cBattery.onlevelchange = success;
+                    w3cBattery.onchargingchange = success;
+                }
+            }
+
+            if (typeof navigator.getBattery === 'function') {
+                navigator.getBattery().then(function(battery) { 
+                    subscribe(battery); 
+                });
+            } else {
+                var origBattery = cordova.require('cordova/modulemapper').getOriginalSymbol(window,
'navigator.battery');
+
+                if (origBattery) {
+                    subscribe(origBattery);
+                } else {
+                    fail('Not supported');
+                }
+            }
+        } catch(e) {
+            fail(e);
+        };
+    },
+
+    stop: function() {
+        try {
+            if (typeof w3cBattery.removeEventListener === 'function') {
+                w3cBattery.removeEventListener('levelchange', success, false);
+                w3cBattery.removeEventListener('chargingchange', success, false);
+            } else {
+                w3cBattery.onlevelchange = null;
+                w3cBattery.onchargingchange = null;
+            }
+        } catch(e) {
+            console.warn('Error occured while trying to stop battery: ' + JSON.stringify(e));
+        };
+    }
+};
+
+require("cordova/exec/proxy").add("Battery", Battery);


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org


Mime
View raw message