diff options
author | mlamouri@chromium.org <mlamouri@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-28 18:58:50 +0000 |
---|---|---|
committer | mlamouri@chromium.org <mlamouri@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-28 18:58:50 +0000 |
commit | b7c6770935565c76319fa500eb912fd739dd67b1 (patch) | |
tree | a7aa09fb44b91fca7759c630af26cf9273295ddc /ui/android | |
parent | 6f585553e07103b3de01a524f9a6322258375bb8 (diff) | |
download | chromium_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.java | 14 |
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. * |