Implement getUiccCardsInfo API
This is a system API for returning information about the currently
inserted UICCs and eUICCs.
Bug: 80097562
Test: manual and UiccControllerTest.java
Change-Id: I05c9600a9fbf48018f0014cbdf6b61b2ffb6ee10
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 2f3dd46..469d22f 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -78,6 +78,7 @@
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyHistogram;
import android.telephony.TelephonyManager;
+import android.telephony.UiccCardInfo;
import android.telephony.UiccSlotInfo;
import android.telephony.UssdResponse;
import android.telephony.VisualVoicemailSmsFilterSettings;
@@ -5648,6 +5649,19 @@
}
@Override
+ public UiccCardInfo[] getUiccCardsInfo() {
+ enforceReadPrivilegedPermission("getUiccCardsInfo");
+
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ ArrayList<UiccCardInfo> cards = UiccController.getInstance().getAllUiccCardInfos();
+ return cards.toArray(new UiccCardInfo[cards.size()]);
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
+ }
+
+ @Override
public UiccSlotInfo[] getUiccSlotsInfo() {
enforceReadPrivilegedPermission("getUiccSlotsInfo");