diff options
author | alk3pInjection <webmaster@raspii.tech> | 2023-11-02 00:57:05 +0800 |
---|---|---|
committer | alk3pInjection <webmaster@raspii.tech> | 2023-11-02 00:57:05 +0800 |
commit | 88772f337d967e05bee39b293b9d6ba81acf0b4c (patch) | |
tree | bb664a63cab6d08c23d8bb8c2d8d9afb0e0084c3 | |
parent | 5c4156c6772542278e27cd1fb39b9e3f81dc0316 (diff) | |
parent | a0d09d63726e408857eb9d33998326297c6dd73d (diff) |
Merge tag 'LA.QSSI.13.0.r1-12000-qssi.0' into tachibana-mr1tachibana-mr1
"LA.QSSI.13.0.r1-12000-qssi.0"
Change-Id: I6d982f9c37aa600c1be9d750ae274458323aeee8
-rw-r--r-- | src/com/android/settings/network/UiccSlotUtil.java | 24 | ||||
-rw-r--r-- | src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java | 3 |
2 files changed, 26 insertions, 1 deletions
diff --git a/src/com/android/settings/network/UiccSlotUtil.java b/src/com/android/settings/network/UiccSlotUtil.java index 0d0aa9f5e8..debd7412d2 100644 --- a/src/com/android/settings/network/UiccSlotUtil.java +++ b/src/com/android/settings/network/UiccSlotUtil.java @@ -23,6 +23,7 @@ import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.telephony.UiccCardInfo; +import android.telephony.UiccPortInfo; import android.telephony.UiccSlotInfo; import android.telephony.UiccSlotMapping; import android.util.Log; @@ -439,4 +440,27 @@ public class UiccSlotUtil { Log.i(TAG, "isRemovableSimEnabled: " + isRemovableSimEnabled); return isRemovableSimEnabled; } + + public static boolean isEsimSub(SubscriptionInfo subInfo, TelephonyManager telMgr) { + if (telMgr == null) { + return false; + } + UiccSlotInfo[] slotsInfo = telMgr.getUiccSlotsInfo(); + for (int i = 0; slotsInfo != null && i < slotsInfo.length; i++) { + UiccSlotInfo slotInfo = slotsInfo[i]; + if (slotInfo == null || !slotInfo.getIsEuicc()) { + continue; + } + for (UiccPortInfo portInfo : slotInfo.getPorts()) { + String iccId = portInfo.getIccId(); + Log.i(TAG, "isEsimSub: " + " subInfo iccid: " + subInfo.getIccId() + + " portInfoiccid: " + portInfo.getIccId() + " portIndex: " + + portInfo.getPortIndex()); + if (iccId.equals(subInfo.getIccId())) { + return true; + } + } + } + return false; + } } diff --git a/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java b/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java index 2e5fa58bf7..c553e57f7a 100644 --- a/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java +++ b/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java @@ -351,7 +351,8 @@ public class ToggleSubscriptionDialogActivity extends SubscriptionActionDialogAc showEnableDsdsConfirmDialog(); return; } - if (!mIsEsimOperation && isRemovableSimEnabled()) { + if (!mIsEsimOperation && (isRemovableSimEnabled() || + UiccSlotUtil.isEsimSub(mSubInfo, mTelMgr))) { // This case is for switching on psim when device is not multiple enable profile // supported. Log.i(TAG, "Toggle on pSIM, no dialog displayed."); |