Make getIconResIdForIconConstant public

This allows controller apps to map these constants to suitable
icons without creating a CommandButton instance first.

PiperOrigin-RevId: 636096841
This commit is contained in:
tonihei 2024-05-22 03:00:09 -07:00 committed by Copybara-Service
parent d175223cc6
commit fb7cf154de

View File

@ -586,160 +586,6 @@ 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_QUEUE_ADD:
return R.drawable.media3_icon_queue_add;
case ICON_QUEUE_NEXT:
return R.drawable.media3_icon_queue_next;
case ICON_QUEUE_REMOVE:
return R.drawable.media3_icon_queue_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. */
@ -986,4 +832,165 @@ public final class CommandButton implements Bundleable {
.setEnabled(enabled)
.build();
}
/**
* Returns a drawable resource id for the given {@link Icon} constant.
*
* @param icon The {@link Icon}.
* @return The drawable resource if for the {@code icon}, or 0 if not found.
*/
@UnstableApi
@DrawableRes
public 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_QUEUE_ADD:
return R.drawable.media3_icon_queue_add;
case ICON_QUEUE_NEXT:
return R.drawable.media3_icon_queue_next;
case ICON_QUEUE_REMOVE:
return R.drawable.media3_icon_queue_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;
}
}
}