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

Commit 5acb5776 authored by Austin Delgado's avatar Austin Delgado Committed by Android (Google) Code Review
Browse files

Merge "Respect shouldPauseAuth when attaching/detaching UdfpsView" into main

parents bc1bf620 7749c7af
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