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);