summaryrefslogtreecommitdiffstats
path: root/ui/android
diff options
context:
space:
mode:
authormlamouri@chromium.org <mlamouri@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-28 18:58:50 +0000
committermlamouri@chromium.org <mlamouri@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-28 18:58:50 +0000
commitb7c6770935565c76319fa500eb912fd739dd67b1 (patch)
treea7aa09fb44b91fca7759c630af26cf9273295ddc /ui/android
parent6f585553e07103b3de01a524f9a6322258375bb8 (diff)
downloadchromium_src-b7c6770935565c76319fa500eb912fd739dd67b1.zip
chromium_src-b7c6770935565c76319fa500eb912fd739dd67b1.tar.gz
chromium_src-b7c6770935565c76319fa500eb912fd739dd67b1.tar.bz2
Use Display instead of DisplayMetrics to find out the Display size.
It solves issues where we were sometimes getting stale data, especially if reading information after a DisplayListener event. BUG=354275 Review URL: https://codereview.chromium.org/212933012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@260223 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/android')
-rw-r--r--ui/android/java/src/org/chromium/ui/gfx/DeviceDisplayInfo.java14
1 files changed, 7 insertions, 7 deletions
diff --git a/ui/android/java/src/org/chromium/ui/gfx/DeviceDisplayInfo.java b/ui/android/java/src/org/chromium/ui/gfx/DeviceDisplayInfo.java
index 863fa1b..c154ea0 100644
--- a/ui/android/java/src/org/chromium/ui/gfx/DeviceDisplayInfo.java
+++ b/ui/android/java/src/org/chromium/ui/gfx/DeviceDisplayInfo.java
@@ -31,6 +31,7 @@ public class DeviceDisplayInfo {
private final Context mAppContext;
private final WindowManager mWinManager;
private Point mTempPoint = new Point();
+ private DisplayMetrics mTempMetrics = new DisplayMetrics();
private DeviceDisplayInfo(Context context) {
mAppContext = context.getApplicationContext();
@@ -42,7 +43,8 @@ public class DeviceDisplayInfo {
*/
@CalledByNative
public int getDisplayHeight() {
- return getMetrics().heightPixels;
+ getDisplay().getSize(mTempPoint);
+ return mTempPoint.y;
}
/**
@@ -50,7 +52,8 @@ public class DeviceDisplayInfo {
*/
@CalledByNative
public int getDisplayWidth() {
- return getMetrics().widthPixels;
+ getDisplay().getSize(mTempPoint);
+ return mTempPoint.x;
}
/**
@@ -140,7 +143,8 @@ public class DeviceDisplayInfo {
*/
@CalledByNative
public double getDIPScale() {
- return getMetrics().density;
+ getDisplay().getMetrics(mTempMetrics);
+ return mTempMetrics.density;
}
/**
@@ -178,10 +182,6 @@ public class DeviceDisplayInfo {
return mWinManager.getDefaultDisplay();
}
- private DisplayMetrics getMetrics() {
- return mAppContext.getResources().getDisplayMetrics();
- }
-
/**
* Creates DeviceDisplayInfo for a given Context.
*