diff options
Diffstat (limited to 'packages/SystemUI/src/com/android/keyguard/AnimatableClockController.java')
-rw-r--r-- | packages/SystemUI/src/com/android/keyguard/AnimatableClockController.java | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/AnimatableClockController.java b/packages/SystemUI/src/com/android/keyguard/AnimatableClockController.java index ab219f36bab3..60b677a4e561 100644 --- a/packages/SystemUI/src/com/android/keyguard/AnimatableClockController.java +++ b/packages/SystemUI/src/com/android/keyguard/AnimatableClockController.java @@ -27,6 +27,7 @@ import com.android.settingslib.Utils; import com.android.systemui.R; import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.plugins.statusbar.StatusBarStateController; +import com.android.systemui.statusbar.policy.BatteryController; import com.android.systemui.util.ViewController; import java.util.Locale; @@ -45,6 +46,7 @@ public class AnimatableClockController extends ViewController<AnimatableClockVie private int mLockScreenColor; private boolean mIsDozing; + private boolean mIsCharging; private float mDozeAmount; private Locale mLocale; @@ -56,7 +58,8 @@ public class AnimatableClockController extends ViewController<AnimatableClockVie public AnimatableClockController( AnimatableClockView view, StatusBarStateController statusBarStateController, - BroadcastDispatcher broadcastDispatcher) { + BroadcastDispatcher broadcastDispatcher, + BatteryController batteryController) { super(view); mStatusBarStateController = statusBarStateController; mIsDozing = mStatusBarStateController.isDozing(); @@ -68,6 +71,16 @@ public class AnimatableClockController extends ViewController<AnimatableClockVie R.dimen.keyguard_clock_line_spacing_scale_burmese); mDefaultLineSpacing = getContext().getResources().getFloat( R.dimen.keyguard_clock_line_spacing_scale); + + batteryController.addCallback(new BatteryController.BatteryStateChangeCallback() { + @Override + public void onBatteryLevelChanged(int level, boolean pluggedIn, boolean charging) { + if (!mIsCharging && charging) { + mView.animateCharge(mIsDozing); + } + mIsCharging = charging; + } + }); } private BroadcastReceiver mLocaleBroadcastReceiver = new BroadcastReceiver() { |