From 9982245ff2833a8de7f82966ce8bf3706955fc78 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ho=C3=A0ng=20Gia=20B=E1=BA=A3o?=
<70064328+YT-Advanced@users.noreply.github.com>
Date: Wed, 4 Dec 2024 09:49:20 +0700
Subject: [PATCH] feat(YouTube/Overlay buttons): replace `time-ordered
playlist` button with `play all` button (#96)
* feat(YouTube): Add `Play All` Overlay buttons
* Fix
* Reorder
* fix compile error
* chore: clarify description
* chore: add dependency
* chore: use lowercase letters, same as other buttons
---------
Co-authored-by: inotia00 <108592928+inotia00@users.noreply.github.com>
---
.../visual/VisualPreferencesIconsPatch.kt | 2 +-
.../overlaybuttons/OverlayButtonsPatch.kt | 6 ++--
...utton.png => revanced_play_all_button.png} | Bin
...utton.png => revanced_play_all_button.png} | Bin
...utton.png => revanced_play_all_button.png} | Bin
...utton.png => revanced_play_all_button.png} | Bin
...utton.png => revanced_play_all_button.png} | Bin
...utton.png => revanced_play_all_button.png} | Bin
...utton.png => revanced_play_all_button.png} | Bin
...utton.png => revanced_play_all_button.png} | Bin
...utton.png => revanced_play_all_button.png} | Bin
...utton.png => revanced_play_all_button.png} | Bin
.../youtube_controls_bottom_ui_container.xml | 4 +--
...utton.png => revanced_play_all_button.png} | Bin
...utton.png => revanced_play_all_button.png} | Bin
...utton.png => revanced_play_all_button.png} | Bin
...utton.png => revanced_play_all_button.png} | Bin
...utton.png => revanced_play_all_button.png} | Bin
.../youtube/settings/host/values/arrays.xml | 28 ++++++++++++++++++
.../youtube/settings/host/values/strings.xml | 23 ++++++++++++--
.../youtube/settings/xml/revanced_prefs.xml | 7 +++--
...revanced_overlay_button_play_all_icon.xml} | 0
22 files changed, 58 insertions(+), 12 deletions(-)
rename src/main/resources/youtube/overlaybuttons/bold/drawable-hdpi/{revanced_time_ordered_playlist_button.png => revanced_play_all_button.png} (100%)
rename src/main/resources/youtube/overlaybuttons/bold/drawable-mdpi/{revanced_time_ordered_playlist_button.png => revanced_play_all_button.png} (100%)
rename src/main/resources/youtube/overlaybuttons/bold/drawable-xhdpi/{revanced_time_ordered_playlist_button.png => revanced_play_all_button.png} (100%)
rename src/main/resources/youtube/overlaybuttons/bold/drawable-xxhdpi/{revanced_time_ordered_playlist_button.png => revanced_play_all_button.png} (100%)
rename src/main/resources/youtube/overlaybuttons/bold/drawable-xxxhdpi/{revanced_time_ordered_playlist_button.png => revanced_play_all_button.png} (100%)
rename src/main/resources/youtube/overlaybuttons/rounded/drawable-hdpi/{revanced_time_ordered_playlist_button.png => revanced_play_all_button.png} (100%)
rename src/main/resources/youtube/overlaybuttons/rounded/drawable-mdpi/{revanced_time_ordered_playlist_button.png => revanced_play_all_button.png} (100%)
rename src/main/resources/youtube/overlaybuttons/rounded/drawable-xhdpi/{revanced_time_ordered_playlist_button.png => revanced_play_all_button.png} (100%)
rename src/main/resources/youtube/overlaybuttons/rounded/drawable-xxhdpi/{revanced_time_ordered_playlist_button.png => revanced_play_all_button.png} (100%)
rename src/main/resources/youtube/overlaybuttons/rounded/drawable-xxxhdpi/{revanced_time_ordered_playlist_button.png => revanced_play_all_button.png} (100%)
rename src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/{revanced_time_ordered_playlist_button.png => revanced_play_all_button.png} (100%)
rename src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/{revanced_time_ordered_playlist_button.png => revanced_play_all_button.png} (100%)
rename src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/{revanced_time_ordered_playlist_button.png => revanced_play_all_button.png} (100%)
rename src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/{revanced_time_ordered_playlist_button.png => revanced_play_all_button.png} (100%)
rename src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/{revanced_time_ordered_playlist_button.png => revanced_play_all_button.png} (100%)
rename src/main/resources/youtube/visual/shared/drawable/{revanced_overlay_button_time_ordered_playlist_icon.xml => revanced_overlay_button_play_all_icon.xml} (100%)
diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/visual/VisualPreferencesIconsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/visual/VisualPreferencesIconsPatch.kt
index 46a2abeb2..123eddf2e 100644
--- a/src/main/kotlin/app/revanced/patches/youtube/layout/visual/VisualPreferencesIconsPatch.kt
+++ b/src/main/kotlin/app/revanced/patches/youtube/layout/visual/VisualPreferencesIconsPatch.kt
@@ -304,8 +304,8 @@ object VisualPreferencesIconsPatch : BaseResourcePatch(
"revanced_overlay_button_copy_video_url_timestamp",
"revanced_overlay_button_mute_volume",
"revanced_overlay_button_external_downloader",
+ "revanced_overlay_button_play_all",
"revanced_overlay_button_speed_dialog",
- "revanced_overlay_button_time_ordered_playlist",
"revanced_overlay_button_whitelist",
"revanced_preference_screen_account_menu",
"revanced_preference_screen_action_buttons",
diff --git a/src/main/kotlin/app/revanced/patches/youtube/player/overlaybuttons/OverlayButtonsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/player/overlaybuttons/OverlayButtonsPatch.kt
index b2a31d9c5..9024804a2 100644
--- a/src/main/kotlin/app/revanced/patches/youtube/player/overlaybuttons/OverlayButtonsPatch.kt
+++ b/src/main/kotlin/app/revanced/patches/youtube/player/overlaybuttons/OverlayButtonsPatch.kt
@@ -109,8 +109,8 @@ object OverlayButtonsPatch : BaseResourcePatch(
"CopyVideoUrlTimestamp;",
"MuteVolume;",
"ExternalDownload;",
+ "PlayAll;",
"SpeedDialog;",
- "TimeOrderedPlaylist;",
"Whitelists;"
).forEach { className ->
PlayerControlsPatch.hookBottomControlButton("$OVERLAY_BUTTONS_PATH/$className")
@@ -145,13 +145,13 @@ object OverlayButtonsPatch : BaseResourcePatch(
"quantum_ic_fullscreen_exit_white_24.png",
"quantum_ic_fullscreen_grey600_24.png",
"quantum_ic_fullscreen_white_24.png",
- "revanced_time_ordered_playlist_button.png",
"revanced_copy_button.png",
"revanced_copy_timestamp_button.png",
"revanced_download_button.png",
+ "revanced_play_all_button.png",
+ "revanced_speed_button.png",
"revanced_volume_muted_button.png",
"revanced_volume_unmuted_button.png",
- "revanced_speed_button.png",
"revanced_whitelist_button.png",
"yt_fill_arrow_repeat_white_24.png",
"yt_outline_arrow_repeat_1_white_24.png",
diff --git a/src/main/resources/youtube/overlaybuttons/bold/drawable-hdpi/revanced_time_ordered_playlist_button.png b/src/main/resources/youtube/overlaybuttons/bold/drawable-hdpi/revanced_play_all_button.png
similarity index 100%
rename from src/main/resources/youtube/overlaybuttons/bold/drawable-hdpi/revanced_time_ordered_playlist_button.png
rename to src/main/resources/youtube/overlaybuttons/bold/drawable-hdpi/revanced_play_all_button.png
diff --git a/src/main/resources/youtube/overlaybuttons/bold/drawable-mdpi/revanced_time_ordered_playlist_button.png b/src/main/resources/youtube/overlaybuttons/bold/drawable-mdpi/revanced_play_all_button.png
similarity index 100%
rename from src/main/resources/youtube/overlaybuttons/bold/drawable-mdpi/revanced_time_ordered_playlist_button.png
rename to src/main/resources/youtube/overlaybuttons/bold/drawable-mdpi/revanced_play_all_button.png
diff --git a/src/main/resources/youtube/overlaybuttons/bold/drawable-xhdpi/revanced_time_ordered_playlist_button.png b/src/main/resources/youtube/overlaybuttons/bold/drawable-xhdpi/revanced_play_all_button.png
similarity index 100%
rename from src/main/resources/youtube/overlaybuttons/bold/drawable-xhdpi/revanced_time_ordered_playlist_button.png
rename to src/main/resources/youtube/overlaybuttons/bold/drawable-xhdpi/revanced_play_all_button.png
diff --git a/src/main/resources/youtube/overlaybuttons/bold/drawable-xxhdpi/revanced_time_ordered_playlist_button.png b/src/main/resources/youtube/overlaybuttons/bold/drawable-xxhdpi/revanced_play_all_button.png
similarity index 100%
rename from src/main/resources/youtube/overlaybuttons/bold/drawable-xxhdpi/revanced_time_ordered_playlist_button.png
rename to src/main/resources/youtube/overlaybuttons/bold/drawable-xxhdpi/revanced_play_all_button.png
diff --git a/src/main/resources/youtube/overlaybuttons/bold/drawable-xxxhdpi/revanced_time_ordered_playlist_button.png b/src/main/resources/youtube/overlaybuttons/bold/drawable-xxxhdpi/revanced_play_all_button.png
similarity index 100%
rename from src/main/resources/youtube/overlaybuttons/bold/drawable-xxxhdpi/revanced_time_ordered_playlist_button.png
rename to src/main/resources/youtube/overlaybuttons/bold/drawable-xxxhdpi/revanced_play_all_button.png
diff --git a/src/main/resources/youtube/overlaybuttons/rounded/drawable-hdpi/revanced_time_ordered_playlist_button.png b/src/main/resources/youtube/overlaybuttons/rounded/drawable-hdpi/revanced_play_all_button.png
similarity index 100%
rename from src/main/resources/youtube/overlaybuttons/rounded/drawable-hdpi/revanced_time_ordered_playlist_button.png
rename to src/main/resources/youtube/overlaybuttons/rounded/drawable-hdpi/revanced_play_all_button.png
diff --git a/src/main/resources/youtube/overlaybuttons/rounded/drawable-mdpi/revanced_time_ordered_playlist_button.png b/src/main/resources/youtube/overlaybuttons/rounded/drawable-mdpi/revanced_play_all_button.png
similarity index 100%
rename from src/main/resources/youtube/overlaybuttons/rounded/drawable-mdpi/revanced_time_ordered_playlist_button.png
rename to src/main/resources/youtube/overlaybuttons/rounded/drawable-mdpi/revanced_play_all_button.png
diff --git a/src/main/resources/youtube/overlaybuttons/rounded/drawable-xhdpi/revanced_time_ordered_playlist_button.png b/src/main/resources/youtube/overlaybuttons/rounded/drawable-xhdpi/revanced_play_all_button.png
similarity index 100%
rename from src/main/resources/youtube/overlaybuttons/rounded/drawable-xhdpi/revanced_time_ordered_playlist_button.png
rename to src/main/resources/youtube/overlaybuttons/rounded/drawable-xhdpi/revanced_play_all_button.png
diff --git a/src/main/resources/youtube/overlaybuttons/rounded/drawable-xxhdpi/revanced_time_ordered_playlist_button.png b/src/main/resources/youtube/overlaybuttons/rounded/drawable-xxhdpi/revanced_play_all_button.png
similarity index 100%
rename from src/main/resources/youtube/overlaybuttons/rounded/drawable-xxhdpi/revanced_time_ordered_playlist_button.png
rename to src/main/resources/youtube/overlaybuttons/rounded/drawable-xxhdpi/revanced_play_all_button.png
diff --git a/src/main/resources/youtube/overlaybuttons/rounded/drawable-xxxhdpi/revanced_time_ordered_playlist_button.png b/src/main/resources/youtube/overlaybuttons/rounded/drawable-xxxhdpi/revanced_play_all_button.png
similarity index 100%
rename from src/main/resources/youtube/overlaybuttons/rounded/drawable-xxxhdpi/revanced_time_ordered_playlist_button.png
rename to src/main/resources/youtube/overlaybuttons/rounded/drawable-xxxhdpi/revanced_play_all_button.png
diff --git a/src/main/resources/youtube/overlaybuttons/shared/host/layout/youtube_controls_bottom_ui_container.xml b/src/main/resources/youtube/overlaybuttons/shared/host/layout/youtube_controls_bottom_ui_container.xml
index dce423b9c..f184aac3b 100644
--- a/src/main/resources/youtube/overlaybuttons/shared/host/layout/youtube_controls_bottom_ui_container.xml
+++ b/src/main/resources/youtube/overlaybuttons/shared/host/layout/youtube_controls_bottom_ui_container.xml
@@ -4,8 +4,8 @@
-
-
+
+
diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_time_ordered_playlist_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_play_all_button.png
similarity index 100%
rename from src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_time_ordered_playlist_button.png
rename to src/main/resources/youtube/overlaybuttons/thin/drawable-hdpi/revanced_play_all_button.png
diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_time_ordered_playlist_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_play_all_button.png
similarity index 100%
rename from src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_time_ordered_playlist_button.png
rename to src/main/resources/youtube/overlaybuttons/thin/drawable-mdpi/revanced_play_all_button.png
diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_time_ordered_playlist_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_play_all_button.png
similarity index 100%
rename from src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_time_ordered_playlist_button.png
rename to src/main/resources/youtube/overlaybuttons/thin/drawable-xhdpi/revanced_play_all_button.png
diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_time_ordered_playlist_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_play_all_button.png
similarity index 100%
rename from src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_time_ordered_playlist_button.png
rename to src/main/resources/youtube/overlaybuttons/thin/drawable-xxhdpi/revanced_play_all_button.png
diff --git a/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_time_ordered_playlist_button.png b/src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_play_all_button.png
similarity index 100%
rename from src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_time_ordered_playlist_button.png
rename to src/main/resources/youtube/overlaybuttons/thin/drawable-xxxhdpi/revanced_play_all_button.png
diff --git a/src/main/resources/youtube/settings/host/values/arrays.xml b/src/main/resources/youtube/settings/host/values/arrays.xml
index 2c26e39ff..9468b28a6 100644
--- a/src/main/resources/youtube/settings/host/values/arrays.xml
+++ b/src/main/resources/youtube/settings/host/values/arrays.xml
@@ -135,6 +135,34 @@
- https://github.com/deniscerri/ytdlnis/releases/latest
+
+ - @string/revanced_overlay_button_play_all_type_entry_1
+ - @string/revanced_overlay_button_play_all_type_entry_2
+ - @string/revanced_overlay_button_play_all_type_entry_3
+ - @string/revanced_overlay_button_play_all_type_entry_4
+ - @string/revanced_overlay_button_play_all_type_entry_5
+ - @string/revanced_overlay_button_play_all_type_entry_6
+ - @string/revanced_overlay_button_play_all_type_entry_7
+ - @string/revanced_overlay_button_play_all_type_entry_8
+ - @string/revanced_overlay_button_play_all_type_entry_9
+ - @string/revanced_overlay_button_play_all_type_entry_10
+ - @string/revanced_overlay_button_play_all_type_entry_11
+ - @string/revanced_overlay_button_play_all_type_entry_12
+
+
+ - ALL_CONTENTS_WITH_TIME_DESCENDING
+ - ALL_CONTENTS_WITH_POPULAR_DESCENDING
+ - VIDEOS_ONLY_WITH_TIME_DESCENDING
+ - VIDEOS_ONLY_WITH_POPULAR_DESCENDING
+ - SHORTS_ONLY_WITH_TIME_DESCENDING
+ - SHORTS_ONLY_WITH_POPULAR_DESCENDING
+ - LIVESTREAMS_ONLY_WITH_TIME_DESCENDING
+ - LIVESTREAMS_ONLY_WITH_POPULAR_DESCENDING
+ - ALL_MEMBERSHIPS_CONTENTS
+ - MEMBERSHIPS_VIDEOS_ONLY
+ - MEMBERSHIPS_SHORTS_ONLY
+ - MEMBERSHIPS_LIVESTREAMS_ONLY
+
- @string/revanced_miniplayer_type_entry_1
- @string/revanced_miniplayer_type_entry_2
diff --git a/src/main/resources/youtube/settings/host/values/strings.xml b/src/main/resources/youtube/settings/host/values/strings.xml
index 3163372d1..929110503 100644
--- a/src/main/resources/youtube/settings/host/values/strings.xml
+++ b/src/main/resources/youtube/settings/host/values/strings.xml
@@ -1031,9 +1031,26 @@ Tap and hold to reset playback speed to 1.0x. Tap and hold again to reset back t
"Tap to open whitelist dialog.
Tap and hold to open whitelist setting dialog.
- Show time-ordered playlist button
- "Tap to generate a playlist of all videos from channel from oldest to newest.
-Tap and hold to undo."
+ Show play all button
+ "Tap to generate a playlist of all videos from channel.
+Tap and hold to undo.
+
+Info:
+• May not work on livestreams."
+ Generate playlist mode
+ All contents (Sort by time)
+ All contents (Sort by popular)
+ Videos only (Sort by time)
+ Videos only (Sort by popular)
+ Shorts only (Sort by time)
+ Shorts only (Sort by popular)
+ Streamed videos only (Sort by time)
+ Streamed videos only (Sort by popular)
+ All Members only contents
+ Members only videos
+ Members only shorts
+ Members only livestreams
+ Unable to generate playlist due to channel id mismatch.
Channel whitelist
Check or remove the list of channels added to the whitelist.
diff --git a/src/main/resources/youtube/settings/xml/revanced_prefs.xml b/src/main/resources/youtube/settings/xml/revanced_prefs.xml
index c5e4ac964..8c7a1ca2d 100644
--- a/src/main/resources/youtube/settings/xml/revanced_prefs.xml
+++ b/src/main/resources/youtube/settings/xml/revanced_prefs.xml
@@ -427,11 +427,12 @@
-
-
-
+
+
+
+
SETTINGS: OVERLAY_BUTTONS -->