Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java +11 −3 Original line number Diff line number Diff line Loading @@ -63,6 +63,7 @@ import com.android.systemui.bouncer.domain.interactor.PrimaryBouncerInteractor; import com.android.systemui.bouncer.ui.BouncerView; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.deviceentry.domain.interactor.DeviceEntryInteractor; import com.android.systemui.deviceentry.shared.DeviceEntryUdfpsRefactor; import com.android.systemui.dock.DockManager; import com.android.systemui.dreams.DreamOverlayStateController; Loading Loading @@ -167,6 +168,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb private final BouncerView mPrimaryBouncerView; private final Lazy<ShadeController> mShadeController; private final Lazy<SceneInteractor> mSceneInteractorLazy; private final Lazy<DeviceEntryInteractor> mDeviceEntryInteractorLazy; private Job mListenForAlternateBouncerTransitionSteps = null; private Job mListenForKeyguardAuthenticatedBiometricsHandled = null; Loading Loading @@ -395,7 +397,8 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb Lazy<KeyguardSurfaceBehindInteractor> surfaceBehindInteractor, JavaAdapter javaAdapter, Lazy<SceneInteractor> sceneInteractorLazy, StatusBarKeyguardViewManagerInteractor statusBarKeyguardViewManagerInteractor StatusBarKeyguardViewManagerInteractor statusBarKeyguardViewManagerInteractor, Lazy<DeviceEntryInteractor> deviceEntryInteractorLazy ) { mContext = context; mViewMediatorCallback = callback; Loading Loading @@ -430,6 +433,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb mJavaAdapter = javaAdapter; mSceneInteractorLazy = sceneInteractorLazy; mStatusBarKeyguardViewManagerInteractor = statusBarKeyguardViewManagerInteractor; mDeviceEntryInteractorLazy = deviceEntryInteractorLazy; } KeyguardTransitionInteractor mKeyguardTransitionInteractor; Loading Loading @@ -735,6 +739,11 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb * {@see KeyguardBouncer#show(boolean, boolean)} */ public void showBouncer(boolean scrimmed) { if (SceneContainerFlag.isEnabled()) { mDeviceEntryInteractorLazy.get().attemptDeviceEntry(); return; } if (DeviceEntryUdfpsRefactor.isEnabled()) { if (mAlternateBouncerInteractor.canShowAlternateBouncerForFingerprint()) { Log.d(TAG, "showBouncer:alternateBouncer.forceShow()"); Loading Loading @@ -777,8 +786,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb hideAlternateBouncer(false); if (mKeyguardStateController.isShowing() && !isBouncerShowing()) { if (SceneContainerFlag.isEnabled()) { mSceneInteractorLazy.get().changeScene( Scenes.Bouncer, "StatusBarKeyguardViewManager.showPrimaryBouncer"); mDeviceEntryInteractorLazy.get().attemptDeviceEntry(); } else { mPrimaryBouncerInteractor.show(scrimmed); } Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManagerTest.java +55 −8 Original line number Diff line number Diff line Loading @@ -37,6 +37,8 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.platform.test.annotations.DisableFlags; import android.platform.test.annotations.EnableFlags; import android.platform.test.annotations.RequiresFlagsEnabled; import android.platform.test.flag.junit.CheckFlagsRule; import android.platform.test.flag.junit.DeviceFlagsValueProvider; Loading Loading @@ -66,6 +68,7 @@ import com.android.keyguard.KeyguardUpdateMonitor; import com.android.keyguard.KeyguardUpdateMonitorCallback; import com.android.keyguard.TrustGrantFlags; import com.android.keyguard.ViewMediatorCallback; import com.android.systemui.Flags; import com.android.systemui.SysuiTestCase; import com.android.systemui.biometrics.domain.interactor.UdfpsOverlayInteractor; import com.android.systemui.bouncer.domain.interactor.AlternateBouncerInteractor; Loading @@ -74,8 +77,11 @@ import com.android.systemui.bouncer.domain.interactor.PrimaryBouncerCallbackInte import com.android.systemui.bouncer.domain.interactor.PrimaryBouncerInteractor; import com.android.systemui.bouncer.ui.BouncerView; import com.android.systemui.bouncer.ui.BouncerViewDelegate; import com.android.systemui.deviceentry.domain.interactor.DeviceEntryInteractor; import com.android.systemui.dock.DockManager; import com.android.systemui.dreams.DreamOverlayStateController; import com.android.systemui.flags.DisableSceneContainer; import com.android.systemui.flags.EnableSceneContainer; import com.android.systemui.keyguard.domain.interactor.KeyguardDismissActionInteractor; import com.android.systemui.keyguard.domain.interactor.KeyguardSurfaceBehindInteractor; import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionInteractor; Loading Loading @@ -158,6 +164,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { @Mock private TaskbarDelegate mTaskbarDelegate; @Mock private StatusBarKeyguardViewManager.KeyguardViewManagerCallback mCallback; @Mock private SelectedUserInteractor mSelectedUserInteractor; @Mock private DeviceEntryInteractor mDeviceEntryInteractor; private StatusBarKeyguardViewManager mStatusBarKeyguardViewManager; private PrimaryBouncerCallbackInteractor.PrimaryBouncerExpansionCallback Loading @@ -178,6 +185,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule(); @Before @DisableFlags(com.android.systemui.Flags.FLAG_KEYGUARD_WM_STATE_REFACTOR) public void setUp() { MockitoAnnotations.initMocks(this); when(mContainer.findViewById(anyInt())).thenReturn(mKeyguardMessageArea); Loading @@ -185,10 +193,6 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { .thenReturn(mKeyguardMessageAreaController); when(mBouncerView.getDelegate()).thenReturn(mBouncerViewDelegate); when(mBouncerViewDelegate.getBackCallback()).thenReturn(mBouncerViewDelegateBackCallback); mSetFlagsRule.disableFlags( com.android.systemui.Flags.FLAG_DEVICE_ENTRY_UDFPS_REFACTOR, com.android.systemui.Flags.FLAG_KEYGUARD_WM_STATE_REFACTOR ); when(mNotificationShadeWindowController.getWindowRootView()) .thenReturn(mNotificationShadeWindowView); Loading Loading @@ -227,7 +231,8 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { () -> mock(KeyguardSurfaceBehindInteractor.class), mock(JavaAdapter.class), () -> mock(SceneInteractor.class), mock(StatusBarKeyguardViewManagerInteractor.class)) { mock(StatusBarKeyguardViewManagerInteractor.class), () -> mDeviceEntryInteractor) { @Override public ViewRootImpl getViewRootImpl() { return mViewRootImpl; Loading @@ -250,6 +255,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer public void dismissWithAction_AfterKeyguardGoneSetToFalse() { OnDismissAction action = () -> false; Runnable cancelAction = () -> { Loading @@ -265,6 +271,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { mStatusBarKeyguardViewManager.hide(0 /* startTime */, 0 /* fadeoutDuration */); mStatusBarKeyguardViewManager.showPrimaryBouncer(true /* scrimmed */); verify(mPrimaryBouncerInteractor, never()).show(anyBoolean()); verify(mDeviceEntryInteractor, never()).attemptDeviceEntry(); } @Test Loading @@ -274,9 +281,11 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { KeyguardSecurityModel.SecurityMode.Password); mStatusBarKeyguardViewManager.showPrimaryBouncer(true /* scrimmed */); verify(mPrimaryBouncerInteractor, never()).show(anyBoolean()); verify(mDeviceEntryInteractor, never()).attemptDeviceEntry(); } @Test @DisableSceneContainer public void showBouncer_showsTheBouncer() { mStatusBarKeyguardViewManager.showPrimaryBouncer(true /* scrimmed */); verify(mPrimaryBouncerInteractor).show(eq(true)); Loading Loading @@ -320,6 +329,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer public void onPanelExpansionChanged_showsBouncerWhenSwiping() { mKeyguardStateController.setCanDismissLockScreen(false); mStatusBarKeyguardViewManager.onPanelExpansionChanged(EXPANSION_EVENT); Loading Loading @@ -456,6 +466,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer public void testHiding_cancelsGoneRunnable() { OnDismissAction action = mock(OnDismissAction.class); Runnable cancelAction = mock(Runnable.class); Loading @@ -470,6 +481,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer public void testHidingBouncer_cancelsGoneRunnable() { OnDismissAction action = mock(OnDismissAction.class); Runnable cancelAction = mock(Runnable.class); Loading @@ -484,6 +496,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer public void testHiding_doesntCancelWhenShowing() { OnDismissAction action = mock(OnDismissAction.class); Runnable cancelAction = mock(Runnable.class); Loading Loading @@ -539,6 +552,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer public void testShowAltAuth_unlockingWithBiometricNotAllowed() { // GIVEN cannot use alternate bouncer when(mPrimaryBouncerInteractor.isFullyShowing()).thenReturn(false); Loading @@ -553,6 +567,8 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer @DisableFlags(com.android.systemui.Flags.FLAG_DEVICE_ENTRY_UDFPS_REFACTOR) public void testShowAlternateBouncer_unlockingWithBiometricAllowed() { // GIVEN will show alternate bouncer when(mPrimaryBouncerInteractor.isFullyShowing()).thenReturn(false); Loading Loading @@ -735,7 +751,8 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { () -> mock(KeyguardSurfaceBehindInteractor.class), mock(JavaAdapter.class), () -> mock(SceneInteractor.class), mock(StatusBarKeyguardViewManagerInteractor.class)) { mock(StatusBarKeyguardViewManagerInteractor.class), () -> mDeviceEntryInteractor) { @Override public ViewRootImpl getViewRootImpl() { return mViewRootImpl; Loading Loading @@ -783,11 +800,11 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @EnableFlags(com.android.systemui.Flags.FLAG_DEVICE_ENTRY_UDFPS_REFACTOR) public void handleDispatchTouchEvent_alternateBouncerViewFlagEnabled() { mStatusBarKeyguardViewManager.addCallback(mCallback); // GIVEN alternate bouncer view flag enabled & the alternate bouncer is visible mSetFlagsRule.enableFlags(com.android.systemui.Flags.FLAG_DEVICE_ENTRY_UDFPS_REFACTOR); when(mAlternateBouncerInteractor.isVisibleState()).thenReturn(true); // THEN the touch is not acted upon Loading @@ -795,9 +812,9 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @EnableFlags(com.android.systemui.Flags.FLAG_DEVICE_ENTRY_UDFPS_REFACTOR) public void onInterceptTouch_alternateBouncerViewFlagEnabled() { // GIVEN alternate bouncer view flag enabled & the alternate bouncer is visible mSetFlagsRule.enableFlags(com.android.systemui.Flags.FLAG_DEVICE_ENTRY_UDFPS_REFACTOR); when(mAlternateBouncerInteractor.isVisibleState()).thenReturn(true); // THEN the touch is not intercepted Loading Loading @@ -829,6 +846,8 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer @DisableFlags(Flags.FLAG_DEVICE_ENTRY_UDFPS_REFACTOR) public void handleDispatchTouchEvent_shouldInterceptTouchAndHandleTouch() { mStatusBarKeyguardViewManager.addCallback(mCallback); Loading @@ -855,6 +874,8 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer @DisableFlags(Flags.FLAG_DEVICE_ENTRY_UDFPS_REFACTOR) public void handleDispatchTouchEvent_shouldInterceptTouchButNotHandleTouch() { mStatusBarKeyguardViewManager.addCallback(mCallback); Loading @@ -881,6 +902,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer public void shouldInterceptTouch_alternateBouncerNotVisible() { // GIVEN the alternate bouncer is not visible when(mAlternateBouncerInteractor.isVisibleState()).thenReturn(false); Loading @@ -898,6 +920,8 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer @DisableFlags(Flags.FLAG_DEVICE_ENTRY_UDFPS_REFACTOR) public void shouldInterceptTouch_alternateBouncerVisible() { // GIVEN the alternate bouncer is visible when(mAlternateBouncerInteractor.isVisibleState()).thenReturn(true); Loading Loading @@ -931,6 +955,8 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer @DisableFlags(Flags.FLAG_DEVICE_ENTRY_UDFPS_REFACTOR) public void alternateBouncerOnTouch_actionDownThenUp_noMinTimeShown_noHideAltBouncer() { reset(mAlternateBouncerInteractor); Loading @@ -955,6 +981,8 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer @DisableFlags(Flags.FLAG_DEVICE_ENTRY_UDFPS_REFACTOR) public void alternateBouncerOnTouch_actionDownThenUp_handlesTouch_hidesAltBouncer() { reset(mAlternateBouncerInteractor); Loading @@ -979,6 +1007,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer public void alternateBouncerOnTouch_actionUp_doesNotHideAlternateBouncer() { reset(mAlternateBouncerInteractor); Loading @@ -996,6 +1025,8 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer @DisableFlags(Flags.FLAG_DEVICE_ENTRY_UDFPS_REFACTOR) public void onTrustChanged_hideAlternateBouncerAndClearMessageArea() { // GIVEN keyguard update monitor callback is registered verify(mKeyguardUpdateMonitor).registerCallback(mKeyguardUpdateMonitorCallback.capture()); Loading Loading @@ -1024,6 +1055,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer public void testShowBouncerOrKeyguard_needsFullScreen() { when(mKeyguardSecurityModel.getSecurityMode(anyInt())).thenReturn( KeyguardSecurityModel.SecurityMode.SimPin); Loading @@ -1033,6 +1065,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer public void testShowBouncerOrKeyguard_needsFullScreen_bouncerAlreadyShowing() { when(mKeyguardSecurityModel.getSecurityMode(anyInt())).thenReturn( KeyguardSecurityModel.SecurityMode.SimPin); Loading @@ -1042,6 +1075,20 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { verify(mPrimaryBouncerInteractor, never()).show(true); } @Test @EnableSceneContainer public void showBouncer_attemptDeviceEntry() { mStatusBarKeyguardViewManager.showBouncer(false); verify(mDeviceEntryInteractor).attemptDeviceEntry(); } @Test @EnableSceneContainer public void showPrimaryBouncer_attemptDeviceEntry() { mStatusBarKeyguardViewManager.showPrimaryBouncer(false); verify(mDeviceEntryInteractor).attemptDeviceEntry(); } @Test public void altBouncerNotVisible_keyguardAuthenticatedBiometricsHandled() { clearInvocations(mAlternateBouncerInteractor); Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java +11 −3 Original line number Diff line number Diff line Loading @@ -63,6 +63,7 @@ import com.android.systemui.bouncer.domain.interactor.PrimaryBouncerInteractor; import com.android.systemui.bouncer.ui.BouncerView; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.deviceentry.domain.interactor.DeviceEntryInteractor; import com.android.systemui.deviceentry.shared.DeviceEntryUdfpsRefactor; import com.android.systemui.dock.DockManager; import com.android.systemui.dreams.DreamOverlayStateController; Loading Loading @@ -167,6 +168,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb private final BouncerView mPrimaryBouncerView; private final Lazy<ShadeController> mShadeController; private final Lazy<SceneInteractor> mSceneInteractorLazy; private final Lazy<DeviceEntryInteractor> mDeviceEntryInteractorLazy; private Job mListenForAlternateBouncerTransitionSteps = null; private Job mListenForKeyguardAuthenticatedBiometricsHandled = null; Loading Loading @@ -395,7 +397,8 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb Lazy<KeyguardSurfaceBehindInteractor> surfaceBehindInteractor, JavaAdapter javaAdapter, Lazy<SceneInteractor> sceneInteractorLazy, StatusBarKeyguardViewManagerInteractor statusBarKeyguardViewManagerInteractor StatusBarKeyguardViewManagerInteractor statusBarKeyguardViewManagerInteractor, Lazy<DeviceEntryInteractor> deviceEntryInteractorLazy ) { mContext = context; mViewMediatorCallback = callback; Loading Loading @@ -430,6 +433,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb mJavaAdapter = javaAdapter; mSceneInteractorLazy = sceneInteractorLazy; mStatusBarKeyguardViewManagerInteractor = statusBarKeyguardViewManagerInteractor; mDeviceEntryInteractorLazy = deviceEntryInteractorLazy; } KeyguardTransitionInteractor mKeyguardTransitionInteractor; Loading Loading @@ -735,6 +739,11 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb * {@see KeyguardBouncer#show(boolean, boolean)} */ public void showBouncer(boolean scrimmed) { if (SceneContainerFlag.isEnabled()) { mDeviceEntryInteractorLazy.get().attemptDeviceEntry(); return; } if (DeviceEntryUdfpsRefactor.isEnabled()) { if (mAlternateBouncerInteractor.canShowAlternateBouncerForFingerprint()) { Log.d(TAG, "showBouncer:alternateBouncer.forceShow()"); Loading Loading @@ -777,8 +786,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb hideAlternateBouncer(false); if (mKeyguardStateController.isShowing() && !isBouncerShowing()) { if (SceneContainerFlag.isEnabled()) { mSceneInteractorLazy.get().changeScene( Scenes.Bouncer, "StatusBarKeyguardViewManager.showPrimaryBouncer"); mDeviceEntryInteractorLazy.get().attemptDeviceEntry(); } else { mPrimaryBouncerInteractor.show(scrimmed); } Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManagerTest.java +55 −8 Original line number Diff line number Diff line Loading @@ -37,6 +37,8 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.platform.test.annotations.DisableFlags; import android.platform.test.annotations.EnableFlags; import android.platform.test.annotations.RequiresFlagsEnabled; import android.platform.test.flag.junit.CheckFlagsRule; import android.platform.test.flag.junit.DeviceFlagsValueProvider; Loading Loading @@ -66,6 +68,7 @@ import com.android.keyguard.KeyguardUpdateMonitor; import com.android.keyguard.KeyguardUpdateMonitorCallback; import com.android.keyguard.TrustGrantFlags; import com.android.keyguard.ViewMediatorCallback; import com.android.systemui.Flags; import com.android.systemui.SysuiTestCase; import com.android.systemui.biometrics.domain.interactor.UdfpsOverlayInteractor; import com.android.systemui.bouncer.domain.interactor.AlternateBouncerInteractor; Loading @@ -74,8 +77,11 @@ import com.android.systemui.bouncer.domain.interactor.PrimaryBouncerCallbackInte import com.android.systemui.bouncer.domain.interactor.PrimaryBouncerInteractor; import com.android.systemui.bouncer.ui.BouncerView; import com.android.systemui.bouncer.ui.BouncerViewDelegate; import com.android.systemui.deviceentry.domain.interactor.DeviceEntryInteractor; import com.android.systemui.dock.DockManager; import com.android.systemui.dreams.DreamOverlayStateController; import com.android.systemui.flags.DisableSceneContainer; import com.android.systemui.flags.EnableSceneContainer; import com.android.systemui.keyguard.domain.interactor.KeyguardDismissActionInteractor; import com.android.systemui.keyguard.domain.interactor.KeyguardSurfaceBehindInteractor; import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionInteractor; Loading Loading @@ -158,6 +164,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { @Mock private TaskbarDelegate mTaskbarDelegate; @Mock private StatusBarKeyguardViewManager.KeyguardViewManagerCallback mCallback; @Mock private SelectedUserInteractor mSelectedUserInteractor; @Mock private DeviceEntryInteractor mDeviceEntryInteractor; private StatusBarKeyguardViewManager mStatusBarKeyguardViewManager; private PrimaryBouncerCallbackInteractor.PrimaryBouncerExpansionCallback Loading @@ -178,6 +185,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule(); @Before @DisableFlags(com.android.systemui.Flags.FLAG_KEYGUARD_WM_STATE_REFACTOR) public void setUp() { MockitoAnnotations.initMocks(this); when(mContainer.findViewById(anyInt())).thenReturn(mKeyguardMessageArea); Loading @@ -185,10 +193,6 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { .thenReturn(mKeyguardMessageAreaController); when(mBouncerView.getDelegate()).thenReturn(mBouncerViewDelegate); when(mBouncerViewDelegate.getBackCallback()).thenReturn(mBouncerViewDelegateBackCallback); mSetFlagsRule.disableFlags( com.android.systemui.Flags.FLAG_DEVICE_ENTRY_UDFPS_REFACTOR, com.android.systemui.Flags.FLAG_KEYGUARD_WM_STATE_REFACTOR ); when(mNotificationShadeWindowController.getWindowRootView()) .thenReturn(mNotificationShadeWindowView); Loading Loading @@ -227,7 +231,8 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { () -> mock(KeyguardSurfaceBehindInteractor.class), mock(JavaAdapter.class), () -> mock(SceneInteractor.class), mock(StatusBarKeyguardViewManagerInteractor.class)) { mock(StatusBarKeyguardViewManagerInteractor.class), () -> mDeviceEntryInteractor) { @Override public ViewRootImpl getViewRootImpl() { return mViewRootImpl; Loading @@ -250,6 +255,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer public void dismissWithAction_AfterKeyguardGoneSetToFalse() { OnDismissAction action = () -> false; Runnable cancelAction = () -> { Loading @@ -265,6 +271,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { mStatusBarKeyguardViewManager.hide(0 /* startTime */, 0 /* fadeoutDuration */); mStatusBarKeyguardViewManager.showPrimaryBouncer(true /* scrimmed */); verify(mPrimaryBouncerInteractor, never()).show(anyBoolean()); verify(mDeviceEntryInteractor, never()).attemptDeviceEntry(); } @Test Loading @@ -274,9 +281,11 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { KeyguardSecurityModel.SecurityMode.Password); mStatusBarKeyguardViewManager.showPrimaryBouncer(true /* scrimmed */); verify(mPrimaryBouncerInteractor, never()).show(anyBoolean()); verify(mDeviceEntryInteractor, never()).attemptDeviceEntry(); } @Test @DisableSceneContainer public void showBouncer_showsTheBouncer() { mStatusBarKeyguardViewManager.showPrimaryBouncer(true /* scrimmed */); verify(mPrimaryBouncerInteractor).show(eq(true)); Loading Loading @@ -320,6 +329,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer public void onPanelExpansionChanged_showsBouncerWhenSwiping() { mKeyguardStateController.setCanDismissLockScreen(false); mStatusBarKeyguardViewManager.onPanelExpansionChanged(EXPANSION_EVENT); Loading Loading @@ -456,6 +466,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer public void testHiding_cancelsGoneRunnable() { OnDismissAction action = mock(OnDismissAction.class); Runnable cancelAction = mock(Runnable.class); Loading @@ -470,6 +481,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer public void testHidingBouncer_cancelsGoneRunnable() { OnDismissAction action = mock(OnDismissAction.class); Runnable cancelAction = mock(Runnable.class); Loading @@ -484,6 +496,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer public void testHiding_doesntCancelWhenShowing() { OnDismissAction action = mock(OnDismissAction.class); Runnable cancelAction = mock(Runnable.class); Loading Loading @@ -539,6 +552,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer public void testShowAltAuth_unlockingWithBiometricNotAllowed() { // GIVEN cannot use alternate bouncer when(mPrimaryBouncerInteractor.isFullyShowing()).thenReturn(false); Loading @@ -553,6 +567,8 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer @DisableFlags(com.android.systemui.Flags.FLAG_DEVICE_ENTRY_UDFPS_REFACTOR) public void testShowAlternateBouncer_unlockingWithBiometricAllowed() { // GIVEN will show alternate bouncer when(mPrimaryBouncerInteractor.isFullyShowing()).thenReturn(false); Loading Loading @@ -735,7 +751,8 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { () -> mock(KeyguardSurfaceBehindInteractor.class), mock(JavaAdapter.class), () -> mock(SceneInteractor.class), mock(StatusBarKeyguardViewManagerInteractor.class)) { mock(StatusBarKeyguardViewManagerInteractor.class), () -> mDeviceEntryInteractor) { @Override public ViewRootImpl getViewRootImpl() { return mViewRootImpl; Loading Loading @@ -783,11 +800,11 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @EnableFlags(com.android.systemui.Flags.FLAG_DEVICE_ENTRY_UDFPS_REFACTOR) public void handleDispatchTouchEvent_alternateBouncerViewFlagEnabled() { mStatusBarKeyguardViewManager.addCallback(mCallback); // GIVEN alternate bouncer view flag enabled & the alternate bouncer is visible mSetFlagsRule.enableFlags(com.android.systemui.Flags.FLAG_DEVICE_ENTRY_UDFPS_REFACTOR); when(mAlternateBouncerInteractor.isVisibleState()).thenReturn(true); // THEN the touch is not acted upon Loading @@ -795,9 +812,9 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @EnableFlags(com.android.systemui.Flags.FLAG_DEVICE_ENTRY_UDFPS_REFACTOR) public void onInterceptTouch_alternateBouncerViewFlagEnabled() { // GIVEN alternate bouncer view flag enabled & the alternate bouncer is visible mSetFlagsRule.enableFlags(com.android.systemui.Flags.FLAG_DEVICE_ENTRY_UDFPS_REFACTOR); when(mAlternateBouncerInteractor.isVisibleState()).thenReturn(true); // THEN the touch is not intercepted Loading Loading @@ -829,6 +846,8 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer @DisableFlags(Flags.FLAG_DEVICE_ENTRY_UDFPS_REFACTOR) public void handleDispatchTouchEvent_shouldInterceptTouchAndHandleTouch() { mStatusBarKeyguardViewManager.addCallback(mCallback); Loading @@ -855,6 +874,8 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer @DisableFlags(Flags.FLAG_DEVICE_ENTRY_UDFPS_REFACTOR) public void handleDispatchTouchEvent_shouldInterceptTouchButNotHandleTouch() { mStatusBarKeyguardViewManager.addCallback(mCallback); Loading @@ -881,6 +902,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer public void shouldInterceptTouch_alternateBouncerNotVisible() { // GIVEN the alternate bouncer is not visible when(mAlternateBouncerInteractor.isVisibleState()).thenReturn(false); Loading @@ -898,6 +920,8 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer @DisableFlags(Flags.FLAG_DEVICE_ENTRY_UDFPS_REFACTOR) public void shouldInterceptTouch_alternateBouncerVisible() { // GIVEN the alternate bouncer is visible when(mAlternateBouncerInteractor.isVisibleState()).thenReturn(true); Loading Loading @@ -931,6 +955,8 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer @DisableFlags(Flags.FLAG_DEVICE_ENTRY_UDFPS_REFACTOR) public void alternateBouncerOnTouch_actionDownThenUp_noMinTimeShown_noHideAltBouncer() { reset(mAlternateBouncerInteractor); Loading @@ -955,6 +981,8 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer @DisableFlags(Flags.FLAG_DEVICE_ENTRY_UDFPS_REFACTOR) public void alternateBouncerOnTouch_actionDownThenUp_handlesTouch_hidesAltBouncer() { reset(mAlternateBouncerInteractor); Loading @@ -979,6 +1007,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer public void alternateBouncerOnTouch_actionUp_doesNotHideAlternateBouncer() { reset(mAlternateBouncerInteractor); Loading @@ -996,6 +1025,8 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer @DisableFlags(Flags.FLAG_DEVICE_ENTRY_UDFPS_REFACTOR) public void onTrustChanged_hideAlternateBouncerAndClearMessageArea() { // GIVEN keyguard update monitor callback is registered verify(mKeyguardUpdateMonitor).registerCallback(mKeyguardUpdateMonitorCallback.capture()); Loading Loading @@ -1024,6 +1055,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer public void testShowBouncerOrKeyguard_needsFullScreen() { when(mKeyguardSecurityModel.getSecurityMode(anyInt())).thenReturn( KeyguardSecurityModel.SecurityMode.SimPin); Loading @@ -1033,6 +1065,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { } @Test @DisableSceneContainer public void testShowBouncerOrKeyguard_needsFullScreen_bouncerAlreadyShowing() { when(mKeyguardSecurityModel.getSecurityMode(anyInt())).thenReturn( KeyguardSecurityModel.SecurityMode.SimPin); Loading @@ -1042,6 +1075,20 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { verify(mPrimaryBouncerInteractor, never()).show(true); } @Test @EnableSceneContainer public void showBouncer_attemptDeviceEntry() { mStatusBarKeyguardViewManager.showBouncer(false); verify(mDeviceEntryInteractor).attemptDeviceEntry(); } @Test @EnableSceneContainer public void showPrimaryBouncer_attemptDeviceEntry() { mStatusBarKeyguardViewManager.showPrimaryBouncer(false); verify(mDeviceEntryInteractor).attemptDeviceEntry(); } @Test public void altBouncerNotVisible_keyguardAuthenticatedBiometricsHandled() { clearInvocations(mAlternateBouncerInteractor); Loading