summaryrefslogtreecommitdiffstats
path: root/core/java/android/app/ActivityThread.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/app/ActivityThread.java')
-rw-r--r--core/java/android/app/ActivityThread.java15
1 files changed, 6 insertions, 9 deletions
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index 2fc476e..1e15d14 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -191,16 +191,11 @@ public final class ActivityThread {
usePreloaded = false;
DisplayMetrics newMetrics = new DisplayMetrics();
newMetrics.setTo(metrics);
- float invertedScale = 1.0f / applicationScale;
- newMetrics.density *= invertedScale;
- newMetrics.xdpi *= invertedScale;
- newMetrics.ydpi *= invertedScale;
- newMetrics.widthPixels *= invertedScale;
- newMetrics.heightPixels *= invertedScale;
+ float newDensity = metrics.density / applicationScale;
+ newMetrics.updateDensity(newDensity);
metrics = newMetrics;
}
- //Log.i(TAG, "Resource:" + appDir + ", density " + newMetrics.density + ", orig density:" +
- // metrics.density);
+ //Log.i(TAG, "Resource:" + appDir + ", display metrics=" + metrics);
r = new Resources(assets, metrics, getConfiguration(), usePreloaded);
//Log.i(TAG, "Created app resources " + r + ": " + r.getConfiguration());
// XXX need to remove entries when weak references go away
@@ -3502,8 +3497,10 @@ public final class ActivityThread {
Resources r = v.get();
if (r != null) {
// keep the original density based on application cale.
- appDm.density = r.getDisplayMetrics().density;
+ appDm.updateDensity(r.getDisplayMetrics().density);
r.updateConfiguration(config, appDm);
+ // reset
+ appDm.setTo(dm);
//Log.i(TAG, "Updated app resources " + v.getKey()
// + " " + r + ": " + r.getConfiguration());
} else {