You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by lo...@apache.org on 2013/06/21 21:45:57 UTC
git commit: [CB-3672] blackberry 10 battery plugin breakout
Updated Branches:
refs/heads/master 290b1decb -> 478154b66
[CB-3672] blackberry 10 battery plugin breakout
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/478154b6
Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status/tree/478154b6
Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status/diff/478154b6
Branch: refs/heads/master
Commit: 478154b6683a151de7f846cbb71e2077a4598d5b
Parents: 290b1de
Author: lorinbeer <lo...@adobe.com>
Authored: Fri Jun 21 12:45:50 2013 -0700
Committer: lorinbeer <lo...@adobe.com>
Committed: Fri Jun 21 12:45:50 2013 -0700
----------------------------------------------------------------------
plugin.xml | 8 +++++
src/blackberry10/index.js | 72 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 80 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status/blob/478154b6/plugin.xml
----------------------------------------------------------------------
diff --git a/plugin.xml b/plugin.xml
index f4ce680..9c919ba 100644
--- a/plugin.xml
+++ b/plugin.xml
@@ -31,6 +31,14 @@ id="org.apache.cordova.core.BatteryListener" version="0.1.0">
<source-file src="src/ios/CDVBattery.m" />
</platform>
+ <!-- blackberry10 -->
+ <platform name="blackberry10">
+ <source-file src="src/blackberry10/index.js" target-dir="Battery" />
+ <config-file target="www/config.xml" parent="/widget">
+ <feature name="Battery" value="Battery"/>
+ </config-file>
+ </platform>
+
<!-- wp7 -->
<platform name="wp7">
<config-file target="config.xml" parent="/*">
http://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status/blob/478154b6/src/blackberry10/index.js
----------------------------------------------------------------------
diff --git a/src/blackberry10/index.js b/src/blackberry10/index.js
new file mode 100644
index 0000000..4d3816f
--- /dev/null
+++ b/src/blackberry10/index.js
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2010-2011 Research In Motion Limited.
+ *
+ * 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.
+ */
+
+ var _clientListeners = {},
+ _webkitBattery = navigator.webkitBattery || navigator.battery;
+
+module.exports = {
+ start: function (success, fail, args, env) {
+ var result = new PluginResult(args, env),
+ listener = function (info) {
+ var resultInfo = {};
+ if (info) {
+ if (info.srcElement) {
+ //webkitBattery listeners store webkitBattery in srcElement object
+ info = info.srcElement;
+ }
+
+ //put data from webkitBattery into a format cordova expects
+ //webkitBattery seems to return level as a decimal pre 10.2
+ resultInfo.level = info.level <= 1 ? info.level * 100 : info.level,
+ resultInfo.isPlugged = info.charging
+ }
+
+ result.callbackOk(resultInfo, true);
+ };
+
+ if (_clientListeners[env.webview.id]) {
+ //TODO: Change back to erroring out after reset is implemented
+ //result.error("Battery listener already running");
+ _webkitBattery.onchargingchange = null;
+ _webkitBattery.onlevelchange = null;
+ }
+
+ _clientListeners[env.webview.id] = listener;
+
+ _webkitBattery.onchargingchange = listener;
+ _webkitBattery.onlevelchange = listener;
+
+ setTimeout(function(){
+ //Call callback with webkitBattery data right away
+ listener(_webkitBattery);
+ });
+
+ result.noResult(true);
+ },
+ stop: function (success, fail, args, env) {
+ var result = new PluginResult(args, env),
+ listener = _clientListeners[env.webview.id];
+
+ if (!listener) {
+ result.error("Battery listener has not started");
+ } else {
+ _webkitBattery.onchargingchange = null;
+ _webkitBattery.onlevelchange = null;
+ delete _clientListeners[env.webview.id];
+ result.noResult(false);
+ }
+ }
+};