diff options
| -rw-r--r-- | core/java/android/app/ActivityThread.java | 29 | ||||
| -rw-r--r-- | core/java/android/view/Display.java | 2 |
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. |