Merge "Add the explicitly mutable flag for creating a PendingIntent"

This commit is contained in:
TreeHugger Robot
2020-10-14 10:48:24 +00:00
committed by Android (Google) Code Review
8 changed files with 16 additions and 12 deletions

View File

@@ -247,7 +247,8 @@ public class AddAccountSettings extends Activity {
identityIntent.setAction(SHOULD_NOT_RESOLVE); identityIntent.setAction(SHOULD_NOT_RESOLVE);
identityIntent.addCategory(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.putParcelable(KEY_CALLER_IDENTITY, mPendingIntent);
addAccountOptions.putBoolean(EXTRA_HAS_MULTIPLE_USERS, Utils.hasMultipleUsers(this)); addAccountOptions.putBoolean(EXTRA_HAS_MULTIPLE_USERS, Utils.hasMultipleUsers(this));
AccountManager.get(this).addAccountAsUser( AccountManager.get(this).addAccountAsUser(

View File

@@ -129,13 +129,13 @@ public class BluetoothSliceBuilder {
private static PendingIntent getPrimaryAction(Context context) { private static PendingIntent getPrimaryAction(Context context) {
final Intent intent = getIntent(context); final Intent intent = getIntent(context);
return PendingIntent.getActivity(context, 0 /* requestCode */, return PendingIntent.getActivity(context, 0 /* requestCode */,
intent, 0 /* flags */); intent, PendingIntent.FLAG_IMMUTABLE);
} }
private static PendingIntent getBroadcastIntent(Context context) { private static PendingIntent getBroadcastIntent(Context context) {
final Intent intent = new Intent(ACTION_BLUETOOTH_SLICE_CHANGED) final Intent intent = new Intent(ACTION_BLUETOOTH_SLICE_CHANGED)
.setClass(context, SliceBroadcastReceiver.class); .setClass(context, SliceBroadcastReceiver.class);
return PendingIntent.getBroadcast(context, 0 /* requestCode */, intent, return PendingIntent.getBroadcast(context, 0 /* requestCode */, intent,
PendingIntent.FLAG_UPDATE_CURRENT); PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
} }
} }

View File

@@ -163,7 +163,8 @@ public class BatteryFixSlice implements CustomSliceable {
private PendingIntent getPrimaryAction() { private PendingIntent getPrimaryAction() {
final Intent intent = getIntent(); 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) { private Slice buildBatteryGoodSlice(ListBuilder sliceBuilder, boolean isError) {

View File

@@ -116,8 +116,8 @@ public class LowStorageSlice implements CustomSliceable {
private RowBuilder buildRowBuilder(CharSequence title, String summary, IconCompat icon) { private RowBuilder buildRowBuilder(CharSequence title, String summary, IconCompat icon) {
final SliceAction primarySliceAction = SliceAction.createDeeplink( final SliceAction primarySliceAction = SliceAction.createDeeplink(
PendingIntent.getActivity(mContext, 0, getIntent(), 0), icon, PendingIntent.getActivity(mContext, 0, getIntent(), PendingIntent.FLAG_IMMUTABLE),
ListBuilder.ICON_IMAGE, title); icon, ListBuilder.ICON_IMAGE, title);
return new RowBuilder() return new RowBuilder()
.setTitleItem(icon, ListBuilder.ICON_IMAGE) .setTitleItem(icon, ListBuilder.ICON_IMAGE)

View File

@@ -96,6 +96,6 @@ public class LocationSlice implements CustomSliceable {
private PendingIntent getPrimaryAction() { private PendingIntent getPrimaryAction() {
final Intent intent = getIntent(); final Intent intent = getIntent();
return PendingIntent.getActivity(mContext, 0 /* requestCode */, return PendingIntent.getActivity(mContext, 0 /* requestCode */,
intent, 0 /* flags */); intent, PendingIntent.FLAG_IMMUTABLE);
} }
} }

View File

@@ -142,13 +142,14 @@ public class ZenModeSliceBuilder {
private static PendingIntent getPrimaryAction(Context context) { private static PendingIntent getPrimaryAction(Context context) {
final Intent intent = getIntent(context); final Intent intent = getIntent(context);
return PendingIntent.getActivity(context, 0 /* requestCode */, intent, 0 /* flags */); return PendingIntent.getActivity(context, 0 /* requestCode */, intent,
PendingIntent.FLAG_IMMUTABLE);
} }
private static PendingIntent getBroadcastIntent(Context context) { private static PendingIntent getBroadcastIntent(Context context) {
final Intent intent = new Intent(ACTION_ZEN_MODE_SLICE_CHANGED) final Intent intent = new Intent(ACTION_ZEN_MODE_SLICE_CHANGED)
.setClass(context, SliceBroadcastReceiver.class); .setClass(context, SliceBroadcastReceiver.class);
return PendingIntent.getBroadcast(context, 0 /* requestCode */, intent, return PendingIntent.getBroadcast(context, 0 /* requestCode */, intent,
PendingIntent.FLAG_CANCEL_CURRENT); PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE);
} }
} }

View File

@@ -95,7 +95,7 @@ public interface CustomSliceable extends Sliceable {
.setData(getUri()) .setData(getUri())
.setClass(context, SliceBroadcastReceiver.class); .setClass(context, SliceBroadcastReceiver.class);
return PendingIntent.getBroadcast(context, 0 /* requestCode */, intent, return PendingIntent.getBroadcast(context, 0 /* requestCode */, intent,
PendingIntent.FLAG_UPDATE_CURRENT); PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
} }
@Override @Override

View File

@@ -159,7 +159,7 @@ public class SliceBuilderUtils {
.setClass(context, SliceBroadcastReceiver.class) .setClass(context, SliceBroadcastReceiver.class)
.putExtra(EXTRA_SLICE_KEY, data.getKey()); .putExtra(EXTRA_SLICE_KEY, data.getKey());
return PendingIntent.getBroadcast(context, 0 /* requestCode */, intent, return PendingIntent.getBroadcast(context, 0 /* requestCode */, intent,
PendingIntent.FLAG_UPDATE_CURRENT); PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_MUTABLE);
} }
/** /**
@@ -167,7 +167,8 @@ public class SliceBuilderUtils {
*/ */
public static PendingIntent getContentPendingIntent(Context context, SliceData sliceData) { public static PendingIntent getContentPendingIntent(Context context, SliceData sliceData) {
final Intent intent = getContentIntent(context, sliceData); final Intent intent = getContentIntent(context, sliceData);
return PendingIntent.getActivity(context, 0 /* requestCode */, intent, 0 /* flags */); return PendingIntent.getActivity(context, 0 /* requestCode */, intent,
PendingIntent.FLAG_IMMUTABLE);
} }
/** /**