Loading packages/SystemUI/multivalentTests/src/com/android/systemui/dreams/DreamOverlayServiceTest.kt +33 −0 Original line number Diff line number Diff line Loading @@ -1138,6 +1138,39 @@ class DreamOverlayServiceTest : SysuiTestCase() { .addGestureBlockedMatcher(any(), eq(GestureInteractor.Scope.Global)) } @Test fun testDreamActivityGesturesNotBlockedWhenNotificationShadeShowing() { val client = client // Inform the overlay service of dream starting. client.startDream( mWindowParams, mDreamOverlayCallback, DREAM_COMPONENT, false /*isPreview*/, false /*shouldShowComplication*/ ) mMainExecutor.runAllReady() val matcherCaptor = argumentCaptor<TaskMatcher>() verify(gestureInteractor) .addGestureBlockedMatcher(matcherCaptor.capture(), eq(GestureInteractor.Scope.Global)) val matcher = matcherCaptor.firstValue val dreamTaskInfo = TaskInfo(mock<ComponentName>(), WindowConfiguration.ACTIVITY_TYPE_DREAM) assertThat(matcher.matches(dreamTaskInfo)).isTrue() val callbackCaptor = ArgumentCaptor.forClass(KeyguardUpdateMonitorCallback::class.java) verify(mKeyguardUpdateMonitor).registerCallback(callbackCaptor.capture()) // Notification shade opens. callbackCaptor.value.onShadeExpandedChanged(true) mMainExecutor.runAllReady() verify(gestureInteractor) .removeGestureBlockedMatcher(eq(matcher), eq(GestureInteractor.Scope.Global)) } @Test fun testComponentsRecreatedBetweenDreams() { clearInvocations( Loading packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayService.java +16 −6 Original line number Diff line number Diff line Loading @@ -185,6 +185,7 @@ public class DreamOverlayService extends android.service.dreams.DreamOverlayServ mShadeExpanded = expanded; updateLifecycleStateLocked(); updateGestureBlockingLocked(); }); } }; Loading Loading @@ -215,6 +216,7 @@ public class DreamOverlayService extends android.service.dreams.DreamOverlayServ mBouncerShowing = bouncerShowing; updateLifecycleStateLocked(); updateGestureBlockingLocked(); }); } }; Loading Loading @@ -525,11 +527,7 @@ public class DreamOverlayService extends android.service.dreams.DreamOverlayServ mStarted = true; updateRedirectWakeup(); if (!isDreamInPreviewMode()) { mGestureInteractor.addGestureBlockedMatcher(DREAM_TYPE_MATCHER, GestureInteractor.Scope.Global); } updateGestureBlockingLocked(); } private void updateRedirectWakeup() { Loading @@ -553,6 +551,18 @@ public class DreamOverlayService extends android.service.dreams.DreamOverlayServ null); } private void updateGestureBlockingLocked() { final boolean shouldBlock = !isDreamInPreviewMode() && !mShadeExpanded && !mBouncerShowing; if (shouldBlock) { mGestureInteractor.addGestureBlockedMatcher(DREAM_TYPE_MATCHER, GestureInteractor.Scope.Global); } else { mGestureInteractor.removeGestureBlockedMatcher(DREAM_TYPE_MATCHER, GestureInteractor.Scope.Global); } } private Lifecycle.State getLifecycleStateLocked() { return mLifecycleRegistry.getCurrentState(); } Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/dreams/DreamOverlayServiceTest.kt +33 −0 Original line number Diff line number Diff line Loading @@ -1138,6 +1138,39 @@ class DreamOverlayServiceTest : SysuiTestCase() { .addGestureBlockedMatcher(any(), eq(GestureInteractor.Scope.Global)) } @Test fun testDreamActivityGesturesNotBlockedWhenNotificationShadeShowing() { val client = client // Inform the overlay service of dream starting. client.startDream( mWindowParams, mDreamOverlayCallback, DREAM_COMPONENT, false /*isPreview*/, false /*shouldShowComplication*/ ) mMainExecutor.runAllReady() val matcherCaptor = argumentCaptor<TaskMatcher>() verify(gestureInteractor) .addGestureBlockedMatcher(matcherCaptor.capture(), eq(GestureInteractor.Scope.Global)) val matcher = matcherCaptor.firstValue val dreamTaskInfo = TaskInfo(mock<ComponentName>(), WindowConfiguration.ACTIVITY_TYPE_DREAM) assertThat(matcher.matches(dreamTaskInfo)).isTrue() val callbackCaptor = ArgumentCaptor.forClass(KeyguardUpdateMonitorCallback::class.java) verify(mKeyguardUpdateMonitor).registerCallback(callbackCaptor.capture()) // Notification shade opens. callbackCaptor.value.onShadeExpandedChanged(true) mMainExecutor.runAllReady() verify(gestureInteractor) .removeGestureBlockedMatcher(eq(matcher), eq(GestureInteractor.Scope.Global)) } @Test fun testComponentsRecreatedBetweenDreams() { clearInvocations( Loading
packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayService.java +16 −6 Original line number Diff line number Diff line Loading @@ -185,6 +185,7 @@ public class DreamOverlayService extends android.service.dreams.DreamOverlayServ mShadeExpanded = expanded; updateLifecycleStateLocked(); updateGestureBlockingLocked(); }); } }; Loading Loading @@ -215,6 +216,7 @@ public class DreamOverlayService extends android.service.dreams.DreamOverlayServ mBouncerShowing = bouncerShowing; updateLifecycleStateLocked(); updateGestureBlockingLocked(); }); } }; Loading Loading @@ -525,11 +527,7 @@ public class DreamOverlayService extends android.service.dreams.DreamOverlayServ mStarted = true; updateRedirectWakeup(); if (!isDreamInPreviewMode()) { mGestureInteractor.addGestureBlockedMatcher(DREAM_TYPE_MATCHER, GestureInteractor.Scope.Global); } updateGestureBlockingLocked(); } private void updateRedirectWakeup() { Loading @@ -553,6 +551,18 @@ public class DreamOverlayService extends android.service.dreams.DreamOverlayServ null); } private void updateGestureBlockingLocked() { final boolean shouldBlock = !isDreamInPreviewMode() && !mShadeExpanded && !mBouncerShowing; if (shouldBlock) { mGestureInteractor.addGestureBlockedMatcher(DREAM_TYPE_MATCHER, GestureInteractor.Scope.Global); } else { mGestureInteractor.removeGestureBlockedMatcher(DREAM_TYPE_MATCHER, GestureInteractor.Scope.Global); } } private Lifecycle.State getLifecycleStateLocked() { return mLifecycleRegistry.getCurrentState(); } Loading