From 9448f939f432d17337e2ecba3a14caa0c322c4eb Mon Sep 17 00:00:00 2001 From: tonihei Date: Tue, 23 Jan 2024 08:31:34 -0800 Subject: [PATCH] Use Media3 MediaStyle instead of legacy one The default notification provider was still using the legacy compat MediaStyle instead of our own Media3 one. They are fully equivalent in their implementation and API and can be swapped out easily. PiperOrigin-RevId: 600797920 --- .../media3/session/DefaultMediaNotificationProvider.java | 4 ++-- .../main/java/androidx/media3/session/MediaNotification.java | 4 ++-- .../media3/session/MediaStyleNotificationHelper.java | 5 ++--- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java b/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java index f6f4696a08..305909aa03 100644 --- a/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java +++ b/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java @@ -39,13 +39,13 @@ import androidx.annotation.RequiresApi; import androidx.annotation.StringRes; import androidx.core.app.NotificationCompat; import androidx.core.graphics.drawable.IconCompat; -import androidx.media.app.NotificationCompat.MediaStyle; import androidx.media3.common.C; import androidx.media3.common.MediaMetadata; import androidx.media3.common.Player; import androidx.media3.common.util.Log; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; +import androidx.media3.session.MediaStyleNotificationHelper.MediaStyle; import com.google.common.collect.ImmutableList; import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.Futures; @@ -319,7 +319,7 @@ public class DefaultMediaNotificationProvider implements MediaNotification.Provi NotificationCompat.Builder builder = new NotificationCompat.Builder(context, channelId); int notificationId = notificationIdProvider.getNotificationId(mediaSession); - MediaStyle mediaStyle = new MediaStyle(); + MediaStyle mediaStyle = new MediaStyle(mediaSession); int[] compactViewIndices = addNotificationActions( mediaSession, diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaNotification.java b/libraries/session/src/main/java/androidx/media3/session/MediaNotification.java index e9ebd7bd5c..3ac4a3a514 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaNotification.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaNotification.java @@ -188,8 +188,8 @@ public final class MediaNotification { * a service in the foreground. * It's highly recommended to use a {@linkplain - * androidx.media.app.NotificationCompat.MediaStyle media style} {@linkplain Notification - * notification}. + * androidx.media3.session.MediaStyleNotificationHelper.MediaStyle media style} {@linkplain + * Notification notification}. */ public MediaNotification(@IntRange(from = 1) int notificationId, Notification notification) { this.notificationId = notificationId; diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaStyleNotificationHelper.java b/libraries/session/src/main/java/androidx/media3/session/MediaStyleNotificationHelper.java index c3b97b7283..d03ac70036 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaStyleNotificationHelper.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaStyleNotificationHelper.java @@ -73,9 +73,8 @@ public class MediaStyleNotificationHelper { * .setSmallIcon(androidx.media.R.drawable.ic_stat_player) * .setContentTitle("Track title") * .setContentText("Artist - Album") - * .setLargeIcon(albumArtBitmap)) - * .setStyle(new NotificationCompat.MediaStyle() - * .setMediaSession(mySession)) + * .setLargeIcon(albumArtBitmap) + * .setStyle(new MediaStyleNotificationHelper.MediaStyle(mySession)) * .build(); * *