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

Commit 529cda4f authored by paulhu's avatar paulhu
Browse files

Add a mutability flag to the PendingIntent

It's soon going to be required for apps targeting S+ to specify
explicitly either FLAG_MUTABLE or FLAG_IMMUTABLE when creating
a PendingIntent. Thus, add a mutability flag to the
PendingIntent that doesn't specify it before.

Bug: 170602021
Bug: 170766590
Test: atest FrameworksNetTests
Change-Id: I56581033c0a1b450b6626112cdae5e5d9aac873f
parent 5f7d33da
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -70,7 +70,8 @@ public class VpnConfig implements Parcelable {
        intent.setClassName(DIALOGS_PACKAGE, DIALOGS_PACKAGE + ".ManageDialog");
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_NO_HISTORY |
                Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
        return PendingIntent.getActivityAsUser(context, 0, intent, 0, null, UserHandle.CURRENT);
        return PendingIntent.getActivityAsUser(context, 0 /* requestCode */, intent,
                PendingIntent.FLAG_IMMUTABLE, null /* options */, UserHandle.CURRENT);
    }

    public static CharSequence getVpnLabel(Context context, String packageName)
+3 −2
Original line number Diff line number Diff line
@@ -159,8 +159,9 @@ public class LingerMonitor {

    @VisibleForTesting
    protected PendingIntent createNotificationIntent() {
        return PendingIntent.getActivityAsUser(mContext, 0, CELLULAR_SETTINGS,
                PendingIntent.FLAG_CANCEL_CURRENT, null, UserHandle.CURRENT);
        return PendingIntent.getActivityAsUser(mContext, 0 /* requestCode */, CELLULAR_SETTINGS,
                PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE,
                null /* options */, UserHandle.CURRENT);
    }

    // Removes any notification that was put up as a result of switching to nai.
+2 −1
Original line number Diff line number Diff line
@@ -325,7 +325,8 @@ public class NetworkNotificationManager {
    public void setProvNotificationVisible(boolean visible, int id, String action) {
        if (visible) {
            Intent intent = new Intent(action);
            PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, 0, intent, 0);
            PendingIntent pendingIntent = PendingIntent.getBroadcast(
                    mContext, 0 /* requestCode */, intent, PendingIntent.FLAG_IMMUTABLE);
            showNotification(id, NotificationType.SIGN_IN, null, null, pendingIntent, false);
        } else {
            clearNotification(id);
+4 −2
Original line number Diff line number Diff line
@@ -95,11 +95,13 @@ public class LockdownVpnTracker {
        mProfile = Objects.requireNonNull(profile);

        final Intent configIntent = new Intent(ACTION_VPN_SETTINGS);
        mConfigIntent = PendingIntent.getActivity(mContext, 0, configIntent, 0);
        mConfigIntent = PendingIntent.getActivity(mContext, 0 /* requestCode */, configIntent,
                PendingIntent.FLAG_IMMUTABLE);

        final Intent resetIntent = new Intent(ACTION_LOCKDOWN_RESET);
        resetIntent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY);
        mResetIntent = PendingIntent.getBroadcast(mContext, 0, resetIntent, 0);
        mResetIntent = PendingIntent.getBroadcast(mContext, 0 /* requestCode */, resetIntent,
                PendingIntent.FLAG_IMMUTABLE);
    }

    /**