Add icon to differentiate pSIM and eSIM

Fix: 330096133
Test: manual - on SIMs
Change-Id: I7b7f5d91492d72d66cecf17e52fde1b51ad37832
This commit is contained in:
Chaohui Wang
2024-04-08 16:37:34 +08:00
parent 91b9b1f65a
commit d305931e3f

View File

@@ -24,6 +24,8 @@ import android.telephony.euicc.EuiccManager
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.Add import androidx.compose.material.icons.outlined.Add
import androidx.compose.material.icons.outlined.SimCard
import androidx.compose.material.icons.outlined.SimCardDownload
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.State import androidx.compose.runtime.State
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
@@ -65,6 +67,7 @@ private fun SimPreference(subInfo: SubscriptionInfo) {
model = object : SwitchPreferenceModel { model = object : SwitchPreferenceModel {
override val title = subInfo.displayName.toString() override val title = subInfo.displayName.toString()
override val summary = { phoneNumber.value ?: "" } override val summary = { phoneNumber.value ?: "" }
override val icon = @Composable { SimIcon(subInfo.isEmbedded) }
override val checked = { checked.value } override val checked = { checked.value }
override val onCheckedChange = { newChecked: Boolean -> override val onCheckedChange = { newChecked: Boolean ->
SubscriptionUtil.startToggleSubscriptionDialogActivity( SubscriptionUtil.startToggleSubscriptionDialogActivity(
@@ -80,6 +83,11 @@ private fun SimPreference(subInfo: SubscriptionInfo) {
} }
} }
@Composable
private fun SimIcon(isEmbedded: Boolean) {
SettingsIcon(if (isEmbedded) Icons.Outlined.SimCardDownload else Icons.Outlined.SimCard)
}
@Composable @Composable
fun phoneNumber(subInfo: SubscriptionInfo): State<String?> { fun phoneNumber(subInfo: SubscriptionInfo): State<String?> {
val context = LocalContext.current val context = LocalContext.current