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

Commit 271e5cdf authored by Candice's avatar Candice Committed by Candice Lo
Browse files

Hide QS shade when triggering ExtraDim migration dialog

The shade obscures a toast that is triggered by the dialog.
Therefore, dismissing the shade helps ensure the user sees this toast.

Bug: 378019073
Test: atest ExtraDimDialogManagerTest
Flag: com.android.server.display.feature.flags.even_dimmer
Change-Id: Ia11b56cec3d38393dd1ce63267e4ceb5ddc50802
parent d3fe479d
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -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),
            )
+11 −7
Original line number Diff line number Diff line
@@ -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,19 +33,22 @@ 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) {
        mainHandler.post {
            mActivityStarter.executeRunnableDismissingKeyguard(
                { showRemoveExtraDimShortcutsDialog(expandable) },
                /* cancelAction= */ null,
            /* dismissShade= */ false,
                /* dismissShade= */ true,
                /* afterKeyguardGone= */ true,
                /* deferred= */ false,
            )
        }
    }

    /** Show the dialog for removing all Extra Dim shortcuts. */
    private fun showRemoveExtraDimShortcutsDialog(expandable: Expandable?) {