Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 85a55afa authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

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

parents dd217f3a 3c41bb70
Loading
Loading
Loading
Loading
+9 −12
Original line number Diff line number Diff line
@@ -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;

    }

    /**
+9 −5
Original line number Diff line number Diff line
@@ -605,13 +605,17 @@ public final class TelephonyPermissions {
     */
    private static boolean checkCarrierPrivilegeForAnySubId(Context context,
            Supplier<ITelephony> telephonySupplier, int uid) {
        int[] activeSubIds = SubscriptionManager.getActiveSubscriptionIdList(/*visibleOnly*/ false);
        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;
    }