@@ -57,29 +57,34 @@ data class LongPressAction(
5757 val enabled : (isPlayerRunning: Boolean ) -> Boolean = { true },
5858) {
5959 enum class Type (
60+ /* *
61+ * A unique ID that allows saving and restoring a list of action types from settings.
62+ * MUST NOT CHANGE ACROSS APP VERSIONS!
63+ */
64+ val id : Int ,
6065 @StringRes val label : Int ,
6166 val icon : ImageVector ,
6267 ) {
63- Enqueue (R .string.enqueue, Icons .Default .AddToQueue ),
64- EnqueueNext (R .string.enqueue_next_stream, Icons .Default .QueuePlayNext ),
65- Background (R .string.controls_background_title, Icons .Default .Headset ),
66- Popup (R .string.controls_popup_title, Icons .Default .PictureInPicture ),
67- Play (R .string.play, Icons .Default .PlayArrow ),
68- BackgroundFromHere (R .string.background_from_here, Icons .Default .BackgroundFromHere ),
69- PopupFromHere (R .string.popup_from_here, Icons .Default .PopupFromHere ),
70- PlayFromHere (R .string.play_from_here, Icons .Default .PlayFromHere ),
71- PlayWithKodi (R .string.play_with_kodi_title, Icons .Default .Cast ),
72- Download (R .string.download, Icons .Default .Download ),
73- AddToPlaylist (R .string.add_to_playlist, Icons .AutoMirrored .Default .PlaylistAdd ),
74- Share (R .string.share, Icons .Default .Share ),
75- OpenInBrowser (R .string.open_in_browser, Icons .Default .OpenInBrowser ),
76- ShowChannelDetails (R .string.show_channel_details, Icons .Default .Person ),
77- MarkAsWatched (R .string.mark_as_watched, Icons .Default .Done ),
78- Delete (R .string.delete, Icons .Default .Delete ),
79- Rename (R .string.rename, Icons .Default .Edit ),
80- SetAsPlaylistThumbnail (R .string.set_as_playlist_thumbnail, Icons .Default .Image ),
81- UnsetPlaylistThumbnail (R .string.unset_playlist_thumbnail, Icons .Default .HideImage ),
82- Unsubscribe (R .string.unsubscribe, Icons .Default .Delete ),
68+ Enqueue (0 , R .string.enqueue, Icons .Default .AddToQueue ),
69+ EnqueueNext (1 , R .string.enqueue_next_stream, Icons .Default .QueuePlayNext ),
70+ Background (2 , R .string.controls_background_title, Icons .Default .Headset ),
71+ Popup (3 , R .string.controls_popup_title, Icons .Default .PictureInPicture ),
72+ Play (4 , R .string.play, Icons .Default .PlayArrow ),
73+ BackgroundFromHere (5 , R .string.background_from_here, Icons .Default .BackgroundFromHere ),
74+ PopupFromHere (6 , R .string.popup_from_here, Icons .Default .PopupFromHere ),
75+ PlayFromHere (7 , R .string.play_from_here, Icons .Default .PlayFromHere ),
76+ PlayWithKodi (8 , R .string.play_with_kodi_title, Icons .Default .Cast ),
77+ Download (9 , R .string.download, Icons .Default .Download ),
78+ AddToPlaylist (10 , R .string.add_to_playlist, Icons .AutoMirrored .Default .PlaylistAdd ),
79+ Share (11 , R .string.share, Icons .Default .Share ),
80+ OpenInBrowser (12 , R .string.open_in_browser, Icons .Default .OpenInBrowser ),
81+ ShowChannelDetails (13 , R .string.show_channel_details, Icons .Default .Person ),
82+ MarkAsWatched (14 , R .string.mark_as_watched, Icons .Default .Done ),
83+ Delete (15 , R .string.delete, Icons .Default .Delete ),
84+ Rename (16 , R .string.rename, Icons .Default .Edit ),
85+ SetAsPlaylistThumbnail (17 , R .string.set_as_playlist_thumbnail, Icons .Default .Image ),
86+ UnsetPlaylistThumbnail (18 , R .string.unset_playlist_thumbnail, Icons .Default .HideImage ),
87+ Unsubscribe (19 , R .string.unsubscribe, Icons .Default .Delete ),
8388 ;
8489
8590 // TODO allow actions to return disposables
@@ -93,7 +98,7 @@ data class LongPressAction(
9398 companion object {
9499 // ShowChannelDetails is not enabled by default, since navigating to channel details can
95100 // also be done by clicking on the uploader name in the long press menu header
96- val DefaultEnabledActions : Array <Type > = arrayOf (
101+ val DefaultEnabledActions : List <Type > = listOf (
97102 Enqueue , EnqueueNext , Background , Popup , BackgroundFromHere , Download ,
98103 AddToPlaylist , Share , OpenInBrowser , MarkAsWatched , Delete ,
99104 Rename , SetAsPlaylistThumbnail , UnsetPlaylistThumbnail , Unsubscribe
0 commit comments