Merge "Revert "Check Carrier Privilege on Hidden Subs"" into qt-r1-dev

This commit is contained in:
TreeHugger Robot
2019-07-02 02:11:37 +00:00
committed by Android (Google) Code Review
2 changed files with 18 additions and 17 deletions

View File

@@ -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;
}
/**

View File

@@ -605,11 +605,15 @@ public final class TelephonyPermissions {
*/
private static boolean checkCarrierPrivilegeForAnySubId(Context context,
Supplier<ITelephony> 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;