Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7749c7af authored by Austin Delgado's avatar Austin Delgado
Browse files

Respect shouldPauseAuth when attaching/detaching UdfpsView

Test: atest com.android.systemui.biometrics
Bug: 324855008
Flag: None
Change-Id: Ia990c81923166b32985d5b2de1951e737bf4a183
parent 826fd099
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
@@ -210,6 +210,32 @@ class UdfpsKeyguardViewLegacyControllerWithCoroutinesTest :
        }

    @Test
    fun shouldHandleTouchesOnDetach() =
        testScope.runTest {
            val shouldHandleTouches by collectLastValue(mUdfpsOverlayInteractor.shouldHandleTouches)

            // GIVEN view is attached + on the keyguard
            mController.onViewAttached()
            captureStatusBarStateListeners()
            sendStatusBarStateChanged(StatusBarState.KEYGUARD)
            whenever(mView.setPauseAuth(true)).thenReturn(true)
            whenever(mView.unpausedAlpha).thenReturn(0)

            // WHEN panelViewExpansion changes to expanded
            val job = mController.listenForBouncerExpansion(this)
            keyguardBouncerRepository.setPrimaryShow(true)
            keyguardBouncerRepository.setPanelExpansion(KeyguardBouncerConstants.EXPANSION_VISIBLE)
            runCurrent()

            mController.onViewDetached()

            // THEN UDFPS auth is paused and should not handle touches
            assertThat(mController.shouldPauseAuth()).isTrue()
            assertThat(shouldHandleTouches!!).isFalse()

            job.cancel()
        }
    @Test
    fun fadeFromDialogSuggestedAlpha() =
        testScope.runTest {
            // GIVEN view is attached and status bar expansion is 1f
+2 −2
Original line number Diff line number Diff line
@@ -132,13 +132,13 @@ abstract class UdfpsAnimationViewController<T : UdfpsAnimationView>(
    override fun onViewAttached() {
        dialogManager.registerListener(dialogListener)
        dumpManager.registerDumpable(dumpTag, this)
        udfpsOverlayInteractor.setHandleTouches(shouldHandle = true)
        udfpsOverlayInteractor.setHandleTouches(shouldHandle = !shouldPauseAuth())
    }

    override fun onViewDetached() {
        dialogManager.unregisterListener(dialogListener)
        dumpManager.unregisterDumpable(dumpTag)
        udfpsOverlayInteractor.setHandleTouches(shouldHandle = true)
        udfpsOverlayInteractor.setHandleTouches(shouldHandle = !shouldPauseAuth())
    }

    /**
+1 −1
Original line number Diff line number Diff line
@@ -378,7 +378,7 @@ open class UdfpsKeyguardViewControllerLegacy(
        }
    }

    override fun onViewDetached() {
    public override fun onViewDetached() {
        super.onViewDetached()
        alternateBouncerInteractor.setAlternateBouncerUIAvailable(false, uniqueIdentifier)
        faceDetectRunning = false