summaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
authorDaniel Sandler <dsandler@android.com>2012-11-29 15:11:50 -0500
committerDaniel Sandler <dsandler@android.com>2012-11-29 15:11:50 -0500
commitfe0e1e445fe697d59baf5736da20356a4e548fc9 (patch)
tree3bb55d3f7be054a19c1430d435aef384762546da /packages
parentbf0e106a7d755355d7ff53a2b319e2e91c154641 (diff)
downloadframeworks_base-fe0e1e445fe697d59baf5736da20356a4e548fc9.zip
frameworks_base-fe0e1e445fe697d59baf5736da20356a4e548fc9.tar.gz
frameworks_base-fe0e1e445fe697d59baf5736da20356a4e548fc9.tar.bz2
Only show "charging" if the battery is really charging.
If there's a charge problem (battery health/temperature out of spec, or low charging current), the lockscreen and status bar should not indicate that charging is occurring. (Previously we showed "Charging" and a lightning bolt any time the device was plugged in.) Bug: 7509976 Change-Id: I27ec0e2cec1307fbc6ef262dd5181a4db6d3bed0
Diffstat (limited to 'packages')
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java
index 7f9bcac..716341f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java
@@ -68,9 +68,20 @@ public class BatteryController extends BroadcastReceiver {
final String action = intent.getAction();
if (action.equals(Intent.ACTION_BATTERY_CHANGED)) {
final int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
- final boolean plugged = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0) != 0;
- final int icon = plugged ? R.drawable.stat_sys_battery_charge
+ final int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS,
+ BatteryManager.BATTERY_STATUS_UNKNOWN);
+
+ boolean plugged = false;
+ switch (status) {
+ case BatteryManager.BATTERY_STATUS_CHARGING:
+ case BatteryManager.BATTERY_STATUS_FULL:
+ plugged = true;
+ break;
+ }
+
+ final int icon = plugged ? R.drawable.stat_sys_battery_charge
: R.drawable.stat_sys_battery;
+
int N = mIconViews.size();
for (int i=0; i<N; i++) {
ImageView v = mIconViews.get(i);