summaryrefslogtreecommitdiff
path: root/core/java/android/view/Display.java
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2011-06-23 11:58:50 -0700
committerDianne Hackborn <hackbod@google.com>2011-06-23 12:00:54 -0700
commit2b31d53161789358de57fd396716a6503855c5da (patch)
tree5c83f241eee1d124fa564457891465f2d8884a94 /core/java/android/view/Display.java
parent0f5d8441ef3ee88855df71b15d81f4c14f12d63d (diff)
Fix issue #4770360: older app compatibility mode is really tiny on ICS phones
We were applying the density compat mode scaling multiple times to display metrics, causing bad values. Change-Id: Iafafd9a5e94b9d774cd2715bf968e91602a1bd82
Diffstat (limited to 'core/java/android/view/Display.java')
-rw-r--r--core/java/android/view/Display.java17
1 files changed, 9 insertions, 8 deletions
diff --git a/core/java/android/view/Display.java b/core/java/android/view/Display.java
index 3fa8dfdb7c53..2be5a4955981 100644
--- a/core/java/android/view/Display.java
+++ b/core/java/android/view/Display.java
@@ -107,8 +107,8 @@ public class Display {
CompatibilityInfo ci;
if (doCompat && (ci=mCompatibilityInfo.getIfNeeded()) != null) {
synchronized (mTmpMetrics) {
- mTmpMetrics.unscaledWidthPixels = outSize.x;
- mTmpMetrics.unscaledHeightPixels = outSize.y;
+ mTmpMetrics.noncompatWidthPixels = outSize.x;
+ mTmpMetrics.noncompatHeightPixels = outSize.y;
mTmpMetrics.density = mDensity;
ci.applyToDisplayMetrics(mTmpMetrics);
outSize.x = mTmpMetrics.widthPixels;
@@ -268,14 +268,15 @@ public class Display {
}
private void getNonSizeMetrics(DisplayMetrics outMetrics) {
- outMetrics.density = mDensity;
outMetrics.densityDpi = (int)((mDensity*DisplayMetrics.DENSITY_DEFAULT)+.5f);
- outMetrics.scaledDensity= outMetrics.density;
- outMetrics.xdpi = mDpiX;
- outMetrics.ydpi = mDpiY;
- outMetrics.unscaledWidthPixels = outMetrics.widthPixels;
- outMetrics.unscaledHeightPixels = outMetrics.heightPixels;
+ outMetrics.noncompatWidthPixels = outMetrics.widthPixels;
+ outMetrics.noncompatHeightPixels = outMetrics.heightPixels;
+
+ outMetrics.density = outMetrics.noncompatDensity = mDensity;
+ outMetrics.scaledDensity = outMetrics.noncompatScaledDensity = outMetrics.density;
+ outMetrics.xdpi = outMetrics.noncompatXdpi = mDpiX;
+ outMetrics.ydpi = outMetrics.noncompatYdpi = mDpiY;
}
static IWindowManager getWindowManager() {