From ff43f4e6a62bf04742bdcb205ba932de00e4da7c Mon Sep 17 00:00:00 2001 From: Varun Shah Date: Sun, 8 Sep 2019 01:31:31 -0700 Subject: 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: Id0e63ae4a7be578d1e93838b371320f86a787e0e --- core/java/android/content/res/Configuration.java | 11 ++- core/java/android/os/LocaleList.java | 22 ------ core/proto/android/content/configuration.proto | 3 +- core/proto/android/content/locale.proto | 1 + .../src/android/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 861ae7ba122e..1abfe7000221 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