[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