summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWale Ogunwale <ogunwale@google.com>2015-02-18 03:23:36 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-02-18 03:23:39 +0000
commit0233aee840ac7e4a934cc69f97f280682d13a788 (patch)
treef0e7cc79d356c9c63331d02e1803fceecd8d7ff7
parent456bca5f90a538c976f33838e099c5316bf94095 (diff)
parent93f543ca98636a6d2552e960690294578ec37f30 (diff)
downloadframeworks_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.java1
-rw-r--r--core/java/android/app/ResourcesManager.java5
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) {