From 91c51fe94d7846b35d46278860a64a52b0d52cf4 Mon Sep 17 00:00:00 2001 From: tonihei Date: Thu, 17 Nov 2022 15:53:26 +0000 Subject: [PATCH] Mark broadcast receivers as not exported They are called from the system only and don't need to be exported to be visible to other apps. PiperOrigin-RevId: 489210264 (cherry picked from commit 22ccc1a1286803868970fb2b1eafe63e9c669a5c) --- .../main/java/androidx/media3/session/MediaSessionImpl.java | 3 +-- .../java/androidx/media3/ui/PlayerNotificationManager.java | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java index 4cbbb83222..705115745f 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java @@ -216,8 +216,7 @@ import org.checkerframework.checker.initialization.qual.Initialized; broadcastReceiver = new MediaButtonReceiver(); IntentFilter filter = new IntentFilter(Intent.ACTION_MEDIA_BUTTON); filter.addDataScheme(castNonNull(sessionUri.getScheme())); - // TODO(b/197817693): Explicitly indicate whether the receiver should be exported. - context.registerReceiver(broadcastReceiver, filter); + Util.registerReceiverNotExported(context, broadcastReceiver, filter); } else { // Has MediaSessionService to revive playback after it's dead. Intent intent = new Intent(Intent.ACTION_MEDIA_BUTTON, sessionUri); diff --git a/libraries/ui/src/main/java/androidx/media3/ui/PlayerNotificationManager.java b/libraries/ui/src/main/java/androidx/media3/ui/PlayerNotificationManager.java index 1a09119032..30e610ed14 100644 --- a/libraries/ui/src/main/java/androidx/media3/ui/PlayerNotificationManager.java +++ b/libraries/ui/src/main/java/androidx/media3/ui/PlayerNotificationManager.java @@ -1164,8 +1164,7 @@ public class PlayerNotificationManager { Notification notification = builder.build(); notificationManager.notify(notificationId, notification); if (!isNotificationStarted) { - // TODO(b/197817693): Explicitly indicate whether the receiver should be exported. - context.registerReceiver(notificationBroadcastReceiver, intentFilter); + Util.registerReceiverNotExported(context, notificationBroadcastReceiver, intentFilter); } if (notificationListener != null) { // Always pass true for ongoing with the first notification to tell a service to go into