From 3c41bb707b60136b820d1d14760fdaed68164f32 Mon Sep 17 00:00:00 2001 From: Jordan Liu Date: Mon, 1 Jul 2019 23:03:50 +0000 Subject: [PATCH] Revert "Check Carrier Privilege on Hidden Subs" This reverts commit 6fc804b3f9c3279f11d8d623c9042067d095c9b0. Reason for revert: causes test failures b/136421546 Change-Id: I3b1dcd78aea6beeadb82626145e868954286bbee --- .../telephony/SubscriptionManager.java | 21 ++++++++----------- .../telephony/TelephonyPermissions.java | 14 ++++++++----- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java index 4a9b174cedbb0..484fd3b17c025 100644 --- a/telephony/java/android/telephony/SubscriptionManager.java +++ b/telephony/java/android/telephony/SubscriptionManager.java @@ -2121,27 +2121,24 @@ public class SubscriptionManager { * @hide */ @UnsupportedAppUsage - public static @NonNull int[] getActiveSubscriptionIdList() { - return getActiveSubscriptionIdList(true); - } + public @NonNull int[] getActiveSubscriptionIdList() { + int[] subId = null; - /** - * @return a non-null list of subId's that are active. - * - * @hide - */ - public static @NonNull int[] getActiveSubscriptionIdList(boolean visibleOnly) { try { ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub")); if (iSub != null) { - int[] subId = iSub.getActiveSubIdList(visibleOnly); - if (subId != null) return subId; + subId = iSub.getActiveSubIdList(/*visibleOnly*/true); } } catch (RemoteException ex) { // ignore it } - return new int[0]; + if (subId == null) { + subId = new int[0]; + } + + return subId; + } /** diff --git a/telephony/java/com/android/internal/telephony/TelephonyPermissions.java b/telephony/java/com/android/internal/telephony/TelephonyPermissions.java index 5b57c9d7554c8..7a0ab9ca6a288 100644 --- a/telephony/java/com/android/internal/telephony/TelephonyPermissions.java +++ b/telephony/java/com/android/internal/telephony/TelephonyPermissions.java @@ -605,11 +605,15 @@ public final class TelephonyPermissions { */ private static boolean checkCarrierPrivilegeForAnySubId(Context context, Supplier telephonySupplier, int uid) { - int[] activeSubIds = SubscriptionManager.getActiveSubscriptionIdList(/*visibleOnly*/ false); - for (int activeSubId : activeSubIds) { - if (getCarrierPrivilegeStatus(telephonySupplier, activeSubId, uid) - == TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS) { - return true; + SubscriptionManager sm = (SubscriptionManager) context.getSystemService( + Context.TELEPHONY_SUBSCRIPTION_SERVICE); + int[] activeSubIds = sm.getActiveSubscriptionIdList(); + if (activeSubIds != null) { + for (int activeSubId : activeSubIds) { + if (getCarrierPrivilegeStatus(telephonySupplier, activeSubId, uid) + == TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS) { + return true; + } } } return false;