OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.chrome.browser.vr_shell; | 5 package org.chromium.chrome.browser.vr_shell; |
6 | 6 |
7 import android.annotation.SuppressLint; | 7 import android.annotation.SuppressLint; |
8 import android.app.Activity; | 8 import android.app.Activity; |
9 import android.graphics.Point; | 9 import android.graphics.Point; |
10 import android.os.StrictMode; | 10 import android.os.StrictMode; |
| 11 import android.os.SystemClock; |
11 import android.view.MotionEvent; | 12 import android.view.MotionEvent; |
12 import android.view.View; | 13 import android.view.View; |
13 import android.widget.FrameLayout; | 14 import android.widget.FrameLayout; |
14 | 15 |
15 import com.google.vr.ndk.base.AndroidCompat; | 16 import com.google.vr.ndk.base.AndroidCompat; |
16 import com.google.vr.ndk.base.GvrLayout; | 17 import com.google.vr.ndk.base.GvrLayout; |
17 | 18 |
18 import org.chromium.base.CommandLine; | 19 import org.chromium.base.CommandLine; |
19 import org.chromium.base.Log; | 20 import org.chromium.base.Log; |
20 import org.chromium.base.ThreadUtils; | 21 import org.chromium.base.ThreadUtils; |
| 22 import org.chromium.base.TraceEvent; |
21 import org.chromium.base.annotations.CalledByNative; | 23 import org.chromium.base.annotations.CalledByNative; |
22 import org.chromium.base.annotations.JNINamespace; | 24 import org.chromium.base.annotations.JNINamespace; |
| 25 import org.chromium.base.annotations.UsedByReflection; |
23 import org.chromium.chrome.browser.ChromeSwitches; | 26 import org.chromium.chrome.browser.ChromeSwitches; |
24 import org.chromium.chrome.browser.ChromeVersionInfo; | 27 import org.chromium.chrome.browser.ChromeVersionInfo; |
25 import org.chromium.chrome.browser.WebContentsFactory; | 28 import org.chromium.chrome.browser.WebContentsFactory; |
26 import org.chromium.chrome.browser.tab.Tab; | 29 import org.chromium.chrome.browser.tab.Tab; |
27 import org.chromium.content.browser.ContentView; | 30 import org.chromium.content.browser.ContentView; |
28 import org.chromium.content.browser.ContentViewCore; | 31 import org.chromium.content.browser.ContentViewCore; |
29 import org.chromium.content_public.browser.WebContents; | 32 import org.chromium.content_public.browser.WebContents; |
30 import org.chromium.ui.base.ViewAndroidDelegate; | 33 import org.chromium.ui.base.ViewAndroidDelegate; |
31 import org.chromium.ui.base.ViewRoot; | 34 import org.chromium.ui.base.ViewRoot; |
32 import org.chromium.ui.base.WindowAndroid; | 35 import org.chromium.ui.base.WindowAndroid; |
33 import org.chromium.ui.display.DisplayAndroid; | 36 import org.chromium.ui.display.DisplayAndroid; |
34 import org.chromium.ui.display.VirtualDisplayAndroid; | 37 import org.chromium.ui.display.VirtualDisplayAndroid; |
35 | 38 |
| 39 import java.util.concurrent.BlockingQueue; |
| 40 import java.util.concurrent.LinkedBlockingQueue; |
| 41 |
36 /** | 42 /** |
37 * This view extends from GvrLayout which wraps a GLSurfaceView that renders VR
shell. | 43 * This view extends from GvrLayout which wraps a GLSurfaceView that renders VR
shell. |
38 */ | 44 */ |
39 @JNINamespace("vr_shell") | 45 @JNINamespace("vr_shell") |
40 public class VrShellImpl extends GvrLayout implements VrShell { | 46 public class VrShellImpl extends GvrLayout implements VrShell { |
41 private static final String TAG = "VrShellImpl"; | 47 private static final String TAG = "VrShellImpl"; |
42 | 48 |
43 // TODO(mthiesse): These values work well for Pixel/Pixel XL in VR, but we n
eed to come up with | 49 // TODO(mthiesse): These values work well for Pixel/Pixel XL in VR, but we n
eed to come up with |
44 // a way to compute good values for any screen size/scaling ratio. | 50 // a way to compute good values for any screen size/scaling ratio. |
45 | 51 |
(...skipping 26 matching lines...) Expand all Loading... |
72 private ContentViewCore mContentCVC; | 78 private ContentViewCore mContentCVC; |
73 private WindowAndroid mOriginalWindowAndroid; | 79 private WindowAndroid mOriginalWindowAndroid; |
74 private VrWindowAndroid mContentVrWindowAndroid; | 80 private VrWindowAndroid mContentVrWindowAndroid; |
75 | 81 |
76 private WebContents mUiContents; | 82 private WebContents mUiContents; |
77 private ContentViewCore mUiCVC; | 83 private ContentViewCore mUiCVC; |
78 private VrWindowAndroid mUiVrWindowAndroid; | 84 private VrWindowAndroid mUiVrWindowAndroid; |
79 | 85 |
80 public VrShellImpl(Activity activity) { | 86 public VrShellImpl(Activity activity) { |
81 super(activity); | 87 super(activity); |
| 88 |
| 89 //Log.i(TAG, "klausw: VrShellImpl constructor, this=" + this); |
| 90 |
82 mActivity = activity; | 91 mActivity = activity; |
83 mUiCVCContainer = new FrameLayout(getContext()) { | 92 mUiCVCContainer = new FrameLayout(getContext()) { |
84 @Override | 93 @Override |
85 public boolean dispatchTouchEvent(MotionEvent event) { | 94 public boolean dispatchTouchEvent(MotionEvent event) { |
86 return true; | 95 return true; |
87 } | 96 } |
88 }; | 97 }; |
89 addView(mUiCVCContainer, 0, new FrameLayout.LayoutParams(0, 0)); | 98 addView(mUiCVCContainer, 0, new FrameLayout.LayoutParams(0, 0)); |
90 | 99 |
91 mPresentationView = new FrameLayout(mActivity); | 100 mPresentationView = new FrameLayout(mActivity); |
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
283 private native void nativeLoadUIContent(long nativeVrShell); | 292 private native void nativeLoadUIContent(long nativeVrShell); |
284 private native void nativeDestroy(long nativeVrShell); | 293 private native void nativeDestroy(long nativeVrShell); |
285 private native void nativeOnTriggerEvent(long nativeVrShell); | 294 private native void nativeOnTriggerEvent(long nativeVrShell); |
286 private native void nativeOnPause(long nativeVrShell); | 295 private native void nativeOnPause(long nativeVrShell); |
287 private native void nativeOnResume(long nativeVrShell); | 296 private native void nativeOnResume(long nativeVrShell); |
288 private native void nativeContentBoundsChanged(long nativeVrShell, int width
, int height, | 297 private native void nativeContentBoundsChanged(long nativeVrShell, int width
, int height, |
289 float dpr); | 298 float dpr); |
290 private native void nativeUIBoundsChanged(long nativeVrShell, int width, int
height, float dpr); | 299 private native void nativeUIBoundsChanged(long nativeVrShell, int width, int
height, float dpr); |
291 private native void nativeSetWebVrMode(long nativeVrShell, boolean enabled); | 300 private native void nativeSetWebVrMode(long nativeVrShell, boolean enabled); |
292 } | 301 } |
OLD | NEW |