Loading packages/SystemUI/multivalentTests/src/com/android/systemui/qs/pipeline/data/repository/TileSpecSettingsRepositoryTest.kt +15 −0 Original line number Diff line number Diff line Loading @@ -203,6 +203,21 @@ class TileSpecSettingsRepositoryTest : SysuiTestCase() { .containsExactlyElementsIn(DEFAULT_TILES.toTileSpecs() + startingTiles) } @Test fun prependDefault_noChangesWhenInRetail() = testScope.runTest { val user = 0 retailModeRepository.setRetailMode(true) val startingTiles = "a" storeTilesForUser(startingTiles, user) runCurrent() underTest.prependDefault(user) runCurrent() assertThat(loadTilesForUser(user)).isEqualTo(startingTiles) } private fun TestScope.storeTilesForUser(specs: String, forUser: Int) { secureSettings.putStringForUser(SETTING, specs, forUser) runCurrent() Loading packages/SystemUI/multivalentTests/src/com/android/systemui/qs/pipeline/data/repository/UserTileSpecRepositoryTest.kt +26 −0 Original line number Diff line number Diff line Loading @@ -327,6 +327,32 @@ class UserTileSpecRepositoryTest : SysuiTestCase() { assertThat(loadTiles()).isEqualTo(expected) } @Test fun setTilesWithRepeats_onlyDistinctTiles() = testScope.runTest { val tilesToSet = "a,b,c,a,d,b".toTileSpecs() val expected = "a,b,c,d" val tiles by collectLastValue(underTest.tiles()) underTest.setTiles(tilesToSet) assertThat(tiles).isEqualTo(expected.toTileSpecs()) assertThat(loadTiles()).isEqualTo(expected) } @Test fun prependDefaultTwice_doesntAddMoreTiles() = testScope.runTest { val tiles by collectLastValue(underTest.tiles()) underTest.setTiles(listOf(TileSpec.create("a"))) underTest.prependDefault() val currentTiles = tiles!! underTest.prependDefault() assertThat(tiles).isEqualTo(currentTiles) } private fun getDefaultTileSpecs(): List<TileSpec> { return defaultTilesRepository.defaultTiles } Loading packages/SystemUI/multivalentTests/src/com/android/systemui/qs/pipeline/domain/interactor/CurrentTilesInteractorImplTest.kt +3 −0 Original line number Diff line number Diff line Loading @@ -49,6 +49,7 @@ import com.android.systemui.qs.pipeline.shared.TileSpec import com.android.systemui.qs.pipeline.shared.logging.QSPipelineLogger import com.android.systemui.qs.tiles.di.NewQSTileFactory import com.android.systemui.qs.toProto import com.android.systemui.retail.data.repository.FakeRetailModeRepository import com.android.systemui.settings.UserTracker import com.android.systemui.user.data.repository.FakeUserRepository import com.android.systemui.util.mockito.any Loading Loading @@ -85,6 +86,7 @@ class CurrentTilesInteractorImplTest : SysuiTestCase() { private val pipelineFlags = QSPipelineFlagsRepository() private val tileLifecycleManagerFactory = TLMFactory() private val minimumTilesRepository = MinimumTilesFixedRepository() private val retailModeRepository = FakeRetailModeRepository() @Mock private lateinit var customTileStatePersister: CustomTileStatePersister Loading Loading @@ -118,6 +120,7 @@ class CurrentTilesInteractorImplTest : SysuiTestCase() { installedTilesComponentRepository = installedTilesPackageRepository, userRepository = userRepository, minimumTilesRepository = minimumTilesRepository, retailModeRepository = retailModeRepository, customTileStatePersister = customTileStatePersister, tileFactory = tileFactory, newQSTileFactory = { newQSTileFactory }, Loading packages/SystemUI/multivalentTests/src/com/android/systemui/qs/pipeline/domain/interactor/NoLowNumberOfTilesTest.kt +15 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,8 @@ import com.android.systemui.qs.pipeline.data.repository.MinimumTilesFixedReposit import com.android.systemui.qs.pipeline.data.repository.fakeDefaultTilesRepository import com.android.systemui.qs.pipeline.data.repository.fakeMinimumTilesRepository import com.android.systemui.qs.pipeline.data.repository.fakeRestoreRepository import com.android.systemui.qs.pipeline.data.repository.fakeRetailModeRepository import com.android.systemui.qs.pipeline.data.repository.fakeTileSpecRepository import com.android.systemui.qs.pipeline.shared.TileSpec import com.android.systemui.qs.qsTileFactory import com.android.systemui.settings.fakeUserTracker Loading Loading @@ -138,6 +140,19 @@ class NoLowNumberOfTilesTest : SysuiTestCase() { } } @Test fun inRetailMode_onlyOneTile_noPrependDefault() = with(kosmos) { testScope.runTest { fakeRetailModeRepository.setRetailMode(true) fakeTileSpecRepository.setTiles(0, listOf(goodTile)) val tiles by collectLastValue(currentTilesInteractor.currentTiles) runCurrent() assertThat(tiles!!.map { it.spec }).isEqualTo(listOf(goodTile)) } } private fun tileCreator(spec: String): QSTile? { return if (spec.contains("OEM")) { null // We don't know how to create OEM spec tiles Loading packages/SystemUI/src/com/android/systemui/qs/pipeline/data/repository/TileSpecRepository.kt +3 −0 Original line number Diff line number Diff line Loading @@ -158,6 +158,9 @@ constructor( override suspend fun prependDefault( userId: Int, ) { if (retailModeRepository.inRetailMode) { return } userTileRepositories.get(userId)?.prependDefault() } Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/qs/pipeline/data/repository/TileSpecSettingsRepositoryTest.kt +15 −0 Original line number Diff line number Diff line Loading @@ -203,6 +203,21 @@ class TileSpecSettingsRepositoryTest : SysuiTestCase() { .containsExactlyElementsIn(DEFAULT_TILES.toTileSpecs() + startingTiles) } @Test fun prependDefault_noChangesWhenInRetail() = testScope.runTest { val user = 0 retailModeRepository.setRetailMode(true) val startingTiles = "a" storeTilesForUser(startingTiles, user) runCurrent() underTest.prependDefault(user) runCurrent() assertThat(loadTilesForUser(user)).isEqualTo(startingTiles) } private fun TestScope.storeTilesForUser(specs: String, forUser: Int) { secureSettings.putStringForUser(SETTING, specs, forUser) runCurrent() Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/qs/pipeline/data/repository/UserTileSpecRepositoryTest.kt +26 −0 Original line number Diff line number Diff line Loading @@ -327,6 +327,32 @@ class UserTileSpecRepositoryTest : SysuiTestCase() { assertThat(loadTiles()).isEqualTo(expected) } @Test fun setTilesWithRepeats_onlyDistinctTiles() = testScope.runTest { val tilesToSet = "a,b,c,a,d,b".toTileSpecs() val expected = "a,b,c,d" val tiles by collectLastValue(underTest.tiles()) underTest.setTiles(tilesToSet) assertThat(tiles).isEqualTo(expected.toTileSpecs()) assertThat(loadTiles()).isEqualTo(expected) } @Test fun prependDefaultTwice_doesntAddMoreTiles() = testScope.runTest { val tiles by collectLastValue(underTest.tiles()) underTest.setTiles(listOf(TileSpec.create("a"))) underTest.prependDefault() val currentTiles = tiles!! underTest.prependDefault() assertThat(tiles).isEqualTo(currentTiles) } private fun getDefaultTileSpecs(): List<TileSpec> { return defaultTilesRepository.defaultTiles } Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/qs/pipeline/domain/interactor/CurrentTilesInteractorImplTest.kt +3 −0 Original line number Diff line number Diff line Loading @@ -49,6 +49,7 @@ import com.android.systemui.qs.pipeline.shared.TileSpec import com.android.systemui.qs.pipeline.shared.logging.QSPipelineLogger import com.android.systemui.qs.tiles.di.NewQSTileFactory import com.android.systemui.qs.toProto import com.android.systemui.retail.data.repository.FakeRetailModeRepository import com.android.systemui.settings.UserTracker import com.android.systemui.user.data.repository.FakeUserRepository import com.android.systemui.util.mockito.any Loading Loading @@ -85,6 +86,7 @@ class CurrentTilesInteractorImplTest : SysuiTestCase() { private val pipelineFlags = QSPipelineFlagsRepository() private val tileLifecycleManagerFactory = TLMFactory() private val minimumTilesRepository = MinimumTilesFixedRepository() private val retailModeRepository = FakeRetailModeRepository() @Mock private lateinit var customTileStatePersister: CustomTileStatePersister Loading Loading @@ -118,6 +120,7 @@ class CurrentTilesInteractorImplTest : SysuiTestCase() { installedTilesComponentRepository = installedTilesPackageRepository, userRepository = userRepository, minimumTilesRepository = minimumTilesRepository, retailModeRepository = retailModeRepository, customTileStatePersister = customTileStatePersister, tileFactory = tileFactory, newQSTileFactory = { newQSTileFactory }, Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/qs/pipeline/domain/interactor/NoLowNumberOfTilesTest.kt +15 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,8 @@ import com.android.systemui.qs.pipeline.data.repository.MinimumTilesFixedReposit import com.android.systemui.qs.pipeline.data.repository.fakeDefaultTilesRepository import com.android.systemui.qs.pipeline.data.repository.fakeMinimumTilesRepository import com.android.systemui.qs.pipeline.data.repository.fakeRestoreRepository import com.android.systemui.qs.pipeline.data.repository.fakeRetailModeRepository import com.android.systemui.qs.pipeline.data.repository.fakeTileSpecRepository import com.android.systemui.qs.pipeline.shared.TileSpec import com.android.systemui.qs.qsTileFactory import com.android.systemui.settings.fakeUserTracker Loading Loading @@ -138,6 +140,19 @@ class NoLowNumberOfTilesTest : SysuiTestCase() { } } @Test fun inRetailMode_onlyOneTile_noPrependDefault() = with(kosmos) { testScope.runTest { fakeRetailModeRepository.setRetailMode(true) fakeTileSpecRepository.setTiles(0, listOf(goodTile)) val tiles by collectLastValue(currentTilesInteractor.currentTiles) runCurrent() assertThat(tiles!!.map { it.spec }).isEqualTo(listOf(goodTile)) } } private fun tileCreator(spec: String): QSTile? { return if (spec.contains("OEM")) { null // We don't know how to create OEM spec tiles Loading
packages/SystemUI/src/com/android/systemui/qs/pipeline/data/repository/TileSpecRepository.kt +3 −0 Original line number Diff line number Diff line Loading @@ -158,6 +158,9 @@ constructor( override suspend fun prependDefault( userId: Int, ) { if (retailModeRepository.inRetailMode) { return } userTileRepositories.get(userId)?.prependDefault() } Loading