summaryrefslogtreecommitdiffstats
path: root/policy/src
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 /policy/src
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 'policy/src')
-rw-r--r--policy/src/com/android/internal/policy/impl/keyguard/KeyguardMessageArea.java14
1 files changed, 8 insertions, 6 deletions
diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardMessageArea.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardMessageArea.java
index ee5c4a6..210312a 100644
--- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardMessageArea.java
+++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardMessageArea.java
@@ -21,6 +21,7 @@ import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
import android.content.ContentResolver;
import android.content.Context;
+import android.os.BatteryManager;
import android.os.Handler;
import android.os.Looper;
import android.os.UserHandle;
@@ -51,7 +52,7 @@ class KeyguardMessageArea extends TextView {
boolean mShowingBouncer = false;
// last known plugged in state
- boolean mPluggedIn = false;
+ boolean mCharging = false;
// last known battery level
int mBatteryLevel = 100;
@@ -134,7 +135,8 @@ class KeyguardMessageArea extends TextView {
@Override
public void onRefreshBatteryInfo(KeyguardUpdateMonitor.BatteryStatus status) {
mShowingBatteryInfo = status.isPluggedIn() || status.isBatteryLow();
- mPluggedIn = status.isPluggedIn();
+ mCharging = status.status == BatteryManager.BATTERY_STATUS_CHARGING
+ || status.status == BatteryManager.BATTERY_STATUS_FULL;
mBatteryLevel = status.level;
mBatteryCharged = status.isCharged();
mBatteryIsLow = status.isBatteryLow();
@@ -223,11 +225,11 @@ class KeyguardMessageArea extends TextView {
CharSequence string = null;
if (mShowingBatteryInfo && !mShowingMessage) {
// Battery status
- if (mPluggedIn) {
+ if (mCharging) {
// Charging, charged or waiting to charge.
- string = getContext().getString(mBatteryCharged ?
- com.android.internal.R.string.lockscreen_charged
- :com.android.internal.R.string.lockscreen_plugged_in, mBatteryLevel);
+ string = getContext().getString(mBatteryCharged
+ ? com.android.internal.R.string.lockscreen_charged
+ : com.android.internal.R.string.lockscreen_plugged_in, mBatteryLevel);
icon.value = CHARGING_ICON;
} else if (mBatteryIsLow) {
// Battery is low