diff options
author | Wale Ogunwale <ogunwale@google.com> | 2015-02-18 03:23:36 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-02-18 03:23:39 +0000 |
commit | 0233aee840ac7e4a934cc69f97f280682d13a788 (patch) | |
tree | f0e7cc79d356c9c63331d02e1803fceecd8d7ff7 | |
parent | 456bca5f90a538c976f33838e099c5316bf94095 (diff) | |
parent | 93f543ca98636a6d2552e960690294578ec37f30 (diff) | |
download | frameworks_base-0233aee840ac7e4a934cc69f97f280682d13a788.zip frameworks_base-0233aee840ac7e4a934cc69f97f280682d13a788.tar.gz frameworks_base-0233aee840ac7e4a934cc69f97f280682d13a788.tar.bz2 |
Merge "Fixed NPE in ResourceManager when Activity.recreate is called."
-rw-r--r-- | core/java/android/app/ActivityThread.java | 1 | ||||
-rw-r--r-- | core/java/android/app/ResourcesManager.java | 5 |
2 files changed, 4 insertions, 2 deletions
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 05e2f7c..a8eb076 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -3863,6 +3863,7 @@ public final class ActivityThread { ActivityClientRecord existing = mActivities.get(token); if (existing != null) { target.startsNotResumed = existing.paused; + target.overrideConfig = existing.overrideConfig; } target.onlyLocalRequest = true; } diff --git a/core/java/android/app/ResourcesManager.java b/core/java/android/app/ResourcesManager.java index 17885a2..75ccb23 100644 --- a/core/java/android/app/ResourcesManager.java +++ b/core/java/android/app/ResourcesManager.java @@ -117,8 +117,9 @@ public class ResourcesManager { * @param overrideConfiguration override configurations. */ public Display getAdjustedDisplay(final int displayId, Configuration overrideConfiguration) { - final Pair<Integer, Configuration> key = - Pair.create(displayId, new Configuration(overrideConfiguration)); + final Configuration configCopy = (overrideConfiguration != null) + ? new Configuration(overrideConfiguration) : new Configuration(); + final Pair<Integer, Configuration> key = Pair.create(displayId, configCopy); synchronized (this) { WeakReference<Display> wd = mDisplays.get(key); if (wd != null) { |