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

Commit 810c4aed authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Make modesHidingNotifications return ActiveZenModes" into main

parents 35bded44 482bf795
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -104,7 +104,7 @@ class ModesTileUserActionInteractorTest : SysuiTestCase() {
                    TestModeBuilder().setName("Mode 2").setActive(true).build(),
                )
            )
            assertThat(activeModes?.modeNames?.count()).isEqualTo(3)
            assertThat(activeModes?.count).isEqualTo(3)

            underTest.handleInput(
                QSTileInputTestKtx.toggleClick(
+27 −31
Original line number Diff line number Diff line
@@ -286,26 +286,24 @@ class ZenModeInteractorTest : SysuiTestCase() {

            zenModeRepository.addMode(id = "Bedtime", type = AutomaticZenRule.TYPE_BEDTIME)
            zenModeRepository.addMode(id = "Other", type = AutomaticZenRule.TYPE_OTHER)
            assertThat(activeModes?.modeNames).hasSize(0)
            assertThat(activeModes?.mainMode).isNull()
            assertThat(activeModes?.names).hasSize(0)
            assertThat(activeModes?.main).isNull()

            zenModeRepository.activateMode("Other")
            assertThat(activeModes?.modeNames).containsExactly("Mode Other")
            assertThat(activeModes?.mainMode?.name).isEqualTo("Mode Other")
            assertThat(activeModes?.names).containsExactly("Mode Other")
            assertThat(activeModes?.main?.name).isEqualTo("Mode Other")

            zenModeRepository.activateMode("Bedtime")
            assertThat(activeModes?.modeNames)
                .containsExactly("Mode Bedtime", "Mode Other")
                .inOrder()
            assertThat(activeModes?.mainMode?.name).isEqualTo("Mode Bedtime")
            assertThat(activeModes?.names).containsExactly("Mode Bedtime", "Mode Other").inOrder()
            assertThat(activeModes?.main?.name).isEqualTo("Mode Bedtime")

            zenModeRepository.deactivateMode("Other")
            assertThat(activeModes?.modeNames).containsExactly("Mode Bedtime")
            assertThat(activeModes?.mainMode?.name).isEqualTo("Mode Bedtime")
            assertThat(activeModes?.names).containsExactly("Mode Bedtime")
            assertThat(activeModes?.main?.name).isEqualTo("Mode Bedtime")

            zenModeRepository.deactivateMode("Bedtime")
            assertThat(activeModes?.modeNames).hasSize(0)
            assertThat(activeModes?.mainMode).isNull()
            assertThat(activeModes?.names).hasSize(0)
            assertThat(activeModes?.main).isNull()
        }

    @Test
@@ -316,30 +314,28 @@ class ZenModeInteractorTest : SysuiTestCase() {
            zenModeRepository.addMode(id = "Other", type = AutomaticZenRule.TYPE_OTHER)

            var activeModes = underTest.getActiveModes()
            assertThat(activeModes.modeNames).hasSize(0)
            assertThat(activeModes.mainMode).isNull()
            assertThat(activeModes.names).hasSize(0)
            assertThat(activeModes.main).isNull()

            zenModeRepository.activateMode("Other")
            activeModes = underTest.getActiveModes()
            assertThat(activeModes.modeNames).containsExactly("Mode Other")
            assertThat(activeModes.mainMode?.name).isEqualTo("Mode Other")
            assertThat(activeModes.names).containsExactly("Mode Other")
            assertThat(activeModes.main?.name).isEqualTo("Mode Other")

            zenModeRepository.activateMode("Bedtime")
            activeModes = underTest.getActiveModes()
            assertThat(activeModes.modeNames)
                .containsExactly("Mode Bedtime", "Mode Other")
                .inOrder()
            assertThat(activeModes.mainMode?.name).isEqualTo("Mode Bedtime")
            assertThat(activeModes.names).containsExactly("Mode Bedtime", "Mode Other").inOrder()
            assertThat(activeModes.main?.name).isEqualTo("Mode Bedtime")

            zenModeRepository.deactivateMode("Other")
            activeModes = underTest.getActiveModes()
            assertThat(activeModes.modeNames).containsExactly("Mode Bedtime")
            assertThat(activeModes.mainMode?.name).isEqualTo("Mode Bedtime")
            assertThat(activeModes.names).containsExactly("Mode Bedtime")
            assertThat(activeModes.main?.name).isEqualTo("Mode Bedtime")

            zenModeRepository.deactivateMode("Bedtime")
            activeModes = underTest.getActiveModes()
            assertThat(activeModes.modeNames).hasSize(0)
            assertThat(activeModes.mainMode).isNull()
            assertThat(activeModes.names).hasSize(0)
            assertThat(activeModes.main).isNull()
        }

    @Test
@@ -431,8 +427,8 @@ class ZenModeInteractorTest : SysuiTestCase() {
                )
            )

            assertThat(blockingMedia!!.mainMode!!.name).isEqualTo("Blocks media, Active")
            assertThat(blockingMedia!!.modeNames)
            assertThat(blockingMedia!!.main!!.name).isEqualTo("Blocks media, Active")
            assertThat(blockingMedia!!.names)
                .containsExactly("Blocks media, Active", "Blocks media, Active Too")
                .inOrder()
        }
@@ -470,8 +466,8 @@ class ZenModeInteractorTest : SysuiTestCase() {
                )
            )

            assertThat(blockingAlarms!!.mainMode!!.name).isEqualTo("Blocks alarms, Active")
            assertThat(blockingAlarms!!.modeNames)
            assertThat(blockingAlarms!!.main!!.name).isEqualTo("Blocks alarms, Active")
            assertThat(blockingAlarms!!.names)
                .containsExactly("Blocks alarms, Active", "Blocks alarms, Active Too")
                .inOrder()
        }
@@ -509,8 +505,8 @@ class ZenModeInteractorTest : SysuiTestCase() {
                )
            )

            assertThat(blockingSystem!!.mainMode!!.name).isEqualTo("Blocks system, Active")
            assertThat(blockingSystem!!.modeNames)
            assertThat(blockingSystem!!.main!!.name).isEqualTo("Blocks system, Active")
            assertThat(blockingSystem!!.names)
                .containsExactly("Blocks system, Active", "Blocks system, Active Too")
                .inOrder()
        }
@@ -550,7 +546,7 @@ class ZenModeInteractorTest : SysuiTestCase() {
                )
            )

            assertThat(modesHidingNotifications?.map { it.name })
            assertThat(modesHidingNotifications?.names)
                .containsExactly("Has list suppression 1", "Has list suppression 2")
                .inOrder()
        }
+2 −2
Original line number Diff line number Diff line
@@ -184,9 +184,9 @@ constructor(
    private fun buildTileDataLegacy(activeModes: ActiveZenModes): ModesTileModel {
        return ModesTileModel(
            isActivated = activeModes.isAnyActive(),
            activeModes = activeModes.modeNames.map { ModesTileModel.ActiveMode(null, it) },
            activeModes = activeModes.names.map { ModesTileModel.ActiveMode(null, it) },
            icon =
                if (activeModes.mainMode != null) activeModes.mainMode.icon.toTileIcon()
                if (activeModes.main != null) activeModes.main.icon.toTileIcon()
                else getDefaultTileIcon(),
            quickMode = null,
        )
+6 −7
Original line number Diff line number Diff line
@@ -82,11 +82,10 @@ constructor(
                // out, or something like "Notifications paused by SomeMode" otherwise.
                val msgFormat =
                    MessageFormat(context.getString(R.string.modes_suppressing_shade_text), locale)
                val count = modes.count()
                val args: MutableMap<String, Any> = HashMap()
                args["count"] = count
                if (count >= 1) {
                    args["mode"] = modes[0].name
                args["count"] = modes.count
                if (modes.main != null) {
                    args["mode"] = modes.main.name
                }
                msgFormat.format(args)
            }
@@ -106,9 +105,9 @@ constructor(
                zenModeInteractor.modesHidingNotifications,
                notificationSettingsInteractor.isNotificationHistoryEnabled,
            ) { modes, isNotificationHistoryEnabled ->
                if (modes.isNotEmpty()) {
                    if (modes.size == 1) {
                        SettingsIntent.forModeSettings(modes[0].id)
                if (modes.main != null) {
                    if (modes.count == 1) {
                        SettingsIntent.forModeSettings(modes.main.id)
                    } else {
                        SettingsIntent.forModesSettings()
                    }
+4 −4
Original line number Diff line number Diff line
@@ -176,15 +176,14 @@ constructor(
        val activeModesList =
            modes.filter { mode -> mode.isActive }.sortedWith(ZenMode.PRIORITIZING_COMPARATOR)
        val mainActiveMode =
            activeModesList.firstOrNull()?.let { ZenModeInfo(it.name, getModeIcon(it)) }
            activeModesList.firstOrNull()?.let { ZenModeInfo(it.id, it.name, getModeIcon(it)) }

        return ActiveZenModes(activeModesList.map { m -> m.name }, mainActiveMode)
    }

    val mainActiveMode: Flow<ZenModeInfo?> =
        activeModes.map { a -> a.mainMode }.distinctUntilChanged()
    val mainActiveMode: Flow<ZenModeInfo?> = activeModes.map { a -> a.main }.distinctUntilChanged()

    val modesHidingNotifications: Flow<List<ZenMode>> by lazy {
    val modesHidingNotifications: Flow<ActiveZenModes> by lazy {
        modes
            .map { modes ->
                modes.filter { mode ->
@@ -195,6 +194,7 @@ constructor(
                        )
                }
            }
            .map { modes -> buildActiveZenModes(modes) }
            .flowOn(bgDispatcher)
            .distinctUntilChanged()
    }
Loading