InternetPreferenceController V2 (3/n)
Add DataSubscriptionRepository, when cellular connection, show the active subscription name. Bug: 339884322 Flag: com.android.settings.flags.internet_preference_controller_v2 Test: manual - on Internet Test: unit test Change-Id: If2a3e7f8df1b1ed89bc760ec5165182b3e9b64a8
This commit is contained in:
@@ -46,6 +46,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||
import com.android.settings.R
|
||||
import com.android.settings.network.SubscriptionInfoListViewModel
|
||||
import com.android.settings.network.telephony.DataSubscriptionRepository
|
||||
import com.android.settings.network.telephony.TelephonyRepository
|
||||
import com.android.settings.spa.network.PrimarySimRepository.PrimarySimInfo
|
||||
import com.android.settings.wifi.WifiPickerTrackerHelper
|
||||
@@ -158,7 +159,7 @@ open class NetworkCellularGroupProvider : SettingsPageProvider {
|
||||
selectableSubscriptionInfoListFlow,
|
||||
context.defaultVoiceSubscriptionFlow(),
|
||||
context.defaultSmsSubscriptionFlow(),
|
||||
context.defaultDefaultDataSubscriptionFlow(),
|
||||
DataSubscriptionRepository(context).defaultDataSubscriptionIdFlow(),
|
||||
this::refreshUiStates,
|
||||
).flowOn(Dispatchers.Default)
|
||||
|
||||
@@ -370,15 +371,6 @@ private fun Context.defaultSmsSubscriptionFlow(): Flow<Int> =
|
||||
).map { SubscriptionManager.getDefaultSmsSubscriptionId() }
|
||||
.conflate().flowOn(Dispatchers.Default)
|
||||
|
||||
private fun Context.defaultDefaultDataSubscriptionFlow(): Flow<Int> =
|
||||
merge(
|
||||
flowOf(null), // kick an initial value
|
||||
broadcastReceiverFlow(
|
||||
IntentFilter(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED)
|
||||
),
|
||||
).map { SubscriptionManager.getDefaultDataSubscriptionId() }
|
||||
.conflate().flowOn(Dispatchers.Default)
|
||||
|
||||
suspend fun setDefaultVoice(
|
||||
subscriptionManager: SubscriptionManager?,
|
||||
subId: Int
|
||||
|
||||
Reference in New Issue
Block a user