Loading packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/InternetTileNewImplTest.kt +2 −1 Original line number Diff line number Diff line Loading @@ -48,7 +48,6 @@ import com.android.systemui.statusbar.pipeline.wifi.data.repository.FakeWifiRepo import com.android.systemui.statusbar.pipeline.wifi.domain.interactor.WifiInteractorImpl import com.android.systemui.statusbar.pipeline.wifi.shared.model.WifiNetworkModel import com.android.systemui.statusbar.pipeline.wifi.shared.model.WifiScanEntry import com.android.systemui.util.mockito.mock import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.test.StandardTestDispatcher import kotlinx.coroutines.test.TestScope Loading @@ -60,6 +59,7 @@ import org.junit.Test import org.junit.runner.RunWith import org.mockito.Mock import org.mockito.MockitoAnnotations import org.mockito.kotlin.mock import org.mockito.kotlin.whenever import platform.test.runner.parameterized.ParameterizedAndroidJunit4 import platform.test.runner.parameterized.Parameters Loading Loading @@ -113,6 +113,7 @@ class InternetTileNewImplTest(flags: FlagsParameterization) : SysuiTestCase() { connectivityRepository, ethernetInteractor, mobileIconsInteractor, mock(), wifiInteractor, context, testScope.backgroundScope, Loading packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileDataInteractorTest.kt +9 −1 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.internet.domain.model.InternetTileModel import com.android.systemui.res.R import com.android.systemui.statusbar.connectivity.WifiIcons import com.android.systemui.statusbar.connectivity.ui.MobileContextProvider import com.android.systemui.statusbar.pipeline.airplane.data.repository.FakeAirplaneModeRepository import com.android.systemui.statusbar.pipeline.ethernet.domain.EthernetInteractor import com.android.systemui.statusbar.pipeline.mobile.data.model.DataConnectionState Loading @@ -55,13 +56,15 @@ import com.android.systemui.statusbar.pipeline.wifi.ui.model.WifiIcon import com.android.systemui.statusbar.policy.data.repository.FakeUserSetupRepository import com.android.systemui.testKosmos import com.android.systemui.util.CarrierConfigTracker import com.android.systemui.util.mockito.mock import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.test.runTest import org.junit.Before import org.junit.Test import org.junit.runner.RunWith import org.mockito.kotlin.any import org.mockito.kotlin.mock import org.mockito.kotlin.whenever @SmallTest @RunWith(AndroidJUnit4::class) Loading Loading @@ -90,6 +93,8 @@ class InternetTileDataInteractorTest : SysuiTestCase() { private val mobileConnectionRepository = FakeMobileConnectionRepository(SUB_1_ID, tableLogBuffer) private val mobileContextProvider = mock<MobileContextProvider>() private val flags = FakeFeatureFlagsClassic().also { it.set(Flags.FILTER_PROVISIONING_NETWORK_SUBSCRIPTIONS, true) Loading @@ -99,6 +104,8 @@ class InternetTileDataInteractorTest : SysuiTestCase() { @Before fun setUp() { whenever(mobileContextProvider.getMobileContextForSub(any(), any())).thenReturn(context) mobileConnectionRepository.apply { setNetworkTypeKey(mobileConnectionsRepository.GSM_KEY) isInService.value = true Loading Loading @@ -145,6 +152,7 @@ class InternetTileDataInteractorTest : SysuiTestCase() { connectivityRepository, ethernetInteractor, mobileIconsInteractor, mobileContextProvider, wifiInteractor, ) } Loading packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/shared/ui/viewmodel/InternetTileViewModelTest.kt +11 −11 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import com.android.systemui.log.table.logcatTableLogBuffer import com.android.systemui.qs.tileimpl.QSTileImpl.ResourceIcon import com.android.systemui.res.R import com.android.systemui.statusbar.connectivity.WifiIcons import com.android.systemui.statusbar.connectivity.ui.MobileContextProvider import com.android.systemui.statusbar.pipeline.airplane.data.repository.FakeAirplaneModeRepository import com.android.systemui.statusbar.pipeline.ethernet.domain.EthernetInteractor import com.android.systemui.statusbar.pipeline.mobile.data.model.DataConnectionState Loading @@ -51,13 +52,15 @@ import com.android.systemui.statusbar.pipeline.wifi.ui.model.WifiIcon import com.android.systemui.statusbar.policy.data.repository.FakeUserSetupRepository import com.android.systemui.testKosmos import com.android.systemui.util.CarrierConfigTracker import com.android.systemui.util.mockito.mock import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.runTest import org.junit.Before import org.junit.Test import org.junit.runner.RunWith import org.mockito.kotlin.any import org.mockito.kotlin.mock import org.mockito.kotlin.whenever @SmallTest @RunWith(AndroidJUnit4::class) Loading Loading @@ -85,6 +88,8 @@ class InternetTileViewModelTest : SysuiTestCase() { private val mobileConnectionRepository = FakeMobileConnectionRepository(SUB_1_ID, tableLogBuffer) private val mobileContextProvider = mock<MobileContextProvider>() private val flags = FakeFeatureFlagsClassic().also { it.set(Flags.FILTER_PROVISIONING_NETWORK_SUBSCRIPTIONS, true) Loading @@ -94,6 +99,8 @@ class InternetTileViewModelTest : SysuiTestCase() { @Before fun setUp() { whenever(mobileContextProvider.getMobileContextForSub(any(), any())).thenReturn(context) mobileConnectionRepository.apply { setNetworkTypeKey(mobileConnectionsRepository.GSM_KEY) isInService.value = true Loading Loading @@ -125,6 +132,7 @@ class InternetTileViewModelTest : SysuiTestCase() { connectivityRepository, ethernetInteractor, mobileIconsInteractor, mobileContextProvider, wifiInteractor, context, testScope.backgroundScope, Loading Loading @@ -154,11 +162,7 @@ class InternetTileViewModelTest : SysuiTestCase() { testScope.runTest { val latest by collectLastValue(underTest.tileModel) val networkModel = WifiNetworkModel.Active.of( level = 4, ssid = "test ssid", ) val networkModel = WifiNetworkModel.Active.of(level = 4, ssid = "test ssid") val wifiIcon = WifiIcon.fromModel(model = networkModel, context = context, showHotspotInfo = false) as WifiIcon.Visible Loading Loading @@ -391,11 +395,7 @@ class InternetTileViewModelTest : SysuiTestCase() { private fun setWifiNetworkWithHotspot(hotspot: WifiNetworkModel.HotspotDeviceType) { val networkModel = WifiNetworkModel.Active.of( level = 4, ssid = "test ssid", hotspotDeviceType = hotspot, ) WifiNetworkModel.Active.of(level = 4, ssid = "test ssid", hotspotDeviceType = hotspot) connectivityRepository.setWifiConnected() wifiRepository.setIsWifiDefault(true) Loading packages/SystemUI/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileDataInteractor.kt +8 −4 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.internet.domain.model.InternetTileModel import com.android.systemui.res.R import com.android.systemui.shade.ShadeDisplayAware import com.android.systemui.statusbar.connectivity.ui.MobileContextProvider import com.android.systemui.statusbar.pipeline.airplane.data.repository.AirplaneModeRepository import com.android.systemui.statusbar.pipeline.ethernet.domain.EthernetInteractor import com.android.systemui.statusbar.pipeline.mobile.domain.interactor.MobileIconsInteractor Loading Loading @@ -59,6 +60,7 @@ constructor( private val connectivityRepository: ConnectivityRepository, ethernetInteractor: EthernetInteractor, mobileIconsInteractor: MobileIconsInteractor, mobileContextProvider: MobileContextProvider, wifiInteractor: WifiInteractor, ) : QSTileDataInteractor<InternetTileModel> { private val internetLabel: String = context.getString(R.string.quick_settings_internet_label) Loading Loading @@ -89,11 +91,13 @@ constructor( flowOf(null) } else { combine(it.isRoaming, it.networkTypeIconGroup) { isRoaming, networkTypeIconGroup -> val cd = loadString(networkTypeIconGroup.contentDescription) val mobileContext = mobileContextProvider.getMobileContextForSub(it.subscriptionId, context) val cd = loadString(networkTypeIconGroup.contentDescription, mobileContext) if (isRoaming) { val roaming = context.getString(R.string.data_connection_roaming) val roaming = mobileContext.getString(R.string.data_connection_roaming) if (cd != null) { context.getString(R.string.mobile_data_text_format, roaming, cd) mobileContext.getString(R.string.mobile_data_text_format, roaming, cd) } else { roaming } Loading Loading @@ -171,7 +175,7 @@ constructor( ) } private fun loadString(@StringRes resId: Int): CharSequence? = private fun loadString(@StringRes resId: Int, context: Context): CharSequence? = if (resId != 0) { context.getString(resId) } else { Loading packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconInteractor.kt +7 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,11 @@ import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.stateIn interface MobileIconInteractor { /** The subscriptionId that this connection represents */ // TODO(b/423048138): The interactor should have enough information to get the proper RAT // indicator icon, rather than just exposing the subId here. val subscriptionId: Int /** The table log created for this connection */ val tableLogBuffer: TableLogBuffer Loading Loading @@ -147,6 +152,8 @@ class MobileIconInteractorImpl( private val context: Context, val carrierIdOverrides: MobileIconCarrierIdOverrides = MobileIconCarrierIdOverridesImpl(), ) : MobileIconInteractor { override val subscriptionId = connectionRepository.subId override val tableLogBuffer: TableLogBuffer = connectionRepository.tableLogBuffer override val activity = connectionRepository.dataActivityDirection Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/InternetTileNewImplTest.kt +2 −1 Original line number Diff line number Diff line Loading @@ -48,7 +48,6 @@ import com.android.systemui.statusbar.pipeline.wifi.data.repository.FakeWifiRepo import com.android.systemui.statusbar.pipeline.wifi.domain.interactor.WifiInteractorImpl import com.android.systemui.statusbar.pipeline.wifi.shared.model.WifiNetworkModel import com.android.systemui.statusbar.pipeline.wifi.shared.model.WifiScanEntry import com.android.systemui.util.mockito.mock import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.test.StandardTestDispatcher import kotlinx.coroutines.test.TestScope Loading @@ -60,6 +59,7 @@ import org.junit.Test import org.junit.runner.RunWith import org.mockito.Mock import org.mockito.MockitoAnnotations import org.mockito.kotlin.mock import org.mockito.kotlin.whenever import platform.test.runner.parameterized.ParameterizedAndroidJunit4 import platform.test.runner.parameterized.Parameters Loading Loading @@ -113,6 +113,7 @@ class InternetTileNewImplTest(flags: FlagsParameterization) : SysuiTestCase() { connectivityRepository, ethernetInteractor, mobileIconsInteractor, mock(), wifiInteractor, context, testScope.backgroundScope, Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileDataInteractorTest.kt +9 −1 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.internet.domain.model.InternetTileModel import com.android.systemui.res.R import com.android.systemui.statusbar.connectivity.WifiIcons import com.android.systemui.statusbar.connectivity.ui.MobileContextProvider import com.android.systemui.statusbar.pipeline.airplane.data.repository.FakeAirplaneModeRepository import com.android.systemui.statusbar.pipeline.ethernet.domain.EthernetInteractor import com.android.systemui.statusbar.pipeline.mobile.data.model.DataConnectionState Loading @@ -55,13 +56,15 @@ import com.android.systemui.statusbar.pipeline.wifi.ui.model.WifiIcon import com.android.systemui.statusbar.policy.data.repository.FakeUserSetupRepository import com.android.systemui.testKosmos import com.android.systemui.util.CarrierConfigTracker import com.android.systemui.util.mockito.mock import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.test.runTest import org.junit.Before import org.junit.Test import org.junit.runner.RunWith import org.mockito.kotlin.any import org.mockito.kotlin.mock import org.mockito.kotlin.whenever @SmallTest @RunWith(AndroidJUnit4::class) Loading Loading @@ -90,6 +93,8 @@ class InternetTileDataInteractorTest : SysuiTestCase() { private val mobileConnectionRepository = FakeMobileConnectionRepository(SUB_1_ID, tableLogBuffer) private val mobileContextProvider = mock<MobileContextProvider>() private val flags = FakeFeatureFlagsClassic().also { it.set(Flags.FILTER_PROVISIONING_NETWORK_SUBSCRIPTIONS, true) Loading @@ -99,6 +104,8 @@ class InternetTileDataInteractorTest : SysuiTestCase() { @Before fun setUp() { whenever(mobileContextProvider.getMobileContextForSub(any(), any())).thenReturn(context) mobileConnectionRepository.apply { setNetworkTypeKey(mobileConnectionsRepository.GSM_KEY) isInService.value = true Loading Loading @@ -145,6 +152,7 @@ class InternetTileDataInteractorTest : SysuiTestCase() { connectivityRepository, ethernetInteractor, mobileIconsInteractor, mobileContextProvider, wifiInteractor, ) } Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/shared/ui/viewmodel/InternetTileViewModelTest.kt +11 −11 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import com.android.systemui.log.table.logcatTableLogBuffer import com.android.systemui.qs.tileimpl.QSTileImpl.ResourceIcon import com.android.systemui.res.R import com.android.systemui.statusbar.connectivity.WifiIcons import com.android.systemui.statusbar.connectivity.ui.MobileContextProvider import com.android.systemui.statusbar.pipeline.airplane.data.repository.FakeAirplaneModeRepository import com.android.systemui.statusbar.pipeline.ethernet.domain.EthernetInteractor import com.android.systemui.statusbar.pipeline.mobile.data.model.DataConnectionState Loading @@ -51,13 +52,15 @@ import com.android.systemui.statusbar.pipeline.wifi.ui.model.WifiIcon import com.android.systemui.statusbar.policy.data.repository.FakeUserSetupRepository import com.android.systemui.testKosmos import com.android.systemui.util.CarrierConfigTracker import com.android.systemui.util.mockito.mock import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.runTest import org.junit.Before import org.junit.Test import org.junit.runner.RunWith import org.mockito.kotlin.any import org.mockito.kotlin.mock import org.mockito.kotlin.whenever @SmallTest @RunWith(AndroidJUnit4::class) Loading Loading @@ -85,6 +88,8 @@ class InternetTileViewModelTest : SysuiTestCase() { private val mobileConnectionRepository = FakeMobileConnectionRepository(SUB_1_ID, tableLogBuffer) private val mobileContextProvider = mock<MobileContextProvider>() private val flags = FakeFeatureFlagsClassic().also { it.set(Flags.FILTER_PROVISIONING_NETWORK_SUBSCRIPTIONS, true) Loading @@ -94,6 +99,8 @@ class InternetTileViewModelTest : SysuiTestCase() { @Before fun setUp() { whenever(mobileContextProvider.getMobileContextForSub(any(), any())).thenReturn(context) mobileConnectionRepository.apply { setNetworkTypeKey(mobileConnectionsRepository.GSM_KEY) isInService.value = true Loading Loading @@ -125,6 +132,7 @@ class InternetTileViewModelTest : SysuiTestCase() { connectivityRepository, ethernetInteractor, mobileIconsInteractor, mobileContextProvider, wifiInteractor, context, testScope.backgroundScope, Loading Loading @@ -154,11 +162,7 @@ class InternetTileViewModelTest : SysuiTestCase() { testScope.runTest { val latest by collectLastValue(underTest.tileModel) val networkModel = WifiNetworkModel.Active.of( level = 4, ssid = "test ssid", ) val networkModel = WifiNetworkModel.Active.of(level = 4, ssid = "test ssid") val wifiIcon = WifiIcon.fromModel(model = networkModel, context = context, showHotspotInfo = false) as WifiIcon.Visible Loading Loading @@ -391,11 +395,7 @@ class InternetTileViewModelTest : SysuiTestCase() { private fun setWifiNetworkWithHotspot(hotspot: WifiNetworkModel.HotspotDeviceType) { val networkModel = WifiNetworkModel.Active.of( level = 4, ssid = "test ssid", hotspotDeviceType = hotspot, ) WifiNetworkModel.Active.of(level = 4, ssid = "test ssid", hotspotDeviceType = hotspot) connectivityRepository.setWifiConnected() wifiRepository.setIsWifiDefault(true) Loading
packages/SystemUI/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileDataInteractor.kt +8 −4 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import com.android.systemui.qs.tiles.base.domain.model.DataUpdateTrigger import com.android.systemui.qs.tiles.impl.internet.domain.model.InternetTileModel import com.android.systemui.res.R import com.android.systemui.shade.ShadeDisplayAware import com.android.systemui.statusbar.connectivity.ui.MobileContextProvider import com.android.systemui.statusbar.pipeline.airplane.data.repository.AirplaneModeRepository import com.android.systemui.statusbar.pipeline.ethernet.domain.EthernetInteractor import com.android.systemui.statusbar.pipeline.mobile.domain.interactor.MobileIconsInteractor Loading Loading @@ -59,6 +60,7 @@ constructor( private val connectivityRepository: ConnectivityRepository, ethernetInteractor: EthernetInteractor, mobileIconsInteractor: MobileIconsInteractor, mobileContextProvider: MobileContextProvider, wifiInteractor: WifiInteractor, ) : QSTileDataInteractor<InternetTileModel> { private val internetLabel: String = context.getString(R.string.quick_settings_internet_label) Loading Loading @@ -89,11 +91,13 @@ constructor( flowOf(null) } else { combine(it.isRoaming, it.networkTypeIconGroup) { isRoaming, networkTypeIconGroup -> val cd = loadString(networkTypeIconGroup.contentDescription) val mobileContext = mobileContextProvider.getMobileContextForSub(it.subscriptionId, context) val cd = loadString(networkTypeIconGroup.contentDescription, mobileContext) if (isRoaming) { val roaming = context.getString(R.string.data_connection_roaming) val roaming = mobileContext.getString(R.string.data_connection_roaming) if (cd != null) { context.getString(R.string.mobile_data_text_format, roaming, cd) mobileContext.getString(R.string.mobile_data_text_format, roaming, cd) } else { roaming } Loading Loading @@ -171,7 +175,7 @@ constructor( ) } private fun loadString(@StringRes resId: Int): CharSequence? = private fun loadString(@StringRes resId: Int, context: Context): CharSequence? = if (resId != 0) { context.getString(resId) } else { Loading
packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconInteractor.kt +7 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,11 @@ import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.stateIn interface MobileIconInteractor { /** The subscriptionId that this connection represents */ // TODO(b/423048138): The interactor should have enough information to get the proper RAT // indicator icon, rather than just exposing the subId here. val subscriptionId: Int /** The table log created for this connection */ val tableLogBuffer: TableLogBuffer Loading Loading @@ -147,6 +152,8 @@ class MobileIconInteractorImpl( private val context: Context, val carrierIdOverrides: MobileIconCarrierIdOverrides = MobileIconCarrierIdOverridesImpl(), ) : MobileIconInteractor { override val subscriptionId = connectionRepository.subId override val tableLogBuffer: TableLogBuffer = connectionRepository.tableLogBuffer override val activity = connectionRepository.dataActivityDirection Loading