[sb] expose `defaultDataSubId` from MobileIconsInteractor
It will be needed in future CLs
Test: MobileIconsInteractorTest
Bug: 364360986
Flag: com.android.systemui.status_bar_root_modernization
Change-Id: I91a51b7861d9bffb8d960cdd96f550c8087a0d65
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractorTest.kt
index 5a77f3d..6efb9c7 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractorTest.kt
@@ -885,6 +885,20 @@
assertThat(latest).isFalse()
}
+ @Test
+ fun defaultDataSubId_tracksRepo() =
+ kosmos.runTest {
+ val latest by collectLastValue(underTest.defaultDataSubId)
+
+ connectionsRepository.defaultDataSubId.value = 1
+
+ assertThat(latest).isEqualTo(1)
+
+ connectionsRepository.defaultDataSubId.value = 2
+
+ assertThat(latest).isEqualTo(2)
+ }
+
/**
* Convenience method for creating a pair of subscriptions to test the filteredSubscriptions
* flow.
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractor.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractor.kt
index 28fff4e..0b3c491 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractor.kt
@@ -71,6 +71,9 @@
/** List of subscriptions, potentially filtered for CBRS */
val filteredSubscriptions: Flow<List<SubscriptionModel>>
+ /** Subscription ID of the current default data subscription */
+ val defaultDataSubId: Flow<Int>
+
/**
* The current list of [MobileIconInteractor]s associated with the current list of
* [filteredSubscriptions]
@@ -82,7 +85,7 @@
/**
* Flow providing a reference to the Interactor for the active data subId. This represents the
- * [MobileConnectionInteractor] responsible for the active data connection, if any.
+ * [MobileIconInteractor] responsible for the active data connection, if any.
*/
val activeDataIconInteractor: StateFlow<MobileIconInteractor?>
@@ -280,6 +283,8 @@
}
}
+ override val defaultDataSubId = mobileConnectionsRepo.defaultDataSubId
+
override val icons =
filteredSubscriptions
.mapLatest { subs ->
@@ -321,7 +326,7 @@
mobileConnectionsRepo.defaultMobileIconMapping.stateIn(
scope,
SharingStarted.WhileSubscribed(),
- initialValue = mapOf()
+ initialValue = mapOf(),
)
override val alwaysShowDataRatIcon: StateFlow<Boolean> =
@@ -350,7 +355,7 @@
mobileConnectionsRepo.defaultMobileIconGroup.stateIn(
scope,
SharingStarted.WhileSubscribed(),
- initialValue = TelephonyIcons.G
+ initialValue = TelephonyIcons.G,
)
/**
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/FakeMobileIconsInteractor.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/FakeMobileIconsInteractor.kt
index 3a4bf8e..652d105 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/FakeMobileIconsInteractor.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/FakeMobileIconsInteractor.kt
@@ -55,6 +55,8 @@
override val filteredSubscriptions = MutableStateFlow<List<SubscriptionModel>>(listOf())
+ override val defaultDataSubId = MutableStateFlow(DEFAULT_DATA_SUB_ID)
+
private val _activeDataConnectionHasDataEnabled = MutableStateFlow(false)
override val activeDataConnectionHasDataEnabled = _activeDataConnectionHasDataEnabled