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

Commit f2e48e38 authored by Vincent Wang's avatar Vincent Wang
Browse files

Fix Biometric prompt not close after opening notification using Quick Tap

Bug: b/275532805
Test: [PRE-CONDITION]
      1. Select "Show Notification" in Quick Tap.
      2. 1 finger is enrolled.
      [STEPS TO REPRODUCE]
      1. Launch biometric prompt.
      2. Backtap to show the notification.
      3. Backtap again to dismiss the notification.
      4. From notification open settings app/access wifi/bluetooth settings by long press.
Change-Id: Ifaceac98b8b7d579ba24b57167852a5f6cd8caff
parent d030a405
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@ constructor(
    private fun onPanelExpansionChanged(event: ShadeExpansionChangeEvent) =
        mainExecutor.execute {
            action?.let {
                if (event.tracking) {
                if (event.tracking || event.expanded) {
                    Log.v(TAG, "Detected panel interaction, event: $event")
                    it.onPanelInteraction.run()
                    disable()
+19 −5
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@ import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mock
import org.mockito.Mockito.timeout
import org.mockito.Mockito.times
import org.mockito.Mockito.verify
import org.mockito.Mockito.verifyZeroInteractions
import org.mockito.junit.MockitoJUnit
@@ -49,17 +49,31 @@ class AuthDialogPanelInteractionDetectorTest : SysuiTestCase() {
    }

    @Test
    fun testEnableDetector_shouldPostRunnable() {
    fun testEnableDetector_expandWithTrack_shouldPostRunnable() {
        detector.enable(action)
        // simulate notification expand
        shadeExpansionStateManager.onPanelExpansionChanged(5566f, true, true, 5566f)
        verify(action, timeout(5000).times(1)).run()
        verify(action).run()
    }

    @Test
    fun testEnableDetector_trackOnly_shouldPostRunnable() {
        detector.enable(action)
        // simulate notification expand
        shadeExpansionStateManager.onPanelExpansionChanged(5566f, false, true, 5566f)
        verify(action).run()
    }

    @Test
    fun testEnableDetector_expandOnly_shouldPostRunnable() {
        detector.enable(action)
        // simulate notification expand
        shadeExpansionStateManager.onPanelExpansionChanged(5566f, true, false, 5566f)
        verify(action).run()
    }

    @Test
    fun testEnableDetector_shouldNotPostRunnable() {
        var detector =
            AuthDialogPanelInteractionDetector(shadeExpansionStateManager, mContext.mainExecutor)
        detector.enable(action)
        detector.disable()
        shadeExpansionStateManager.onPanelExpansionChanged(5566f, true, true, 5566f)