Merge "Add the OtherSection for NetworkCellularGroupProvider" into main

This commit is contained in:
SongFerng Wang
2024-05-07 04:58:28 +00:00
committed by Android (Google) Code Review
3 changed files with 34 additions and 41 deletions

View File

@@ -47,7 +47,7 @@ class MobileNetworkListFragment : DashboardFragment() {
super.onCreate(icicle) super.onCreate(icicle)
if (Flags.isDualSimOnboardingEnabled()) { if (Flags.isDualSimOnboardingEnabled()) {
context?.startSpaActivity(NetworkCellularGroupProvider.name); context?.startSpaActivity(NetworkCellularGroupProvider.fileName)
finish() finish()
} }
} }

View File

@@ -118,7 +118,7 @@ open class SettingsSpaEnvironment(context: Context) : SpaEnvironment(context) {
ApnEditPageProvider, ApnEditPageProvider,
SimOnboardingPageProvider, SimOnboardingPageProvider,
BatteryOptimizationModeAppListPageProvider, BatteryOptimizationModeAppListPageProvider,
NetworkCellularGroupProvider, NetworkCellularGroupProvider(),
WifiPrivacyPageProvider, WifiPrivacyPageProvider,
) )

View File

@@ -75,8 +75,8 @@ import kotlinx.coroutines.withContext
/** /**
* Showing the sim onboarding which is the process flow of sim switching on. * Showing the sim onboarding which is the process flow of sim switching on.
*/ */
object NetworkCellularGroupProvider : SettingsPageProvider { open class NetworkCellularGroupProvider : SettingsPageProvider {
override val name = "NetworkCellularGroupProvider" override val name = fileName
private val owner = createSettingsPage() private val owner = createSettingsPage()
@@ -85,7 +85,7 @@ object NetworkCellularGroupProvider : SettingsPageProvider {
var defaultDataSubId: Int = SubscriptionManager.INVALID_SUBSCRIPTION_ID var defaultDataSubId: Int = SubscriptionManager.INVALID_SUBSCRIPTION_ID
var nonDds: 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 { .setUiLayoutFn {
// never using // never using
Preference(object : PreferenceModel { Preference(object : PreferenceModel {
@@ -123,13 +123,26 @@ object NetworkCellularGroupProvider : SettingsPageProvider {
nonDdsRemember.intValue = nonDds nonDdsRemember.intValue = nonDds
} }
PageImpl( val selectableSubscriptionInfoList by subscriptionViewModel
subscriptionViewModel.selectableSubscriptionInfoListFlow, .selectableSubscriptionInfoListFlow
callsSelectedId, .collectAsStateWithLifecycle(initialValue = emptyList())
textsSelectedId,
mobileDataSelectedId, val stringSims = stringResource(R.string.provider_network_settings_title)
nonDdsRemember RegularScaffold(title = stringSims) {
) SimsSection(selectableSubscriptionInfoList)
MobileDataSectionImpl(mobileDataSelectedId,
nonDdsRemember,
)
PrimarySimSectionImpl(
subscriptionViewModel.selectableSubscriptionInfoListFlow,
callsSelectedId,
textsSelectedId,
mobileDataSelectedId,
)
OtherSection()
}
} }
private fun allOfFlows(context: Context, private fun allOfFlows(context: Context,
@@ -139,7 +152,7 @@ object NetworkCellularGroupProvider : SettingsPageProvider {
context.defaultVoiceSubscriptionFlow(), context.defaultVoiceSubscriptionFlow(),
context.defaultSmsSubscriptionFlow(), context.defaultSmsSubscriptionFlow(),
context.defaultDefaultDataSubscriptionFlow(), context.defaultDefaultDataSubscriptionFlow(),
NetworkCellularGroupProvider::refreshUiStates, this::refreshUiStates,
).flowOn(Dispatchers.Default) ).flowOn(Dispatchers.Default)
private fun refreshUiStates( private fun refreshUiStates(
@@ -164,32 +177,12 @@ object NetworkCellularGroupProvider : SettingsPageProvider {
Log.d(name, "defaultDataSubId: $defaultDataSubId, nonDds: $nonDds") Log.d(name, "defaultDataSubId: $defaultDataSubId, nonDds: $nonDds")
} }
} @Composable
open fun OtherSection(){
@Composable // Do nothing
fun PageImpl( }
selectableSubscriptionInfoListFlow: StateFlow<List<SubscriptionInfo>>, companion object {
defaultVoiceSubId: MutableIntState, const val fileName = "NetworkCellularGroupProvider"
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,
)
} }
} }
@@ -417,9 +410,9 @@ suspend fun setMobileData(
enabled: Boolean, enabled: Boolean,
): Unit = ): Unit =
withContext(Dispatchers.Default) { withContext(Dispatchers.Default) {
Log.d(NetworkCellularGroupProvider.name, "setMobileData: $enabled") Log.d(NetworkCellularGroupProvider.fileName, "setMobileData: $enabled")
if (enabled) { if (enabled) {
Log.d(NetworkCellularGroupProvider.name, "setDefaultData: [$subId]") Log.d(NetworkCellularGroupProvider.fileName, "setDefaultData: [$subId]")
subscriptionManager?.setDefaultDataSubId(subId) subscriptionManager?.setDefaultDataSubId(subId)
} }
TelephonyRepository(context) TelephonyRepository(context)