From bd0ce4d42f2b34700a42b27aaaed74e47e469aeb Mon Sep 17 00:00:00 2001 From: Varun Shah Date: Tue, 10 Sep 2019 15:51:37 -0400 Subject: [PATCH] Use language tags to store Configuration's locale list. Instead of storing each Locale within a Configuration object's locale list by its language, country, variant, and script to proto, store the entire locale list by its language tags representation which accurately describes each locale. Bug: 140197723 Test: atest ConfigurationTest Test: atest UsageStatsDatabaseTest Test: manually with bad data Change-Id: I53946ed4e31de0ffe9c84875c391a7dec6f5375a --- .../android/content/res/Configuration.java | 11 ++- core/java/android/os/LocaleList.java | 22 ------ .../proto/android/content/configuration.proto | 3 +- core/proto/android/content/locale.proto | 1 + .../content/res/ConfigurationTest.java | 79 +++++++++++++++++++ 5 files changed, 92 insertions(+), 24 deletions(-) diff --git a/core/java/android/content/res/Configuration.java b/core/java/android/content/res/Configuration.java index 9cf54f41a64be..ac1cbd4619df9 100644 --- a/core/java/android/content/res/Configuration.java +++ b/core/java/android/content/res/Configuration.java @@ -23,6 +23,7 @@ import static android.content.ConfigurationProto.HARD_KEYBOARD_HIDDEN; import static android.content.ConfigurationProto.KEYBOARD; import static android.content.ConfigurationProto.KEYBOARD_HIDDEN; import static android.content.ConfigurationProto.LOCALES; +import static android.content.ConfigurationProto.LOCALE_LIST; import static android.content.ConfigurationProto.MCC; import static android.content.ConfigurationProto.MNC; import static android.content.ConfigurationProto.NAVIGATION; @@ -1111,7 +1112,7 @@ public final class Configuration implements Parcelable, Comparable