Merge "Add the OtherSection for NetworkCellularGroupProvider" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
ceda48c70c
@@ -47,7 +47,7 @@ class MobileNetworkListFragment : DashboardFragment() {
|
||||
super.onCreate(icicle)
|
||||
|
||||
if (Flags.isDualSimOnboardingEnabled()) {
|
||||
context?.startSpaActivity(NetworkCellularGroupProvider.name);
|
||||
context?.startSpaActivity(NetworkCellularGroupProvider.fileName)
|
||||
finish()
|
||||
}
|
||||
}
|
||||
|
@@ -118,7 +118,7 @@ open class SettingsSpaEnvironment(context: Context) : SpaEnvironment(context) {
|
||||
ApnEditPageProvider,
|
||||
SimOnboardingPageProvider,
|
||||
BatteryOptimizationModeAppListPageProvider,
|
||||
NetworkCellularGroupProvider,
|
||||
NetworkCellularGroupProvider(),
|
||||
WifiPrivacyPageProvider,
|
||||
)
|
||||
|
||||
|
@@ -75,8 +75,8 @@ import kotlinx.coroutines.withContext
|
||||
/**
|
||||
* Showing the sim onboarding which is the process flow of sim switching on.
|
||||
*/
|
||||
object NetworkCellularGroupProvider : SettingsPageProvider {
|
||||
override val name = "NetworkCellularGroupProvider"
|
||||
open class NetworkCellularGroupProvider : SettingsPageProvider {
|
||||
override val name = fileName
|
||||
|
||||
private val owner = createSettingsPage()
|
||||
|
||||
@@ -85,7 +85,7 @@ object NetworkCellularGroupProvider : SettingsPageProvider {
|
||||
var defaultDataSubId: Int = SubscriptionManager.INVALID_SUBSCRIPTION_ID
|
||||
var nonDds: Int = SubscriptionManager.INVALID_SUBSCRIPTION_ID
|
||||
|
||||
fun buildInjectEntry() = SettingsEntryBuilder.createInject(owner = owner)
|
||||
open fun buildInjectEntry() = SettingsEntryBuilder.createInject(owner = owner)
|
||||
.setUiLayoutFn {
|
||||
// never using
|
||||
Preference(object : PreferenceModel {
|
||||
@@ -123,13 +123,26 @@ object NetworkCellularGroupProvider : SettingsPageProvider {
|
||||
nonDdsRemember.intValue = nonDds
|
||||
}
|
||||
|
||||
PageImpl(
|
||||
subscriptionViewModel.selectableSubscriptionInfoListFlow,
|
||||
callsSelectedId,
|
||||
textsSelectedId,
|
||||
mobileDataSelectedId,
|
||||
nonDdsRemember
|
||||
)
|
||||
val selectableSubscriptionInfoList by subscriptionViewModel
|
||||
.selectableSubscriptionInfoListFlow
|
||||
.collectAsStateWithLifecycle(initialValue = emptyList())
|
||||
|
||||
val stringSims = stringResource(R.string.provider_network_settings_title)
|
||||
RegularScaffold(title = stringSims) {
|
||||
SimsSection(selectableSubscriptionInfoList)
|
||||
MobileDataSectionImpl(mobileDataSelectedId,
|
||||
nonDdsRemember,
|
||||
)
|
||||
|
||||
PrimarySimSectionImpl(
|
||||
subscriptionViewModel.selectableSubscriptionInfoListFlow,
|
||||
callsSelectedId,
|
||||
textsSelectedId,
|
||||
mobileDataSelectedId,
|
||||
)
|
||||
|
||||
OtherSection()
|
||||
}
|
||||
}
|
||||
|
||||
private fun allOfFlows(context: Context,
|
||||
@@ -139,7 +152,7 @@ object NetworkCellularGroupProvider : SettingsPageProvider {
|
||||
context.defaultVoiceSubscriptionFlow(),
|
||||
context.defaultSmsSubscriptionFlow(),
|
||||
context.defaultDefaultDataSubscriptionFlow(),
|
||||
NetworkCellularGroupProvider::refreshUiStates,
|
||||
this::refreshUiStates,
|
||||
).flowOn(Dispatchers.Default)
|
||||
|
||||
private fun refreshUiStates(
|
||||
@@ -164,32 +177,12 @@ object NetworkCellularGroupProvider : SettingsPageProvider {
|
||||
|
||||
Log.d(name, "defaultDataSubId: $defaultDataSubId, nonDds: $nonDds")
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun PageImpl(
|
||||
selectableSubscriptionInfoListFlow: StateFlow<List<SubscriptionInfo>>,
|
||||
defaultVoiceSubId: MutableIntState,
|
||||
defaultSmsSubId: MutableIntState,
|
||||
defaultDataSubId: MutableIntState,
|
||||
nonDds: MutableIntState,
|
||||
) {
|
||||
val selectableSubscriptionInfoList by selectableSubscriptionInfoListFlow
|
||||
.collectAsStateWithLifecycle(initialValue = emptyList())
|
||||
|
||||
val stringSims = stringResource(R.string.provider_network_settings_title)
|
||||
RegularScaffold(title = stringSims) {
|
||||
SimsSection(selectableSubscriptionInfoList)
|
||||
MobileDataSectionImpl(defaultDataSubId,
|
||||
nonDds,
|
||||
)
|
||||
|
||||
PrimarySimSectionImpl(
|
||||
selectableSubscriptionInfoListFlow,
|
||||
defaultVoiceSubId,
|
||||
defaultSmsSubId,
|
||||
defaultDataSubId,
|
||||
)
|
||||
@Composable
|
||||
open fun OtherSection(){
|
||||
// Do nothing
|
||||
}
|
||||
companion object {
|
||||
const val fileName = "NetworkCellularGroupProvider"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -417,9 +410,9 @@ suspend fun setMobileData(
|
||||
enabled: Boolean,
|
||||
): Unit =
|
||||
withContext(Dispatchers.Default) {
|
||||
Log.d(NetworkCellularGroupProvider.name, "setMobileData: $enabled")
|
||||
Log.d(NetworkCellularGroupProvider.fileName, "setMobileData: $enabled")
|
||||
if (enabled) {
|
||||
Log.d(NetworkCellularGroupProvider.name, "setDefaultData: [$subId]")
|
||||
Log.d(NetworkCellularGroupProvider.fileName, "setDefaultData: [$subId]")
|
||||
subscriptionManager?.setDefaultDataSubId(subId)
|
||||
}
|
||||
TelephonyRepository(context)
|
||||
|
Reference in New Issue
Block a user