aboutsummaryrefslogtreecommitdiff
path: root/src/java/com/android/internal/telephony/uicc
diff options
context:
space:
mode:
authorAishwarya Mallampati <amallampati@google.com>2023-01-04 23:02:56 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2023-01-04 23:02:56 +0000
commit9c185193949cd67e87d172f5ba1f3919e8bb7fc3 (patch)
treea7d483625cfaca494e9f2a9b5918e8502a8aff21 /src/java/com/android/internal/telephony/uicc
parent787f7c56e4fd83a9776aff34e00f0f13e3a6420b (diff)
downloadtelephony-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.java29
-rw-r--r--src/java/com/android/internal/telephony/uicc/UiccProfile.java11
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;