Check isConvertedPsimSubscription in new UI
Bug: 326896614 Test: manual test Change-Id: I0d3c87a863f58a9e962fb87df5b8001be9edb767
This commit is contained in:
@@ -919,15 +919,22 @@ public class SubscriptionUtil {
|
|||||||
SubscriptionManager.class);
|
SubscriptionManager.class);
|
||||||
List<SubscriptionInfo> allSubInofs = subscriptionManager.getAllSubscriptionInfoList();
|
List<SubscriptionInfo> allSubInofs = subscriptionManager.getAllSubscriptionInfoList();
|
||||||
for (SubscriptionInfo subInfo : allSubInofs) {
|
for (SubscriptionInfo subInfo : allSubInofs) {
|
||||||
if (subInfo != null) {
|
if (subInfo != null && subInfo.getSubscriptionId() == subId
|
||||||
if (com.android.internal.telephony.flags.Flags.supportPsimToEsimConversion()
|
&& isConvertedPsimSubscription(subInfo)) {
|
||||||
&& subInfo.getSubscriptionId() == subId
|
return true;
|
||||||
&& !subInfo.isEmbedded()
|
|
||||||
&& subInfo.getTransferStatus() == TRANSFER_STATUS_CONVERTED) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if the subscription is converted pSIM.
|
||||||
|
*/
|
||||||
|
public static boolean isConvertedPsimSubscription(@NonNull SubscriptionInfo subInfo) {
|
||||||
|
Log.d(TAG, "isConvertedPsimSubscription: isEmbedded " + subInfo.isEmbedded());
|
||||||
|
Log.d(TAG, "isConvertedPsimSubscription: getTransferStatus " + subInfo.getTransferStatus());
|
||||||
|
return com.android.internal.telephony.flags.Flags.supportPsimToEsimConversion()
|
||||||
|
&& !subInfo.isEmbedded()
|
||||||
|
&& subInfo.getTransferStatus() == TRANSFER_STATUS_CONVERTED;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -28,6 +28,7 @@ import androidx.compose.material.icons.outlined.SimCard
|
|||||||
import androidx.compose.material.icons.outlined.SimCardDownload
|
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.getValue
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
@@ -44,6 +45,7 @@ import com.android.settingslib.spa.widget.ui.SettingsIcon
|
|||||||
import com.android.settingslib.spaprivileged.model.enterprise.Restrictions
|
import com.android.settingslib.spaprivileged.model.enterprise.Restrictions
|
||||||
import com.android.settingslib.spaprivileged.template.preference.RestrictedPreference
|
import com.android.settingslib.spaprivileged.template.preference.RestrictedPreference
|
||||||
import com.android.settingslib.spaprivileged.template.preference.RestrictedTwoTargetSwitchPreference
|
import com.android.settingslib.spaprivileged.template.preference.RestrictedTwoTargetSwitchPreference
|
||||||
|
import kotlinx.coroutines.flow.flow
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun SimsSection(subscriptionInfoList: List<SubscriptionInfo>) {
|
fun SimsSection(subscriptionInfoList: List<SubscriptionInfo>) {
|
||||||
@@ -63,11 +65,23 @@ private fun SimPreference(subInfo: SubscriptionInfo) {
|
|||||||
context.isSubscriptionEnabledFlow(subInfo.subscriptionId)
|
context.isSubscriptionEnabledFlow(subInfo.subscriptionId)
|
||||||
}.collectAsStateWithLifecycle(initialValue = false)
|
}.collectAsStateWithLifecycle(initialValue = false)
|
||||||
val phoneNumber = phoneNumber(subInfo)
|
val phoneNumber = phoneNumber(subInfo)
|
||||||
|
val isConvertedPsim by remember(subInfo) {
|
||||||
|
flow {
|
||||||
|
emit(SubscriptionUtil.isConvertedPsimSubscription(subInfo))
|
||||||
|
}
|
||||||
|
}.collectAsStateWithLifecycle(initialValue = false)
|
||||||
RestrictedTwoTargetSwitchPreference(
|
RestrictedTwoTargetSwitchPreference(
|
||||||
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 = {
|
||||||
|
if (isConvertedPsim) {
|
||||||
|
context.getString(R.string.sim_category_converted_sim)
|
||||||
|
} else {
|
||||||
|
phoneNumber.value ?: ""
|
||||||
|
}
|
||||||
|
}
|
||||||
override val icon = @Composable { SimIcon(subInfo.isEmbedded) }
|
override val icon = @Composable { SimIcon(subInfo.isEmbedded) }
|
||||||
|
override val changeable = { !isConvertedPsim }
|
||||||
override val checked = { checked.value }
|
override val checked = { checked.value }
|
||||||
override val onCheckedChange = { newChecked: Boolean ->
|
override val onCheckedChange = { newChecked: Boolean ->
|
||||||
SubscriptionUtil.startToggleSubscriptionDialogActivity(
|
SubscriptionUtil.startToggleSubscriptionDialogActivity(
|
||||||
@@ -78,6 +92,7 @@ private fun SimPreference(subInfo: SubscriptionInfo) {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
restrictions = Restrictions(keys = listOf(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS)),
|
restrictions = Restrictions(keys = listOf(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS)),
|
||||||
|
primaryEnabled = { !isConvertedPsim },
|
||||||
) {
|
) {
|
||||||
MobileNetworkUtils.launchMobileNetworkSettings(context, subInfo)
|
MobileNetworkUtils.launchMobileNetworkSettings(context, subInfo)
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user