diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 10b22b366d..b6c5d3cb7d 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -72,6 +72,8 @@ * Change default of `CommandButton.enabled` to `true` and ensure the value can stay false for controllers even if the associated command is available. + * Add icon constants for `CommandButton` that should be used instead of + custom icon resources. * UI: * Fallback to include audio track language name if `Locale` cannot identify a display name diff --git a/demos/session_service/src/main/java/androidx/media3/demo/session/DemoMediaLibrarySessionCallback.kt b/demos/session_service/src/main/java/androidx/media3/demo/session/DemoMediaLibrarySessionCallback.kt index 362ea7affc..9037290dd5 100644 --- a/demos/session_service/src/main/java/androidx/media3/demo/session/DemoMediaLibrarySessionCallback.kt +++ b/demos/session_service/src/main/java/androidx/media3/demo/session/DemoMediaLibrarySessionCallback.kt @@ -40,18 +40,17 @@ open class DemoMediaLibrarySessionCallback(context: Context) : MediaItemTree.initialize(context.assets) } + @OptIn(UnstableApi::class) // TODO: b/328238954 - Remove once new CommandButton icons are stable. private val customLayoutCommandButtons: List = listOf( - CommandButton.Builder() + CommandButton.Builder(CommandButton.ICON_SHUFFLE_OFF) .setDisplayName(context.getString(R.string.exo_controls_shuffle_on_description)) .setSessionCommand(SessionCommand(CUSTOM_COMMAND_TOGGLE_SHUFFLE_MODE_ON, Bundle.EMPTY)) - .setIconResId(R.drawable.exo_icon_shuffle_off) .build(), - CommandButton.Builder() + CommandButton.Builder(CommandButton.ICON_SHUFFLE_ON) .setDisplayName(context.getString(R.string.exo_controls_shuffle_off_description)) .setSessionCommand(SessionCommand(CUSTOM_COMMAND_TOGGLE_SHUFFLE_MODE_OFF, Bundle.EMPTY)) - .setIconResId(R.drawable.exo_icon_shuffle_on) - .build() + .build(), ) @OptIn(UnstableApi::class) // MediaSession.ConnectionResult.DEFAULT_SESSION_AND_LIBRARY_COMMANDS @@ -70,7 +69,7 @@ open class DemoMediaLibrarySessionCallback(context: Context) : @OptIn(UnstableApi::class) override fun onConnect( session: MediaSession, - controller: MediaSession.ControllerInfo + controller: MediaSession.ControllerInfo, ): MediaSession.ConnectionResult { if ( session.isMediaNotificationController(controller) || @@ -93,7 +92,7 @@ open class DemoMediaLibrarySessionCallback(context: Context) : session: MediaSession, controller: MediaSession.ControllerInfo, customCommand: SessionCommand, - args: Bundle + args: Bundle, ): ListenableFuture { if (CUSTOM_COMMAND_TOGGLE_SHUFFLE_MODE_ON == customCommand.customAction) { // Enable shuffling. @@ -101,7 +100,7 @@ open class DemoMediaLibrarySessionCallback(context: Context) : // Change the custom layout to contain the `Disable shuffling` command. session.setCustomLayout( session.mediaNotificationControllerInfo!!, - ImmutableList.of(customLayoutCommandButtons[1]) + ImmutableList.of(customLayoutCommandButtons[1]), ) return Futures.immediateFuture(SessionResult(SessionResult.RESULT_SUCCESS)) } else if (CUSTOM_COMMAND_TOGGLE_SHUFFLE_MODE_OFF == customCommand.customAction) { @@ -110,7 +109,7 @@ open class DemoMediaLibrarySessionCallback(context: Context) : // Change the custom layout to contain the `Enable shuffling` command. session.setCustomLayout( session.mediaNotificationControllerInfo!!, - ImmutableList.of(customLayoutCommandButtons[0]) + ImmutableList.of(customLayoutCommandButtons[0]), ) return Futures.immediateFuture(SessionResult(SessionResult.RESULT_SUCCESS)) } @@ -120,7 +119,7 @@ open class DemoMediaLibrarySessionCallback(context: Context) : override fun onGetLibraryRoot( session: MediaLibraryService.MediaLibrarySession, browser: MediaSession.ControllerInfo, - params: MediaLibraryService.LibraryParams? + params: MediaLibraryService.LibraryParams?, ): ListenableFuture> { return Futures.immediateFuture(LibraryResult.ofItem(MediaItemTree.getRootItem(), params)) } @@ -128,7 +127,7 @@ open class DemoMediaLibrarySessionCallback(context: Context) : override fun onGetItem( session: MediaLibraryService.MediaLibrarySession, browser: MediaSession.ControllerInfo, - mediaId: String + mediaId: String, ): ListenableFuture> { MediaItemTree.getItem(mediaId)?.let { return Futures.immediateFuture(LibraryResult.ofItem(it, /* params= */ null)) @@ -142,7 +141,7 @@ open class DemoMediaLibrarySessionCallback(context: Context) : parentId: String, page: Int, pageSize: Int, - params: MediaLibraryService.LibraryParams? + params: MediaLibraryService.LibraryParams?, ): ListenableFuture>> { val children = MediaItemTree.getChildren(parentId) if (children.isNotEmpty()) { @@ -154,7 +153,7 @@ open class DemoMediaLibrarySessionCallback(context: Context) : override fun onAddMediaItems( mediaSession: MediaSession, controller: MediaSession.ControllerInfo, - mediaItems: List + mediaItems: List, ): ListenableFuture> { return Futures.immediateFuture(resolveMediaItems(mediaItems)) } @@ -165,7 +164,7 @@ open class DemoMediaLibrarySessionCallback(context: Context) : browser: MediaSession.ControllerInfo, mediaItems: List, startIndex: Int, - startPositionMs: Long + startPositionMs: Long, ): ListenableFuture { if (mediaItems.size == 1) { // Try to expand a single item to a playlist. @@ -194,7 +193,7 @@ open class DemoMediaLibrarySessionCallback(context: Context) : private fun maybeExpandSingleItemToPlaylist( mediaItem: MediaItem, startIndex: Int, - startPositionMs: Long + startPositionMs: Long, ): MediaItemsWithStartPosition? { var playlist = listOf() var indexInPlaylist = startIndex @@ -223,7 +222,7 @@ open class DemoMediaLibrarySessionCallback(context: Context) : session: MediaLibraryService.MediaLibrarySession, browser: MediaSession.ControllerInfo, query: String, - params: MediaLibraryService.LibraryParams? + params: MediaLibraryService.LibraryParams?, ): ListenableFuture> { session.notifySearchResultChanged(browser, query, MediaItemTree.search(query).size, params) return Futures.immediateFuture(LibraryResult.ofVoid()) @@ -235,7 +234,7 @@ open class DemoMediaLibrarySessionCallback(context: Context) : query: String, page: Int, pageSize: Int, - params: MediaLibraryService.LibraryParams? + params: MediaLibraryService.LibraryParams?, ): ListenableFuture>> { return Futures.immediateFuture(LibraryResult.ofItemList(MediaItemTree.search(query), params)) } diff --git a/libraries/session/src/main/java/androidx/media3/session/CommandButton.java b/libraries/session/src/main/java/androidx/media3/session/CommandButton.java index e173565de6..42c30d88ab 100644 --- a/libraries/session/src/main/java/androidx/media3/session/CommandButton.java +++ b/libraries/session/src/main/java/androidx/media3/session/CommandButton.java @@ -49,6 +49,8 @@ import java.util.List; */ public final class CommandButton implements Bundleable { + // TODO: b/328238954 - Stabilize these constants and the corresponding methods, and deprecate the + // methods that do not use these constants. /** An icon constant for a button. Must be one of the {@code CommandButton.ICON_} constants. */ @UnstableApi @Documented @@ -406,8 +408,31 @@ public final class CommandButton implements Bundleable { private Bundle extras; private boolean enabled; - /** Creates a builder. */ + /** + * [will be deprecated] Use {@link #Builder(int)} instead to define the {@link Icon} for this + * button. A separate resource id via {@link #setIconResId(int)} is no longer required unless + * for {@link #ICON_UNDEFINED}. + */ public Builder() { + this(ICON_UNDEFINED); + } + + /** + * Creates a builder. + * + * @param icon The {@link Icon} that should be shown for this button. + */ + @UnstableApi + public Builder(@Icon int icon) { + this(icon, getIconResIdForIconConstant(icon)); + } + + // Internal version of constructor that assigns an additionally known icon resource id + // immediately. This is needed for R8 resource shrinking efficiency to know that the icon + // doesn't need to be resolved to any of the bundled icon drawables. + /* package */ Builder(@Icon int icon, @DrawableRes int iconResId) { + this.icon = icon; + this.iconResId = iconResId; displayName = ""; extras = Bundle.EMPTY; playerCommand = Player.COMMAND_INVALID; @@ -416,10 +441,12 @@ public final class CommandButton implements Bundleable { } /** - * Sets the {@link SessionCommand} that will be sent to the session when the button is clicked. - * Cannot set this if player command is already set via {@link #setPlayerCommand(int)}. + * Sets the {@link SessionCommand} that is required to be {@linkplain + * MediaController#isSessionCommandAvailable available} when the button is clicked. * - * @param sessionCommand The session command. + *

Cannot set this if a player command is already set via {@link #setPlayerCommand(int)}. + * + * @param sessionCommand The {@link SessionCommand}. * @return This builder for chaining. */ @CanIgnoreReturnValue @@ -434,11 +461,13 @@ public final class CommandButton implements Bundleable { } /** - * Sets the {@link Player.Command} that would be sent to the session when the button is clicked. - * Cannot set this if session command is already set via {@link + * Sets the {@link Player.Command} that is required to be {@linkplain + * MediaController#isCommandAvailable available} when the button is clicked. + * + *

Cannot set this if a session command is already set via {@link * #setSessionCommand(SessionCommand)}. * - * @param playerCommand The player command. + * @param playerCommand The {@link Player.Command}. * @return This builder for chaining. */ @CanIgnoreReturnValue @@ -452,30 +481,25 @@ public final class CommandButton implements Bundleable { } /** - * Sets the icon of this button. + * [will be deprecated] The icon should be defined with the constructor {@link Icon} parameter + * in {@link #Builder(int)} instead. Only in case the existing list of icons is not sufficient, + * use {@link #ICON_UNDEFINED} and set a separate resource id with {@link #setCustomIconResId}. + */ + @CanIgnoreReturnValue + public Builder setIconResId(@DrawableRes int resId) { + return setCustomIconResId(resId); + } + + /** + * Sets the resource id of an icon that is used when the predefined {@link Icon} is not + * available or set to {@link #ICON_UNDEFINED}. * - * @param icon The {@link Icon} that should be shown for this button. + * @param resId The resource id of a custom icon. * @return This builder for chaining. */ @UnstableApi @CanIgnoreReturnValue - public Builder setIcon(@Icon int icon) { - this.icon = icon; - return this; - } - - /** - * Sets the resource id of a bitmap (e.g. PNG) icon of this button. - * - *

Non-bitmap (e.g. VectorDrawable) may cause unexpected behavior in a {@link - * MediaController} app, so please avoid using it especially for the older platforms ({@code - * SDK_INT < 21}). - * - * @param resId The resource id of an icon. - * @return This builder for chaining. - */ - @CanIgnoreReturnValue - public Builder setIconResId(@DrawableRes int resId) { + public Builder setCustomIconResId(@DrawableRes int resId) { iconResId = resId; return this; } @@ -543,6 +567,154 @@ public final class CommandButton implements Bundleable { return new CommandButton( sessionCommand, playerCommand, icon, iconResId, iconUri, displayName, extras, enabled); } + + @DrawableRes + private static int getIconResIdForIconConstant(@Icon int icon) { + switch (icon) { + case ICON_PLAY: + return R.drawable.media3_icon_play; + case ICON_PAUSE: + return R.drawable.media3_icon_pause; + case ICON_STOP: + return R.drawable.media3_icon_stop; + case ICON_NEXT: + return R.drawable.media3_icon_next; + case ICON_PREVIOUS: + return R.drawable.media3_icon_previous; + case ICON_SKIP_FORWARD: + return R.drawable.media3_icon_skip_forward; + case ICON_SKIP_FORWARD_5: + return R.drawable.media3_icon_skip_forward_5; + case ICON_SKIP_FORWARD_10: + return R.drawable.media3_icon_skip_forward_10; + case ICON_SKIP_FORWARD_15: + return R.drawable.media3_icon_skip_forward_15; + case ICON_SKIP_FORWARD_30: + return R.drawable.media3_icon_skip_forward_30; + case ICON_SKIP_BACK: + return R.drawable.media3_icon_skip_back; + case ICON_SKIP_BACK_5: + return R.drawable.media3_icon_skip_back_5; + case ICON_SKIP_BACK_10: + return R.drawable.media3_icon_skip_back_10; + case ICON_SKIP_BACK_15: + return R.drawable.media3_icon_skip_back_15; + case ICON_SKIP_BACK_30: + return R.drawable.media3_icon_skip_back_30; + case ICON_FAST_FORWARD: + return R.drawable.media3_icon_fast_forward; + case ICON_REWIND: + return R.drawable.media3_icon_rewind; + case ICON_REPEAT_ALL: + return R.drawable.media3_icon_repeat_all; + case ICON_REPEAT_ONE: + return R.drawable.media3_icon_repeat_one; + case ICON_REPEAT_OFF: + return R.drawable.media3_icon_repeat_off; + case ICON_SHUFFLE_ON: + return R.drawable.media3_icon_shuffle_on; + case ICON_SHUFFLE_OFF: + return R.drawable.media3_icon_shuffle_off; + case ICON_SHUFFLE_STAR: + return R.drawable.media3_icon_shuffle_star; + case ICON_HEART_FILLED: + return R.drawable.media3_icon_heart_filled; + case ICON_HEART_UNFILLED: + return R.drawable.media3_icon_heart_unfilled; + case ICON_STAR_FILLED: + return R.drawable.media3_icon_star_filled; + case ICON_STAR_UNFILLED: + return R.drawable.media3_icon_star_unfilled; + case ICON_BOOKMARK_FILLED: + return R.drawable.media3_icon_bookmark_filled; + case ICON_BOOKMARK_UNFILLED: + return R.drawable.media3_icon_bookmark_unfilled; + case ICON_THUMB_UP_FILLED: + return R.drawable.media3_icon_thumb_up_filled; + case ICON_THUMB_UP_UNFILLED: + return R.drawable.media3_icon_thumb_up_unfilled; + case ICON_THUMB_DOWN_FILLED: + return R.drawable.media3_icon_thumb_down_filled; + case ICON_THUMB_DOWN_UNFILLED: + return R.drawable.media3_icon_thumb_down_unfilled; + case ICON_FLAG_FILLED: + return R.drawable.media3_icon_flag_filled; + case ICON_FLAG_UNFILLED: + return R.drawable.media3_icon_flag_unfilled; + case ICON_PLUS: + return R.drawable.media3_icon_plus; + case ICON_MINUS: + return R.drawable.media3_icon_minus; + case ICON_PLAYLIST_ADD: + return R.drawable.media3_icon_playlist_add; + case ICON_PLAYLIST_REMOVE: + return R.drawable.media3_icon_playlist_remove; + case ICON_BLOCK: + return R.drawable.media3_icon_block; + case ICON_PLUS_CIRCLE_FILLED: + return R.drawable.media3_icon_plus_circle_filled; + case ICON_PLUS_CIRCLE_UNFILLED: + return R.drawable.media3_icon_plus_circle_unfilled; + case ICON_MINUS_CIRCLE_FILLED: + return R.drawable.media3_icon_minus_circle_filled; + case ICON_MINUS_CIRCLE_UNFILLED: + return R.drawable.media3_icon_minus_circle_unfilled; + case ICON_CHECK_CIRCLE_FILLED: + return R.drawable.media3_icon_check_circle_filled; + case ICON_CHECK_CIRCLE_UNFILLED: + return R.drawable.media3_icon_check_circle_unfilled; + case ICON_PLAYBACK_SPEED: + return R.drawable.media3_icon_playback_speed; + case ICON_PLAYBACK_SPEED_0_5: + return R.drawable.media3_icon_playback_speed_0_5; + case ICON_PLAYBACK_SPEED_0_8: + return R.drawable.media3_icon_playback_speed_0_8; + case ICON_PLAYBACK_SPEED_1_0: + return R.drawable.media3_icon_playback_speed_1_0; + case ICON_PLAYBACK_SPEED_1_2: + return R.drawable.media3_icon_playback_speed_1_2; + case ICON_PLAYBACK_SPEED_1_5: + return R.drawable.media3_icon_playback_speed_1_5; + case ICON_PLAYBACK_SPEED_1_8: + return R.drawable.media3_icon_playback_speed_1_8; + case ICON_PLAYBACK_SPEED_2_0: + return R.drawable.media3_icon_playback_speed_2_0; + case ICON_SETTINGS: + return R.drawable.media3_icon_settings; + case ICON_QUALITY: + return R.drawable.media3_icon_quality; + case ICON_SUBTITLES: + return R.drawable.media3_icon_subtitles; + case ICON_SUBTITLES_OFF: + return R.drawable.media3_icon_subtitles_off; + case ICON_CLOSED_CAPTIONS: + return R.drawable.media3_icon_closed_captions; + case ICON_CLOSED_CAPTIONS_OFF: + return R.drawable.media3_icon_closed_captions_off; + case ICON_SYNC: + return R.drawable.media3_icon_sync; + case ICON_SHARE: + return R.drawable.media3_icon_share; + case ICON_VOLUME_UP: + return R.drawable.media3_icon_volume_up; + case ICON_VOLUME_DOWN: + return R.drawable.media3_icon_volume_down; + case ICON_VOLUME_OFF: + return R.drawable.media3_icon_volume_off; + case ICON_ARTIST: + return R.drawable.media3_icon_artist; + case ICON_ALBUM: + return R.drawable.media3_icon_album; + case ICON_RADIO: + return R.drawable.media3_icon_radio; + case ICON_SIGNAL: + return R.drawable.media3_icon_signal; + case ICON_FEED: + return R.drawable.media3_icon_feed; + default: + return 0; + } + } } /** The session command of the button. Will be {@code null} if {@link #playerCommand} is set. */ @@ -558,8 +730,8 @@ public final class CommandButton implements Bundleable { @UnstableApi public final @Icon int icon; /** - * The icon resource id of the button. Can be {@code 0} if the command is predefined and a custom - * icon isn't needed. + * The icon resource id of the button that is used when the predefined {@link #icon} is not + * available or set to {@link #ICON_UNDEFINED}. Can be {@code 0} if not needed. */ @DrawableRes public final int iconResId; @@ -767,7 +939,7 @@ public final class CommandButton implements Bundleable { sessionInterfaceVersion < 3 || bundle.getBoolean(FIELD_ENABLED, /* defaultValue= */ true); @Nullable Uri iconUri = bundle.getParcelable(FIELD_ICON_URI); @Icon int icon = bundle.getInt(FIELD_ICON, /* defaultValue= */ ICON_UNDEFINED); - Builder builder = new Builder(); + Builder builder = new Builder(icon, iconResId); if (sessionCommand != null) { builder.setSessionCommand(sessionCommand); } @@ -778,8 +950,6 @@ public final class CommandButton implements Bundleable { builder.setIconUri(iconUri); } return builder - .setIcon(icon) - .setIconResId(iconResId) .setDisplayName(displayName) .setExtras(extras == null ? Bundle.EMPTY : extras) .setEnabled(enabled) 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 305909aa03..b4460fcd99 100644 --- a/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java +++ b/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java @@ -87,10 +87,10 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; * resource IDs are: * *

    - *
  • {@code media3_notification_play} - The play icon. - *
  • {@code media3_notification_pause} - The pause icon. - *
  • {@code media3_notification_seek_to_previous} - The previous icon. - *
  • {@code media3_notification_seek_to_next} - The next icon. + *
  • {@code media3_icon_play} - The play icon. + *
  • {@code media3_icon_pause} - The pause icon. + *
  • {@code media3_icon_previous} - The previous icon. + *
  • {@code media3_icon_next} - The next icon. *
  • {@code media3_notification_small_icon} - The {@link * NotificationCompat.Builder#setSmallIcon(int) small icon}. A different icon can be set with * {@link #setSmallIcon(int)}. @@ -458,9 +458,8 @@ public class DefaultMediaNotificationProvider implements MediaNotification.Provi Bundle commandButtonExtras = new Bundle(); commandButtonExtras.putInt(COMMAND_KEY_COMPACT_VIEW_INDEX, INDEX_UNSET); commandButtons.add( - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_PREVIOUS) .setPlayerCommand(COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM) - .setIconResId(R.drawable.media3_notification_seek_to_previous) .setDisplayName( context.getString(R.string.media3_controls_seek_to_previous_description)) .setExtras(commandButtonExtras) @@ -469,28 +468,29 @@ public class DefaultMediaNotificationProvider implements MediaNotification.Provi if (playerCommands.contains(COMMAND_PLAY_PAUSE)) { Bundle commandButtonExtras = new Bundle(); commandButtonExtras.putInt(COMMAND_KEY_COMPACT_VIEW_INDEX, INDEX_UNSET); - commandButtons.add( - new CommandButton.Builder() - .setPlayerCommand(COMMAND_PLAY_PAUSE) - .setIconResId( - showPauseButton - ? R.drawable.media3_notification_pause - : R.drawable.media3_notification_play) - .setExtras(commandButtonExtras) - .setDisplayName( - showPauseButton - ? context.getString(R.string.media3_controls_pause_description) - : context.getString(R.string.media3_controls_play_description)) - .build()); + if (showPauseButton) { + commandButtons.add( + new CommandButton.Builder(CommandButton.ICON_PAUSE) + .setPlayerCommand(COMMAND_PLAY_PAUSE) + .setExtras(commandButtonExtras) + .setDisplayName(context.getString(R.string.media3_controls_pause_description)) + .build()); + } else { + commandButtons.add( + new CommandButton.Builder(CommandButton.ICON_PLAY) + .setPlayerCommand(COMMAND_PLAY_PAUSE) + .setExtras(commandButtonExtras) + .setDisplayName(context.getString(R.string.media3_controls_play_description)) + .build()); + } } // Skip to next action. if (playerCommands.containsAny(COMMAND_SEEK_TO_NEXT, COMMAND_SEEK_TO_NEXT_MEDIA_ITEM)) { Bundle commandButtonExtras = new Bundle(); commandButtonExtras.putInt(COMMAND_KEY_COMPACT_VIEW_INDEX, INDEX_UNSET); commandButtons.add( - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_NEXT) .setPlayerCommand(COMMAND_SEEK_TO_NEXT_MEDIA_ITEM) - .setIconResId(R.drawable.media3_notification_seek_to_next) .setExtras(commandButtonExtras) .setDisplayName(context.getString(R.string.media3_controls_seek_to_next_description)) .build()); diff --git a/libraries/session/src/main/java/androidx/media3/session/LegacyConversions.java b/libraries/session/src/main/java/androidx/media3/session/LegacyConversions.java index f65cd6178e..106cacef79 100644 --- a/libraries/session/src/main/java/androidx/media3/session/LegacyConversions.java +++ b/libraries/session/src/main/java/androidx/media3/session/LegacyConversions.java @@ -1266,12 +1266,10 @@ import java.util.concurrent.TimeoutException; /* defaultValue= */ CommandButton.ICON_UNDEFINED) : CommandButton.ICON_UNDEFINED; CommandButton button = - new CommandButton.Builder() + new CommandButton.Builder(icon, customAction.getIcon()) .setSessionCommand(new SessionCommand(action, extras == null ? Bundle.EMPTY : extras)) .setDisplayName(customAction.getName()) .setEnabled(true) - .setIcon(icon) - .setIconResId(customAction.getIcon()) .build(); layout.add(button); } diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_album.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_album.xml new file mode 100644 index 0000000000..0675dbf161 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_album.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_artist.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_artist.xml new file mode 100644 index 0000000000..70f6b592c4 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_artist.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_block.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_block.xml new file mode 100644 index 0000000000..c668f75e0a --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_block.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_bookmark_filled.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_bookmark_filled.xml new file mode 100644 index 0000000000..c72139539d --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_bookmark_filled.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_bookmark_unfilled.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_bookmark_unfilled.xml new file mode 100644 index 0000000000..d5eb109db9 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_bookmark_unfilled.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_check_circle_filled.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_check_circle_filled.xml new file mode 100644 index 0000000000..475abe1659 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_check_circle_filled.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_check_circle_unfilled.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_check_circle_unfilled.xml new file mode 100644 index 0000000000..3dce145960 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_check_circle_unfilled.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_closed_captions.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_closed_captions.xml new file mode 100644 index 0000000000..bf20dec49b --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_closed_captions.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_closed_captions_off.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_closed_captions_off.xml new file mode 100644 index 0000000000..835b049300 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_closed_captions_off.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_fast_forward.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_fast_forward.xml new file mode 100644 index 0000000000..0fc49b7ea0 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_fast_forward.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_feed.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_feed.xml new file mode 100644 index 0000000000..5615008fb4 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_feed.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_flag_filled.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_flag_filled.xml new file mode 100644 index 0000000000..a8840a9a71 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_flag_filled.xml @@ -0,0 +1,24 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_flag_unfilled.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_flag_unfilled.xml new file mode 100644 index 0000000000..605cc9ae66 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_flag_unfilled.xml @@ -0,0 +1,24 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_heart_filled.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_heart_filled.xml new file mode 100644 index 0000000000..475a38e960 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_heart_filled.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_heart_unfilled.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_heart_unfilled.xml new file mode 100644 index 0000000000..67caeda980 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_heart_unfilled.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_minus.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_minus.xml new file mode 100644 index 0000000000..1d8a81208b --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_minus.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_minus_circle_filled.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_minus_circle_filled.xml new file mode 100644 index 0000000000..0acb2cd81e --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_minus_circle_filled.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_minus_circle_unfilled.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_minus_circle_unfilled.xml new file mode 100644 index 0000000000..4460267217 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_minus_circle_unfilled.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_next.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_next.xml new file mode 100644 index 0000000000..8311011b23 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_next.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_pause.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_pause.xml new file mode 100644 index 0000000000..1742b0aa24 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_pause.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_play.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_play.xml new file mode 100644 index 0000000000..e8074cdcc5 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_play.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playback_speed.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playback_speed.xml new file mode 100644 index 0000000000..a2ab3877ff --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playback_speed.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playback_speed_0_5.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playback_speed_0_5.xml new file mode 100644 index 0000000000..b326d62d23 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playback_speed_0_5.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playback_speed_0_8.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playback_speed_0_8.xml new file mode 100644 index 0000000000..701e1ec8fe --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playback_speed_0_8.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playback_speed_1_0.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playback_speed_1_0.xml new file mode 100644 index 0000000000..2b31699bee --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playback_speed_1_0.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playback_speed_1_2.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playback_speed_1_2.xml new file mode 100644 index 0000000000..7cd316a42f --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playback_speed_1_2.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playback_speed_1_5.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playback_speed_1_5.xml new file mode 100644 index 0000000000..d3c1ff429c --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playback_speed_1_5.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playback_speed_1_8.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playback_speed_1_8.xml new file mode 100644 index 0000000000..f2e3d01881 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playback_speed_1_8.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playback_speed_2_0.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playback_speed_2_0.xml new file mode 100644 index 0000000000..59945c0094 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playback_speed_2_0.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playlist_add.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playlist_add.xml new file mode 100644 index 0000000000..19e1b71c1c --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playlist_add.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playlist_remove.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playlist_remove.xml new file mode 100644 index 0000000000..4bf573a497 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_playlist_remove.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_plus.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_plus.xml new file mode 100644 index 0000000000..35818951c5 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_plus.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_plus_circle_filled.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_plus_circle_filled.xml new file mode 100644 index 0000000000..add0779bdf --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_plus_circle_filled.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_plus_circle_unfilled.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_plus_circle_unfilled.xml new file mode 100644 index 0000000000..9d91486136 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_plus_circle_unfilled.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_previous.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_previous.xml new file mode 100644 index 0000000000..6f6f5c62b6 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_previous.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_quality.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_quality.xml new file mode 100644 index 0000000000..642fe5faa8 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_quality.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_radio.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_radio.xml new file mode 100644 index 0000000000..348da8a6bb --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_radio.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_repeat_all.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_repeat_all.xml new file mode 100644 index 0000000000..f1d9ab9bc3 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_repeat_all.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_repeat_off.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_repeat_off.xml new file mode 100644 index 0000000000..6033841837 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_repeat_off.xml @@ -0,0 +1,24 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_repeat_one.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_repeat_one.xml new file mode 100644 index 0000000000..99c65e7b21 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_repeat_one.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_rewind.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_rewind.xml new file mode 100644 index 0000000000..d1c60e7ddd --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_rewind.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_settings.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_settings.xml new file mode 100644 index 0000000000..e4868b0314 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_settings.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_share.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_share.xml new file mode 100644 index 0000000000..6e97280a76 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_share.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_shuffle_off.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_shuffle_off.xml new file mode 100644 index 0000000000..3d70083d77 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_shuffle_off.xml @@ -0,0 +1,24 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_shuffle_on.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_shuffle_on.xml new file mode 100644 index 0000000000..dc32cb13e1 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_shuffle_on.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_shuffle_star.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_shuffle_star.xml new file mode 100644 index 0000000000..6d114fa011 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_shuffle_star.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_signal.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_signal.xml new file mode 100644 index 0000000000..c9327fee84 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_signal.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_back.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_back.xml new file mode 100644 index 0000000000..0263058dbe --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_back.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_back_10.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_back_10.xml new file mode 100644 index 0000000000..5d95499108 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_back_10.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_back_15.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_back_15.xml new file mode 100644 index 0000000000..543a13ecd9 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_back_15.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_back_30.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_back_30.xml new file mode 100644 index 0000000000..bc7f1adae1 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_back_30.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_back_5.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_back_5.xml new file mode 100644 index 0000000000..a28ac0deeb --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_back_5.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_forward.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_forward.xml new file mode 100644 index 0000000000..c04f93b477 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_forward.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_forward_10.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_forward_10.xml new file mode 100644 index 0000000000..3f38e943ea --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_forward_10.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_forward_15.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_forward_15.xml new file mode 100644 index 0000000000..aa6136231e --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_forward_15.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_forward_30.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_forward_30.xml new file mode 100644 index 0000000000..0c75329742 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_forward_30.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_forward_5.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_forward_5.xml new file mode 100644 index 0000000000..1f622d5049 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_skip_forward_5.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_star_filled.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_star_filled.xml new file mode 100644 index 0000000000..9c99def8bc --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_star_filled.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_star_unfilled.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_star_unfilled.xml new file mode 100644 index 0000000000..583bc5fced --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_star_unfilled.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_stop.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_stop.xml new file mode 100644 index 0000000000..a2bd219508 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_stop.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_subtitles.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_subtitles.xml new file mode 100644 index 0000000000..cbfd2e2e11 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_subtitles.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_subtitles_off.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_subtitles_off.xml new file mode 100644 index 0000000000..174ab51f74 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_subtitles_off.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_sync.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_sync.xml new file mode 100644 index 0000000000..a3381293a2 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_sync.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_thumb_down_filled.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_thumb_down_filled.xml new file mode 100644 index 0000000000..d67829f2e6 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_thumb_down_filled.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_thumb_down_unfilled.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_thumb_down_unfilled.xml new file mode 100644 index 0000000000..f2084e6d5e --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_thumb_down_unfilled.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_thumb_up_filled.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_thumb_up_filled.xml new file mode 100644 index 0000000000..aa1e558925 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_thumb_up_filled.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_thumb_up_unfilled.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_thumb_up_unfilled.xml new file mode 100644 index 0000000000..c34cc1f5c3 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_thumb_up_unfilled.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_volume_down.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_volume_down.xml new file mode 100644 index 0000000000..065008df50 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_volume_down.xml @@ -0,0 +1,23 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_volume_off.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_volume_off.xml new file mode 100644 index 0000000000..8cf1079337 --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_volume_off.xml @@ -0,0 +1,24 @@ + + + + diff --git a/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_volume_up.xml b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_volume_up.xml new file mode 100644 index 0000000000..22b80bb99e --- /dev/null +++ b/libraries/session/src/main/res/drawable-anydpi-v21/media3_icon_volume_up.xml @@ -0,0 +1,24 @@ + + + + diff --git a/libraries/session/src/main/res/values/drawables.xml b/libraries/session/src/main/res/values/drawables.xml index 701da2f8dd..12713d56e5 100644 --- a/libraries/session/src/main/res/values/drawables.xml +++ b/libraries/session/src/main/res/values/drawables.xml @@ -14,11 +14,5 @@ limitations under the License. --> - @android:drawable/ic_media_play - @android:drawable/ic_media_pause - @android:drawable/ic_media_next - @android:drawable/ic_media_previous - @android:drawable/ic_media_ff - @android:drawable/ic_media_rew @drawable/media3_icon_circular_play diff --git a/libraries/session/src/test/java/androidx/media3/session/CommandButtonTest.java b/libraries/session/src/test/java/androidx/media3/session/CommandButtonTest.java index 78c265f2c9..6f4b600f1d 100644 --- a/libraries/session/src/test/java/androidx/media3/session/CommandButtonTest.java +++ b/libraries/session/src/test/java/androidx/media3/session/CommandButtonTest.java @@ -34,7 +34,7 @@ public class CommandButtonTest { public void isButtonCommandAvailable_playerCommandAvailableOrUnavailableInPlayerCommands_isEnabledCorrectly() { CommandButton button = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button") .setIconResId(R.drawable.media3_notification_small_icon) .setPlayerCommand(Player.COMMAND_SEEK_TO_NEXT) @@ -56,7 +56,7 @@ public class CommandButtonTest { public void isButtonCommandAvailable_sessionCommandAvailableOrUnavailable_isEnabledCorrectly() { SessionCommand command1 = new SessionCommand("command1", Bundle.EMPTY); CommandButton button = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button") .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(command1) @@ -77,14 +77,14 @@ public class CommandButtonTest { @Test public void copyWithUnavailableButtonsDisabled() { CommandButton button1 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button1") .setIconResId(R.drawable.media3_notification_small_icon) .setPlayerCommand(Player.COMMAND_SEEK_TO_PREVIOUS) .build(); SessionCommand command2 = new SessionCommand("command2", Bundle.EMPTY); CommandButton button2 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button2") .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(command2) @@ -110,7 +110,7 @@ public class CommandButtonTest { public void getIconUri_returnsUri() { Uri uri = Uri.parse("content://test"); CommandButton button = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button1") .setIconResId(R.drawable.media3_notification_small_icon) .setIconUri(uri) @@ -123,7 +123,7 @@ public class CommandButtonTest { @Test public void getIconUri_returnsNullIfUnset() { CommandButton button = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button1") .setIconResId(R.drawable.media3_notification_small_icon) .setPlayerCommand(Player.COMMAND_SEEK_TO_PREVIOUS) @@ -136,7 +136,7 @@ public class CommandButtonTest { public void getIconUri_returnsUriAfterSerialisation() { Uri uri = Uri.parse("content://test"); CommandButton button = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button1") .setIconResId(R.drawable.media3_notification_small_icon) .setIconUri(uri) @@ -152,7 +152,7 @@ public class CommandButtonTest { @Test public void getIconUri_returnsNullIfUnsetAfterSerialisation() { CommandButton button = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button1") .setIconResId(R.drawable.media3_notification_small_icon) .setPlayerCommand(Player.COMMAND_SEEK_TO_PREVIOUS) @@ -167,14 +167,14 @@ public class CommandButtonTest { @Test public void equals() { assertThat( - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button") .setIconResId(R.drawable.media3_notification_small_icon) .setIconUri(Uri.parse("content://test")) .setPlayerCommand(Player.COMMAND_SEEK_TO_NEXT) .build()) .isEqualTo( - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button") .setIconResId(R.drawable.media3_notification_small_icon) .setIconUri(Uri.parse("content://test")) @@ -185,7 +185,7 @@ public class CommandButtonTest { @Test public void equals_minimalDifference_notEqual() { CommandButton button = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button") .setIconResId(R.drawable.media3_notification_small_icon) .setPlayerCommand(Player.COMMAND_SEEK_TO_NEXT) @@ -195,28 +195,28 @@ public class CommandButtonTest { .isEqualTo(CommandButton.fromBundle(button.toBundle(), MediaSessionStub.VERSION_INT)); assertThat(button) .isNotEqualTo( - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button2") .setIconResId(R.drawable.media3_notification_small_icon) .setPlayerCommand(Player.COMMAND_SEEK_TO_NEXT) .build()); assertThat(button) .isNotEqualTo( - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setPlayerCommand(Player.COMMAND_SEEK_TO_PREVIOUS) .setDisplayName("button") .setIconResId(R.drawable.media3_notification_small_icon) .build()); assertThat(button) .isNotEqualTo( - new CommandButton.Builder() - .setIconResId(R.drawable.media3_notification_play) + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) + .setIconResId(R.drawable.media3_icon_play) .setDisplayName("button") .setPlayerCommand(Player.COMMAND_SEEK_TO_NEXT) .build()); assertThat(button) .isNotEqualTo( - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setEnabled(false) .setDisplayName("button") .setIconResId(R.drawable.media3_notification_small_icon) @@ -224,14 +224,14 @@ public class CommandButtonTest { .build()); assertThat(button) .isNotEqualTo( - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setSessionCommand(new SessionCommand(Player.COMMAND_PLAY_PAUSE)) .setDisplayName("button") .setIconResId(R.drawable.media3_notification_small_icon) .build()); assertThat(button) .isNotEqualTo( - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button") .setIconResId(R.drawable.media3_notification_small_icon) .setIconUri(Uri.parse("content://test")) @@ -239,8 +239,7 @@ public class CommandButtonTest { .build()); assertThat(button) .isNotEqualTo( - new CommandButton.Builder() - .setIcon(CommandButton.ICON_NEXT) + new CommandButton.Builder(CommandButton.ICON_NEXT) .setDisplayName("button") .setIconResId(R.drawable.media3_notification_small_icon) .setPlayerCommand(Player.COMMAND_SEEK_TO_NEXT) @@ -250,7 +249,7 @@ public class CommandButtonTest { @Test public void equals_differenceInExtras_ignored() { CommandButton.Builder builder = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button") .setPlayerCommand(Player.COMMAND_SEEK_TO_NEXT) .setIconResId(R.drawable.media3_notification_small_icon); @@ -268,40 +267,34 @@ public class CommandButtonTest { @Test public void equals_differencesInSessionCommand_notEqual() { assertThat( - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_PLAY) .setSessionCommand(new SessionCommand(Player.COMMAND_PLAY_PAUSE)) .setDisplayName("button") - .setIconResId(R.drawable.media3_notification_play) .build()) .isNotEqualTo( - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_PLAY) .setSessionCommand(new SessionCommand(Player.COMMAND_SEEK_BACK)) .setDisplayName("button") - .setIconResId(R.drawable.media3_notification_play) .build()); assertThat( - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_PLAY) .setSessionCommand(new SessionCommand(Player.COMMAND_PLAY_PAUSE)) .setDisplayName("button") - .setIconResId(R.drawable.media3_notification_play) .build()) .isNotEqualTo( - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_PLAY) .setSessionCommand(new SessionCommand("customAction", Bundle.EMPTY)) .setDisplayName("button") - .setIconResId(R.drawable.media3_notification_play) .build()); assertThat( - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_PLAY) .setSessionCommand(new SessionCommand("customAction", Bundle.EMPTY)) .setDisplayName("button") - .setIconResId(R.drawable.media3_notification_play) .build()) .isNotEqualTo( - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_PLAY) .setSessionCommand(new SessionCommand("customAction2", Bundle.EMPTY)) .setDisplayName("button") - .setIconResId(R.drawable.media3_notification_play) .build()); } @@ -310,44 +303,42 @@ public class CommandButtonTest { Bundle extras = new Bundle(); extras.putString("key", "value"); assertThat( - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_PLAY) .setSessionCommand(new SessionCommand("customAction", Bundle.EMPTY)) .setDisplayName("button") - .setIconResId(R.drawable.media3_notification_play) .build()) .isEqualTo( - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_PLAY) .setExtras(extras) .setSessionCommand(new SessionCommand("customAction", extras)) .setDisplayName("button") - .setIconResId(R.drawable.media3_notification_play) .build()); } @Test public void hashCode_equalButtons_sameHashcode() { assertThat( - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button") .setIconResId(R.drawable.media3_notification_small_icon) .setPlayerCommand(Player.COMMAND_SEEK_TO_NEXT) .build() .hashCode()) .isEqualTo( - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button") .setIconResId(R.drawable.media3_notification_small_icon) .setPlayerCommand(Player.COMMAND_SEEK_TO_NEXT) .build() .hashCode()); assertThat( - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setIconResId(R.drawable.media3_notification_small_icon) .setPlayerCommand(Player.COMMAND_SEEK_TO_NEXT) .build() .hashCode()) .isNotEqualTo( - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button") .setIconResId(R.drawable.media3_notification_small_icon) .setPlayerCommand(Player.COMMAND_SEEK_TO_NEXT) @@ -358,7 +349,7 @@ public class CommandButtonTest { @Test public void build_withoutSessionOrPlayerCommandSet_throwsIllegalStateException() { CommandButton.Builder builder = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button") .setIconResId(R.drawable.media3_notification_small_icon); assertThrows(IllegalStateException.class, builder::build); @@ -369,27 +360,27 @@ public class CommandButtonTest { Bundle extras = new Bundle(); extras.putString("key", "value"); CommandButton buttonWithSessionCommand = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_CLOSED_CAPTIONS) .setDisplayName("name") .setEnabled(true) - .setIcon(CommandButton.ICON_CLOSED_CAPTIONS) .setIconResId(R.drawable.media3_notification_small_icon) .setIconUri(Uri.parse("http://test.test")) .setExtras(extras) .setSessionCommand(new SessionCommand(SessionCommand.COMMAND_CODE_SESSION_SET_RATING)) .build(); CommandButton buttonWithPlayerCommand = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_CLOSED_CAPTIONS) .setDisplayName("name") .setEnabled(true) - .setIcon(CommandButton.ICON_CLOSED_CAPTIONS) .setIconResId(R.drawable.media3_notification_small_icon) .setIconUri(Uri.parse("http://test.test")) .setExtras(extras) .setPlayerCommand(Player.COMMAND_GET_METADATA) .build(); CommandButton buttonWithDefaultValues = - new CommandButton.Builder().setPlayerCommand(Player.COMMAND_PLAY_PAUSE).build(); + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) + .setPlayerCommand(Player.COMMAND_PLAY_PAUSE) + .build(); CommandButton restoredButtonWithSessionCommand = CommandButton.fromBundle(buttonWithSessionCommand.toBundle(), MediaSessionStub.VERSION_INT); @@ -408,7 +399,7 @@ public class CommandButtonTest { @Test public void fromBundle_withSessionInterfaceVersionLessThan3_setsEnabledToTrue() { CommandButton buttonWithEnabledFalse = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setEnabled(false) .setSessionCommand(new SessionCommand(SessionCommand.COMMAND_CODE_SESSION_SET_RATING)) .build(); diff --git a/libraries/session/src/test/java/androidx/media3/session/DefaultActionFactoryTest.java b/libraries/session/src/test/java/androidx/media3/session/DefaultActionFactoryTest.java index d4e904ccb7..60f7c2783a 100644 --- a/libraries/session/src/test/java/androidx/media3/session/DefaultActionFactoryTest.java +++ b/libraries/session/src/test/java/androidx/media3/session/DefaultActionFactoryTest.java @@ -124,10 +124,9 @@ public class DefaultActionFactoryTest { Bundle buttonBundle = new Bundle(); buttonBundle.putString("button-key", "button-value"); CommandButton customSessionCommand = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_PAUSE) .setSessionCommand(new SessionCommand("a", commandBundle)) .setExtras(buttonBundle) - .setIconResId(R.drawable.media3_notification_pause) .setDisplayName("name") .build(); @@ -138,7 +137,7 @@ public class DefaultActionFactoryTest { assertThat(shadowPendingIntent.getSavedIntent().getData()).isEqualTo(mediaSession.getUri()); assertThat(String.valueOf(notificationAction.title)).isEqualTo("name"); assertThat(notificationAction.getIconCompat().getResId()) - .isEqualTo(R.drawable.media3_notification_pause); + .isEqualTo(R.drawable.media3_icon_pause); assertThat(notificationAction.getExtras().size()).isEqualTo(0); assertThat(notificationAction.getActionIntent()).isNotNull(); } @@ -149,9 +148,8 @@ public class DefaultActionFactoryTest { DefaultActionFactory actionFactory = new DefaultActionFactory(Robolectric.setupService(TestService.class)); CommandButton customSessionCommand = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_PAUSE) .setPlayerCommand(Player.COMMAND_PLAY_PAUSE) - .setIconResId(R.drawable.media3_notification_pause) .setDisplayName("name") .build(); diff --git a/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java b/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java index 8b0a6177d1..6103c8601e 100644 --- a/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java +++ b/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java @@ -133,13 +133,11 @@ public class DefaultMediaNotificationProviderTest { assertThat(mediaButtonsWhenPlaying).hasSize(3); assertThat(mediaButtonsWhenPlaying.get(1).playerCommand).isEqualTo(Player.COMMAND_PLAY_PAUSE); - assertThat(mediaButtonsWhenPlaying.get(1).iconResId) - .isEqualTo(R.drawable.media3_notification_pause); + assertThat(mediaButtonsWhenPlaying.get(1).iconResId).isEqualTo(R.drawable.media3_icon_pause); assertThat(String.valueOf(mediaButtonsWhenPlaying.get(1).displayName)).isEqualTo("Pause"); assertThat(mediaButtonWhenPaused).hasSize(3); assertThat(mediaButtonWhenPaused.get(1).playerCommand).isEqualTo(Player.COMMAND_PLAY_PAUSE); - assertThat(mediaButtonWhenPaused.get(1).iconResId) - .isEqualTo(R.drawable.media3_notification_play); + assertThat(mediaButtonWhenPaused.get(1).iconResId).isEqualTo(R.drawable.media3_icon_play); assertThat(String.valueOf(mediaButtonWhenPaused.get(1).displayName)).isEqualTo("Play"); } @@ -151,7 +149,7 @@ public class DefaultMediaNotificationProviderTest { Commands commands = new Commands.Builder().addAllCommands().build(); SessionCommand customSessionCommand = new SessionCommand("", Bundle.EMPTY); CommandButton customCommandButton = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("displayName") .setIconResId(R.drawable.media3_icon_circular_play) .setSessionCommand(customSessionCommand) @@ -184,7 +182,7 @@ public class DefaultMediaNotificationProviderTest { Commands commands = new Commands.Builder().build(); SessionCommand customSessionCommand = new SessionCommand("action1", Bundle.EMPTY); CommandButton customCommandButton = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("displayName") .setIconResId(R.drawable.media3_icon_circular_play) .setSessionCommand(customSessionCommand) @@ -213,7 +211,7 @@ public class DefaultMediaNotificationProviderTest { new NotificationCompat.Builder( ApplicationProvider.getApplicationContext(), TEST_CHANNEL_ID); CommandButton commandButton1 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setPlayerCommand(Player.COMMAND_PLAY_PAUSE) .setDisplayName("displayName") .setIconResId(R.drawable.media3_icon_circular_play) @@ -221,7 +219,7 @@ public class DefaultMediaNotificationProviderTest { Bundle commandButton2Bundle = new Bundle(); commandButton2Bundle.putInt(DefaultMediaNotificationProvider.COMMAND_KEY_COMPACT_VIEW_INDEX, 0); CommandButton commandButton2 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("displayName") .setIconResId(R.drawable.media3_icon_circular_play) .setSessionCommand(new SessionCommand("action2", Bundle.EMPTY)) @@ -230,7 +228,7 @@ public class DefaultMediaNotificationProviderTest { Bundle commandButton3Bundle = new Bundle(); commandButton3Bundle.putInt(DefaultMediaNotificationProvider.COMMAND_KEY_COMPACT_VIEW_INDEX, 2); CommandButton commandButton3 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("displayName") .setIconResId(R.drawable.media3_icon_circular_play) .setSessionCommand(new SessionCommand("action3", Bundle.EMPTY)) @@ -239,7 +237,7 @@ public class DefaultMediaNotificationProviderTest { Bundle commandButton4Bundle = new Bundle(); commandButton4Bundle.putInt(DefaultMediaNotificationProvider.COMMAND_KEY_COMPACT_VIEW_INDEX, 1); CommandButton commandButton4 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("displayName") .setIconResId(R.drawable.media3_icon_circular_play) .setSessionCommand(new SessionCommand("action4", Bundle.EMPTY)) @@ -286,25 +284,25 @@ public class DefaultMediaNotificationProviderTest { new NotificationCompat.Builder( ApplicationProvider.getApplicationContext(), TEST_CHANNEL_ID); CommandButton commandButton1 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("displayName") .setIconResId(R.drawable.media3_icon_circular_play) .setSessionCommand(new SessionCommand("action1", Bundle.EMPTY)) .build(); CommandButton commandButton2 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setPlayerCommand(Player.COMMAND_PLAY_PAUSE) .setDisplayName("displayName") .setIconResId(R.drawable.media3_icon_circular_play) .build(); CommandButton commandButton3 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setPlayerCommand(Player.COMMAND_SEEK_TO_PREVIOUS) .setDisplayName("displayName") .setIconResId(R.drawable.media3_icon_circular_play) .build(); CommandButton commandButton4 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setPlayerCommand(Player.COMMAND_SEEK_TO_NEXT) .setDisplayName("displayName") .setIconResId(R.drawable.media3_icon_circular_play) @@ -352,19 +350,19 @@ public class DefaultMediaNotificationProviderTest { new NotificationCompat.Builder( ApplicationProvider.getApplicationContext(), TEST_CHANNEL_ID); CommandButton commandButton1 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("displayName") .setIconResId(R.drawable.media3_icon_circular_play) .setSessionCommand(new SessionCommand("action1", Bundle.EMPTY)) .build(); CommandButton commandButton2 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setPlayerCommand(Player.COMMAND_PLAY_PAUSE) .setDisplayName("displayName") .setIconResId(R.drawable.media3_icon_circular_play) .build(); CommandButton commandButton3 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setPlayerCommand(Player.COMMAND_SEEK_TO_PREVIOUS) .setDisplayName("displayName") .setIconResId(R.drawable.media3_icon_circular_play) @@ -408,7 +406,7 @@ public class DefaultMediaNotificationProviderTest { new NotificationCompat.Builder( ApplicationProvider.getApplicationContext(), TEST_CHANNEL_ID); CommandButton commandButton1 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("displayName") .setIconResId(R.drawable.media3_icon_circular_play) .setSessionCommand(new SessionCommand("action1", Bundle.EMPTY)) @@ -441,7 +439,7 @@ public class DefaultMediaNotificationProviderTest { Bundle commandButtonBundle1 = new Bundle(); commandButtonBundle1.putInt(DefaultMediaNotificationProvider.COMMAND_KEY_COMPACT_VIEW_INDEX, 2); CommandButton commandButton1 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("displayName") .setIconResId(R.drawable.media3_icon_circular_play) .setSessionCommand(new SessionCommand("action1", Bundle.EMPTY)) @@ -451,7 +449,7 @@ public class DefaultMediaNotificationProviderTest { commandButtonBundle2.putInt( DefaultMediaNotificationProvider.COMMAND_KEY_COMPACT_VIEW_INDEX, -1); CommandButton commandButton2 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("displayName2") .setIconResId(R.drawable.media3_icon_circular_play) .setSessionCommand(new SessionCommand("action1", Bundle.EMPTY)) @@ -491,7 +489,7 @@ public class DefaultMediaNotificationProviderTest { Bundle commandButtonBundle = new Bundle(); commandButtonBundle.putInt(DefaultMediaNotificationProvider.COMMAND_KEY_COMPACT_VIEW_INDEX, 1); CommandButton commandButton1 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("displayName") .setIconResId(R.drawable.media3_icon_circular_play) .setSessionCommand(new SessionCommand("action1", Bundle.EMPTY)) @@ -528,9 +526,8 @@ public class DefaultMediaNotificationProviderTest { Bundle commandButtonBundle = new Bundle(); commandButtonBundle.putString("testKey", "testValue"); CommandButton commandButton1 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_PLAY) .setDisplayName("displayName1") - .setIconResId(R.drawable.media3_notification_play) .setSessionCommand(new SessionCommand("action1", Bundle.EMPTY)) .setExtras(commandButtonBundle) .build(); @@ -633,20 +630,20 @@ public class DefaultMediaNotificationProviderTest { new TestExoPlayerBuilder(context).build()) .build(); CommandButton button1 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button1") .setIconResId(R.drawable.media3_notification_small_icon) .setPlayerCommand(Player.COMMAND_SEEK_TO_PREVIOUS) .build(); CommandButton button2 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button2") .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(new SessionCommand("command2", Bundle.EMPTY)) .build() .copyWithIsEnabled(true); CommandButton button3 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button3") .setIconResId(R.drawable.media3_notification_small_icon) .setPlayerCommand(Player.COMMAND_PLAY_PAUSE) diff --git a/libraries/session/src/test/java/androidx/media3/session/MediaSessionServiceTest.java b/libraries/session/src/test/java/androidx/media3/session/MediaSessionServiceTest.java index 7b84bd1ddd..7ca5925bd9 100644 --- a/libraries/session/src/test/java/androidx/media3/session/MediaSessionServiceTest.java +++ b/libraries/session/src/test/java/androidx/media3/session/MediaSessionServiceTest.java @@ -161,26 +161,26 @@ public class MediaSessionServiceTest { SessionCommand command3 = new SessionCommand("command3", Bundle.EMPTY); SessionCommand command4 = new SessionCommand("command4", Bundle.EMPTY); CommandButton button1 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("customAction1") .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(command1) .build(); CommandButton button2 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("customAction2") .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(command2) .build(); CommandButton button3 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("customAction3") .setEnabled(false) .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(command3) .build(); CommandButton button4 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("customAction4") .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(command4) @@ -265,13 +265,13 @@ public class MediaSessionServiceTest { SessionCommand command1 = new SessionCommand("command1", Bundle.EMPTY); SessionCommand command2 = new SessionCommand("command2", Bundle.EMPTY); CommandButton button1 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("customAction1") .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(command1) .build(); CommandButton button2 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("customAction2") .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(command2) diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerCompatCallbackWithMediaSessionTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerCompatCallbackWithMediaSessionTest.java index e24402f7aa..d09535c762 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerCompatCallbackWithMediaSessionTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerCompatCallbackWithMediaSessionTest.java @@ -949,13 +949,13 @@ public class MediaControllerCompatCallbackWithMediaSessionTest { SessionCommand command2 = new SessionCommand("command2", extras2); ImmutableList customLayout = ImmutableList.of( - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setSessionCommand(command1) .setDisplayName("command1") .setIconResId(1) .build() .copyWithIsEnabled(true), - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setSessionCommand(command2) .setDisplayName("command2") .setIconResId(2) diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest.java index c17452c1f1..ced1f07d54 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest.java @@ -45,7 +45,6 @@ import androidx.media3.common.util.Consumer; import androidx.media3.exoplayer.ExoPlayer; import androidx.media3.session.MediaSession.ConnectionResult; import androidx.media3.session.MediaSession.ConnectionResult.AcceptedResultBuilder; -import androidx.media3.test.session.R; import androidx.media3.test.session.common.HandlerThreadTestRule; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; @@ -1451,20 +1450,17 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest SessionCommand command3 = new SessionCommand("command3", Bundle.EMPTY); ImmutableList customLayout = ImmutableList.of( - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_PLAY) .setDisplayName("button1") - .setIconResId(R.drawable.media3_notification_play) .setSessionCommand(command1) .build(), - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_PAUSE) .setDisplayName("button2") - .setIconResId(R.drawable.media3_notification_pause) .setSessionCommand(command2) .build(), - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_PAUSE) .setDisplayName("button3") .setEnabled(false) - .setIconResId(R.drawable.media3_notification_pause) .setSessionCommand(command3) .build()); MediaSession.Callback callback = @@ -1504,14 +1500,12 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest SessionCommand command2 = new SessionCommand("command2", extras2); ImmutableList customLayout = ImmutableList.of( - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_PLAY) .setDisplayName("button1") - .setIconResId(R.drawable.media3_notification_play) .setSessionCommand(command1) .build(), - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_PAUSE) .setDisplayName("button2") - .setIconResId(R.drawable.media3_notification_pause) .setSessionCommand(command2) .build()); MediaSession.Callback callback = @@ -1565,15 +1559,12 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest SessionCommand command2 = new SessionCommand("command2", extras2); ImmutableList customLayout = ImmutableList.of( - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_PLAY) .setDisplayName("button1") - .setIconResId(R.drawable.media3_notification_play) .setSessionCommand(command1) .build(), - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_PAUSE) .setDisplayName("button2") - .setIcon(CommandButton.ICON_FAST_FORWARD) - .setIconResId(R.drawable.media3_notification_pause) .setSessionCommand(command2) .build()); MediaSession.Callback callback = diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java index 7152ce25ef..e4c5582edc 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java @@ -2410,7 +2410,7 @@ public class MediaControllerListenerTest { Bundle extras1 = new Bundle(); extras1.putString("key", "value-1"); CommandButton button1 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setSessionCommand(new SessionCommand("action1", extras1)) .setDisplayName("actionName1") .setIconResId(1) @@ -2418,7 +2418,7 @@ public class MediaControllerListenerTest { Bundle extras2 = new Bundle(); extras2.putString("key", "value-2"); CommandButton button2 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setSessionCommand(new SessionCommand("action2", extras2)) .setDisplayName("actionName2") .setIconResId(2) diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerWithMediaSessionCompatTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerWithMediaSessionCompatTest.java index 44e684b4cd..b4748270c6 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerWithMediaSessionCompatTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerWithMediaSessionCompatTest.java @@ -394,16 +394,14 @@ public class MediaControllerListenerWithMediaSessionCompatTest { @Test public void getCustomLayout() throws Exception { CommandButton button1 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button1") .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(new SessionCommand("command1", Bundle.EMPTY)) .build(); CommandButton button2 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_FAST_FORWARD) .setDisplayName("button2") - .setIcon(CommandButton.ICON_FAST_FORWARD) - .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(new SessionCommand("command2", Bundle.EMPTY)) .build(); ConditionVariable onSetCustomLayoutCalled = new ConditionVariable(); @@ -443,7 +441,7 @@ public class MediaControllerListenerWithMediaSessionCompatTest { MediaConstants.EXTRAS_KEY_COMMAND_BUTTON_ICON_COMPAT, CommandButton.ICON_FAST_FORWARD); PlaybackStateCompat.CustomAction customAction2 = new PlaybackStateCompat.CustomAction.Builder( - "command2", "button2", /* icon= */ R.drawable.media3_notification_small_icon) + "command2", "button2", /* icon= */ R.drawable.media3_icon_fast_forward) .setExtras(extras2) .build(); PlaybackStateCompat.Builder playbackState1 = diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerTest.java index 4f8b41ac9d..abfce29040 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerTest.java @@ -173,32 +173,32 @@ public class MediaControllerTest { RemoteMediaSession session = createRemoteMediaSession(TEST_GET_CUSTOM_LAYOUT, /* tokenExtras= */ null); CommandButton button1 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button1") .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(new SessionCommand("command1", Bundle.EMPTY)) .build(); CommandButton button2 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button2") .setEnabled(false) .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(new SessionCommand("command2", Bundle.EMPTY)) .build(); CommandButton button3 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button3") .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(new SessionCommand("command3", Bundle.EMPTY)) .build(); CommandButton button4 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button4") .setIconResId(R.drawable.media3_notification_small_icon) .setPlayerCommand(Player.COMMAND_PLAY_PAUSE) .build(); CommandButton button5 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button5") .setIconResId(R.drawable.media3_notification_small_icon) .setPlayerCommand(Player.COMMAND_GET_TRACKS) @@ -223,38 +223,38 @@ public class MediaControllerTest { RemoteMediaSession session = createRemoteMediaSession(TEST_GET_CUSTOM_LAYOUT, /* tokenExtras= */ null); CommandButton button1 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button1") .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(new SessionCommand("command1", Bundle.EMPTY)) .build(); CommandButton button2 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button2") .setEnabled(false) .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(new SessionCommand("command2", Bundle.EMPTY)) .build(); CommandButton button3 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button3") .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(new SessionCommand("command3", Bundle.EMPTY)) .build(); CommandButton button4 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button4") .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(new SessionCommand("command4", Bundle.EMPTY)) .build(); CommandButton button5 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button5") .setIconResId(R.drawable.media3_notification_small_icon) .setPlayerCommand(Player.COMMAND_PLAY_PAUSE) .build(); CommandButton button6 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button6") .setIconResId(R.drawable.media3_notification_small_icon) .setPlayerCommand(Player.COMMAND_GET_TRACKS) @@ -314,26 +314,26 @@ public class MediaControllerTest { throws Exception { RemoteMediaSession session = createRemoteMediaSession(TEST_GET_CUSTOM_LAYOUT, null); CommandButton button1 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button1") .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(new SessionCommand("command1", Bundle.EMPTY)) .build(); CommandButton button2 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button2") .setEnabled(false) .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(new SessionCommand("command2", Bundle.EMPTY)) .build(); CommandButton button3 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button3") .setIconResId(R.drawable.media3_notification_small_icon) .setPlayerCommand(Player.COMMAND_PLAY_PAUSE) .build(); CommandButton button4 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button4") .setIconResId(R.drawable.media3_notification_small_icon) .setPlayerCommand(Player.COMMAND_GET_TRACKS) @@ -409,7 +409,7 @@ public class MediaControllerTest { throws Exception { RemoteMediaSession session = createRemoteMediaSession(TEST_GET_CUSTOM_LAYOUT, null); CommandButton button = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button") .setIconResId(R.drawable.media3_notification_small_icon) .setPlayerCommand(Player.COMMAND_PLAY_PAUSE) @@ -457,26 +457,26 @@ public class MediaControllerTest { RemoteMediaSession session = createRemoteMediaSession(TEST_GET_CUSTOM_LAYOUT, /* tokenExtras= */ null); CommandButton button1 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button1") .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(new SessionCommand("command1", Bundle.EMPTY)) .build(); CommandButton button2 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button2") .setEnabled(false) .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(new SessionCommand("command2", Bundle.EMPTY)) .build(); CommandButton button3 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button3") .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(new SessionCommand("command3", Bundle.EMPTY)) .build(); CommandButton button4 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button4") .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(new SessionCommand("command4", Bundle.EMPTY)) diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionCallbackTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionCallbackTest.java index cca0b652f1..ca0fcd16d6 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionCallbackTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionCallbackTest.java @@ -41,7 +41,6 @@ import androidx.media3.common.StarRating; import androidx.media3.exoplayer.ExoPlayer; import androidx.media3.session.MediaSession.ConnectionResult.AcceptedResultBuilder; import androidx.media3.session.MediaSession.ControllerInfo; -import androidx.media3.test.session.R; import androidx.media3.test.session.common.HandlerThreadTestRule; import androidx.media3.test.session.common.MainLooperTestRule; import androidx.media3.test.session.common.TestHandler; @@ -153,17 +152,15 @@ public class MediaSessionCallbackTest { public void onConnect_acceptWithMissingSessionCommand_buttonDisabledAndPermissionDenied() throws Exception { CommandButton button1 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_PLAY) .setDisplayName("button1") - .setIconResId(R.drawable.media3_notification_play) .setSessionCommand(new SessionCommand("command1", Bundle.EMPTY)) .setEnabled(true) .build(); CommandButton button1Disabled = button1.copyWithIsEnabled(false); CommandButton button2 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_PAUSE) .setDisplayName("button2") - .setIconResId(R.drawable.media3_notification_pause) .setSessionCommand(new SessionCommand("command2", Bundle.EMPTY)) .setEnabled(true) .build(); diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionServiceTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionServiceTest.java index ebf8f709ef..73f55b153d 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionServiceTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionServiceTest.java @@ -242,19 +242,19 @@ public class MediaSessionServiceTest { SessionCommand command2 = new SessionCommand("command2", Bundle.EMPTY); SessionCommand command3 = new SessionCommand("command3", Bundle.EMPTY); CommandButton button1 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button1") .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(command1) .build(); CommandButton button2 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button2") .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(command2) .build(); CommandButton button3 = - new CommandButton.Builder() + new CommandButton.Builder(CommandButton.ICON_UNDEFINED) .setDisplayName("button3") .setIconResId(R.drawable.media3_notification_small_icon) .setSessionCommand(command3)