Loading src/com/android/settings/spa/network/SimOnboardingLabelSim.kt +42 −38 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.settings.spa.network import android.telephony.SubscriptionInfo import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.padding import androidx.compose.material.icons.Icons Loading Loading @@ -63,28 +64,32 @@ fun SimOnboardingLabelSimImpl( cancelAction ), ) { labelSimBody(onboardingService) LabelSimBody(onboardingService) } } @Composable private fun labelSimBody(onboardingService: SimOnboardingService) { private fun LabelSimBody(onboardingService: SimOnboardingService) { Column(Modifier.padding(SettingsDimension.itemPadding)) { SettingsBody(stringResource(R.string.sim_onboarding_label_sim_msg)) } for (subInfo in onboardingService.getSelectableSubscriptionInfoList()) { LabelSimPreference(onboardingService, subInfo) } } @Composable private fun LabelSimPreference( onboardingService: SimOnboardingService, subInfo: SubscriptionInfo, ) { var titleSimName by remember { mutableStateOf( onboardingService.getSubscriptionInfoDisplayName(subInfo) ) mutableStateOf(onboardingService.getSubscriptionInfoDisplayName(subInfo)) } var summaryNumber = subInfo.number // TODO using the SubscriptionUtil.getFormattedPhoneNumber val phoneNumber = phoneNumber(subInfo) val alertDialogPresenter = rememberAlertDialogPresenter( confirmButton = AlertDialogButton( stringResource(R.string.mobile_network_sim_name_rename) ) { confirmButton = AlertDialogButton(stringResource(R.string.mobile_network_sim_name_rename)) { onboardingService.addItemForRenaming(subInfo, titleSimName) }, dismissButton = AlertDialogButton(stringResource(R.string.cancel)) { Loading @@ -92,12 +97,13 @@ private fun labelSimBody(onboardingService: SimOnboardingService) { }, title = stringResource(R.string.sim_onboarding_label_sim_dialog_title), text = { Text(summaryNumber, modifier = Modifier.padding(bottom = SettingsDimension.itemPaddingVertical)) Text( phoneNumber.value ?: "", modifier = Modifier.padding(bottom = SettingsDimension.itemPaddingVertical) ) SettingsOutlinedTextField( value = titleSimName, label = stringResource(R.string.sim_onboarding_label_sim_dialog_label), enabled = true, shape = MaterialTheme.shapes.extraLarge ) { titleSimName = it Loading @@ -106,9 +112,7 @@ private fun labelSimBody(onboardingService: SimOnboardingService) { ) Preference(object : PreferenceModel { override val title = titleSimName override val summary: () -> String get() = { summaryNumber } override val summary = { phoneNumber.value ?: "" } override val onClick = alertDialogPresenter::open }) } } No newline at end of file src/com/android/settings/spa/network/SimsSection.kt +10 −3 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import androidx.compose.foundation.layout.Column import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.Add import androidx.compose.runtime.Composable import androidx.compose.runtime.State import androidx.compose.runtime.remember import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource Loading Loading @@ -58,9 +59,7 @@ private fun SimPreference(subInfo: SubscriptionInfo) { val checked = remember(subInfo.subscriptionId) { context.isSubscriptionEnabledFlow(subInfo.subscriptionId) }.collectAsStateWithLifecycle(initialValue = false) val phoneNumber = remember(subInfo) { context.phoneNumberFlow(subInfo) }.collectAsStateWithLifecycle(initialValue = null) val phoneNumber = phoneNumber(subInfo) RestrictedTwoTargetSwitchPreference( model = object : SwitchPreferenceModel { override val title = subInfo.displayName.toString() Loading @@ -80,6 +79,14 @@ private fun SimPreference(subInfo: SubscriptionInfo) { } } @Composable fun phoneNumber(subInfo: SubscriptionInfo): State<String?> { val context = LocalContext.current return remember(subInfo) { context.phoneNumberFlow(subInfo) }.collectAsStateWithLifecycle(initialValue = null) } @Composable private fun AddSim() { val context = LocalContext.current Loading Loading
src/com/android/settings/spa/network/SimOnboardingLabelSim.kt +42 −38 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.settings.spa.network import android.telephony.SubscriptionInfo import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.padding import androidx.compose.material.icons.Icons Loading Loading @@ -63,28 +64,32 @@ fun SimOnboardingLabelSimImpl( cancelAction ), ) { labelSimBody(onboardingService) LabelSimBody(onboardingService) } } @Composable private fun labelSimBody(onboardingService: SimOnboardingService) { private fun LabelSimBody(onboardingService: SimOnboardingService) { Column(Modifier.padding(SettingsDimension.itemPadding)) { SettingsBody(stringResource(R.string.sim_onboarding_label_sim_msg)) } for (subInfo in onboardingService.getSelectableSubscriptionInfoList()) { LabelSimPreference(onboardingService, subInfo) } } @Composable private fun LabelSimPreference( onboardingService: SimOnboardingService, subInfo: SubscriptionInfo, ) { var titleSimName by remember { mutableStateOf( onboardingService.getSubscriptionInfoDisplayName(subInfo) ) mutableStateOf(onboardingService.getSubscriptionInfoDisplayName(subInfo)) } var summaryNumber = subInfo.number // TODO using the SubscriptionUtil.getFormattedPhoneNumber val phoneNumber = phoneNumber(subInfo) val alertDialogPresenter = rememberAlertDialogPresenter( confirmButton = AlertDialogButton( stringResource(R.string.mobile_network_sim_name_rename) ) { confirmButton = AlertDialogButton(stringResource(R.string.mobile_network_sim_name_rename)) { onboardingService.addItemForRenaming(subInfo, titleSimName) }, dismissButton = AlertDialogButton(stringResource(R.string.cancel)) { Loading @@ -92,12 +97,13 @@ private fun labelSimBody(onboardingService: SimOnboardingService) { }, title = stringResource(R.string.sim_onboarding_label_sim_dialog_title), text = { Text(summaryNumber, modifier = Modifier.padding(bottom = SettingsDimension.itemPaddingVertical)) Text( phoneNumber.value ?: "", modifier = Modifier.padding(bottom = SettingsDimension.itemPaddingVertical) ) SettingsOutlinedTextField( value = titleSimName, label = stringResource(R.string.sim_onboarding_label_sim_dialog_label), enabled = true, shape = MaterialTheme.shapes.extraLarge ) { titleSimName = it Loading @@ -106,9 +112,7 @@ private fun labelSimBody(onboardingService: SimOnboardingService) { ) Preference(object : PreferenceModel { override val title = titleSimName override val summary: () -> String get() = { summaryNumber } override val summary = { phoneNumber.value ?: "" } override val onClick = alertDialogPresenter::open }) } } No newline at end of file
src/com/android/settings/spa/network/SimsSection.kt +10 −3 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import androidx.compose.foundation.layout.Column import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.Add import androidx.compose.runtime.Composable import androidx.compose.runtime.State import androidx.compose.runtime.remember import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource Loading Loading @@ -58,9 +59,7 @@ private fun SimPreference(subInfo: SubscriptionInfo) { val checked = remember(subInfo.subscriptionId) { context.isSubscriptionEnabledFlow(subInfo.subscriptionId) }.collectAsStateWithLifecycle(initialValue = false) val phoneNumber = remember(subInfo) { context.phoneNumberFlow(subInfo) }.collectAsStateWithLifecycle(initialValue = null) val phoneNumber = phoneNumber(subInfo) RestrictedTwoTargetSwitchPreference( model = object : SwitchPreferenceModel { override val title = subInfo.displayName.toString() Loading @@ -80,6 +79,14 @@ private fun SimPreference(subInfo: SubscriptionInfo) { } } @Composable fun phoneNumber(subInfo: SubscriptionInfo): State<String?> { val context = LocalContext.current return remember(subInfo) { context.phoneNumberFlow(subInfo) }.collectAsStateWithLifecycle(initialValue = null) } @Composable private fun AddSim() { val context = LocalContext.current Loading