You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by st...@apache.org on 2013/12/05 01:55:42 UTC
[7/8] git commit: Merged WP8 support for level,
but #def'd it out so the same code runs on wp7. Updated docs to
reflect WP8 support for battery level, and low+critical events
Merged WP8 support for level, but #def'd it out so the same code runs on wp7. Updated docs to reflect WP8 support for battery level, and low+critical events
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/58877911
Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status/tree/58877911
Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status/diff/58877911
Branch: refs/heads/master
Commit: 58877911e8edaa3dbf5baeaf34a00cd313721648
Parents: 3255572
Author: Jesse MacFadyen <pu...@gmail.com>
Authored: Tue Dec 3 14:33:19 2013 -0800
Committer: Jesse MacFadyen <pu...@gmail.com>
Committed: Tue Dec 3 14:33:19 2013 -0800
----------------------------------------------------------------------
docs/events.batterycritical.md | 1 +
docs/events.batterylow.md | 1 +
docs/events.batterystatus.md | 4 ++--
src/wp/Battery.cs | 19 +++++++++++++++++--
4 files changed, 21 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status/blob/58877911/docs/events.batterycritical.md
----------------------------------------------------------------------
diff --git a/docs/events.batterycritical.md b/docs/events.batterycritical.md
index b11294a..7d3067b 100644
--- a/docs/events.batterycritical.md
+++ b/docs/events.batterycritical.md
@@ -43,6 +43,7 @@ Supported Platforms
- Android
- BlackBerry WebWorks (OS 5.0 and higher)
- Tizen
+- Windows Phone 8
Quick Example
-------------
http://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status/blob/58877911/docs/events.batterylow.md
----------------------------------------------------------------------
diff --git a/docs/events.batterylow.md b/docs/events.batterylow.md
index 804a7a5..7718845 100644
--- a/docs/events.batterylow.md
+++ b/docs/events.batterylow.md
@@ -43,6 +43,7 @@ Supported Platforms
- Android
- BlackBerry WebWorks (OS 5.0 and higher)
- Tizen
+- Windows Phone 8
Quick Example
-------------
http://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status/blob/58877911/docs/events.batterystatus.md
----------------------------------------------------------------------
diff --git a/docs/events.batterystatus.md b/docs/events.batterystatus.md
index 40c86c1..df7e307 100644
--- a/docs/events.batterystatus.md
+++ b/docs/events.batterystatus.md
@@ -49,8 +49,8 @@ Windows Phone 7 Quirks
----------------------
The `level` property is unavailable as Windows Phone 7 does not provide
-native APIs for determining battery level. The `isPlugged` parameter
-_is_ supported.
+native APIs for determining battery level. The level value returned on Windows Phone 7 devices will always be -1.
+The `isPlugged` parameter _is_ supported.
Quick Example
-------------
http://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status/blob/58877911/src/wp/Battery.cs
----------------------------------------------------------------------
diff --git a/src/wp/Battery.cs b/src/wp/Battery.cs
index d187107..219d8ff 100644
--- a/src/wp/Battery.cs
+++ b/src/wp/Battery.cs
@@ -34,20 +34,27 @@ namespace WPCordovaClassLib.Cordova.Commands
{
private bool isPlugged = false;
private EventHandler powerChanged;
+#if WP8
private Windows.Phone.Devices.Power.Battery battery;
-
+#endif
public Battery()
{
powerChanged = new EventHandler(DeviceStatus_PowerSourceChanged);
isPlugged = DeviceStatus.PowerSource.ToString().CompareTo("External") == 0;
+
+#if WP8
battery = Windows.Phone.Devices.Power.Battery.GetDefault();
+#endif
}
public void start(string options)
{
// Register power changed event handler
DeviceStatus.PowerSourceChanged += powerChanged;
+
+#if WP8
battery.RemainingChargePercentChanged += Battery_RemainingChargePercentChanged;
+#endif
PluginResult result = new PluginResult(PluginResult.Status.NO_RESULT);
result.KeepCallback = true;
@@ -57,7 +64,9 @@ namespace WPCordovaClassLib.Cordova.Commands
{
// Unregister power changed event handler
DeviceStatus.PowerSourceChanged -= powerChanged;
+#if WP8
battery.RemainingChargePercentChanged -= Battery_RemainingChargePercentChanged;
+#endif
}
private void DeviceStatus_PowerSourceChanged(object sender, EventArgs e)
@@ -77,8 +86,14 @@ namespace WPCordovaClassLib.Cordova.Commands
private string GetCurrentBatteryStateFormatted()
{
+ int remainingChargePercent = -1;
+#if WP8
+ remainingChargePercent = battery.RemainingChargePercent;
+#endif
+
+
string batteryState = String.Format("\"level\":{0},\"isPlugged\":{1}",
- battery.RemainingChargePercent,
+ remainingChargePercent,
isPlugged ? "true" : "false"
);
batteryState = "{" + batteryState + "}";