summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jack Yu <jackyu@google.com> 2023-02-20 21:15:54 -0800
committer Ling Ma <linggm@google.com> 2023-07-27 17:26:37 +0000
commitfaa35df7a96537be5a6d1dcdce052c3f5fbeb972 (patch)
treeba2e5b061385489e5f3fb20e385bfa36806516e3
parent98811d90e639ae1e2bf6307eff7c35bc1dd32e61 (diff)
Cleaned up the usage of SubscriptionManger.getSubId
Cleaned up the old APIs and replaced with the new APIs. Bug: 270094276 Test: Boot up + Basic phone funcationality tests Change-Id: Id372018a437e72c1b5874dec620b5158337bf43c Merged-In: Id372018a437e72c1b5874dec620b5158337bf43c
-rw-r--r--telephony/java/android/telephony/SubscriptionManager.java44
-rw-r--r--telephony/java/com/android/internal/telephony/ISub.aidl2
2 files changed, 22 insertions, 24 deletions
diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java
index 81eb8365d7e0..59a5b7ea7847 100644
--- a/telephony/java/android/telephony/SubscriptionManager.java
+++ b/telephony/java/android/telephony/SubscriptionManager.java
@@ -2218,46 +2218,46 @@ public class SubscriptionManager {
}
/**
- * Get an array of subscription ids for specified logical SIM slot Index.
+ * Get an array of subscription ids for the specified logical SIM slot Index. The maximum size
+ * of the array is 1. This API was mistakenly designed to return multiple subscription ids,
+ * which is not possible in the current Android telephony architecture.
*
* @param slotIndex The logical SIM slot index.
*
- * @return subscription Ids or {@code null} if the given slot index is not valid or there are
- * no active subscription in the slot. In the implementation today, there will be no more
- * than one subscriptions per logical SIM slot.
+ * @return Subscription id of the active subscription on the specified logical SIM slot index.
+ * If SIM is absent on the slot, a single element array of {@link #INVALID_SUBSCRIPTION_ID} will
+ * be returned. {@code null} if the provided {@code slotIndex} is not valid.
*
* @deprecated Use {@link #getSubscriptionId(int)} instead.
*/
@Deprecated
@Nullable
public int[] getSubscriptionIds(int slotIndex) {
- int subId = getSubscriptionId(slotIndex);
- if (!isValidSubscriptionId(subId)) {
+ if (!isValidSlotIndex(slotIndex)) {
return null;
}
return new int[]{getSubscriptionId(slotIndex)};
}
- /** @hide */
- @UnsupportedAppUsage
+ /**
+ * Get an array of subscription ids for the specified logical SIM slot Index. The maximum size
+ * of the array is 1. This API was mistakenly designed to return multiple subscription ids,
+ * which is not possible in the current Android telephony architecture.
+ *
+ * @param slotIndex The logical SIM slot index.
+ *
+ * @return Subscription id of the active subscription on the specified logical SIM slot index.
+ * If SIM is absent on the slot, a single element array of {@link #INVALID_SUBSCRIPTION_ID} will
+ * be returned. {@code null} if the provided {@code slotIndex} is not valid.
+ *
+ * @deprecated Use {@link #getSubscriptionId(int)} instead.
+ * @hide
+ */
public static int[] getSubId(int slotIndex) {
if (!isValidSlotIndex(slotIndex)) {
- logd("[getSubId]- fail");
return null;
}
-
- int[] subId = null;
-
- try {
- ISub iSub = TelephonyManager.getSubscriptionService();
- if (iSub != null) {
- subId = iSub.getSubIds(slotIndex);
- }
- } catch (RemoteException ex) {
- // ignore it
- }
-
- return subId;
+ return new int[]{getSubscriptionId(slotIndex)};
}
/**
diff --git a/telephony/java/com/android/internal/telephony/ISub.aidl b/telephony/java/com/android/internal/telephony/ISub.aidl
index af4edc443151..632a6874b5f5 100644
--- a/telephony/java/com/android/internal/telephony/ISub.aidl
+++ b/telephony/java/com/android/internal/telephony/ISub.aidl
@@ -236,8 +236,6 @@ interface ISub {
int getSlotIndex(int subId);
- int[] getSubIds(int slotIndex);
-
int getSubId(int slotIndex);
int getDefaultSubId();