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

Commit 7969886b authored by Behnam Heydarshahi's avatar Behnam Heydarshahi Committed by Android (Google) Code Review
Browse files

Merge "improve qs tile directory structure" into main

parents cb4d3146 7dce3b8e
Loading
Loading
Loading
Loading
+5 −10
Original line number Diff line number Diff line
@@ -32,12 +32,12 @@ import com.android.systemui.qs.pipeline.data.repository.FakeInstalledTilesCompon
import com.android.systemui.qs.pipeline.data.repository.fakeInstalledTilesRepository
import com.android.systemui.qs.pipeline.shared.TileSpec
import com.android.systemui.qs.shared.model.TileCategory
import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig
import com.android.systemui.qs.tiles.base.shared.model.fakeQSTileConfigProvider
import com.android.systemui.qs.tiles.base.shared.model.qSTileConfigProvider
import com.android.systemui.qs.tiles.impl.battery.qsBatterySaverTileConfig
import com.android.systemui.qs.tiles.impl.flashlight.qsFlashlightTileConfig
import com.android.systemui.qs.tiles.impl.internet.qsInternetTileConfig
import com.android.systemui.qs.tiles.viewmodel.QSTileConfig
import com.android.systemui.qs.tiles.viewmodel.fakeQSTileConfigProvider
import com.android.systemui.qs.tiles.viewmodel.qSTileConfigProvider
import com.android.systemui.settings.userTracker
import com.android.systemui.testKosmos
import com.google.common.truth.Truth.assertThat
@@ -58,12 +58,7 @@ class EditTilesListInteractorTest : SysuiTestCase() {
    private val batteryTileConfig = kosmos.qsBatterySaverTileConfig

    private val serviceInfo =
        FakeInstalledTilesComponentRepository.ServiceInfo(
            component,
            tileName,
            icon,
            appName,
        )
        FakeInstalledTilesComponentRepository.ServiceInfo(component, tileName, icon, appName)

    private val underTest =
        with(kosmos) {
@@ -79,7 +74,7 @@ class EditTilesListInteractorTest : SysuiTestCase() {
        with(kosmos) {
            fakeInstalledTilesRepository.setInstalledServicesForUser(
                userTracker.userId,
                listOf(serviceInfo)
                listOf(serviceInfo),
            )

            with(fakeQSTileConfigProvider) {
+45 −34
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@ import com.android.systemui.SysuiTestCase
import com.android.systemui.coroutines.collectLastValue
import com.android.systemui.kosmos.testScope
import com.android.systemui.qs.pipeline.shared.TileSpec
import com.android.systemui.qs.tiles.base.interactor.QSTileAvailabilityInteractor
import com.android.systemui.qs.tiles.base.domain.interactor.QSTileAvailabilityInteractor
import com.android.systemui.statusbar.connectivity.ConnectivityModule.Companion.AIRPLANE_MODE_TILE_SPEC
import com.android.systemui.statusbar.connectivity.ConnectivityModule.Companion.HOTSPOT_TILE_SPEC
import com.android.systemui.statusbar.policy.PolicyModule.Companion.WORK_MODE_TILE_SPEC
@@ -38,28 +38,36 @@ import org.junit.runner.RunWith
@RunWith(AndroidJUnit4::class)
@SmallTest
class NewTilesAvailabilityInteractorTest : SysuiTestCase() {
    private val kosmos = testKosmos().apply {
    private val kosmos =
        testKosmos().apply {
            tileAvailabilityInteractorsMap = buildMap {
                put(AIRPLANE_MODE_TILE_SPEC, QSTileAvailabilityInteractor.AlwaysAvailableInteractor)
            put(WORK_MODE_TILE_SPEC, FakeTileAvailabilityInteractor(
                    mapOf(
                       fakeUserRepository.getSelectedUserInfo().id to flowOf(true),
                    ).withDefault { flowOf(false) }
            ))
            put(HOTSPOT_TILE_SPEC, FakeTileAvailabilityInteractor(
                put(
                    WORK_MODE_TILE_SPEC,
                    FakeTileAvailabilityInteractor(
                        mapOf(fakeUserRepository.getSelectedUserInfo().id to flowOf(true))
                            .withDefault { flowOf(false) }
                    ),
                )
                put(
                    HOTSPOT_TILE_SPEC,
                    FakeTileAvailabilityInteractor(
                        emptyMap<Int, Flow<Boolean>>().withDefault { flowOf(false) }
            ))
                    ),
                )
            }
        }

    private val underTest by lazy { kosmos.newTilesAvailabilityInteractor }

    @Test
    fun defaultUser_getAvailabilityFlow() = with(kosmos) {
    fun defaultUser_getAvailabilityFlow() =
        with(kosmos) {
            testScope.runTest {
                val availability by collectLastValue(underTest.newTilesAvailable)

            assertThat(availability).isEqualTo(
                assertThat(availability)
                    .isEqualTo(
                        mapOf(
                            TileSpec.create(AIRPLANE_MODE_TILE_SPEC) to true,
                            TileSpec.create(WORK_MODE_TILE_SPEC) to true,
@@ -70,12 +78,14 @@ class NewTilesAvailabilityInteractorTest : SysuiTestCase() {
        }

    @Test
    fun getAvailabilityFlow_userChange() = with(kosmos) {
    fun getAvailabilityFlow_userChange() =
        with(kosmos) {
            testScope.runTest {
                val availability by collectLastValue(underTest.newTilesAvailable)
                fakeUserRepository.asMainUser()

            assertThat(availability).isEqualTo(
                assertThat(availability)
                    .isEqualTo(
                        mapOf(
                            TileSpec.create(AIRPLANE_MODE_TILE_SPEC) to true,
                            TileSpec.create(WORK_MODE_TILE_SPEC) to false,
@@ -86,7 +96,8 @@ class NewTilesAvailabilityInteractorTest : SysuiTestCase() {
        }

    @Test
    fun noAvailabilityInteractor_emptyMap() = with(kosmos) {
    fun noAvailabilityInteractor_emptyMap() =
        with(kosmos) {
            testScope.runTest {
                tileAvailabilityInteractorsMap = emptyMap()

+1 −1
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ import com.android.systemui.qs.FakeQSFactory
import com.android.systemui.qs.FakeQSTile
import com.android.systemui.qs.pipeline.shared.TileSpec
import com.android.systemui.qs.qsTileFactory
import com.android.systemui.qs.tiles.base.interactor.QSTileAvailabilityInteractor
import com.android.systemui.qs.tiles.base.domain.interactor.QSTileAvailabilityInteractor
import com.android.systemui.statusbar.connectivity.ConnectivityModule.Companion.AIRPLANE_MODE_TILE_SPEC
import com.android.systemui.statusbar.connectivity.ConnectivityModule.Companion.HOTSPOT_TILE_SPEC
import com.android.systemui.statusbar.connectivity.ConnectivityModule.Companion.INTERNET_TILE_SPEC
+3 −3
Original line number Diff line number Diff line
@@ -49,6 +49,9 @@ import com.android.systemui.qs.pipeline.shared.TileSpec
import com.android.systemui.qs.pipeline.shared.metricSpec
import com.android.systemui.qs.qsTileFactory
import com.android.systemui.qs.shared.model.TileCategory
import com.android.systemui.qs.tiles.base.shared.model.QSTileConfig
import com.android.systemui.qs.tiles.base.shared.model.fakeQSTileConfigProvider
import com.android.systemui.qs.tiles.base.shared.model.qSTileConfigProvider
import com.android.systemui.qs.tiles.impl.airplane.qsAirplaneModeTileConfig
import com.android.systemui.qs.tiles.impl.alarm.qsAlarmTileConfig
import com.android.systemui.qs.tiles.impl.battery.qsBatterySaverTileConfig
@@ -56,9 +59,6 @@ import com.android.systemui.qs.tiles.impl.flashlight.qsFlashlightTileConfig
import com.android.systemui.qs.tiles.impl.internet.qsInternetTileConfig
import com.android.systemui.qs.tiles.impl.sensorprivacy.qsCameraSensorPrivacyToggleTileConfig
import com.android.systemui.qs.tiles.impl.sensorprivacy.qsMicrophoneSensorPrivacyToggleTileConfig
import com.android.systemui.qs.tiles.viewmodel.QSTileConfig
import com.android.systemui.qs.tiles.viewmodel.fakeQSTileConfigProvider
import com.android.systemui.qs.tiles.viewmodel.qSTileConfigProvider
import com.android.systemui.settings.userTracker
import com.android.systemui.testKosmos
import com.google.common.truth.Truth.assertThat
+1 −1
Original line number Diff line number Diff line
@@ -49,7 +49,7 @@ import com.android.systemui.qs.pipeline.shared.TileSpec
import com.android.systemui.qs.pipeline.shared.logging.QSPipelineLogger
import com.android.systemui.qs.pipeline.shared.logging.qsLogger
import com.android.systemui.qs.qsTileFactory
import com.android.systemui.qs.tiles.di.newQSTileFactory
import com.android.systemui.qs.tiles.base.ui.model.newQSTileFactory
import com.android.systemui.qs.toProto
import com.android.systemui.settings.fakeUserTracker
import com.android.systemui.testKosmos
Loading