summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Dianne Hackborn <hackbod@google.com> 2017-11-21 16:33:44 -0800
committer Dianne Hackborn <hackbod@google.com> 2017-11-21 16:33:44 -0800
commit74ed6ecdc4b97c4d9a06603045b49196d5aad040 (patch)
treef6276c8e5a9f8e84b6c352f426e5c8d5a4807d81
parent911fbd231342c23d22b7bc8cd2baaccc02e69e71 (diff)
Fix issue #67019445: Detect BATTERY_LOW/OKAY
Add a new extra that indicates the battery is low. Test: BatteryConstraintTest updated Change-Id: I9ff92e15974ea092283a840cd01c860d6586c9b5
-rw-r--r--api/current.txt1
-rw-r--r--api/system-current.txt1
-rw-r--r--api/test-current.txt1
-rw-r--r--core/java/android/os/BatteryManager.java9
-rw-r--r--services/core/java/com/android/server/BatteryService.java1
5 files changed, 13 insertions, 0 deletions
diff --git a/api/current.txt b/api/current.txt
index baf8e156a757..29c13af1655b 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -30831,6 +30831,7 @@ package android.os {
field public static final int BATTERY_STATUS_FULL = 5; // 0x5
field public static final int BATTERY_STATUS_NOT_CHARGING = 4; // 0x4
field public static final int BATTERY_STATUS_UNKNOWN = 1; // 0x1
+ field public static final java.lang.String EXTRA_BATTERY_LOW = "battery_low";
field public static final java.lang.String EXTRA_HEALTH = "health";
field public static final java.lang.String EXTRA_ICON_SMALL = "icon-small";
field public static final java.lang.String EXTRA_LEVEL = "level";
diff --git a/api/system-current.txt b/api/system-current.txt
index a9afdd0455c8..996f5de047ab 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -33563,6 +33563,7 @@ package android.os {
field public static final int BATTERY_STATUS_FULL = 5; // 0x5
field public static final int BATTERY_STATUS_NOT_CHARGING = 4; // 0x4
field public static final int BATTERY_STATUS_UNKNOWN = 1; // 0x1
+ field public static final java.lang.String EXTRA_BATTERY_LOW = "battery_low";
field public static final java.lang.String EXTRA_HEALTH = "health";
field public static final java.lang.String EXTRA_ICON_SMALL = "icon-small";
field public static final java.lang.String EXTRA_LEVEL = "level";
diff --git a/api/test-current.txt b/api/test-current.txt
index 4b49c832a435..91be067dfc19 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -31034,6 +31034,7 @@ package android.os {
field public static final int BATTERY_STATUS_FULL = 5; // 0x5
field public static final int BATTERY_STATUS_NOT_CHARGING = 4; // 0x4
field public static final int BATTERY_STATUS_UNKNOWN = 1; // 0x1
+ field public static final java.lang.String EXTRA_BATTERY_LOW = "battery_low";
field public static final java.lang.String EXTRA_HEALTH = "health";
field public static final java.lang.String EXTRA_ICON_SMALL = "icon-small";
field public static final java.lang.String EXTRA_LEVEL = "level";
diff --git a/core/java/android/os/BatteryManager.java b/core/java/android/os/BatteryManager.java
index 6e0f70c14781..843bdb50dcab 100644
--- a/core/java/android/os/BatteryManager.java
+++ b/core/java/android/os/BatteryManager.java
@@ -18,6 +18,7 @@ package android.os;
import android.annotation.SystemService;
import android.content.Context;
+import android.content.Intent;
import android.hardware.health.V1_0.Constants;
import com.android.internal.app.IBatteryStats;
@@ -56,6 +57,14 @@ public class BatteryManager {
/**
* Extra for {@link android.content.Intent#ACTION_BATTERY_CHANGED}:
+ * Boolean field indicating whether the battery is currently considered to be
+ * low, that is whether a {@link Intent#ACTION_BATTERY_LOW} broadcast
+ * has been sent.
+ */
+ public static final String EXTRA_BATTERY_LOW = "battery_low";
+
+ /**
+ * Extra for {@link android.content.Intent#ACTION_BATTERY_CHANGED}:
* integer containing the maximum battery level.
*/
public static final String EXTRA_SCALE = "scale";
diff --git a/services/core/java/com/android/server/BatteryService.java b/services/core/java/com/android/server/BatteryService.java
index ea0ed2719ad0..924e736bab07 100644
--- a/services/core/java/com/android/server/BatteryService.java
+++ b/services/core/java/com/android/server/BatteryService.java
@@ -619,6 +619,7 @@ public final class BatteryService extends SystemService {
intent.putExtra(BatteryManager.EXTRA_HEALTH, mHealthInfo.batteryHealth);
intent.putExtra(BatteryManager.EXTRA_PRESENT, mHealthInfo.batteryPresent);
intent.putExtra(BatteryManager.EXTRA_LEVEL, mHealthInfo.batteryLevel);
+ intent.putExtra(BatteryManager.EXTRA_BATTERY_LOW, mSentLowBatteryBroadcast);
intent.putExtra(BatteryManager.EXTRA_SCALE, BATTERY_SCALE);
intent.putExtra(BatteryManager.EXTRA_ICON_SMALL, icon);
intent.putExtra(BatteryManager.EXTRA_PLUGGED, mPlugType);