diff --git a/config/hiddenapi-greylist.txt b/config/hiddenapi-greylist.txt index dc2ed4cc0d69e..69208fc60db38 100644 --- a/config/hiddenapi-greylist.txt +++ b/config/hiddenapi-greylist.txt @@ -3108,10 +3108,6 @@ Lcom/android/internal/telephony/ISms$Stub;->()V Lcom/android/internal/telephony/ISms$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ISms; Lcom/android/internal/telephony/ISub$Stub$Proxy;->(Landroid/os/IBinder;)V Lcom/android/internal/telephony/ISub$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ISub; -Lcom/android/internal/telephony/ISub;->getActiveSubIdList()[I -Lcom/android/internal/telephony/ISub;->getDefaultDataSubId()I -Lcom/android/internal/telephony/ISub;->getDefaultSubId()I -Lcom/android/internal/telephony/ISub;->setDefaultDataSubId(I)V Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->(Landroid/os/IBinder;)V Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->getDeviceId(Ljava/lang/String;)Ljava/lang/String; Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->isRadioOn(Ljava/lang/String;)Z diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java index 94f26a8a8d619..c28d1fb6d43e2 100644 --- a/telephony/java/android/telephony/SubscriptionManager.java +++ b/telephony/java/android/telephony/SubscriptionManager.java @@ -2081,7 +2081,7 @@ public class SubscriptionManager { try { ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub")); if (iSub != null) { - subId = iSub.getActiveSubIdList(); + subId = iSub.getActiveSubIdList(/*visibleOnly*/true); } } catch (RemoteException ex) { // ignore it @@ -2866,7 +2866,7 @@ public class SubscriptionManager { * * @hide */ - private boolean shouldHideSubscription(SubscriptionInfo info) { + public boolean shouldHideSubscription(SubscriptionInfo info) { if (info == null) return false; // If hasCarrierPrivileges or canManageSubscription returns true, it means caller @@ -2874,8 +2874,14 @@ public class SubscriptionManager { boolean hasCarrierPrivilegePermission = (info.isEmbedded() && canManageSubscription(info)) || TelephonyManager.from(mContext).hasCarrierPrivileges(info.getSubscriptionId()); - return (!TextUtils.isEmpty(info.getGroupUuid()) && info.isOpportunistic() - && !hasCarrierPrivilegePermission); + return isInvisibleSubscription(info) && !hasCarrierPrivilegePermission; + } + + /** + * @hide + */ + public static boolean isInvisibleSubscription(SubscriptionInfo info) { + return info != null && !TextUtils.isEmpty(info.getGroupUuid()) && info.isOpportunistic(); } /** diff --git a/telephony/java/com/android/internal/telephony/ISub.aidl b/telephony/java/com/android/internal/telephony/ISub.aidl index 75a4d8227e23d..79e0aa15b6ab6 100755 --- a/telephony/java/com/android/internal/telephony/ISub.aidl +++ b/telephony/java/com/android/internal/telephony/ISub.aidl @@ -275,7 +275,7 @@ interface ISub { void clearDefaultsForInactiveSubIds(); - int[] getActiveSubIdList(); + int[] getActiveSubIdList(boolean visibleOnly); int setSubscriptionProperty(int subId, String propKey, String propValue);