Loading telephony/java/android/telephony/SubscriptionManager.java +12 −9 Original line number Original line Diff line number Diff line Loading @@ -2121,24 +2121,27 @@ public class SubscriptionManager { * @hide * @hide */ */ @UnsupportedAppUsage @UnsupportedAppUsage public @NonNull int[] getActiveSubscriptionIdList() { public static @NonNull int[] getActiveSubscriptionIdList() { int[] subId = null; return getActiveSubscriptionIdList(true); } /** * @return a non-null list of subId's that are active. * * @hide */ public static @NonNull int[] getActiveSubscriptionIdList(boolean visibleOnly) { try { try { ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub")); ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub")); if (iSub != null) { if (iSub != null) { subId = iSub.getActiveSubIdList(/*visibleOnly*/true); int[] subId = iSub.getActiveSubIdList(visibleOnly); if (subId != null) return subId; } } } catch (RemoteException ex) { } catch (RemoteException ex) { // ignore it // ignore it } } if (subId == null) { return new int[0]; subId = new int[0]; } return subId; } } /** /** Loading telephony/java/com/android/internal/telephony/TelephonyPermissions.java +5 −9 Original line number Original line Diff line number Diff line Loading @@ -605,17 +605,13 @@ public final class TelephonyPermissions { */ */ private static boolean checkCarrierPrivilegeForAnySubId(Context context, private static boolean checkCarrierPrivilegeForAnySubId(Context context, Supplier<ITelephony> telephonySupplier, int uid) { Supplier<ITelephony> telephonySupplier, int uid) { SubscriptionManager sm = (SubscriptionManager) context.getSystemService( int[] activeSubIds = SubscriptionManager.getActiveSubscriptionIdList(/*visibleOnly*/ false); Context.TELEPHONY_SUBSCRIPTION_SERVICE); int[] activeSubIds = sm.getActiveSubscriptionIdList(); if (activeSubIds != null) { for (int activeSubId : activeSubIds) { for (int activeSubId : activeSubIds) { if (getCarrierPrivilegeStatus(telephonySupplier, activeSubId, uid) if (getCarrierPrivilegeStatus(telephonySupplier, activeSubId, uid) == TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS) { == TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS) { return true; return true; } } } } } return false; return false; } } Loading Loading
telephony/java/android/telephony/SubscriptionManager.java +12 −9 Original line number Original line Diff line number Diff line Loading @@ -2121,24 +2121,27 @@ public class SubscriptionManager { * @hide * @hide */ */ @UnsupportedAppUsage @UnsupportedAppUsage public @NonNull int[] getActiveSubscriptionIdList() { public static @NonNull int[] getActiveSubscriptionIdList() { int[] subId = null; return getActiveSubscriptionIdList(true); } /** * @return a non-null list of subId's that are active. * * @hide */ public static @NonNull int[] getActiveSubscriptionIdList(boolean visibleOnly) { try { try { ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub")); ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub")); if (iSub != null) { if (iSub != null) { subId = iSub.getActiveSubIdList(/*visibleOnly*/true); int[] subId = iSub.getActiveSubIdList(visibleOnly); if (subId != null) return subId; } } } catch (RemoteException ex) { } catch (RemoteException ex) { // ignore it // ignore it } } if (subId == null) { return new int[0]; subId = new int[0]; } return subId; } } /** /** Loading
telephony/java/com/android/internal/telephony/TelephonyPermissions.java +5 −9 Original line number Original line Diff line number Diff line Loading @@ -605,17 +605,13 @@ public final class TelephonyPermissions { */ */ private static boolean checkCarrierPrivilegeForAnySubId(Context context, private static boolean checkCarrierPrivilegeForAnySubId(Context context, Supplier<ITelephony> telephonySupplier, int uid) { Supplier<ITelephony> telephonySupplier, int uid) { SubscriptionManager sm = (SubscriptionManager) context.getSystemService( int[] activeSubIds = SubscriptionManager.getActiveSubscriptionIdList(/*visibleOnly*/ false); Context.TELEPHONY_SUBSCRIPTION_SERVICE); int[] activeSubIds = sm.getActiveSubscriptionIdList(); if (activeSubIds != null) { for (int activeSubId : activeSubIds) { for (int activeSubId : activeSubIds) { if (getCarrierPrivilegeStatus(telephonySupplier, activeSubId, uid) if (getCarrierPrivilegeStatus(telephonySupplier, activeSubId, uid) == TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS) { == TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS) { return true; return true; } } } } } return false; return false; } } Loading