From ec149463cccb374857a7c9837051d7d0df691ecd Mon Sep 17 00:00:00 2001 From: sqian Date: Mon, 10 Sep 2018 19:05:51 -0700 Subject: [PATCH] Make SubscriptionManager.isActiveSubId public Rename subId to subscriptionId Bug: 113072551 Test: Treehugger Change-Id: I6f7e0d06a2ad2367dad04723fea808cad8f9597a --- api/current.txt | 1 + .../android/telephony/SubscriptionManager.java | 15 ++++++++++++++- .../java/com/android/internal/telephony/ISub.aidl | 2 +- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/api/current.txt b/api/current.txt index fe8ee501cde0b..2c9d3c743f0ac 100755 --- a/api/current.txt +++ b/api/current.txt @@ -42456,6 +42456,7 @@ package android.telephony { method public static int getDefaultVoiceSubscriptionId(); method public static int[] getSubscriptionIds(int); method public java.util.List getSubscriptionPlans(int); + method public boolean isActiveSubscriptionId(int); method public boolean isNetworkRoaming(int); method public void removeOnOpportunisticSubscriptionsChangedListener(android.telephony.SubscriptionManager.OnOpportunisticSubscriptionsChangedListener); method public void removeOnSubscriptionsChangedListener(android.telephony.SubscriptionManager.OnSubscriptionsChangedListener); diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java index f7c8e0e14529c..7a03816fed3b6 100644 --- a/telephony/java/android/telephony/SubscriptionManager.java +++ b/telephony/java/android/telephony/SubscriptionManager.java @@ -1825,6 +1825,19 @@ public class SubscriptionManager { return new Resources(context.getResources().getAssets(), newMetrics, newConfig); } + /** + * Checks if the supplied subscription ID corresponds to an active subscription. + * + * @param subscriptionId the subscription ID. + * @return {@code true} if the supplied subscription ID corresponds to an active subscription; + * {@code false} if it does not correspond to an active subscription; or throw a + * SecurityException if the caller hasn't got the right permission. + */ + @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) + public boolean isActiveSubscriptionId(int subscriptionId) { + return isActiveSubId(subscriptionId); + } + /** * @return true if the sub ID is active. i.e. The sub ID corresponds to a known subscription * and the SIM providing the subscription is present in a slot and in "LOADED" state. @@ -1835,7 +1848,7 @@ public class SubscriptionManager { try { ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub")); if (iSub != null) { - return iSub.isActiveSubId(subId); + return iSub.isActiveSubId(subId, mContext.getOpPackageName()); } } catch (RemoteException ex) { } diff --git a/telephony/java/com/android/internal/telephony/ISub.aidl b/telephony/java/com/android/internal/telephony/ISub.aidl index 6521f0b41cb29..0ccd748c31df8 100755 --- a/telephony/java/com/android/internal/telephony/ISub.aidl +++ b/telephony/java/com/android/internal/telephony/ISub.aidl @@ -232,5 +232,5 @@ interface ISub { */ int getSimStateForSlotIndex(int slotIndex); - boolean isActiveSubId(int subId); + boolean isActiveSubId(int subId, String callingPackage); }