From 20022aae9a24b50c391daf0cda2c7f6516d6c329 Mon Sep 17 00:00:00 2001 From: Arnaud Berry Date: Thu, 11 Mar 2021 15:54:56 -0800 Subject: Add FLAG_IMMUTABLE when creating PendingIntent instances. Note that a media session library update is needed (was able to test by creating and passing a pending intent to new MediaSessionCompat in TmaBrowser#onCreate: ComponentName mbrComponent = MediaButtonReceiver.getMediaButtonReceiverComponent(this); Intent mediaButtonIntent = new Intent("android.intent.action.MEDIA_BUTTON"); mediaButtonIntent.setComponent(mbrComponent); PendingIntent mbrIntent = PendingIntent.getBroadcast(this, 0, mediaButtonIntent, PendingIntent.FLAG_IMMUTABLE); mSession = new MediaSessionCompat(this, MEDIA_SESSION_TAG, mbrComponent, mbrIntent); Fixes: 182007466 Test: manual Change-Id: I9cfe322463503018c4655ab7b811584e23070040 --- .../src/com/android/car/media/testmediaapp/TmaForegroundService.java | 2 +- TestMediaApp/src/com/android/car/media/testmediaapp/TmaPlayer.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/TestMediaApp/src/com/android/car/media/testmediaapp/TmaForegroundService.java b/TestMediaApp/src/com/android/car/media/testmediaapp/TmaForegroundService.java index 6241455..594cbab 100644 --- a/TestMediaApp/src/com/android/car/media/testmediaapp/TmaForegroundService.java +++ b/TestMediaApp/src/com/android/car/media/testmediaapp/TmaForegroundService.java @@ -58,7 +58,7 @@ public class TmaForegroundService extends Service { createNotificationChannel(); Intent notificationIntent = new Intent(this, TmaPrefsActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, - 0, notificationIntent, 0); + 0, notificationIntent, PendingIntent.FLAG_IMMUTABLE); Notification notification = new NotificationCompat.Builder(this, CHANNEL_ID) .setContentTitle("Foreground Service") .setSmallIcon(R.drawable.ic_app_icon) diff --git a/TestMediaApp/src/com/android/car/media/testmediaapp/TmaPlayer.java b/TestMediaApp/src/com/android/car/media/testmediaapp/TmaPlayer.java index 43cf3af..e75d028 100644 --- a/TestMediaApp/src/com/android/car/media/testmediaapp/TmaPlayer.java +++ b/TestMediaApp/src/com/android/car/media/testmediaapp/TmaPlayer.java @@ -103,7 +103,8 @@ public class TmaPlayer extends MediaSessionCompat.Callback { Intent prefsIntent = new Intent(); prefsIntent.setClass(mBrowser, TmaPrefsActivity.class); prefsIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - PendingIntent pendingIntent = PendingIntent.getActivity(mBrowser, 0, prefsIntent, 0); + PendingIntent pendingIntent = PendingIntent.getActivity(mBrowser, 0, prefsIntent, + PendingIntent.FLAG_IMMUTABLE); Bundle extras = new Bundle(); extras.putString(MediaKeys.ERROR_RESOLUTION_ACTION_LABEL, event.mActionLabel); -- cgit v1.2.3