Return-Path: X-Original-To: apmail-cordova-commits-archive@www.apache.org Delivered-To: apmail-cordova-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id AB04B1130D for ; Mon, 19 May 2014 21:57:08 +0000 (UTC) Received: (qmail 46775 invoked by uid 500); 19 May 2014 21:57:08 -0000 Delivered-To: apmail-cordova-commits-archive@cordova.apache.org Received: (qmail 46730 invoked by uid 500); 19 May 2014 21:57:08 -0000 Mailing-List: contact commits-help@cordova.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cordova.apache.org Delivered-To: mailing list commits@cordova.apache.org Received: (qmail 46652 invoked by uid 99); 19 May 2014 21:57:08 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 19 May 2014 21:57:08 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 41127936430; Mon, 19 May 2014 21:57:08 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: zalun@apache.org To: commits@cordova.apache.org Date: Mon, 19 May 2014 21:57:08 -0000 Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: [1/3] git commit: CB-5611 firefoxos: battery-status plugin Repository: cordova-plugin-battery-status Updated Branches: refs/heads/master 9821813a4 -> dbdcbebaa CB-5611 firefoxos: battery-status plugin 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/7d9f58d1 Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status/tree/7d9f58d1 Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status/diff/7d9f58d1 Branch: refs/heads/master Commit: 7d9f58d195709d6220c7ac1358a3b45848f95a31 Parents: d38f0ab Author: Richard Sentino Authored: Sat Mar 1 01:13:55 2014 +1300 Committer: Rodrigo Silveira Committed: Thu May 1 11:50:39 2014 -0700 ---------------------------------------------------------------------- plugin.xml | 7 +++++ src/firefoxos/BatteryProxy.js | 61 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status/blob/7d9f58d1/plugin.xml ---------------------------------------------------------------------- diff --git a/plugin.xml b/plugin.xml index f29babb..5dde753 100644 --- a/plugin.xml +++ b/plugin.xml @@ -107,4 +107,11 @@ + + + + + + + http://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status/blob/7d9f58d1/src/firefoxos/BatteryProxy.js ---------------------------------------------------------------------- diff --git a/src/firefoxos/BatteryProxy.js b/src/firefoxos/BatteryProxy.js new file mode 100644 index 0000000..6b592ae --- /dev/null +++ b/src/firefoxos/BatteryProxy.js @@ -0,0 +1,61 @@ +/* + * + * 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 mozBattery = cordova.require('cordova/modulemapper').getOriginalSymbol(window, 'navigator.battery'); + +var Battery = { + start: function(successCB, failCB, args, env) { + if (mozBattery) { + Battery.attachListeners(successCB); + } else { + failCB('Could not get window.navigator.battery'); + } + }, + + stop: function() { + Battery.detachListeners(); + }, + + attachListeners: function(_callBack) { + + Battery.updateBatteryStatus(_callBack); // send a battery status event + + mozBattery.addEventListener("chargingchange", function(){ + _callBack({level: (mozBattery.level * 100), isPlugged: mozBattery.charging}); + }); + + mozBattery.addEventListener("levelchange", function(){ + _callBack({level: (mozBattery.level * 100), isPlugged: mozBattery.charging}); + }); + }, + + detachListeners: function() { + + mozBattery.removeEventListener("chargingchange", null); + mozBattery.removeEventListener("levelchange", null); + }, + + updateBatteryStatus: function(_callBack) { + _callBack({level: (mozBattery.level * 100), isPlugged: mozBattery.charging}); + } +}; + +require("cordova/exec/proxy").add("Battery", Battery);