diff --git a/RELEASENOTES.md b/RELEASENOTES.md index a7505e8f69..3121405d32 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -45,6 +45,8 @@ * HLS * Use the PRECISE attribute in EXT-X-START to select the default start position. +* PlayerNotificationManager: + * Add `PendingIntent.FLAG_IMMUTABLE` flag to BroadcastReceiver to support Android 12. ### 2.14.0 (2021-05-13) diff --git a/library/ui/src/main/java/com/google/android/exoplayer2/ui/PlayerNotificationManager.java b/library/ui/src/main/java/com/google/android/exoplayer2/ui/PlayerNotificationManager.java index 2b6e995370..2c17a39ef7 100644 --- a/library/ui/src/main/java/com/google/android/exoplayer2/ui/PlayerNotificationManager.java +++ b/library/ui/src/main/java/com/google/android/exoplayer2/ui/PlayerNotificationManager.java @@ -1380,8 +1380,15 @@ public class PlayerNotificationManager { String action, Context context, int instanceId) { Intent intent = new Intent(action).setPackage(context.getPackageName()); intent.putExtra(EXTRA_INSTANCE_ID, instanceId); - return PendingIntent.getBroadcast( - context, instanceId, intent, PendingIntent.FLAG_UPDATE_CURRENT); + + int pendingFlags; + if (Util.SDK_INT >= 23) { + pendingFlags = PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE; + } else { + pendingFlags = PendingIntent.FLAG_UPDATE_CURRENT; + } + + return PendingIntent.getBroadcast(context, instanceId, intent, pendingFlags); } @SuppressWarnings("nullness:argument.type.incompatible")