Add the explicitly mutable flag for creating a PendingIntent

- Android S+ to specify explicitly either FLAG_MUTABLE or FLAG_IMMUTABLE
  when creating a PendingIntent.
- Suggest to use the FLAG_IMMUTABLE as default. Change it to
  FLAG_MUTABLE while errors occur.

Fixes: 170162598
Fixes: 170162878
Fixes: 170163592
Fixes: 170164316
Fixes: 170164458
Fixes: 170164327
Fixes: 169794524
Fixes: 170165106
Test: build pass, manual test add an account and volume control panel
Change-Id: I5aec028f82bd74fc4530b95a7c144811055ae2c5
This commit is contained in:
Sunny Shao
2020-10-06 11:46:08 +08:00
parent 6208cbfd9d
commit 0b0f237834
8 changed files with 16 additions and 12 deletions

View File

@@ -159,7 +159,7 @@ public class SliceBuilderUtils {
.setClass(context, SliceBroadcastReceiver.class)
.putExtra(EXTRA_SLICE_KEY, data.getKey());
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) {
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);
}
/**