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

Commit 334968c1 authored by Sunny Shao's avatar Sunny Shao
Browse files

Add the FLAG_IMMUTABLE flag for creating a PendingIntent

- Android S+ to specify explicitly either FLAG_MUTABLE or FLAG_IMMUTABLE
  when creating a PendingIntent.

Fixes: 170162598
Fixes: 170162878
Fixes: 170163592
Fixes: 170164316
Fixes: 170164458
Fixes: 170164327
Fixes: 169794524
Fixes: 170165106
Test: build pass and manual test add an account
Change-Id: I0f7b117273647dbe9e146033b8995c8c6f147576
parent 98c7ad99
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -247,7 +247,8 @@ public class AddAccountSettings extends Activity {
        identityIntent.setAction(SHOULD_NOT_RESOLVE);
        identityIntent.addCategory(SHOULD_NOT_RESOLVE);

        mPendingIntent = PendingIntent.getBroadcast(this, 0, identityIntent, 0);
        mPendingIntent = PendingIntent.getBroadcast(this, 0, identityIntent,
                PendingIntent.FLAG_IMMUTABLE);
        addAccountOptions.putParcelable(KEY_CALLER_IDENTITY, mPendingIntent);
        addAccountOptions.putBoolean(EXTRA_HAS_MULTIPLE_USERS, Utils.hasMultipleUsers(this));
        AccountManager.get(this).addAccountAsUser(
+2 −2
Original line number Diff line number Diff line
@@ -129,13 +129,13 @@ public class BluetoothSliceBuilder {
    private static PendingIntent getPrimaryAction(Context context) {
        final Intent intent = getIntent(context);
        return PendingIntent.getActivity(context, 0 /* requestCode */,
                intent, 0 /* flags */);
                intent, PendingIntent.FLAG_IMMUTABLE);
    }

    private static PendingIntent getBroadcastIntent(Context context) {
        final Intent intent = new Intent(ACTION_BLUETOOTH_SLICE_CHANGED)
                .setClass(context, SliceBroadcastReceiver.class);
        return PendingIntent.getBroadcast(context, 0 /* requestCode */, intent,
                PendingIntent.FLAG_UPDATE_CURRENT);
                PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
    }
}
+2 −1
Original line number Diff line number Diff line
@@ -163,7 +163,8 @@ public class BatteryFixSlice implements CustomSliceable {

    private PendingIntent getPrimaryAction() {
        final Intent intent = getIntent();
        return PendingIntent.getActivity(mContext, 0  /* requestCode */, intent, 0  /* flags */);
        return PendingIntent.getActivity(mContext, 0  /* requestCode */, intent,
                PendingIntent.FLAG_IMMUTABLE);
    }

    private Slice buildBatteryGoodSlice(ListBuilder sliceBuilder, boolean isError) {
+2 −2
Original line number Diff line number Diff line
@@ -116,8 +116,8 @@ public class LowStorageSlice implements CustomSliceable {

    private RowBuilder buildRowBuilder(CharSequence title, String summary, IconCompat icon) {
        final SliceAction primarySliceAction = SliceAction.createDeeplink(
                PendingIntent.getActivity(mContext, 0, getIntent(), 0), icon,
                ListBuilder.ICON_IMAGE, title);
                PendingIntent.getActivity(mContext, 0, getIntent(), PendingIntent.FLAG_IMMUTABLE),
                icon, ListBuilder.ICON_IMAGE, title);

        return new RowBuilder()
                .setTitleItem(icon, ListBuilder.ICON_IMAGE)
+1 −1
Original line number Diff line number Diff line
@@ -96,6 +96,6 @@ public class LocationSlice implements CustomSliceable {
    private PendingIntent getPrimaryAction() {
        final Intent intent = getIntent();
        return PendingIntent.getActivity(mContext, 0 /* requestCode */,
                intent, 0 /* flags */);
                intent, PendingIntent.FLAG_IMMUTABLE);
    }
}
Loading