When the transfer status is CONVERTED, the menu on the pSIM is greyed out.

UX update for converted pSIMs.

Bug: 326896614
Test: manual test

Change-Id: I68ca181ec16c839ed8dc5dba3f8dc75aba09ab5b
This commit is contained in:
Hyunho
2024-02-17 04:57:54 +00:00
parent 823d18708a
commit 477b291b5d
5 changed files with 66 additions and 48 deletions

View File

@@ -18,6 +18,7 @@ package com.android.settings.network;
import static android.telephony.SubscriptionManager.INVALID_SIM_SLOT_INDEX;
import static android.telephony.SubscriptionManager.PROFILE_CLASS_PROVISIONING;
import static android.telephony.SubscriptionManager.TRANSFER_STATUS_CONVERTED;
import static android.telephony.UiccSlotInfo.CARD_STATE_INFO_PRESENT;
import static com.android.internal.util.CollectionUtils.emptyIfNull;
@@ -905,4 +906,27 @@ public class SubscriptionUtil {
context.getSystemService(ConnectivityManager.class);
return connectivityManager.getNetworkCapabilities(connectivityManager.getActiveNetwork());
}
/**
* Checks if the subscription with the given subId is converted pSIM.
*
* @param context {@code Context}
* @param subId The subscription ID.
*/
static boolean isConvertedPsimSubscription(@NonNull Context context, int subId) {
SubscriptionManager subscriptionManager = context.getSystemService(
SubscriptionManager.class);
List<SubscriptionInfo> allSubInofs = subscriptionManager.getAllSubscriptionInfoList();
for (SubscriptionInfo subInfo : allSubInofs) {
if (subInfo != null) {
if (com.android.internal.telephony.flags.Flags.supportPsimToEsimConversion()
&& subInfo.getSubscriptionId() == subId
&& !subInfo.isEmbedded()
&& subInfo.getTransferStatus() == TRANSFER_STATUS_CONVERTED) {
return true;
}
}
}
return false;
}
}