summaryrefslogtreecommitdiffstats
path: root/core/java/android/util
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/util
parent0f5d8441ef3ee88855df71b15d81f4c14f12d63d (diff)
downloadframeworks_base-2b31d53161789358de57fd396716a6503855c5da.zip
frameworks_base-2b31d53161789358de57fd396716a6503855c5da.tar.gz
frameworks_base-2b31d53161789358de57fd396716a6503855c5da.tar.bz2
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/util')
-rw-r--r--core/java/android/util/DisplayMetrics.java40
1 files changed, 34 insertions, 6 deletions
diff --git a/core/java/android/util/DisplayMetrics.java b/core/java/android/util/DisplayMetrics.java
index d594567..519b980 100644
--- a/core/java/android/util/DisplayMetrics.java
+++ b/core/java/android/util/DisplayMetrics.java
@@ -119,13 +119,37 @@ public class DisplayMetrics {
* being applied.
* @hide
*/
- public int unscaledWidthPixels;
+ public int noncompatWidthPixels;
/**
* The reported display height prior to any compatibility mode scaling
* being applied.
* @hide
*/
- public int unscaledHeightPixels;
+ public int noncompatHeightPixels;
+ /**
+ * The reported display density prior to any compatibility mode scaling
+ * being applied.
+ * @hide
+ */
+ public float noncompatDensity;
+ /**
+ * The reported scaled density prior to any compatibility mode scaling
+ * being applied.
+ * @hide
+ */
+ public float noncompatScaledDensity;
+ /**
+ * The reported display xdpi prior to any compatibility mode scaling
+ * being applied.
+ * @hide
+ */
+ public float noncompatXdpi;
+ /**
+ * The reported display ydpi prior to any compatibility mode scaling
+ * being applied.
+ * @hide
+ */
+ public float noncompatYdpi;
public DisplayMetrics() {
}
@@ -138,8 +162,12 @@ public class DisplayMetrics {
scaledDensity = o.scaledDensity;
xdpi = o.xdpi;
ydpi = o.ydpi;
- unscaledWidthPixels = o.unscaledWidthPixels;
- unscaledHeightPixels = o.unscaledHeightPixels;
+ noncompatWidthPixels = o.noncompatWidthPixels;
+ noncompatHeightPixels = o.noncompatHeightPixels;
+ noncompatDensity = o.noncompatDensity;
+ noncompatScaledDensity = o.noncompatScaledDensity;
+ noncompatXdpi = o.noncompatXdpi;
+ noncompatYdpi = o.noncompatYdpi;
}
public void setToDefaults() {
@@ -150,8 +178,8 @@ public class DisplayMetrics {
scaledDensity = density;
xdpi = DENSITY_DEVICE;
ydpi = DENSITY_DEVICE;
- unscaledWidthPixels = 0;
- unscaledHeightPixels = 0;
+ noncompatWidthPixels = 0;
+ noncompatHeightPixels = 0;
}
@Override