Stop layout reset by setting empty locale list.
Do not call Configuration.setLocales(empty LocaleList) if the locale
list is empty since Configuration.setLocales calls setLayoutDirection
which resets the layout to LTR.
Bug: 27411138
Change-Id: I7fa9693cdb7ed90267f074812c26ea50314ad839
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 049d585..5fc2899 100755
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -2093,7 +2093,7 @@
*/
public static void clearConfiguration(Configuration inoutConfig) {
inoutConfig.fontScale = 0;
- if (!inoutConfig.userSetLocale) {
+ if (!inoutConfig.userSetLocale && !inoutConfig.getLocales().isEmpty()) {
inoutConfig.setLocales(LocaleList.getEmptyLocaleList());
}
}