OSDN Git Service

Fix a keyguard charging status
authorAdrian Roos <roosa@google.com>
Thu, 30 Oct 2014 17:29:38 +0000 (18:29 +0100)
committerAdrian Roos <roosa@google.com>
Tue, 4 Nov 2014 14:18:16 +0000 (14:18 +0000)
Fixes a bug where the keyguard was showing
a charging state even though the device was
not plugged in.

Bug: 18166083
Change-Id: I85a2cda674ffdafb37df70598f4028414a639def

packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java

index 1c6dc2c..aa5819e 100644 (file)
@@ -518,7 +518,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
          * Determine whether the device is plugged in (USB, power, or wireless).
          * @return true if the device is plugged in.
          */
-        boolean isPluggedIn() {
+        public boolean isPluggedIn() {
             return plugged == BatteryManager.BATTERY_PLUGGED_AC
                     || plugged == BatteryManager.BATTERY_PLUGGED_USB
                     || plugged == BatteryManager.BATTERY_PLUGGED_WIRELESS;
index ce35e4b..992aa9f 100644 (file)
@@ -162,8 +162,9 @@ public class KeyguardIndicationController {
     KeyguardUpdateMonitorCallback mUpdateMonitor = new KeyguardUpdateMonitorCallback() {
         @Override
         public void onRefreshBatteryInfo(KeyguardUpdateMonitor.BatteryStatus status) {
-            mPowerPluggedIn = status.status == BatteryManager.BATTERY_STATUS_CHARGING
+            boolean isChargingOrFull = status.status == BatteryManager.BATTERY_STATUS_CHARGING
                     || status.status == BatteryManager.BATTERY_STATUS_FULL;
+            mPowerPluggedIn = status.isPluggedIn() && isChargingOrFull;
             mPowerCharged = status.isCharged();
             updateIndication();
         }