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
This commit is contained in:
Vincent Wang
2023-03-29 03:55:18 +00:00
parent d030a405dc
commit f2e48e380f
2 changed files with 20 additions and 6 deletions

View File

@@ -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()

View File

@@ -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)