Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 59007733 authored by Chaohui Wang's avatar Chaohui Wang Committed by Android (Google) Code Review
Browse files

Merge "Improve the number on "Label SIM" page" into main

parents ab589363 08e06a77
Loading
Loading
Loading
Loading
+42 −38
Original line number Diff line number Diff line
@@ -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
@@ -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)) {
@@ -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
@@ -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
+10 −3
Original line number Diff line number Diff line
@@ -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
@@ -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()
@@ -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