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

Commit d521d87d authored by Jordan Liu's avatar Jordan Liu Committed by android-build-merger
Browse files

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

am: 85a55afa

Change-Id: Iefbc1fe1cb0967703a897068f433517108f087a0
parents 03d32b60 85a55afa
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;
    }