Commit 7d62b9fc authored by Bo Liu's avatar Bo Liu Committed by Commit Bot

android: Use DisplayAndroid in AR code

Bug: 1042063
Change-Id: Iaae927d92a17f893c39c49ff5bb8a422dd07ab8e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2012523Reviewed-by: default avatarMichael Thiessen <mthiesse@chromium.org>
Commit-Queue: Bo <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#733783}
parent ace1605d
......@@ -6,12 +6,12 @@ package org.chromium.chrome.browser.vr;
import android.content.Context;
import android.view.Choreographer;
import android.view.WindowManager;
import org.chromium.base.ContextUtils;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.JNINamespace;
import org.chromium.base.annotations.NativeMethods;
import org.chromium.ui.display.DisplayAndroidManager;
/**
* Helper class for interfacing with the Android Choreographer from native code.
......@@ -51,9 +51,7 @@ public class AndroidVSyncHelper {
@CalledByNative
private float getRefreshRate() {
Context context = ContextUtils.getApplicationContext();
WindowManager windowManager =
(WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
return windowManager.getDefaultDisplay().getRefreshRate();
return DisplayAndroidManager.getDefaultDisplayForContext(context).getRefreshRate();
}
@NativeMethods
......
......@@ -67,6 +67,7 @@ import org.chromium.content_public.common.BrowserControlsState;
import org.chromium.ui.base.PermissionCallback;
import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.display.DisplayAndroid;
import org.chromium.ui.display.DisplayAndroidManager;
import org.chromium.ui.display.VirtualDisplayAndroid;
import org.chromium.ui.modaldialog.DialogDismissalCause;
import org.chromium.ui.modaldialog.ModalDialogManager;
......@@ -395,7 +396,7 @@ public class VrShell extends GvrLayout
// Get physical and pixel size of the display, which is needed by native
// to dynamically calculate the content's resolution and window size.
DisplayMetrics dm = new DisplayMetrics();
mActivity.getWindowManager().getDefaultDisplay().getRealMetrics(dm);
DisplayAndroidManager.getDefaultDisplayForContext(mActivity).getRealMetrics(dm);
// We're supposed to be in landscape at this point, but it's possible for us to get here
// before the change has fully propagated. In this case, the width and height are swapped,
// which causes an incorrect display size to be used, and the page to appear zoomed in.
......
......@@ -28,6 +28,7 @@ import org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager.Fullscreen
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.content_public.browser.ScreenOrientationDelegate;
import org.chromium.content_public.browser.ScreenOrientationProvider;
import org.chromium.ui.display.DisplayAndroidManager;
import org.chromium.ui.widget.Toast;
/**
......@@ -234,8 +235,9 @@ public class ArImmersiveOverlay
// transport even if the currently-visible part in the surface view is smaller than this. We
// shouldn't get resize events since we're using FLAG_LAYOUT_STABLE and are locking screen
// orientation.
Display display = DisplayAndroidManager.getDefaultDisplayForContext(mActivity);
if (mSurfaceReportedReady) {
int rotation = mActivity.getWindowManager().getDefaultDisplay().getRotation();
int rotation = display.getRotation();
if (DEBUG_LOGS) {
Log.i(TAG,
"surfaceChanged ignoring change to width=" + width + " height=" + height
......@@ -268,7 +270,6 @@ public class ArImmersiveOverlay
// after the session starts, but the session doesn't start until we report the drawing
// surface being ready (including a configured size), so we use this reported size assuming
// that's what the fullscreen mode will use.
Display display = mActivity.getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getRealSize(size);
......@@ -282,7 +283,7 @@ public class ArImmersiveOverlay
height = size.y;
}
int rotation = mActivity.getWindowManager().getDefaultDisplay().getRotation();
int rotation = display.getRotation();
if (DEBUG_LOGS) {
Log.i(TAG, "surfaceChanged size=" + width + "x" + height + " rotation=" + rotation);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment