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

Commit 9433b813 authored by Juan Sebastian Martinez's avatar Juan Sebastian Martinez Committed by Android (Google) Code Review
Browse files

Merge "Adding information about whether a quick affordance launches." into main

parents 650b0551 7415da58
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -81,7 +81,7 @@ class CameraQuickAffordanceConfigTest : SysuiTestCase() {
        // Then
        verify(cameraGestureHelper)
            .launchCamera(StatusBarManager.CAMERA_LAUNCH_SOURCE_QUICK_AFFORDANCE)
        assertEquals(KeyguardQuickAffordanceConfig.OnTriggeredResult.Handled, result)
        assertEquals(KeyguardQuickAffordanceConfig.OnTriggeredResult.Handled(true), result)
    }

    @Test
+6 −6
Original line number Diff line number Diff line
@@ -197,7 +197,7 @@ class DoNotDisturbQuickAffordanceConfigTest : SysuiTestCase() {

            val dndMode = currentModes!!.single()
            assertThat(dndMode.isActive).isFalse()
            assertEquals(KeyguardQuickAffordanceConfig.OnTriggeredResult.Handled, result)
            assertEquals(KeyguardQuickAffordanceConfig.OnTriggeredResult.Handled(false), result)
        }

    @Test
@@ -222,7 +222,7 @@ class DoNotDisturbQuickAffordanceConfigTest : SysuiTestCase() {
                )

            // then
            assertEquals(KeyguardQuickAffordanceConfig.OnTriggeredResult.Handled, result)
            assertEquals(KeyguardQuickAffordanceConfig.OnTriggeredResult.Handled(false), result)
            assertEquals(ZEN_MODE_OFF, spyZenMode.value)
            assertNull(spyConditionId.value)
        }
@@ -244,7 +244,7 @@ class DoNotDisturbQuickAffordanceConfigTest : SysuiTestCase() {
            val dndMode = currentModes!!.single()
            assertThat(dndMode.isActive).isTrue()
            assertThat(zenModeRepository.getModeActiveDuration(dndMode.id)).isNull()
            assertEquals(KeyguardQuickAffordanceConfig.OnTriggeredResult.Handled, result)
            assertEquals(KeyguardQuickAffordanceConfig.OnTriggeredResult.Handled(false), result)
        }

    @Test
@@ -268,7 +268,7 @@ class DoNotDisturbQuickAffordanceConfigTest : SysuiTestCase() {
                )

            // then
            assertEquals(KeyguardQuickAffordanceConfig.OnTriggeredResult.Handled, result)
            assertEquals(KeyguardQuickAffordanceConfig.OnTriggeredResult.Handled(false), result)
            assertEquals(ZEN_MODE_IMPORTANT_INTERRUPTIONS, spyZenMode.value)
            assertNull(spyConditionId.value)
        }
@@ -285,7 +285,7 @@ class DoNotDisturbQuickAffordanceConfigTest : SysuiTestCase() {
            val result = underTest.onTriggered(null)
            runCurrent()

            assertEquals(KeyguardQuickAffordanceConfig.OnTriggeredResult.Handled, result)
            assertEquals(KeyguardQuickAffordanceConfig.OnTriggeredResult.Handled(false), result)
            val dndMode = currentModes!!.single()
            assertThat(dndMode.isActive).isTrue()
            assertThat(zenModeRepository.getModeActiveDuration(dndMode.id))
@@ -313,7 +313,7 @@ class DoNotDisturbQuickAffordanceConfigTest : SysuiTestCase() {
                )

            // then
            assertEquals(KeyguardQuickAffordanceConfig.OnTriggeredResult.Handled, result)
            assertEquals(KeyguardQuickAffordanceConfig.OnTriggeredResult.Handled(false), result)
            assertEquals(ZEN_MODE_IMPORTANT_INTERRUPTIONS, spyZenMode.value)
            assertEquals(conditionUri, spyConditionId.value)
        }
+64 −58
Original line number Diff line number Diff line
@@ -49,14 +49,10 @@ import org.mockito.MockitoAnnotations
class MuteQuickAffordanceConfigTest : SysuiTestCase() {

    private lateinit var underTest: MuteQuickAffordanceConfig
    @Mock
    private lateinit var ringerModeTracker: RingerModeTracker
    @Mock
    private lateinit var audioManager: AudioManager
    @Mock
    private lateinit var userTracker: UserTracker
    @Mock
    private lateinit var userFileManager: UserFileManager
    @Mock private lateinit var ringerModeTracker: RingerModeTracker
    @Mock private lateinit var audioManager: AudioManager
    @Mock private lateinit var userTracker: UserTracker
    @Mock private lateinit var userFileManager: UserFileManager

    private lateinit var testDispatcher: TestDispatcher
    private lateinit var testScope: TestScope
@@ -70,9 +66,12 @@ class MuteQuickAffordanceConfigTest : SysuiTestCase() {

        whenever(userTracker.userContext).thenReturn(context)
        whenever(userFileManager.getSharedPreferences(any(), any(), any()))
                .thenReturn(context.getSharedPreferences("mutequickaffordancetest", Context.MODE_PRIVATE))
            .thenReturn(
                context.getSharedPreferences("mutequickaffordancetest", Context.MODE_PRIVATE)
            )

        underTest = MuteQuickAffordanceConfig(
        underTest =
            MuteQuickAffordanceConfig(
                context,
                userTracker,
                userFileManager,
@@ -85,7 +84,8 @@ class MuteQuickAffordanceConfigTest : SysuiTestCase() {
    }

    @Test
    fun pickerState_volumeFixed_notAvailable() = testScope.runTest {
    fun pickerState_volumeFixed_notAvailable() =
        testScope.runTest {
            // given
            whenever(audioManager.isVolumeFixed).thenReturn(true)

@@ -93,11 +93,15 @@ class MuteQuickAffordanceConfigTest : SysuiTestCase() {
            val result = underTest.getPickerScreenState()

            // then
        assertEquals(KeyguardQuickAffordanceConfig.PickerScreenState.UnavailableOnDevice, result)
            assertEquals(
                KeyguardQuickAffordanceConfig.PickerScreenState.UnavailableOnDevice,
                result,
            )
        }

    @Test
    fun pickerState_volumeNotFixed_available() = testScope.runTest {
    fun pickerState_volumeNotFixed_available() =
        testScope.runTest {
            // given
            whenever(audioManager.isVolumeFixed).thenReturn(false)

@@ -109,7 +113,8 @@ class MuteQuickAffordanceConfigTest : SysuiTestCase() {
        }

    @Test
    fun triggered_stateWasPreviouslyNORMAL_currentlySILENT_moveToPreviousState() = testScope.runTest {
    fun triggered_stateWasPreviouslyNORMAL_currentlySILENT_moveToPreviousState() =
        testScope.runTest {
            // given
            val ringerModeCapture = argumentCaptor<Int>()
            whenever(audioManager.ringerModeInternal).thenReturn(AudioManager.RINGER_MODE_NORMAL)
@@ -122,12 +127,13 @@ class MuteQuickAffordanceConfigTest : SysuiTestCase() {
            verify(audioManager, times(2)).ringerModeInternal = ringerModeCapture.capture()

            // then
        assertEquals(KeyguardQuickAffordanceConfig.OnTriggeredResult.Handled, result)
            assertEquals(KeyguardQuickAffordanceConfig.OnTriggeredResult.Handled(false), result)
            assertEquals(AudioManager.RINGER_MODE_NORMAL, ringerModeCapture.value)
        }

    @Test
    fun triggered_stateIsNotSILENT_moveToSILENTringer() = testScope.runTest {
    fun triggered_stateIsNotSILENT_moveToSILENTringer() =
        testScope.runTest {
            // given
            val ringerModeCapture = argumentCaptor<Int>()
            whenever(audioManager.ringerModeInternal).thenReturn(AudioManager.RINGER_MODE_NORMAL)
@@ -138,7 +144,7 @@ class MuteQuickAffordanceConfigTest : SysuiTestCase() {
            verify(audioManager).ringerModeInternal = ringerModeCapture.capture()

            // then
        assertEquals(KeyguardQuickAffordanceConfig.OnTriggeredResult.Handled, result)
            assertEquals(KeyguardQuickAffordanceConfig.OnTriggeredResult.Handled(false), result)
            assertEquals(AudioManager.RINGER_MODE_SILENT, ringerModeCapture.value)
        }
}
+10 −24
Original line number Diff line number Diff line
@@ -88,9 +88,7 @@ class QuickAccessWalletKeyguardQuickAffordanceConfigTest : SysuiTestCase() {
                    Icon.Loaded(
                        drawable = ICON,
                        contentDescription =
                            ContentDescription.Resource(
                                res = R.string.accessibility_wallet_button,
                            ),
                            ContentDescription.Resource(res = R.string.accessibility_wallet_button),
                    )
                )
        }
@@ -118,9 +116,7 @@ class QuickAccessWalletKeyguardQuickAffordanceConfigTest : SysuiTestCase() {
                    Icon.Loaded(
                        drawable = ICON,
                        contentDescription =
                            ContentDescription.Resource(
                                res = R.string.accessibility_wallet_button,
                            ),
                            ContentDescription.Resource(res = R.string.accessibility_wallet_button),
                    )
                )
        }
@@ -163,13 +159,9 @@ class QuickAccessWalletKeyguardQuickAffordanceConfigTest : SysuiTestCase() {
        }

        assertThat(underTest.onTriggered(expandable))
            .isEqualTo(KeyguardQuickAffordanceConfig.OnTriggeredResult.Handled)
            .isEqualTo(KeyguardQuickAffordanceConfig.OnTriggeredResult.Handled(true))
        verify(walletController)
            .startQuickAccessUiIntent(
                activityStarter,
                animationController,
                /* hasCard= */ true,
            )
            .startQuickAccessUiIntent(activityStarter, animationController, /* hasCard= */ true)
    }

    @Test
@@ -184,9 +176,7 @@ class QuickAccessWalletKeyguardQuickAffordanceConfigTest : SysuiTestCase() {
    @Test
    fun getPickerScreenState_unavailable() =
        testScope.runTest {
            setUpState(
                isWalletServiceAvailable = false,
            )
            setUpState(isWalletServiceAvailable = false)

            assertThat(underTest.getPickerScreenState())
                .isEqualTo(KeyguardQuickAffordanceConfig.PickerScreenState.UnavailableOnDevice)
@@ -195,9 +185,7 @@ class QuickAccessWalletKeyguardQuickAffordanceConfigTest : SysuiTestCase() {
    @Test
    fun getPickerScreenState_disabledWhenTheFeatureIsNotEnabled() =
        testScope.runTest {
            setUpState(
                isWalletFeatureAvailable = false,
            )
            setUpState(isWalletFeatureAvailable = false)

            assertThat(underTest.getPickerScreenState())
                .isInstanceOf(KeyguardQuickAffordanceConfig.PickerScreenState.Disabled::class.java)
@@ -206,9 +194,7 @@ class QuickAccessWalletKeyguardQuickAffordanceConfigTest : SysuiTestCase() {
    @Test
    fun getPickerScreenState_disabledWhenThereIsNoCard() =
        testScope.runTest {
            setUpState(
                hasSelectedCard = false,
            )
            setUpState(hasSelectedCard = false)

            assertThat(underTest.getPickerScreenState())
                .isInstanceOf(KeyguardQuickAffordanceConfig.PickerScreenState.Disabled::class.java)
@@ -219,7 +205,7 @@ class QuickAccessWalletKeyguardQuickAffordanceConfigTest : SysuiTestCase() {
        isWalletServiceAvailable: Boolean = true,
        isWalletQuerySuccessful: Boolean = true,
        hasSelectedCard: Boolean = true,
        cardType: Int = WalletCard.CARD_TYPE_UNKNOWN
        cardType: Int = WalletCard.CARD_TYPE_UNKNOWN,
    ) {
        val walletClient: QuickAccessWalletClient = mock()
        whenever(walletClient.tileIcon).thenReturn(ICON)
@@ -242,11 +228,11 @@ class QuickAccessWalletKeyguardQuickAffordanceConfigTest : SysuiTestCase() {
                                            /*cardType= */ cardType,
                                            /*cardImage= */ mock(),
                                            /*contentDescription=  */ CARD_DESCRIPTION,
                                            /*pendingIntent= */ mock()
                                            /*pendingIntent= */ mock(),
                                        )
                                        .build()
                                ),
                                0
                                0,
                            )
                        } else {
                            GetWalletCardsResponse(emptyList(), 0)
+22 −0
Original line number Diff line number Diff line
@@ -764,6 +764,28 @@ class KeyguardQuickAffordanceInteractorTest : SysuiTestCase() {
            assertThat(launchingAffordance).isFalse()
        }

    @Test
    fun onQuickAffordanceTriggered_updatesLaunchingFromTriggeredResult() =
        testScope.runTest {
            // WHEN selecting and triggering a quick affordance at a slot
            val key = homeControls.key
            val slot = KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_START
            val encodedKey = "$slot::$key"
            val actionLaunched = true
            homeControls.onTriggeredResult =
                KeyguardQuickAffordanceConfig.OnTriggeredResult.Handled(actionLaunched)
            underTest.select(slot, key)
            runCurrent()
            underTest.onQuickAffordanceTriggered(encodedKey, expandable = null, slot)

            // THEN the latest triggered result shows that an action launched for the same key and
            // slot
            val launchingFromTriggeredResult by
                collectLastValue(underTest.launchingFromTriggeredResult)
            assertThat(launchingFromTriggeredResult?.launched).isEqualTo(actionLaunched)
            assertThat(launchingFromTriggeredResult?.configKey).isEqualTo(encodedKey)
        }

    companion object {
        private const val CONTENT_DESCRIPTION_RESOURCE_ID = 1337
        private val ICON: Icon =
Loading