Merge "Update time format" into sc-dev
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java
index fbea1e9..a7239ca 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java
@@ -342,7 +342,7 @@
         }
     }
 
-    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 e8cc5c8..e4cabcb 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java
@@ -287,6 +287,11 @@
         }
 
         @Override
+        public void onTimeFormatChanged(String timeFormat) {
+            mKeyguardClockSwitchController.refreshFormat();
+        }
+
+        @Override
         public void onTimeZoneChanged(TimeZone timeZone) {
             mKeyguardClockSwitchController.updateTimeZone(timeZone);
         }
@@ -313,6 +318,7 @@
 
         @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 83c2227..6ec14fe 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 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 @@
     SmartspaceTransitionController mSmartSpaceTransitionController;
     @Mock
     UnlockedScreenOffAnimationController mUnlockedScreenOffAnimationController;
+    @Captor
+    private ArgumentCaptor<KeyguardUpdateMonitorCallback> mKeyguardUpdateMonitorCallbackCaptor;
 
     private KeyguardStatusViewController mController;
 
@@ -90,4 +94,26 @@
         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();
+    }
 }