Loading packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractorTest.kt +29 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import com.android.systemui.statusbar.core.StatusBarRootModernization import com.android.systemui.statusbar.pipeline.mobile.data.model.SubscriptionModel import com.android.systemui.statusbar.pipeline.mobile.data.repository.FakeMobileConnectionRepository import com.android.systemui.statusbar.pipeline.mobile.data.repository.fake import com.android.systemui.statusbar.pipeline.mobile.data.repository.fakeMobileConnectionsRepository import com.android.systemui.statusbar.pipeline.mobile.data.repository.mobileConnectionsRepository import com.android.systemui.statusbar.pipeline.mobile.data.repository.mobileConnectionsRepositoryLogbufferName import com.android.systemui.statusbar.pipeline.shared.data.model.ConnectivitySlot Loading Loading @@ -937,6 +938,34 @@ class MobileIconsInteractorTest : SysuiTestCase() { assertThat(latest).isFalse() } @Test @EnableFlags(NewStatusBarIcons.FLAG_NAME, StatusBarRootModernization.FLAG_NAME) fun isStackable_checksForNumberOfBars() = kosmos.runTest { val latest by collectLastValue(underTest.isStackable) // Number of levels is the same for both connectionsRepository.setSubscriptions(listOf(SUB_1, SUB_2)) setNumberOfLevelsForSubId(SUB_1_ID, 5) setNumberOfLevelsForSubId(SUB_2_ID, 5) assertThat(latest).isTrue() // Change the number of levels to be different than SUB_2 setNumberOfLevelsForSubId(SUB_1_ID, 6) assertThat(latest).isFalse() } private fun setNumberOfLevelsForSubId(subId: Int, numberOfLevels: Int) { with(kosmos) { (fakeMobileConnectionsRepository.getRepoForSubId(subId) as FakeMobileConnectionRepository) .numberOfLevels .value = numberOfLevels } } /** * Convenience method for creating a pair of subscriptions to test the filteredSubscriptions * flow. Loading packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractor.kt +9 −2 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import com.android.systemui.statusbar.pipeline.dagger.MobileSummaryLog import com.android.systemui.statusbar.pipeline.mobile.data.model.SubscriptionModel import com.android.systemui.statusbar.pipeline.mobile.data.repository.MobileConnectionRepository import com.android.systemui.statusbar.pipeline.mobile.data.repository.MobileConnectionsRepository import com.android.systemui.statusbar.pipeline.mobile.domain.model.SignalIconModel import com.android.systemui.statusbar.pipeline.shared.data.model.ConnectivitySlot import com.android.systemui.statusbar.pipeline.shared.data.repository.ConnectivityRepository import com.android.systemui.statusbar.policy.data.repository.UserSetupRepository Loading Loading @@ -309,8 +310,14 @@ constructor( override val isStackable = if (NewStatusBarIcons.isEnabled && StatusBarRootModernization.isEnabled) { icons.flatMapLatest { icons -> combine(icons.map { it.isNonTerrestrial }) { it.size == 2 && it.none { isNonTerrestrial -> isNonTerrestrial } combine(icons.map { it.signalLevelIcon }) { signalLevelIcons -> // These are only stackable if: // - They are cellular // - There's exactly two // - They have the same number of levels signalLevelIcons.filterIsInstance<SignalIconModel.Cellular>().let { it.size == 2 && it[0].numberOfLevels == it[1].numberOfLevels } } } } else { Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractorTest.kt +29 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import com.android.systemui.statusbar.core.StatusBarRootModernization import com.android.systemui.statusbar.pipeline.mobile.data.model.SubscriptionModel import com.android.systemui.statusbar.pipeline.mobile.data.repository.FakeMobileConnectionRepository import com.android.systemui.statusbar.pipeline.mobile.data.repository.fake import com.android.systemui.statusbar.pipeline.mobile.data.repository.fakeMobileConnectionsRepository import com.android.systemui.statusbar.pipeline.mobile.data.repository.mobileConnectionsRepository import com.android.systemui.statusbar.pipeline.mobile.data.repository.mobileConnectionsRepositoryLogbufferName import com.android.systemui.statusbar.pipeline.shared.data.model.ConnectivitySlot Loading Loading @@ -937,6 +938,34 @@ class MobileIconsInteractorTest : SysuiTestCase() { assertThat(latest).isFalse() } @Test @EnableFlags(NewStatusBarIcons.FLAG_NAME, StatusBarRootModernization.FLAG_NAME) fun isStackable_checksForNumberOfBars() = kosmos.runTest { val latest by collectLastValue(underTest.isStackable) // Number of levels is the same for both connectionsRepository.setSubscriptions(listOf(SUB_1, SUB_2)) setNumberOfLevelsForSubId(SUB_1_ID, 5) setNumberOfLevelsForSubId(SUB_2_ID, 5) assertThat(latest).isTrue() // Change the number of levels to be different than SUB_2 setNumberOfLevelsForSubId(SUB_1_ID, 6) assertThat(latest).isFalse() } private fun setNumberOfLevelsForSubId(subId: Int, numberOfLevels: Int) { with(kosmos) { (fakeMobileConnectionsRepository.getRepoForSubId(subId) as FakeMobileConnectionRepository) .numberOfLevels .value = numberOfLevels } } /** * Convenience method for creating a pair of subscriptions to test the filteredSubscriptions * flow. Loading
packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractor.kt +9 −2 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import com.android.systemui.statusbar.pipeline.dagger.MobileSummaryLog import com.android.systemui.statusbar.pipeline.mobile.data.model.SubscriptionModel import com.android.systemui.statusbar.pipeline.mobile.data.repository.MobileConnectionRepository import com.android.systemui.statusbar.pipeline.mobile.data.repository.MobileConnectionsRepository import com.android.systemui.statusbar.pipeline.mobile.domain.model.SignalIconModel import com.android.systemui.statusbar.pipeline.shared.data.model.ConnectivitySlot import com.android.systemui.statusbar.pipeline.shared.data.repository.ConnectivityRepository import com.android.systemui.statusbar.policy.data.repository.UserSetupRepository Loading Loading @@ -309,8 +310,14 @@ constructor( override val isStackable = if (NewStatusBarIcons.isEnabled && StatusBarRootModernization.isEnabled) { icons.flatMapLatest { icons -> combine(icons.map { it.isNonTerrestrial }) { it.size == 2 && it.none { isNonTerrestrial -> isNonTerrestrial } combine(icons.map { it.signalLevelIcon }) { signalLevelIcons -> // These are only stackable if: // - They are cellular // - There's exactly two // - They have the same number of levels signalLevelIcons.filterIsInstance<SignalIconModel.Cellular>().let { it.size == 2 && it[0].numberOfLevels == it[1].numberOfLevels } } } } else { Loading