diff options
2 files changed, 25 insertions, 9 deletions
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/accessibility/extradim/ExtraDimDialogManagerTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/accessibility/extradim/ExtraDimDialogManagerTest.kt index b7b98d41da93..9f9245c39e5f 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/accessibility/extradim/ExtraDimDialogManagerTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/accessibility/extradim/ExtraDimDialogManagerTest.kt @@ -15,6 +15,7 @@ */ package com.android.systemui.accessibility.extradim +import android.os.Handler import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase @@ -25,8 +26,10 @@ import org.junit.Before import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith +import org.mockito.ArgumentCaptor import org.mockito.ArgumentMatchers.any import org.mockito.ArgumentMatchers.eq +import org.mockito.Captor import org.mockito.Mock import org.mockito.junit.MockitoJUnit import org.mockito.junit.MockitoRule @@ -43,21 +46,30 @@ class ExtraDimDialogManagerTest : SysuiTestCase() { @Mock private lateinit var activityStarter: ActivityStarter @Mock private lateinit var dialogProvider: Provider<ExtraDimDialogDelegate> @Mock private lateinit var dialogTransitionAnimator: DialogTransitionAnimator + @Mock private lateinit var mainHandler: Handler + @Captor private lateinit var runnableCaptor: ArgumentCaptor<Runnable> @Before fun setUp() { extraDimDialogManager = - ExtraDimDialogManager(dialogProvider, activityStarter, dialogTransitionAnimator) + ExtraDimDialogManager( + dialogProvider, + activityStarter, + dialogTransitionAnimator, + mainHandler, + ) } @Test fun dismissKeyguardIfNeededAndShowDialog_executeRunnableDismissingKeyguard() { extraDimDialogManager.dismissKeyguardIfNeededAndShowDialog() + verify(mainHandler).post(runnableCaptor.capture()) + runnableCaptor.value.run() verify(activityStarter) .executeRunnableDismissingKeyguard( any(), /* cancelAction= */ eq(null), - /* dismissShade= */ eq(false), + /* dismissShade= */ eq(true), /* afterKeyguardGone= */ eq(true), /* deferred= */ eq(false), ) diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/extradim/ExtraDimDialogManager.kt b/packages/SystemUI/src/com/android/systemui/accessibility/extradim/ExtraDimDialogManager.kt index 60d80efe6426..3f717e282a61 100644 --- a/packages/SystemUI/src/com/android/systemui/accessibility/extradim/ExtraDimDialogManager.kt +++ b/packages/SystemUI/src/com/android/systemui/accessibility/extradim/ExtraDimDialogManager.kt @@ -15,6 +15,7 @@ */ package com.android.systemui.accessibility.extradim +import android.os.Handler import com.android.systemui.animation.DialogCuj import com.android.systemui.animation.DialogTransitionAnimator import com.android.systemui.animation.Expandable @@ -32,18 +33,21 @@ constructor( private val extraDimDialogDelegateProvider: Provider<ExtraDimDialogDelegate>, private val mActivityStarter: ActivityStarter, private val dialogTransitionAnimator: DialogTransitionAnimator, + private val mainHandler: Handler, ) { private var dialog: SystemUIDialog? = null @JvmOverloads fun dismissKeyguardIfNeededAndShowDialog(expandable: Expandable? = null) { - mActivityStarter.executeRunnableDismissingKeyguard( - { showRemoveExtraDimShortcutsDialog(expandable) }, - /* cancelAction= */ null, - /* dismissShade= */ false, - /* afterKeyguardGone= */ true, - /* deferred= */ false, - ) + mainHandler.post { + mActivityStarter.executeRunnableDismissingKeyguard( + { showRemoveExtraDimShortcutsDialog(expandable) }, + /* cancelAction= */ null, + /* dismissShade= */ true, + /* afterKeyguardGone= */ true, + /* deferred= */ false, + ) + } } /** Show the dialog for removing all Extra Dim shortcuts. */ |