Merge "Fix the issue on reading cardId." into pi-dev
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index d0f50c7..1537471 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -4135,12 +4135,20 @@
enforceReadPrivilegedPermission();
UiccSlot[] slots = UiccController.getInstance().getUiccSlots();
- if (slots == null) return null;
+ if (slots == null) {
+ Rlog.i(LOG_TAG, "slots is null.");
+ return null;
+ }
+
UiccSlotInfo[] infos = new UiccSlotInfo[slots.length];
for (int i = 0; i < slots.length; i++) {
UiccSlot slot = slots[i];
- String cardId = UiccController.getInstance().getUiccCard(i).getCardId();
+ String cardId = null;
+ UiccCard card = slot.getUiccCard();
+ if (card != null) {
+ cardId = card.getCardId();
+ }
int cardState = 0;
switch (slot.getCardState()) {