diff options
author | Aishwarya Mallampati <amallampati@google.com> | 2023-01-04 23:02:56 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2023-01-04 23:02:56 +0000 |
commit | 9c185193949cd67e87d172f5ba1f3919e8bb7fc3 (patch) | |
tree | a7d483625cfaca494e9f2a9b5918e8502a8aff21 /src/java/com/android/internal/telephony/uicc | |
parent | 787f7c56e4fd83a9776aff34e00f0f13e3a6420b (diff) | |
download | telephony-9c185193949cd67e87d172f5ba1f3919e8bb7fc3.tar.gz |
Revert "Added SIM events handling and fix crashes"
Revert submission 20813798-smsvc_bootup
Reason for revert: b/263772382
Reverted changes: /q/submissionid:20813798-smsvc_bootup
Change-Id: I3fb32444d6f50dc8ace1276f2998551118832c7f
Diffstat (limited to 'src/java/com/android/internal/telephony/uicc')
-rw-r--r-- | src/java/com/android/internal/telephony/uicc/UiccController.java | 29 | ||||
-rw-r--r-- | src/java/com/android/internal/telephony/uicc/UiccProfile.java | 11 |
2 files changed, 29 insertions, 11 deletions
diff --git a/src/java/com/android/internal/telephony/uicc/UiccController.java b/src/java/com/android/internal/telephony/uicc/UiccController.java index f88aa7d1ed..1ad7ee35f6 100644 --- a/src/java/com/android/internal/telephony/uicc/UiccController.java +++ b/src/java/com/android/internal/telephony/uicc/UiccController.java @@ -40,6 +40,7 @@ import android.preference.PreferenceManager; import android.sysprop.TelephonyProperties; import android.telephony.AnomalyReporter; import android.telephony.CarrierConfigManager; +import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.telephony.TelephonyManager.SimState; @@ -950,6 +951,31 @@ public class UiccController extends Handler { } /** + * Check if the SIM application is enabled on the card or not. + * + * @param phoneId The phone id. + * @return {@code true} if the application is enabled. + */ + private boolean areUiccAppsEnabledOnCard(int phoneId) { + // When uicc apps are disabled(supported in IRadio 1.5), we will still get IccId from + // cardStatus (since IRadio 1.2). Amd upon cardStatus change we'll receive another + // handleSimNotReady so this will be evaluated again. + UiccSlot slot = getUiccSlotForPhone(phoneId); + if (slot == null) return false; + UiccPort port = getUiccPort(phoneId); + String iccId = (port == null) ? null : port.getIccId(); + if (iccId == null) { + return false; + } + SubscriptionInfo info = SubscriptionManagerService.getInstance() + .getAllSubInfoList(mContext.getOpPackageName(), mContext.getAttributionTag()) + .stream().filter(subInfo -> subInfo.getIccId().equals( + IccUtils.stripTrailingFs(iccId))) + .findFirst().orElse(null); + return info != null && info.areUiccApplicationsEnabled(); + } + + /** * Update the SIM state. * * @param phoneId Phone id. @@ -985,8 +1011,7 @@ public class UiccController extends Handler { if (simState == TelephonyManager.SIM_STATE_NOT_READY && (uiccProfile != null && !uiccProfile.isEmptyProfile()) - && SubscriptionManagerService.getInstance() - .areUiccAppsEnabledOnCard(phoneId)) { + && areUiccAppsEnabledOnCard(phoneId)) { // STATE_NOT_READY is not a final state for when both // 1) It's not an empty profile, and // 2) Its uicc applications are set to enabled. diff --git a/src/java/com/android/internal/telephony/uicc/UiccProfile.java b/src/java/com/android/internal/telephony/uicc/UiccProfile.java index 11f6738652..d9ff3f15d6 100644 --- a/src/java/com/android/internal/telephony/uicc/UiccProfile.java +++ b/src/java/com/android/internal/telephony/uicc/UiccProfile.java @@ -527,15 +527,8 @@ public class UiccProfile extends IccCard { private void updateCarrierNameForSubscription(int subId, int nameSource) { /* update display name with carrier override */ - SubscriptionInfo subInfo; - - if (PhoneFactory.isSubscriptionManagerServiceEnabled()) { - subInfo = SubscriptionManagerService.getInstance().getActiveSubscriptionInfo(subId, - mContext.getOpPackageName(), mContext.getAttributionTag()); - } else { - subInfo = SubscriptionController.getInstance().getActiveSubscriptionInfo( - subId, mContext.getOpPackageName(), mContext.getAttributionTag()); - } + SubscriptionInfo subInfo = SubscriptionController.getInstance().getActiveSubscriptionInfo( + subId, mContext.getOpPackageName(), mContext.getAttributionTag()); if (subInfo == null) { return; |