Chromium Code Reviews| Index: ui/android/java/src/org/chromium/ui/gfx/DeviceDisplayInfo.java |
| 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 088c9c2476e7f2781572be7a56e1482965716dd3..84501daa2594f3b2f385f81caf82c1a8056de277 100644 |
| --- a/ui/android/java/src/org/chromium/ui/gfx/DeviceDisplayInfo.java |
| +++ b/ui/android/java/src/org/chromium/ui/gfx/DeviceDisplayInfo.java |
| @@ -5,6 +5,8 @@ |
| package org.chromium.ui.gfx; |
| import android.content.Context; |
| +import android.content.ComponentCallbacks; |
| +import android.content.res.Configuration; |
| import android.graphics.PixelFormat; |
| import android.os.Build; |
| import android.util.DisplayMetrics; |
| @@ -115,6 +117,25 @@ public class DeviceDisplayInfo { |
| return getMetrics().density; |
| } |
| + public void registerListener() { |
|
Yaron
2013/10/11 10:18:14
private
|
| + mAppContext.registerComponentCallbacks( |
| + new ComponentCallbacks() { |
| + @Override |
| + public void onConfigurationChanged(Configuration configuration) { |
| + updateNativeSharedDisplayInfo(); |
|
Yaron
2013/10/11 10:18:14
indent 4 for block-level (other places below too).
|
| + } |
| + |
| + @Override |
| + public void onLowMemory() { |
| + } |
| + }); |
| + } |
| + |
| + private void updateNativeSharedDisplayInfo() { |
| + nativeUpdateSharedDeviceDisplayInfo(getDisplayHeight(), getDisplayWidth(), |
| + getBitsPerPixel(), getBitsPerComponent(), getDIPScale()); |
| + } |
| + |
| private Display getDisplay() { |
| return mWinManager.getDefaultDisplay(); |
| } |
| @@ -128,8 +149,19 @@ public class DeviceDisplayInfo { |
| * @param context A context to use. |
| * @return DeviceDisplayInfo associated with a given Context. |
| */ |
| - @CalledByNative |
| public static DeviceDisplayInfo create(Context context) { |
| return new DeviceDisplayInfo(context); |
| } |
| + |
| + @CalledByNative |
| + public static DeviceDisplayInfo createWithListener(Context context) { |
|
Yaron
2013/10/11 10:18:14
Make private. This is unneeded from the java layer
|
| + DeviceDisplayInfo deviceDisplayInfo = new DeviceDisplayInfo(context); |
| + deviceDisplayInfo.registerListener(); |
| + return deviceDisplayInfo; |
| + } |
| + |
| + private native void nativeUpdateSharedDeviceDisplayInfo(int displayHeight, |
| + int displayWidth, int bitsPerPixel, |
| + int bitsPerComponent, double dipScale); |
| + |
| } |