Merge "Incorrect localization of dark theme custom time" into rvc-dev
diff --git a/src/com/android/settings/display/darkmode/TimeFormatter.java b/src/com/android/settings/display/darkmode/TimeFormatter.java
index 5b18806..1032fe1 100644
--- a/src/com/android/settings/display/darkmode/TimeFormatter.java
+++ b/src/com/android/settings/display/darkmode/TimeFormatter.java
@@ -19,6 +19,7 @@
 
 import java.time.LocalTime;
 import java.time.format.DateTimeFormatter;
+import java.util.Locale;
 
 /**
  * Formats LocalTime to the locale time string format
@@ -28,11 +29,15 @@
     private final DateTimeFormatter mFormatter;
     public TimeFormatter(Context context) {
         mContext = context;
-        mFormatter = DateTimeFormatter.ofPattern("hh:mm a");
+        Locale locale = mContext.getResources().getConfiguration().locale;
+        if (locale == null) {
+            locale = Locale.getDefault();
+        }
+        mFormatter = DateTimeFormatter.ofPattern("hh:mm a", locale);
     }
 
     public String of(LocalTime time) {
-        return is24HourFormat() ? time.toString() : mFormatter.format(time);
+        return mFormatter.format(time);
     }
 
     public boolean is24HourFormat() {
diff --git a/tests/robotests/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceControllerTest.java
index 5e6d463..33d0927c 100644
--- a/tests/robotests/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceControllerTest.java
@@ -82,6 +82,7 @@
         MockitoAnnotations.initMocks(this);
         mService = mock(UiModeManager.class);
         when(mContext.getResources()).thenReturn(res);
+        when(res.getConfiguration()).thenReturn(mConfigNightNo);
         when(mContext.getSystemService(UiModeManager.class)).thenReturn(mService);
         when(mContext.getSystemService(PowerManager.class)).thenReturn(mPM);
         when(mScreen.findPreference(anyString())).thenReturn(mPreference);