diff options
| author | 2019-01-10 15:51:32 -0500 | |
|---|---|---|
| committer | 2019-01-10 15:51:32 -0500 | |
| commit | 58f2315865254deed726d5b7d485cbcbddeb1ec1 (patch) | |
| tree | 6c0625b4f290cce78f1a001516d7e570d0158848 | |
| parent | 8bf1a3c1257eeaa3c746754e16875aea82c1e6ad (diff) | |
Initialize dark amount when a new plugin is connected.
Bug: 119756967
Test: Added test to KeyguardClockSwitchTest.
Change-Id: I716a92f72afcfb51bea80757eedc8797364b95c7
| -rw-r--r-- | packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java | 6 | ||||
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchTest.java | 11 |
2 files changed, 17 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java index 1c8a672faf87..17cc1d57582c 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java @@ -55,6 +55,10 @@ public class KeyguardClockSwitch extends RelativeLayout { * Consumer that accepts the a new ClockPlugin implementation when the Extension reloads. */ private final Consumer<ClockPlugin> mClockPluginConsumer = plugin -> setClockPlugin(plugin); + /** + * Maintain state so that a newly connected plugin can be initialized. + */ + private float mDarkAmount; private final StatusBarStateController.StateListener mStateListener = new StatusBarStateController.StateListener() { @@ -147,6 +151,7 @@ public class KeyguardClockSwitch extends RelativeLayout { mClockPlugin = plugin; mClockPlugin.setStyle(getPaint().getStyle()); mClockPlugin.setTextColor(getCurrentTextColor()); + mClockPlugin.setDarkAmount(mDarkAmount); } /** @@ -208,6 +213,7 @@ public class KeyguardClockSwitch extends RelativeLayout { * @param darkAmount Amount of transition to doze: 1f for doze and 0f for awake. */ public void setDarkAmount(float darkAmount) { + mDarkAmount = darkAmount; if (mClockPlugin != null) { mClockPlugin.setDarkAmount(darkAmount); } diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchTest.java index 8e02f578f6fd..fbc1c20755a1 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchTest.java +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchTest.java @@ -132,6 +132,17 @@ public class KeyguardClockSwitchTest extends SysuiTestCase { } @Test + public void onPluginConnected_darkAmountInitialized() { + // GIVEN that the dark amount has already been set + mKeyguardClockSwitch.setDarkAmount(0.5f); + // WHEN a plugin is connected + ClockPlugin plugin = mock(ClockPlugin.class); + mKeyguardClockSwitch.getClockPluginConsumer().accept(plugin); + // THEN dark amount should be initalized on the plugin. + verify(plugin).setDarkAmount(0.5f); + } + + @Test public void onPluginDisconnected_showDefaultClock() { ClockPlugin plugin = mock(ClockPlugin.class); TextClock pluginView = new TextClock(getContext()); |