Loading src/java/com/android/internal/telephony/SubscriptionInfoUpdater.java +16 −5 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ import com.android.internal.telephony.euicc.EuiccController; import com.android.internal.telephony.uicc.IccRecords; import com.android.internal.telephony.uicc.IccUtils; import com.android.internal.telephony.uicc.UiccController; import com.android.internal.telephony.uicc.UiccSlot; import java.io.FileDescriptor; import java.io.PrintWriter; Loading Loading @@ -671,22 +672,30 @@ public class SubscriptionInfoUpdater extends Handler { List<SubscriptionInfo> subInfos = mSubscriptionManager.getActiveSubscriptionInfoList(); int nSubCount = (subInfos == null) ? 0 : subInfos.size(); logd("updateSubscriptionInfoByIccId: nSubCount = " + nSubCount); boolean changed = false; for (int i=0; i < nSubCount; i++) { SubscriptionInfo temp = subInfos.get(i); ContentValues value = new ContentValues(1); String msisdn = TelephonyManager.getDefault().getLine1Number( temp.getSubscriptionId()); if (msisdn != null) { ContentValues value = new ContentValues(1); UiccSlot uiccSlot = UiccController.getInstance() .getUiccSlotForPhone(temp.getSimSlotIndex()); boolean isEuicc = (uiccSlot != null && uiccSlot.isEuicc()); if (isEuicc != temp.isEmbedded() || !TextUtils.equals(msisdn, temp.getNumber())) { value.put(SubscriptionManager.IS_EMBEDDED, isEuicc); value.put(SubscriptionManager.NUMBER, msisdn); contentResolver.update(SubscriptionManager.getUriForSubscriptionId( temp.getSubscriptionId()), value, null, null); changed = true; } } if (changed) { // refresh Cached Active Subscription Info List SubscriptionController.getInstance().refreshCachedActiveSubscriptionInfoList(); } } // Ensure the modems are mapped correctly mSubscriptionManager.setDefaultDataSubId( Loading Loading @@ -726,6 +735,7 @@ public class SubscriptionInfoUpdater extends Handler { GetEuiccProfileInfoListResult result = EuiccController.get().blockingGetEuiccProfileInfoList(cardId); if (DBG) logd("blockingGetEuiccProfileInfoList cardId " + cardId); if (result == null) { // IPC to the eUICC controller failed. return false; Loading @@ -736,6 +746,7 @@ public class SubscriptionInfoUpdater extends Handler { List<EuiccProfileInfo> list = result.getProfiles(); if (list == null || list.size() == 0) { embeddedProfiles = new EuiccProfileInfo[0]; if (DBG) logd("blockingGetEuiccProfileInfoList list is empty."); } else { embeddedProfiles = list.toArray(new EuiccProfileInfo[list.size()]); } Loading src/java/com/android/internal/telephony/uicc/UiccCard.java +2 −1 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.os.Handler; import android.os.Message; import android.telephony.Rlog; import android.telephony.TelephonyManager; import android.text.TextUtils; import com.android.internal.telephony.CommandsInterface; import com.android.internal.telephony.TelephonyComponentFactory; Loading Loading @@ -489,7 +490,7 @@ public class UiccCard { * card or the EID of the card for an eUICC card. */ public String getCardId() { if (mCardId != null) { if (!TextUtils.isEmpty(mCardId)) { return mCardId; } else if (mUiccProfile != null) { return mUiccProfile.getIccId(); Loading Loading
src/java/com/android/internal/telephony/SubscriptionInfoUpdater.java +16 −5 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ import com.android.internal.telephony.euicc.EuiccController; import com.android.internal.telephony.uicc.IccRecords; import com.android.internal.telephony.uicc.IccUtils; import com.android.internal.telephony.uicc.UiccController; import com.android.internal.telephony.uicc.UiccSlot; import java.io.FileDescriptor; import java.io.PrintWriter; Loading Loading @@ -671,22 +672,30 @@ public class SubscriptionInfoUpdater extends Handler { List<SubscriptionInfo> subInfos = mSubscriptionManager.getActiveSubscriptionInfoList(); int nSubCount = (subInfos == null) ? 0 : subInfos.size(); logd("updateSubscriptionInfoByIccId: nSubCount = " + nSubCount); boolean changed = false; for (int i=0; i < nSubCount; i++) { SubscriptionInfo temp = subInfos.get(i); ContentValues value = new ContentValues(1); String msisdn = TelephonyManager.getDefault().getLine1Number( temp.getSubscriptionId()); if (msisdn != null) { ContentValues value = new ContentValues(1); UiccSlot uiccSlot = UiccController.getInstance() .getUiccSlotForPhone(temp.getSimSlotIndex()); boolean isEuicc = (uiccSlot != null && uiccSlot.isEuicc()); if (isEuicc != temp.isEmbedded() || !TextUtils.equals(msisdn, temp.getNumber())) { value.put(SubscriptionManager.IS_EMBEDDED, isEuicc); value.put(SubscriptionManager.NUMBER, msisdn); contentResolver.update(SubscriptionManager.getUriForSubscriptionId( temp.getSubscriptionId()), value, null, null); changed = true; } } if (changed) { // refresh Cached Active Subscription Info List SubscriptionController.getInstance().refreshCachedActiveSubscriptionInfoList(); } } // Ensure the modems are mapped correctly mSubscriptionManager.setDefaultDataSubId( Loading Loading @@ -726,6 +735,7 @@ public class SubscriptionInfoUpdater extends Handler { GetEuiccProfileInfoListResult result = EuiccController.get().blockingGetEuiccProfileInfoList(cardId); if (DBG) logd("blockingGetEuiccProfileInfoList cardId " + cardId); if (result == null) { // IPC to the eUICC controller failed. return false; Loading @@ -736,6 +746,7 @@ public class SubscriptionInfoUpdater extends Handler { List<EuiccProfileInfo> list = result.getProfiles(); if (list == null || list.size() == 0) { embeddedProfiles = new EuiccProfileInfo[0]; if (DBG) logd("blockingGetEuiccProfileInfoList list is empty."); } else { embeddedProfiles = list.toArray(new EuiccProfileInfo[list.size()]); } Loading
src/java/com/android/internal/telephony/uicc/UiccCard.java +2 −1 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.os.Handler; import android.os.Message; import android.telephony.Rlog; import android.telephony.TelephonyManager; import android.text.TextUtils; import com.android.internal.telephony.CommandsInterface; import com.android.internal.telephony.TelephonyComponentFactory; Loading Loading @@ -489,7 +490,7 @@ public class UiccCard { * card or the EID of the card for an eUICC card. */ public String getCardId() { if (mCardId != null) { if (!TextUtils.isEmpty(mCardId)) { return mCardId; } else if (mUiccProfile != null) { return mUiccProfile.getIccId(); Loading