diff options
| author | 2015-12-02 18:39:50 -0800 | |
|---|---|---|
| committer | 2015-12-02 18:39:50 -0800 | |
| commit | 8a412e0bb76e22d65cb2e3de1eff9945e502ecc3 (patch) | |
| tree | a71a73de10a30476abcfe7391ea259d0c1632828 | |
| parent | 47040d6247c8eeb4d2172c4970be405be9337fd2 (diff) | |
Fix null locale edge cases in Configuration and Resources
Previously, Configuration#setTo() would not copy a null locale, and
Resources#updateConfiguration() could fail if it was updated with a
configuration with a null locale or empty locale list.
Bug: 25874762
Change-Id: I76ef5769a16a5165b91c8e5ec5d926c67ef4f3c5
| -rw-r--r-- | core/java/android/content/res/Configuration.java | 4 | ||||
| -rw-r--r-- | core/java/android/content/res/Resources.java | 2 |
2 files changed, 2 insertions, 4 deletions
diff --git a/core/java/android/content/res/Configuration.java b/core/java/android/content/res/Configuration.java index 1a19a585cd89..7db5a0889a35 100644 --- a/core/java/android/content/res/Configuration.java +++ b/core/java/android/content/res/Configuration.java @@ -724,9 +724,7 @@ public final class Configuration implements Parcelable, Comparable<Configuration fontScale = o.fontScale; mcc = o.mcc; mnc = o.mnc; - if (o.locale != null) { - locale = (Locale) o.locale.clone(); - } + locale = o.locale == null ? null : (Locale) o.locale.clone(); o.fixUpLocaleList(); mLocaleList = o.mLocaleList; userSetLocale = o.userSetLocale; diff --git a/core/java/android/content/res/Resources.java b/core/java/android/content/res/Resources.java index 7b3dde4262f4..eadad44c9a81 100644 --- a/core/java/android/content/res/Resources.java +++ b/core/java/android/content/res/Resources.java @@ -1988,7 +1988,7 @@ public class Resources { } synchronized (sSync) { if (mPluralRule != null) { - mPluralRule = PluralRules.forLocale(config.getLocales().getPrimary()); + mPluralRule = PluralRules.forLocale(mConfiguration.getLocales().getPrimary()); } } } |