From 666505ec351712872800fe80a8a620183c3ead1b Mon Sep 17 00:00:00 2001 From: Ruben Brunk Date: Thu, 4 May 2017 16:54:46 -0700 Subject: [PATCH] Fix VR component enforcement for "2D in 3D" apps. Bug: 38004624 Test: Launch 2D in 3D application, check that null is delivered VrListenerService#onCurrentVrActivityChanged. Change-Id: I8ecb3d2fd4fa686ec43509852f4bc5f7d11d665c --- core/java/android/service/vr/VrListenerService.java | 2 +- services/core/java/com/android/server/vr/VrManagerService.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/core/java/android/service/vr/VrListenerService.java b/core/java/android/service/vr/VrListenerService.java index c76d7934a0cff..5da4560f688dd 100644 --- a/core/java/android/service/vr/VrListenerService.java +++ b/core/java/android/service/vr/VrListenerService.java @@ -110,7 +110,7 @@ public abstract class VrListenerService extends Service { * transition.

* * @param component the {@link ComponentName} of the VR activity that the system has - * switched to. + * switched to, or null if the system is displaying a 2D activity in VR compatibility mode. * * @see android.app.Activity#setVrModeEnabled * @see android.R.attr#enableVrMode diff --git a/services/core/java/com/android/server/vr/VrManagerService.java b/services/core/java/com/android/server/vr/VrManagerService.java index 0e183f0a50b83..b5307af3bf042 100644 --- a/services/core/java/com/android/server/vr/VrManagerService.java +++ b/services/core/java/com/android/server/vr/VrManagerService.java @@ -749,7 +749,8 @@ public class VrManagerService extends SystemService implements EnabledComponentC } } - if (calling != null && !Objects.equals(calling, mCurrentVrModeComponent)) { + if ((calling != null || mPersistentVrModeEnabled) + && !Objects.equals(calling, mCurrentVrModeComponent)) { sendUpdatedCaller = true; } mCurrentVrModeComponent = calling;