From 58f2315865254deed726d5b7d485cbcbddeb1ec1 Mon Sep 17 00:00:00 2001 From: Robert Snoeberger Date: Thu, 10 Jan 2019 15:51:32 -0500 Subject: Initialize dark amount when a new plugin is connected. Bug: 119756967 Test: Added test to KeyguardClockSwitchTest. Change-Id: I716a92f72afcfb51bea80757eedc8797364b95c7 --- .../src/com/android/keyguard/KeyguardClockSwitch.java | 6 ++++++ .../src/com/android/keyguard/KeyguardClockSwitchTest.java | 11 +++++++++++ 2 files changed, 17 insertions(+) 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 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 @@ -131,6 +131,17 @@ public class KeyguardClockSwitchTest extends SysuiTestCase { assertThat(plugin1.getView().getParent()).isNull(); } + @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); -- cgit v1.2.3-59-g8ed1b