diff options
author | Peter Wang <tpwang@google.com> | 2020-07-31 08:43:44 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2020-07-31 08:43:44 +0000 |
commit | 8ba18c0508e809cfe6fde90a60bda357b244cb49 (patch) | |
tree | f9ec147ad73a51c8934bfdee7949a21f23173dca | |
parent | e5e46c6dfda90017e43b7c1c579b2099647bb004 (diff) | |
parent | c061cdf46774e740707a9c364b86068a04985664 (diff) |
Merge "[Telephony Mainline] Rename getActiveAndHiddenSubscriptionIdList and guard with permission"
7 files changed, 12 insertions, 10 deletions
diff --git a/api/system-current.txt b/api/system-current.txt index a10880bee172..cbad95ab6835 100755 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -8932,10 +8932,10 @@ package android.telephony { public class SubscriptionManager { method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean canDisablePhysicalSubscription(); method public boolean canManageSubscription(@NonNull android.telephony.SubscriptionInfo, @NonNull String); - method @NonNull public int[] getActiveAndHiddenSubscriptionIdList(); - method @NonNull public int[] getActiveSubscriptionIdList(); + method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getActiveSubscriptionIdList(); method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.SubscriptionInfo getActiveSubscriptionInfoForIcc(@NonNull String); method public java.util.List<android.telephony.SubscriptionInfo> getAvailableSubscriptionInfoList(); + method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getCompleteActiveSubscriptionIdList(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEnabledSubscriptionId(int); method @NonNull public static android.content.res.Resources getResourcesForSubId(@NonNull android.content.Context, int); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isSubscriptionEnabled(int); diff --git a/non-updatable-api/system-current.txt b/non-updatable-api/system-current.txt index 0b299092c433..c6314d3924bc 100644 --- a/non-updatable-api/system-current.txt +++ b/non-updatable-api/system-current.txt @@ -8830,10 +8830,10 @@ package android.telephony { public class SubscriptionManager { method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean canDisablePhysicalSubscription(); method public boolean canManageSubscription(@NonNull android.telephony.SubscriptionInfo, @NonNull String); - method @NonNull public int[] getActiveAndHiddenSubscriptionIdList(); - method @NonNull public int[] getActiveSubscriptionIdList(); + method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getActiveSubscriptionIdList(); method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.SubscriptionInfo getActiveSubscriptionInfoForIcc(@NonNull String); method public java.util.List<android.telephony.SubscriptionInfo> getAvailableSubscriptionInfoList(); + method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getCompleteActiveSubscriptionIdList(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEnabledSubscriptionId(int); method @NonNull public static android.content.res.Resources getResourcesForSubId(@NonNull android.content.Context, int); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isSubscriptionEnabled(int); diff --git a/services/core/java/com/android/server/TelephonyRegistry.java b/services/core/java/com/android/server/TelephonyRegistry.java index c7277de18442..276ce16f37f5 100644 --- a/services/core/java/com/android/server/TelephonyRegistry.java +++ b/services/core/java/com/android/server/TelephonyRegistry.java @@ -1457,7 +1457,7 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub { public void notifyCarrierNetworkChange(boolean active) { // only CarrierService with carrier privilege rule should have the permission int[] subIds = Arrays.stream(SubscriptionManager.from(mContext) - .getActiveAndHiddenSubscriptionIdList()) + .getCompleteActiveSubscriptionIdList()) .filter(i -> TelephonyPermissions.checkCarrierPrivilegeForSubId(mContext, i)).toArray(); if (ArrayUtils.isEmpty(subIds)) { diff --git a/services/core/java/com/android/server/net/NetworkStatsSubscriptionsMonitor.java b/services/core/java/com/android/server/net/NetworkStatsSubscriptionsMonitor.java index 5f2c4a38b42a..0575ac6315a1 100644 --- a/services/core/java/com/android/server/net/NetworkStatsSubscriptionsMonitor.java +++ b/services/core/java/com/android/server/net/NetworkStatsSubscriptionsMonitor.java @@ -127,7 +127,7 @@ public class NetworkStatsSubscriptionsMonitor extends @NonNull private List<Integer> getActiveSubIdList(@NonNull SubscriptionManager subscriptionManager) { final ArrayList<Integer> ret = new ArrayList<>(); - final int[] ids = subscriptionManager.getActiveAndHiddenSubscriptionIdList(); + final int[] ids = subscriptionManager.getCompleteActiveSubscriptionIdList(); for (int id : ids) ret.add(id); return ret; } diff --git a/telephony/common/com/android/internal/telephony/TelephonyPermissions.java b/telephony/common/com/android/internal/telephony/TelephonyPermissions.java index 82725032eb44..0f53fe65463f 100644 --- a/telephony/common/com/android/internal/telephony/TelephonyPermissions.java +++ b/telephony/common/com/android/internal/telephony/TelephonyPermissions.java @@ -650,7 +650,7 @@ public final class TelephonyPermissions { private static boolean checkCarrierPrivilegeForAnySubId(Context context, int uid) { SubscriptionManager sm = (SubscriptionManager) context.getSystemService( Context.TELEPHONY_SUBSCRIPTION_SERVICE); - int[] activeSubIds = sm.getActiveSubscriptionIdList(/* visibleOnly */ false); + int[] activeSubIds = sm.getCompleteActiveSubscriptionIdList(); for (int activeSubId : activeSubIds) { if (getCarrierPrivilegeStatus(context, activeSubId, uid) == TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS) { diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java index 5082e65df80b..bcde7160c1c5 100644 --- a/telephony/java/android/telephony/SubscriptionManager.java +++ b/telephony/java/android/telephony/SubscriptionManager.java @@ -2182,6 +2182,7 @@ public class SubscriptionManager { * @hide */ @SystemApi + @RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public @NonNull int[] getActiveSubscriptionIdList() { return getActiveSubscriptionIdList(/* visibleOnly */ true); } @@ -2199,7 +2200,8 @@ public class SubscriptionManager { * @hide */ @SystemApi - public @NonNull int[] getActiveAndHiddenSubscriptionIdList() { + @RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE) + public @NonNull int[] getCompleteActiveSubscriptionIdList() { return getActiveSubscriptionIdList(/* visibleOnly */false); } diff --git a/tests/net/java/com/android/server/net/NetworkStatsSubscriptionsMonitorTest.java b/tests/net/java/com/android/server/net/NetworkStatsSubscriptionsMonitorTest.java index 9531b0a5bb66..6dc4fced19a2 100644 --- a/tests/net/java/com/android/server/net/NetworkStatsSubscriptionsMonitorTest.java +++ b/tests/net/java/com/android/server/net/NetworkStatsSubscriptionsMonitorTest.java @@ -130,7 +130,7 @@ public final class NetworkStatsSubscriptionsMonitorTest { mTestSubList.add(subId); final int[] subList = convertArrayListToIntArray(mTestSubList); - when(mSubscriptionManager.getActiveAndHiddenSubscriptionIdList()).thenReturn(subList); + when(mSubscriptionManager.getCompleteActiveSubscriptionIdList()).thenReturn(subList); when(mTelephonyManager.getSubscriberId(subId)).thenReturn(subscriberId); mMonitor.onSubscriptionsChanged(); } @@ -139,7 +139,7 @@ public final class NetworkStatsSubscriptionsMonitorTest { // Remove subId from TestSubList. mTestSubList.removeIf(it -> it == subId); final int[] subList = convertArrayListToIntArray(mTestSubList); - when(mSubscriptionManager.getActiveAndHiddenSubscriptionIdList()).thenReturn(subList); + when(mSubscriptionManager.getCompleteActiveSubscriptionIdList()).thenReturn(subList); mMonitor.onSubscriptionsChanged(); } |