History log of /frameworks/base/services/core/java/com/android/server/vr/Vr2dDisplay.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e99bc0501a288735d337f2ff64f8fa47f766a59b 20-Nov-2017 Adrian Roos <roosa@google.com> WM: Move WindowManagerPolicy, DisplayFrames and WindowManagerInternal into services

Splits WindowManagerPolicy into a framework and a services part, preventing concepts that are
internal to the window manager from leaking out into the framework.

Test: make droid
Change-Id: I7b6a54f55f76f6fbb5f27090981b8f1d4d8be88b
/frameworks/base/services/core/java/com/android/server/vr/Vr2dDisplay.java
1e90fc38dbf92d4204a4bfc242d53e38ed9d4a4d 05-Oct-2017 rongliu <rongliu@google.com> Add a flag to virtual display to indicates that content on this
display need to be destroyed once the display is removed.
Then apply this flag to VR virtual display.

Change-Id: Icb5aa1280b6ebac5941afda1cc1b94b258ce44f4
Bug: 67420451
Test: Manually. "adb shell am stack list" does not show contents
from virtual display anymore after it's released.
/frameworks/base/services/core/java/com/android/server/vr/Vr2dDisplay.java
4c6573889567dbe2dc0fad6217818aab6b7a7a1f 26-Sep-2017 Karthik Ravi Shankar <karthikrs@google.com> Fix launch of activities into VR Virtual display

When launching a 2D activity in VR mode by the VR app, we want to launch
it in the virtual display created by VR. But, this fails since the
virtual display owner is system and the calling UID doesn't have
ACTIVITY_EMBED permission.

We address this by making the virtual display public since it's lifetime
is only VR mode and we want to allow all apps to launch 2D activities
and route them to the vr virtual display.

Bug: 66475142
Test: Launch VrSettingsActivity by clicking on gear and check "adb shell
am stack list" to verify it launched on the virtual display

Change-Id: Idde63ea63c953c6cf3d4ea46989a963a5651ce8a
Signed-off-by: Karthik Ravi Shankar <karthikrs@google.com>
/frameworks/base/services/core/java/com/android/server/vr/Vr2dDisplay.java
e1cfcf4c4d15417bc912d36d487b4454c19b30fa 11-Jul-2017 Tarandeep Singh <tarandeep@google.com> Fix keyboard focus in VR

Consider this VirtualDisplay (VD) scenario:
HostActivity creates a VD which holds SettingsActivity. When EditText
on SettingsActivity is tapped, it gains focus.
On eventual taps, it loses focus i.e. the Window in VD loses focus and
the host activity in primary display gets the focus instead. This
happens because WM's TaskTapPointerEventListener.onPointerEvent()
is called on the default display only.

Root cause:
1. Tap detector isn't registered for non-default display.
2. Tap detector has no info on which displayId touch was received.
3. InputFlinger doesn't deliver InputMonitor events for
non-default displays (fixed in a separate CL)

Fixing above results in onPointerEvent(MotionEvent) to deliver the
Touch events successfully to VD. We restrict these changes to physical
multi-displays and VR VirtualDisplays (which uses virtual touch device).
[VrManagerService calls WMInternal.setVr2dDisplayId(int)]

In future, displayId should be part of InputEvent. Bug: 64258305

Bug: 62033391
Test: bit FrameworksServicesTests:com.android.server.wm.DisplayContentTests
Change-Id: I3626f4de5aa9bcf905da9abd39f3ab1baefc4c48
/frameworks/base/services/core/java/com/android/server/vr/Vr2dDisplay.java
6d1575fc24986d1ee13f682e75175e4540ebe999 06-Jul-2017 Karthik Ravi Shankar <karthikrs@google.com> Fix the VR virtual display height

The display of the VR virtual display was set incorrectly in ag/2460110.
This was a part of debugging code mistakenly left behind, but it is
causing CTS tests to fail and also changes the resolution of virtual
display on standalone devices.

Bug: 62842592
Bug: 63339799
Test: run cts -m CtsServicesHostTestCases -t
android.server.cts.ActivityManagerDisplayTests#testVrActivityLaunch
passes with the change and restores original resolution on standalone
devices.

Change-Id: I6e77f9b3b09f02e411bab12bb69d8141312e5b64
Signed-off-by: Karthik Ravi Shankar <karthikrs@google.com>
/frameworks/base/services/core/java/com/android/server/vr/Vr2dDisplay.java
c22c56397636729b3717c3935816b88dc72fac26 22-Jun-2017 Santos Cordon <santoscordon@google.com> Always run Virtual Display when in a BootsToVR device.

This CL:
1) Moved initialization of the virtual display adapter to happen along
side the default display. On standalone VR devices, a virtual display
is used as the main display for 2D UI so it is necessary that the virtual
display system is ready after PHASE_WAIT_FOR_DEFAULT_DISPLAY.
2) Add knowledge of bootsToVr in Vr2dDisplay, indicating that the device
is a standalone device that boots into VR. This forces Vr2dDisplay to
create the virtualDisplay at PHASE_SYSTEM_SERVICES_READY and never
destroy it (so that the activity stack doesn't go away).
3) Add tests to ensure default display and virtual display startup
sequence doesn't change.

Change-Id: Ie748771abd0b115db3c65a66a4b7a98dd1b28f2e
Bug:62842592
Test: Start a polaris device for first time, ensure SUW runs with
Virtual display dimentions.
Test: DisplayManagerServiceTest.java
/frameworks/base/services/core/java/com/android/server/vr/Vr2dDisplay.java
627a68f8525d3d0125f23f83e88bb9682da7b0a4 13-Jun-2017 Santos Cordon <santoscordon@google.com> Add ability to turn off VR virtual display functionality.

Add flag to enable/disable virtual displays via the existing
setDisplayProperties API. This makes it possible for the VR system
to turn off virtual displays if necessary after we ship.

Bug: 62546364
Test: Run 'adb shell vr enable-virtual-display [true|false] to toggle while 2d in 3d
runs.

Change-Id: Iae029be501d61189fced981dbc554e984fa7ed4b
/frameworks/base/services/core/java/com/android/server/vr/Vr2dDisplay.java
879d24f4237f5c9c6def64087845578513711386 21-Jun-2017 Alex Sakhartchouk <alexst@google.com> Allow VR Virtual display to rotate with content.

VR Virtual display was getting letterboxing for apps that
had a fixed orientation in the manifest.

Bug: 62670868
Test: Run orientation locked app, observe requested orientation in VR
testCreateVirtualDisplayRotatesWithContent to verify propagation.
Change-Id: I10eb4f6e54404aa7b66471ab5dc929a4baa49432
/frameworks/base/services/core/java/com/android/server/vr/Vr2dDisplay.java
5dc6019bb423f662685b026e65779ebd8897c7c2 09-May-2017 Santos Cordon <santoscordon@google.com> Remove system properties that gates virtual displays in VR.

Bug: 38165337
Test: Manual - Run VR and ensure that secondary display is
listed in 'adb shell dumpsys displays'.

Change-Id: Icf19b7da87bbc89a68f1d77e42c02a93674f7990
/frameworks/base/services/core/java/com/android/server/vr/Vr2dDisplay.java