diff options
author | yfriedman@chromium.org <yfriedman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-04 23:39:55 +0000 |
---|---|---|
committer | yfriedman@chromium.org <yfriedman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-04 23:39:55 +0000 |
commit | aba67044917c0986aadb561aad2b2a085edc2264 (patch) | |
tree | ef356ea0ad0a682c267833a3350cdd082fdf4c0e /ui | |
parent | 380ff0d6e39e7df320bcc7dbda70021ea35e7c3c (diff) | |
download | chromium_src-aba67044917c0986aadb561aad2b2a085edc2264.zip chromium_src-aba67044917c0986aadb561aad2b2a085edc2264.tar.gz chromium_src-aba67044917c0986aadb561aad2b2a085edc2264.tar.bz2 |
[Android] Remove unnecesary binder calls.
Rather than going through the WindowManager and Display to get
DisplayMetrics, use the instance hanging off the context. This saves
several extra IPCs and reduces time in these functions during startup by
~20ms.
NOTRY=true
Review URL: https://chromiumcodereview.appspot.com/16093031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@204079 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui')
-rw-r--r-- | ui/android/java/src/org/chromium/ui/gfx/DeviceDisplayInfo.java | 23 | ||||
-rw-r--r-- | ui/gfx/android/device_display_info.cc | 7 | ||||
-rw-r--r-- | ui/gfx/android/device_display_info.h | 3 |
3 files changed, 6 insertions, 27 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 b133931..088c9c2 100644 --- a/ui/android/java/src/org/chromium/ui/gfx/DeviceDisplayInfo.java +++ b/ui/android/java/src/org/chromium/ui/gfx/DeviceDisplayInfo.java @@ -7,7 +7,6 @@ package org.chromium.ui.gfx; import android.content.Context; import android.graphics.PixelFormat; import android.os.Build; -import android.telephony.TelephonyManager; import android.util.DisplayMetrics; import android.view.Display; import android.view.WindowManager; @@ -25,11 +24,13 @@ import org.chromium.base.JNINamespace; @JNINamespace("gfx") public class DeviceDisplayInfo { - private WindowManager mWinManager; + + private final Context mAppContext; + private final WindowManager mWinManager; private DeviceDisplayInfo(Context context) { - Context appContext = context.getApplicationContext(); - mWinManager = (WindowManager) appContext.getSystemService(Context.WINDOW_SERVICE); + mAppContext = context.getApplicationContext(); + mWinManager = (WindowManager) mAppContext.getSystemService(Context.WINDOW_SERVICE); } /** @@ -114,24 +115,12 @@ public class DeviceDisplayInfo { return getMetrics().density; } - /** - * @return Display refresh rate in frames per second. - */ - @CalledByNative - public double getRefreshRate() { - double result = getDisplay().getRefreshRate(); - // Sanity check. - return (result >= 61 || result < 30) ? 0 : result; - } - private Display getDisplay() { return mWinManager.getDefaultDisplay(); } private DisplayMetrics getMetrics() { - DisplayMetrics metrics = new DisplayMetrics(); - getDisplay().getMetrics(metrics); - return metrics; + return mAppContext.getResources().getDisplayMetrics(); } /** diff --git a/ui/gfx/android/device_display_info.cc b/ui/gfx/android/device_display_info.cc index b6866a9..16fd2ac 100644 --- a/ui/gfx/android/device_display_info.cc +++ b/ui/gfx/android/device_display_info.cc @@ -58,13 +58,6 @@ double DeviceDisplayInfo::GetDIPScale() { return static_cast<double>(result); } -double DeviceDisplayInfo::GetRefreshRate() { - JNIEnv* env = AttachCurrentThread(); - jdouble result = - Java_DeviceDisplayInfo_getRefreshRate(env, j_device_info_.obj()); - return static_cast<double>(result); -} - // static bool DeviceDisplayInfo::RegisterDeviceDisplayInfo(JNIEnv* env) { return RegisterNativesImpl(env); diff --git a/ui/gfx/android/device_display_info.h b/ui/gfx/android/device_display_info.h index f24b643..af7bb62 100644 --- a/ui/gfx/android/device_display_info.h +++ b/ui/gfx/android/device_display_info.h @@ -37,9 +37,6 @@ class UI_EXPORT DeviceDisplayInfo { // (1.0 is 160dpi, 0.75 is 120dpi, 2.0 is 320dpi). double GetDIPScale(); - // Returns display refresh rate in number of frames per second. - double GetRefreshRate(); - // Registers methods with JNI and returns true if succeeded. static bool RegisterDeviceDisplayInfo(JNIEnv* env); |