diff options
| author | Dianne Hackborn <hackbod@google.com> | 2011-06-23 11:58:50 -0700 |
|---|---|---|
| committer | Dianne Hackborn <hackbod@google.com> | 2011-06-23 12:00:54 -0700 |
| commit | 2b31d53161789358de57fd396716a6503855c5da (patch) | |
| tree | 5c83f241eee1d124fa564457891465f2d8884a94 /core/java/android/view/Display.java | |
| parent | 0f5d8441ef3ee88855df71b15d81f4c14f12d63d (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.java | 17 |
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() { |
