summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authoryfriedman@chromium.org <yfriedman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-04 23:39:55 +0000
committeryfriedman@chromium.org <yfriedman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-04 23:39:55 +0000
commitaba67044917c0986aadb561aad2b2a085edc2264 (patch)
treeef356ea0ad0a682c267833a3350cdd082fdf4c0e /ui
parent380ff0d6e39e7df320bcc7dbda70021ea35e7c3c (diff)
downloadchromium_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.java23
-rw-r--r--ui/gfx/android/device_display_info.cc7
-rw-r--r--ui/gfx/android/device_display_info.h3
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);