diff options
3 files changed, 33 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java index fbea1e9a594d..a7239cabcae5 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java @@ -342,7 +342,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS } } - void refreshFormat(String timeFormat) { + void refreshFormat() { if (mClockViewController != null) { mClockViewController.refreshFormat(); mLargeClockViewController.refreshFormat(); diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java index e8cc5c8a49f3..e4cabcb94ebe 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java @@ -287,6 +287,11 @@ public class KeyguardStatusViewController extends ViewController<KeyguardStatusV } @Override + public void onTimeFormatChanged(String timeFormat) { + mKeyguardClockSwitchController.refreshFormat(); + } + + @Override public void onTimeZoneChanged(TimeZone timeZone) { mKeyguardClockSwitchController.updateTimeZone(timeZone); } @@ -313,6 +318,7 @@ public class KeyguardStatusViewController extends ViewController<KeyguardStatusV @Override public void onUserSwitchComplete(int userId) { + mKeyguardClockSwitchController.refreshFormat(); mView.updateOwnerInfo(); mView.updateLogoutView(shouldShowLogout()); } diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardStatusViewControllerTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardStatusViewControllerTest.java index 83c2227ffc12..6ec14fe46223 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardStatusViewControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardStatusViewControllerTest.java @@ -32,6 +32,8 @@ import com.android.systemui.statusbar.policy.KeyguardStateController; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.ArgumentCaptor; +import org.mockito.Captor; import org.mockito.Mock; import org.mockito.MockitoAnnotations; @@ -59,6 +61,8 @@ public class KeyguardStatusViewControllerTest extends SysuiTestCase { SmartspaceTransitionController mSmartSpaceTransitionController; @Mock UnlockedScreenOffAnimationController mUnlockedScreenOffAnimationController; + @Captor + private ArgumentCaptor<KeyguardUpdateMonitorCallback> mKeyguardUpdateMonitorCallbackCaptor; private KeyguardStatusViewController mController; @@ -90,4 +94,26 @@ public class KeyguardStatusViewControllerTest extends SysuiTestCase { mController.dozeTimeTick(); verify(mKeyguardClockSwitchController).refresh(); } + + @Test + public void timeFormatUpdateNotifiesClockSwitchController() { + mController.onViewAttached(); + + verify(mKeyguardUpdateMonitor).registerCallback( + mKeyguardUpdateMonitorCallbackCaptor.capture()); + + mKeyguardUpdateMonitorCallbackCaptor.getValue().onTimeFormatChanged(""); + verify(mKeyguardClockSwitchController).refreshFormat(); + } + + @Test + public void userChangeNotifiesClockSwitchController() { + mController.onViewAttached(); + + verify(mKeyguardUpdateMonitor).registerCallback( + mKeyguardUpdateMonitorCallbackCaptor.capture()); + + mKeyguardUpdateMonitorCallbackCaptor.getValue().onUserSwitchComplete(0); + verify(mKeyguardClockSwitchController).refreshFormat(); + } } |