summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/app/ActivityThread.java29
-rw-r--r--core/java/android/view/Display.java2
2 files changed, 19 insertions, 12 deletions
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index 99aae37ff73d..d2facdcc172c 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -1478,7 +1478,7 @@ public final class ActivityThread {
}
//Slog.i(TAG, "Resource: key=" + key + ", display metrics=" + metrics);
- DisplayMetrics metrics = getDisplayMetricsLocked(compInfo, false);
+ DisplayMetrics metrics = getDisplayMetricsLocked(null, false);
r = new Resources(assets, metrics, getConfiguration(), compInfo);
if (false) {
Slog.i(TAG, "Created app resources " + resDir + " " + r + ": "
@@ -3476,7 +3476,7 @@ public final class ActivityThread {
return false;
}
int changes = mResConfiguration.updateFrom(config);
- DisplayMetrics dm = getDisplayMetricsLocked(compat, true);
+ DisplayMetrics dm = getDisplayMetricsLocked(null, true);
if (compat != null && (mResCompatibilityInfo == null ||
!mResCompatibilityInfo.equals(compat))) {
@@ -3517,7 +3517,20 @@ public final class ActivityThread {
return changes != 0;
}
-
+
+ final Configuration applyCompatConfiguration() {
+ Configuration config = mConfiguration;
+ if (mCompatConfiguration == null) {
+ mCompatConfiguration = new Configuration();
+ }
+ mCompatConfiguration.setTo(mConfiguration);
+ if (mResCompatibilityInfo != null && !mResCompatibilityInfo.supportsScreen()) {
+ mResCompatibilityInfo.applyToConfiguration(mCompatConfiguration);
+ config = mCompatConfiguration;
+ }
+ return config;
+ }
+
final void handleConfigurationChanged(Configuration config, CompatibilityInfo compat) {
ArrayList<ComponentCallbacks2> callbacks = null;
@@ -3546,14 +3559,7 @@ public final class ActivityThread {
return;
}
mConfiguration.updateFrom(config);
- if (mCompatConfiguration == null) {
- mCompatConfiguration = new Configuration();
- }
- mCompatConfiguration.setTo(mConfiguration);
- if (mResCompatibilityInfo != null && !mResCompatibilityInfo.supportsScreen()) {
- mResCompatibilityInfo.applyToConfiguration(mCompatConfiguration);
- config = mCompatConfiguration;
- }
+ config = applyCompatConfiguration();
callbacks = collectComponentCallbacksLocked(false, config);
}
@@ -3752,6 +3758,7 @@ public final class ActivityThread {
* in AppBindData can be safely assumed to be up to date
*/
applyConfigurationToResourcesLocked(data.config, data.compatInfo);
+ applyCompatConfiguration();
data.info = getPackageInfoNoCheck(data.appInfo, data.compatInfo);
diff --git a/core/java/android/view/Display.java b/core/java/android/view/Display.java
index 3bd0f76dfc3b..79454411dec6 100644
--- a/core/java/android/view/Display.java
+++ b/core/java/android/view/Display.java
@@ -30,7 +30,7 @@ import android.util.Slog;
*/
public class Display {
static final String TAG = "Display";
- static final boolean DEBUG_DISPLAY_SIZE = false;
+ static final boolean DEBUG_DISPLAY_SIZE = true;
/**
* The default Display id.