diff --git a/extensions/shared/src/main/java/app/revanced/extension/music/settings/Settings.java b/extensions/shared/src/main/java/app/revanced/extension/music/settings/Settings.java index 0bd1fd28b..633d5ddba 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/music/settings/Settings.java +++ b/extensions/shared/src/main/java/app/revanced/extension/music/settings/Settings.java @@ -52,8 +52,8 @@ public class Settings extends BaseSettings { // PreferenceScreen: Flyout menu - public static final BooleanSetting ENABLE_COMPACT_DIALOG = new BooleanSetting("revanced_enable_compact_dialog", TRUE); public static final BooleanSetting ENABLE_TRIM_SILENCE = new BooleanSetting("revanced_enable_trim_silence", FALSE, true); + public static final BooleanSetting ENABLE_COMPACT_DIALOG = new BooleanSetting("revanced_enable_compact_dialog", TRUE); public static final BooleanSetting HIDE_FLYOUT_MENU_LIKE_DISLIKE = new BooleanSetting("revanced_hide_flyout_menu_like_dislike", FALSE, true); public static final BooleanSetting HIDE_FLYOUT_MENU_3_COLUMN_COMPONENT = new BooleanSetting("revanced_hide_flyout_menu_3_column_component", FALSE, true); public static final BooleanSetting HIDE_FLYOUT_MENU_ADD_TO_QUEUE = new BooleanSetting("revanced_hide_flyout_menu_add_to_queue", FALSE, true); @@ -98,15 +98,15 @@ public class Settings extends BaseSettings { public static final StringSetting CUSTOM_FILTER_STRINGS = new StringSetting("revanced_custom_filter_strings", "", true); public static final BooleanSetting HIDE_BUTTON_SHELF = new BooleanSetting("revanced_hide_button_shelf", FALSE, true); public static final BooleanSetting HIDE_CAROUSEL_SHELF = new BooleanSetting("revanced_hide_carousel_shelf", FALSE, true); - public static final BooleanSetting HIDE_PLAYLIST_CARD_SHELF = new BooleanSetting("revanced_hide_playlist_card_shelf", FALSE, true); - public static final BooleanSetting HIDE_SAMPLE_SHELF = new BooleanSetting("revanced_hide_samples_shelf", FALSE, true); public static final BooleanSetting HIDE_CAST_BUTTON = new BooleanSetting("revanced_hide_cast_button", TRUE); public static final BooleanSetting HIDE_CATEGORY_BAR = new BooleanSetting("revanced_hide_category_bar", FALSE, true); public static final BooleanSetting HIDE_FLOATING_BUTTON = new BooleanSetting("revanced_hide_floating_button", FALSE, true); - public static final BooleanSetting HIDE_TAP_TO_UPDATE_BUTTON = new BooleanSetting("revanced_hide_tap_to_update_button", FALSE, true); public static final BooleanSetting HIDE_HISTORY_BUTTON = new BooleanSetting("revanced_hide_history_button", FALSE); public static final BooleanSetting HIDE_NOTIFICATION_BUTTON = new BooleanSetting("revanced_hide_notification_button", FALSE, true); + public static final BooleanSetting HIDE_PLAYLIST_CARD_SHELF = new BooleanSetting("revanced_hide_playlist_card_shelf", FALSE, true); + public static final BooleanSetting HIDE_SAMPLE_SHELF = new BooleanSetting("revanced_hide_samples_shelf", FALSE, true); public static final BooleanSetting HIDE_SOUND_SEARCH_BUTTON = new BooleanSetting("revanced_hide_sound_search_button", FALSE, true); + public static final BooleanSetting HIDE_TAP_TO_UPDATE_BUTTON = new BooleanSetting("revanced_hide_tap_to_update_button", FALSE, true); public static final BooleanSetting HIDE_VOICE_SEARCH_BUTTON = new BooleanSetting("revanced_hide_voice_search_button", FALSE, true); public static final BooleanSetting REMOVE_VIEWER_DISCRETION_DIALOG = new BooleanSetting("revanced_remove_viewer_discretion_dialog", FALSE); public static final BooleanSetting RESTORE_OLD_STYLE_LIBRARY_SHELF = new BooleanSetting("revanced_restore_old_style_library_shelf", FALSE, true); @@ -128,21 +128,21 @@ public class Settings extends BaseSettings { // PreferenceScreen: Player - public static final BooleanSetting DISABLE_MINI_PLAYER_GESTURE = new BooleanSetting("revanced_disable_mini_player_gesture", FALSE, true); - public static final BooleanSetting DISABLE_PLAYER_GESTURE = new BooleanSetting("revanced_disable_player_gesture", FALSE, true); - public static final BooleanSetting ENABLE_BLACK_PLAYER_BACKGROUND = new BooleanSetting("revanced_enable_black_player_background", FALSE, true); - public static final BooleanSetting ENABLE_COLOR_MATCH_PLAYER = new BooleanSetting("revanced_enable_color_match_player", TRUE); - public static final BooleanSetting ENABLE_FORCE_MINIMIZED_PLAYER = new BooleanSetting("revanced_enable_force_minimized_player", TRUE); public static final BooleanSetting ENABLE_MINI_PLAYER_NEXT_BUTTON = new BooleanSetting("revanced_enable_mini_player_next_button", TRUE, true); public static final BooleanSetting ENABLE_MINI_PLAYER_PREVIOUS_BUTTON = new BooleanSetting("revanced_enable_mini_player_previous_button", TRUE, true); + public static final BooleanSetting ENABLE_COLOR_MATCH_PLAYER = new BooleanSetting("revanced_enable_color_match_player", TRUE); + public static final BooleanSetting ENABLE_BLACK_PLAYER_BACKGROUND = new BooleanSetting("revanced_enable_black_player_background", FALSE, true); + public static final BooleanSetting DISABLE_MINI_PLAYER_GESTURE = new BooleanSetting("revanced_disable_mini_player_gesture", FALSE, true); + public static final BooleanSetting DISABLE_PLAYER_GESTURE = new BooleanSetting("revanced_disable_player_gesture", FALSE, true); + public static final BooleanSetting ENABLE_FORCE_MINIMIZED_PLAYER = new BooleanSetting("revanced_enable_force_minimized_player", TRUE); public static final BooleanSetting ENABLE_SWIPE_TO_DISMISS_MINI_PLAYER = new BooleanSetting("revanced_enable_swipe_to_dismiss_mini_player", TRUE, true); public static final BooleanSetting ENABLE_ZEN_MODE = new BooleanSetting("revanced_enable_zen_mode", FALSE); public static final BooleanSetting ENABLE_ZEN_MODE_PODCAST = new BooleanSetting("revanced_enable_zen_mode_podcast", FALSE); - public static final BooleanSetting HIDE_AUDIO_VIDEO_SWITCH_TOGGLE = new BooleanSetting("revanced_hide_audio_video_switch_toggle", FALSE, true); public static final BooleanSetting HIDE_COMMENT_CHANNEL_GUIDELINES = new BooleanSetting("revanced_hide_comment_channel_guidelines", TRUE); - public static final BooleanSetting HIDE_COMMENT_TIMESTAMP_AND_EMOJI_BUTTONS = new BooleanSetting("revanced_hide_comment_timestamp_and_emoji_buttons", FALSE); public static final BooleanSetting HIDE_DOUBLE_TAP_OVERLAY_FILTER = new BooleanSetting("revanced_hide_double_tap_overlay_filter", FALSE, true); + public static final BooleanSetting HIDE_COMMENT_TIMESTAMP_AND_EMOJI_BUTTONS = new BooleanSetting("revanced_hide_comment_timestamp_and_emoji_buttons", FALSE); public static final BooleanSetting HIDE_FULLSCREEN_SHARE_BUTTON = new BooleanSetting("revanced_hide_fullscreen_share_button", FALSE, true); + public static final BooleanSetting HIDE_AUDIO_VIDEO_SWITCH_TOGGLE = new BooleanSetting("revanced_hide_audio_video_switch_toggle", FALSE, true); public static final BooleanSetting REMEMBER_REPEAT_SATE = new BooleanSetting("revanced_remember_repeat_state", TRUE); public static final BooleanSetting REMEMBER_SHUFFLE_SATE = new BooleanSetting("revanced_remember_shuffle_state", TRUE); public static final BooleanSetting ALWAYS_SHUFFLE = new BooleanSetting("revanced_always_shuffle", FALSE); diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java b/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java index d4525cff6..baeb63f3c 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java +++ b/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java @@ -57,6 +57,17 @@ public final class CommentsFilter extends Filter { "sponsorships_comments_footer.eml" ); + final StringFilterGroup liveChatMessages = new StringFilterGroup( + Settings.HIDE_LIVE_CHAT_MESSAGES, + "live_chat_text_message", + "viewer_engagement_message" // message about poll, not poll itself + ); + + final StringFilterGroup liveChatSummary = new StringFilterGroup( + Settings.HIDE_LIVE_CHAT_SUMMARY, + "live_chat_summary_banner" + ); + final StringFilterGroup previewComment = new StringFilterGroup( Settings.HIDE_PREVIEW_COMMENT_OLD_METHOD, "|carousel_item.", @@ -88,6 +99,8 @@ public final class CommentsFilter extends Filter { commentsPreviewDots, createShorts, membersBanner, + liveChatMessages, + liveChatSummary, previewComment, previewCommentText, thanks, diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/PlayerComponentsFilter.java b/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/PlayerComponentsFilter.java index 8ece2b72a..627469cd9 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/PlayerComponentsFilter.java +++ b/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/PlayerComponentsFilter.java @@ -57,17 +57,6 @@ public final class PlayerComponentsFilter extends Filter { "single_item_information_panel" ); - final StringFilterGroup liveChatMessages = new StringFilterGroup( - Settings.HIDE_LIVE_CHAT_MESSAGES, - "live_chat_text_message", - "viewer_engagement_message" // message about poll, not poll itself - ); - - final StringFilterGroup liveChatSummary = new StringFilterGroup( - Settings.HIDE_LIVE_CHAT_SUMMARY, - "live_chat_summary_banner" - ); - final StringFilterGroup medicalPanel = new StringFilterGroup( Settings.HIDE_MEDICAL_PANEL, "emergency_onebox", @@ -96,8 +85,6 @@ public final class PlayerComponentsFilter extends Filter { channelWaterMark, infoCards, infoPanel, - liveChatMessages, - liveChatSummary, medicalPanel, seekMessage, suggestedActions, diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/Settings.java b/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/Settings.java index 043af0fee..e03074a1a 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/Settings.java +++ b/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/Settings.java @@ -51,8 +51,8 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_GENERAL_ADS = new BooleanSetting("revanced_hide_general_ads", TRUE); public static final BooleanSetting HIDE_GET_PREMIUM = new BooleanSetting("revanced_hide_get_premium", TRUE, true); public static final BooleanSetting HIDE_MERCHANDISE_SHELF = new BooleanSetting("revanced_hide_merchandise_shelf", TRUE); - public static final BooleanSetting HIDE_PLAYER_STORE_SHELF = new BooleanSetting("revanced_hide_player_store_shelf", TRUE); public static final BooleanSetting HIDE_PAID_PROMOTION_LABEL = new BooleanSetting("revanced_hide_paid_promotion_label", TRUE); + public static final BooleanSetting HIDE_PLAYER_STORE_SHELF = new BooleanSetting("revanced_hide_player_store_shelf", TRUE); public static final BooleanSetting HIDE_SELF_SPONSOR_CARDS = new BooleanSetting("revanced_hide_self_sponsor_cards", TRUE); public static final BooleanSetting HIDE_VIDEO_ADS = new BooleanSetting("revanced_hide_video_ads", TRUE, true); public static final BooleanSetting HIDE_VIEW_PRODUCTS = new BooleanSetting("revanced_hide_view_products", TRUE); @@ -61,10 +61,10 @@ public class Settings extends BaseSettings { // PreferenceScreen: Alternative Thumbnails public static final EnumSetting ALT_THUMBNAIL_HOME = new EnumSetting<>("revanced_alt_thumbnail_home", ThumbnailOption.ORIGINAL); - public static final EnumSetting ALT_THUMBNAIL_SUBSCRIPTIONS = new EnumSetting<>("revanced_alt_thumbnail_subscriptions", ThumbnailOption.ORIGINAL); - public static final EnumSetting ALT_THUMBNAIL_LIBRARY = new EnumSetting<>("revanced_alt_thumbnail_library", ThumbnailOption.ORIGINAL); public static final EnumSetting ALT_THUMBNAIL_PLAYER = new EnumSetting<>("revanced_alt_thumbnail_player", ThumbnailOption.ORIGINAL); public static final EnumSetting ALT_THUMBNAIL_SEARCH = new EnumSetting<>("revanced_alt_thumbnail_search", ThumbnailOption.ORIGINAL); + public static final EnumSetting ALT_THUMBNAIL_SUBSCRIPTIONS = new EnumSetting<>("revanced_alt_thumbnail_subscriptions", ThumbnailOption.ORIGINAL); + public static final EnumSetting ALT_THUMBNAIL_LIBRARY = new EnumSetting<>("revanced_alt_thumbnail_library", ThumbnailOption.ORIGINAL); public static final StringSetting ALT_THUMBNAIL_DEARROW_API_URL = new StringSetting("revanced_alt_thumbnail_dearrow_api_url", "https://dearrow-thumb.ajay.app/api/v1/getThumbnail", true, new DeArrowAvailability()); public static final BooleanSetting ALT_THUMBNAIL_DEARROW_CONNECTION_TOAST = new BooleanSetting("revanced_alt_thumbnail_dearrow_connection_toast", FALSE, new DeArrowAvailability()); @@ -74,13 +74,11 @@ public class Settings extends BaseSettings { // PreferenceScreen: Feed public static final BooleanSetting HIDE_ALBUM_CARDS = new BooleanSetting("revanced_hide_album_card", TRUE); + public static final BooleanSetting HIDE_FEED_CAPTIONS_BUTTON = new BooleanSetting("revanced_hide_feed_captions_button", FALSE, true); public static final BooleanSetting HIDE_CAROUSEL_SHELF = new BooleanSetting("revanced_hide_carousel_shelf", FALSE, true); public static final BooleanSetting HIDE_CHIPS_SHELF = new BooleanSetting("revanced_hide_chips_shelf", TRUE); public static final BooleanSetting HIDE_EXPANDABLE_CHIP = new BooleanSetting("revanced_hide_expandable_chip", TRUE); public static final BooleanSetting HIDE_EXPANDABLE_SHELF = new BooleanSetting("revanced_hide_expandable_shelf", TRUE); - public static final BooleanSetting HIDE_FEED_CAPTIONS_BUTTON = new BooleanSetting("revanced_hide_feed_captions_button", FALSE, true); - public static final BooleanSetting HIDE_FEED_SEARCH_BAR = new BooleanSetting("revanced_hide_feed_search_bar", FALSE); - public static final BooleanSetting HIDE_FEED_SURVEY = new BooleanSetting("revanced_hide_feed_survey", TRUE); public static final BooleanSetting HIDE_FLOATING_BUTTON = new BooleanSetting("revanced_hide_floating_button", FALSE, true); public static final BooleanSetting HIDE_IMAGE_SHELF = new BooleanSetting("revanced_hide_image_shelf", TRUE); public static final BooleanSetting HIDE_LATEST_POSTS = new BooleanSetting("revanced_hide_latest_posts", TRUE); @@ -90,6 +88,8 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_NOTIFY_ME_BUTTON = new BooleanSetting("revanced_hide_notify_me_button", FALSE); public static final BooleanSetting HIDE_PLAYABLES = new BooleanSetting("revanced_hide_playables", TRUE); public static final BooleanSetting HIDE_SHOW_MORE_BUTTON = new BooleanSetting("revanced_hide_show_more_button", TRUE, true); + public static final BooleanSetting HIDE_FEED_SEARCH_BAR = new BooleanSetting("revanced_hide_feed_search_bar", FALSE); + public static final BooleanSetting HIDE_FEED_SURVEY = new BooleanSetting("revanced_hide_feed_survey", TRUE); public static final BooleanSetting HIDE_SUBSCRIPTIONS_CAROUSEL = new BooleanSetting("revanced_hide_subscriptions_carousel", FALSE, true); public static final BooleanSetting HIDE_TICKET_SHELF = new BooleanSetting("revanced_hide_ticket_shelf", TRUE); @@ -102,10 +102,10 @@ public class Settings extends BaseSettings { // PreferenceScreen: Feed - Channel profile public static final BooleanSetting HIDE_CHANNEL_TAB = new BooleanSetting("revanced_hide_channel_tab", FALSE); public static final StringSetting HIDE_CHANNEL_TAB_FILTER_STRINGS = new StringSetting("revanced_hide_channel_tab_filter_strings", "", true, parent(HIDE_CHANNEL_TAB)); - public static final BooleanSetting HIDE_BROWSE_STORE_BUTTON = new BooleanSetting("revanced_hide_browse_store_button", TRUE); public static final BooleanSetting HIDE_CHANNEL_MEMBER_SHELF = new BooleanSetting("revanced_hide_channel_member_shelf", TRUE); public static final BooleanSetting HIDE_CHANNEL_PROFILE_LINKS = new BooleanSetting("revanced_hide_channel_profile_links", TRUE); public static final BooleanSetting HIDE_FOR_YOU_SHELF = new BooleanSetting("revanced_hide_for_you_shelf", TRUE); + public static final BooleanSetting HIDE_BROWSE_STORE_BUTTON = new BooleanSetting("revanced_hide_browse_store_button", TRUE); // PreferenceScreen: Feed - Community posts public static final BooleanSetting HIDE_COMMUNITY_POSTS_CHANNEL = new BooleanSetting("revanced_hide_community_posts_channel", FALSE); @@ -117,15 +117,15 @@ public class Settings extends BaseSettings { public static final StringSetting HIDE_FEED_FLYOUT_MENU_FILTER_STRINGS = new StringSetting("revanced_hide_feed_flyout_menu_filter_strings", "", true, parent(HIDE_FEED_FLYOUT_MENU)); // PreferenceScreen: Feed - Video filter + public static final BooleanSetting HIDE_KEYWORD_CONTENT_COMMENTS = new BooleanSetting("revanced_hide_keyword_content_comments", FALSE); public static final BooleanSetting HIDE_KEYWORD_CONTENT_HOME = new BooleanSetting("revanced_hide_keyword_content_home", FALSE); public static final BooleanSetting HIDE_KEYWORD_CONTENT_SEARCH = new BooleanSetting("revanced_hide_keyword_content_search", FALSE); public static final BooleanSetting HIDE_KEYWORD_CONTENT_SUBSCRIPTIONS = new BooleanSetting("revanced_hide_keyword_content_subscriptions", FALSE); - public static final BooleanSetting HIDE_KEYWORD_CONTENT_COMMENTS = new BooleanSetting("revanced_hide_keyword_content_comments", FALSE); public static final StringSetting HIDE_KEYWORD_CONTENT_PHRASES = new StringSetting("revanced_hide_keyword_content_phrases", "", parentsAny(HIDE_KEYWORD_CONTENT_HOME, HIDE_KEYWORD_CONTENT_SEARCH, HIDE_KEYWORD_CONTENT_SUBSCRIPTIONS, HIDE_KEYWORD_CONTENT_COMMENTS)); - public static final BooleanSetting HIDE_RECOMMENDED_VIDEO = new BooleanSetting("revanced_hide_recommended_video", FALSE); public static final BooleanSetting HIDE_LOW_VIEWS_VIDEO = new BooleanSetting("revanced_hide_low_views_video", TRUE); + public static final BooleanSetting HIDE_RECOMMENDED_VIDEO = new BooleanSetting("revanced_hide_recommended_video", FALSE); public static final BooleanSetting HIDE_VIDEO_BY_VIEW_COUNTS_HOME = new BooleanSetting("revanced_hide_video_by_view_counts_home", FALSE); public static final BooleanSetting HIDE_VIDEO_BY_VIEW_COUNTS_SEARCH = new BooleanSetting("revanced_hide_video_by_view_counts_search", FALSE); @@ -195,10 +195,10 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_NAVIGATION_BAR = new BooleanSetting("revanced_hide_navigation_bar", FALSE, true); // PreferenceScreen: General - Override buttons - public static final BooleanSetting OVERRIDE_VIDEO_DOWNLOAD_BUTTON = new BooleanSetting("revanced_override_video_download_button", FALSE); public static final BooleanSetting OVERRIDE_PLAYLIST_DOWNLOAD_BUTTON = new BooleanSetting("revanced_override_playlist_download_button", FALSE); - public static final StringSetting EXTERNAL_DOWNLOADER_PACKAGE_NAME_VIDEO = new StringSetting("revanced_external_downloader_package_name_video", "com.deniscerri.ytdl"); + public static final BooleanSetting OVERRIDE_VIDEO_DOWNLOAD_BUTTON = new BooleanSetting("revanced_override_video_download_button", FALSE); public static final StringSetting EXTERNAL_DOWNLOADER_PACKAGE_NAME_PLAYLIST = new StringSetting("revanced_external_downloader_package_name_playlist", "com.deniscerri.ytdl"); + public static final StringSetting EXTERNAL_DOWNLOADER_PACKAGE_NAME_VIDEO = new StringSetting("revanced_external_downloader_package_name_video", "com.deniscerri.ytdl"); public static final BooleanSetting OVERRIDE_YOUTUBE_MUSIC_BUTTON = new BooleanSetting("revanced_override_youtube_music_button", FALSE, true , new YouTubeMusicActionsPatch.HookYouTubeMusicAvailability()); public static final StringSetting THIRD_PARTY_YOUTUBE_MUSIC_PACKAGE_NAME = new StringSetting("revanced_third_party_youtube_music_package_name", PatchStatus.RVXMusicPackageName(), true @@ -249,8 +249,8 @@ public class Settings extends BaseSettings { // PreferenceScreen: Player public static final IntegerSetting CUSTOM_PLAYER_OVERLAY_OPACITY = new IntegerSetting("revanced_custom_player_overlay_opacity", 100, true); - public static final BooleanSetting DISABLE_AUTO_PLAYER_POPUP_PANELS = new BooleanSetting("revanced_disable_auto_player_popup_panels", TRUE, true); public static final BooleanSetting DISABLE_AUTO_SWITCH_MIX_PLAYLISTS = new BooleanSetting("revanced_disable_auto_switch_mix_playlists", FALSE, true, "revanced_disable_auto_switch_mix_playlists_user_dialog_message"); + public static final BooleanSetting DISABLE_AUTO_PLAYER_POPUP_PANELS = new BooleanSetting("revanced_disable_auto_player_popup_panels", TRUE, true); public static final BooleanSetting DISABLE_SPEED_OVERLAY = new BooleanSetting("revanced_disable_speed_overlay", FALSE, true); public static final FloatSetting SPEED_OVERLAY_VALUE = new FloatSetting("revanced_speed_overlay_value", 2.0f, true); public static final BooleanSetting HIDE_CHANNEL_WATERMARK = new BooleanSetting("revanced_hide_channel_watermark", TRUE); @@ -260,15 +260,13 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_FILMSTRIP_OVERLAY = new BooleanSetting("revanced_hide_filmstrip_overlay", FALSE, true); public static final BooleanSetting HIDE_INFO_CARDS = new BooleanSetting("revanced_hide_info_cards", FALSE, true); public static final BooleanSetting HIDE_INFO_PANEL = new BooleanSetting("revanced_hide_info_panel", TRUE); - public static final BooleanSetting HIDE_LIVE_CHAT_SUMMARY = new BooleanSetting("revanced_hide_live_chat_summary", FALSE); - public static final BooleanSetting HIDE_LIVE_CHAT_MESSAGES = new BooleanSetting("revanced_hide_live_chat_messages", FALSE); public static final BooleanSetting HIDE_MEDICAL_PANEL = new BooleanSetting("revanced_hide_medical_panel", TRUE); public static final BooleanSetting HIDE_SEEK_MESSAGE = new BooleanSetting("revanced_hide_seek_message", FALSE, true); public static final BooleanSetting HIDE_SEEK_UNDO_MESSAGE = new BooleanSetting("revanced_hide_seek_undo_message", FALSE, true); public static final BooleanSetting HIDE_SUGGESTED_ACTION = new BooleanSetting("revanced_hide_suggested_actions", TRUE, true); - public static final BooleanSetting HIDE_TIMED_REACTIONS = new BooleanSetting("revanced_hide_timed_reactions", TRUE); public static final BooleanSetting HIDE_SUGGESTED_VIDEO_END_SCREEN = new BooleanSetting("revanced_hide_suggested_video_end_screen", TRUE, true); public static final BooleanSetting SKIP_AUTOPLAY_COUNTDOWN = new BooleanSetting("revanced_skip_autoplay_countdown", FALSE, true, parent(HIDE_SUGGESTED_VIDEO_END_SCREEN)); + public static final BooleanSetting HIDE_TIMED_REACTIONS = new BooleanSetting("revanced_hide_timed_reactions", TRUE); public static final BooleanSetting HIDE_ZOOM_OVERLAY = new BooleanSetting("revanced_hide_zoom_overlay", FALSE, true); public static final BooleanSetting SANITIZE_VIDEO_SUBTITLE = new BooleanSetting("revanced_sanitize_video_subtitle", FALSE); @@ -298,16 +296,18 @@ public class Settings extends BaseSettings { // PreferenceScreen: Player - Comments public static final BooleanSetting HIDE_CHANNEL_GUIDELINES = new BooleanSetting("revanced_hide_channel_guidelines", TRUE); public static final BooleanSetting HIDE_COMMENTS_BY_MEMBERS = new BooleanSetting("revanced_hide_comments_by_members", FALSE); - public static final BooleanSetting HIDE_COMMENT_HIGHLIGHTED_SEARCH_LINKS = new BooleanSetting("revanced_hide_comment_highlighted_search_links", FALSE, true); public static final BooleanSetting HIDE_COMMENTS_SECTION = new BooleanSetting("revanced_hide_comments_section", FALSE); public static final BooleanSetting HIDE_COMMENTS_SECTION_IN_HOME_FEED = new BooleanSetting("revanced_hide_comments_section_in_home_feed", FALSE); + public static final BooleanSetting HIDE_COMMENT_CREATE_SHORTS_BUTTON = new BooleanSetting("revanced_hide_comment_create_shorts_button", FALSE); + public static final BooleanSetting HIDE_COMMENT_TIMESTAMP_AND_EMOJI_BUTTONS = new BooleanSetting("revanced_hide_comment_timestamp_and_emoji_buttons", FALSE); + public static final BooleanSetting HIDE_COMMENT_HIGHLIGHTED_SEARCH_LINKS = new BooleanSetting("revanced_hide_comment_highlighted_search_links", FALSE, true); + public static final BooleanSetting HIDE_LIVE_CHAT_SUMMARY = new BooleanSetting("revanced_hide_live_chat_summary", FALSE); + public static final BooleanSetting HIDE_LIVE_CHAT_MESSAGES = new BooleanSetting("revanced_hide_live_chat_messages", FALSE); public static final BooleanSetting HIDE_PREVIEW_COMMENT = new BooleanSetting("revanced_hide_preview_comment", FALSE); public static final BooleanSetting HIDE_PREVIEW_COMMENT_TYPE = new BooleanSetting("revanced_hide_preview_comment_type", FALSE); public static final BooleanSetting HIDE_PREVIEW_COMMENT_OLD_METHOD = new BooleanSetting("revanced_hide_preview_comment_old_method", FALSE); public static final BooleanSetting HIDE_PREVIEW_COMMENT_NEW_METHOD = new BooleanSetting("revanced_hide_preview_comment_new_method", FALSE); - public static final BooleanSetting HIDE_COMMENT_CREATE_SHORTS_BUTTON = new BooleanSetting("revanced_hide_comment_create_shorts_button", FALSE); public static final BooleanSetting HIDE_COMMENT_THANKS_BUTTON = new BooleanSetting("revanced_hide_comment_thanks_button", FALSE, true); - public static final BooleanSetting HIDE_COMMENT_TIMESTAMP_AND_EMOJI_BUTTONS = new BooleanSetting("revanced_hide_comment_timestamp_and_emoji_buttons", FALSE); // PreferenceScreen: Player - Flyout menu public static final BooleanSetting CHANGE_PLAYER_FLYOUT_MENU_TOGGLE = new BooleanSetting("revanced_change_player_flyout_menu_toggle", FALSE, true); @@ -392,13 +392,13 @@ public class Settings extends BaseSettings { public static final BooleanSetting APPEND_TIME_STAMP_INFORMATION = new BooleanSetting("revanced_append_time_stamp_information", TRUE, true); public static final BooleanSetting APPEND_TIME_STAMP_INFORMATION_TYPE = new BooleanSetting("revanced_append_time_stamp_information_type", TRUE, parent(APPEND_TIME_STAMP_INFORMATION)); public static final BooleanSetting REPLACE_TIME_STAMP_ACTION = new BooleanSetting("revanced_replace_time_stamp_action", TRUE, true, parent(APPEND_TIME_STAMP_INFORMATION)); + public static final BooleanSetting DISABLE_SEEKBAR_CHAPTERS = new BooleanSetting("revanced_disable_seekbar_chapters", FALSE, true); public static final BooleanSetting ENABLE_CUSTOM_SEEKBAR_COLOR = new BooleanSetting("revanced_enable_custom_seekbar_color", FALSE, true); public static final StringSetting ENABLE_CUSTOM_SEEKBAR_COLOR_VALUE = new StringSetting("revanced_custom_seekbar_color_value", "#FF0033", true, parent(ENABLE_CUSTOM_SEEKBAR_COLOR)); public static final BooleanSetting ENABLE_SEEKBAR_TAPPING = new BooleanSetting("revanced_enable_seekbar_tapping", TRUE); + public static final BooleanSetting HIDE_SEEKBAR_CHAPTER_LABEL = new BooleanSetting("revanced_hide_seekbar_chapter_label", FALSE, true); public static final BooleanSetting HIDE_SEEKBAR = new BooleanSetting("revanced_hide_seekbar", FALSE, true); public static final BooleanSetting HIDE_SEEKBAR_THUMBNAIL = new BooleanSetting("revanced_hide_seekbar_thumbnail", FALSE); - public static final BooleanSetting DISABLE_SEEKBAR_CHAPTERS = new BooleanSetting("revanced_disable_seekbar_chapters", FALSE, true); - public static final BooleanSetting HIDE_SEEKBAR_CHAPTER_LABEL = new BooleanSetting("revanced_hide_seekbar_chapter_label", FALSE, true); public static final BooleanSetting HIDE_TIME_STAMP = new BooleanSetting("revanced_hide_time_stamp", FALSE, true); public static final BooleanSetting RESTORE_OLD_SEEKBAR_THUMBNAILS = new BooleanSetting("revanced_restore_old_seekbar_thumbnails", PatchStatus.OldSeekbarThumbnailsDefaultBoolean(), true); @@ -410,9 +410,9 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_ATTRIBUTES_SECTION = new BooleanSetting("revanced_hide_attributes_section", FALSE); public static final BooleanSetting HIDE_CHAPTERS_SECTION = new BooleanSetting("revanced_hide_chapters_section", FALSE); public static final BooleanSetting HIDE_CONTENTS_SECTION = new BooleanSetting("revanced_hide_contents_section", FALSE); + public static final BooleanSetting HIDE_PODCAST_SECTION = new BooleanSetting("revanced_hide_podcast_section", FALSE); public static final BooleanSetting HIDE_INFO_CARDS_SECTION = new BooleanSetting("revanced_hide_info_cards_section", FALSE); public static final BooleanSetting HIDE_KEY_CONCEPTS_SECTION = new BooleanSetting("revanced_hide_key_concepts_section", FALSE); - public static final BooleanSetting HIDE_PODCAST_SECTION = new BooleanSetting("revanced_hide_podcast_section", FALSE); public static final BooleanSetting HIDE_SHOPPING_LINKS = new BooleanSetting("revanced_hide_shopping_links", TRUE); public static final BooleanSetting HIDE_TRANSCRIPT_SECTION = new BooleanSetting("revanced_hide_transcript_section", FALSE); public static final BooleanSetting DISABLE_VIDEO_DESCRIPTION_INTERACTION = new BooleanSetting("revanced_disable_video_description_interaction", FALSE, true); @@ -427,38 +427,38 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_SHORTS_SHELF = new BooleanSetting("revanced_hide_shorts_shelf", TRUE, true); public static final BooleanSetting HIDE_SHORTS_SHELF_CHANNEL = new BooleanSetting("revanced_hide_shorts_shelf_channel", FALSE); public static final BooleanSetting HIDE_SHORTS_SHELF_HOME_RELATED_VIDEOS = new BooleanSetting("revanced_hide_shorts_shelf_home_related_videos", TRUE); - public static final BooleanSetting HIDE_SHORTS_SHELF_SUBSCRIPTIONS = new BooleanSetting("revanced_hide_shorts_shelf_subscriptions", TRUE); public static final BooleanSetting HIDE_SHORTS_SHELF_SEARCH = new BooleanSetting("revanced_hide_shorts_shelf_search", TRUE); + public static final BooleanSetting HIDE_SHORTS_SHELF_SUBSCRIPTIONS = new BooleanSetting("revanced_hide_shorts_shelf_subscriptions", TRUE); public static final BooleanSetting HIDE_SHORTS_SHELF_HISTORY = new BooleanSetting("revanced_hide_shorts_shelf_history", TRUE); - public static final EnumSetting CHANGE_SHORTS_REPEAT_STATE = new EnumSetting<>("revanced_change_shorts_repeat_state", ShortsLoopBehavior.UNKNOWN); public static final EnumSetting CHANGE_SHORTS_BACKGROUND_REPEAT_STATE = new EnumSetting<>("revanced_change_shorts_background_repeat_state", ShortsLoopBehavior.UNKNOWN); + public static final EnumSetting CHANGE_SHORTS_REPEAT_STATE = new EnumSetting<>("revanced_change_shorts_repeat_state", ShortsLoopBehavior.UNKNOWN); // PreferenceScreen: Shorts - Shorts player components + public static final BooleanSetting HIDE_SHORTS_CHANNEL_BAR = new BooleanSetting("revanced_hide_shorts_channel_bar", FALSE); + public static final BooleanSetting HIDE_SHORTS_FULL_VIDEO_LINK_LABEL = new BooleanSetting("revanced_hide_shorts_full_video_link_label", TRUE); + public static final BooleanSetting HIDE_SHORTS_INFO_PANEL = new BooleanSetting("revanced_hide_shorts_info_panel", TRUE); public static final BooleanSetting HIDE_SHORTS_JOIN_BUTTON = new BooleanSetting("revanced_hide_shorts_join_button", TRUE); - public static final BooleanSetting HIDE_SHORTS_SUBSCRIBE_BUTTON = new BooleanSetting("revanced_hide_shorts_subscribe_button", TRUE); + public static final BooleanSetting HIDE_SHORTS_LIVE_HEADER = new BooleanSetting("revanced_hide_shorts_live_header", FALSE); + public static final BooleanSetting HIDE_SHORTS_PAID_PROMOTION_LABEL = new BooleanSetting("revanced_hide_shorts_paid_promotion_label", TRUE, true); public static final BooleanSetting HIDE_SHORTS_PAUSED_HEADER = new BooleanSetting("revanced_hide_shorts_paused_header", FALSE, true); public static final BooleanSetting HIDE_SHORTS_PAUSED_OVERLAY_BUTTONS = new BooleanSetting("revanced_hide_shorts_paused_overlay_buttons", FALSE); - public static final BooleanSetting HIDE_SHORTS_TRENDS_BUTTON = new BooleanSetting("revanced_hide_shorts_trends_button", TRUE); public static final BooleanSetting HIDE_SHORTS_SHOPPING_BUTTON = new BooleanSetting("revanced_hide_shorts_shopping_button", TRUE); - public static final BooleanSetting HIDE_SHORTS_STICKERS = new BooleanSetting("revanced_hide_shorts_stickers", TRUE); - public static final BooleanSetting HIDE_SHORTS_PAID_PROMOTION_LABEL = new BooleanSetting("revanced_hide_shorts_paid_promotion_label", TRUE, true); - public static final BooleanSetting HIDE_SHORTS_INFO_PANEL = new BooleanSetting("revanced_hide_shorts_info_panel", TRUE); - public static final BooleanSetting HIDE_SHORTS_LIVE_HEADER = new BooleanSetting("revanced_hide_shorts_live_header", FALSE); - public static final BooleanSetting HIDE_SHORTS_CHANNEL_BAR = new BooleanSetting("revanced_hide_shorts_channel_bar", FALSE); - public static final BooleanSetting HIDE_SHORTS_VIDEO_TITLE = new BooleanSetting("revanced_hide_shorts_video_title", FALSE); public static final BooleanSetting HIDE_SHORTS_SOUND_METADATA_LABEL = new BooleanSetting("revanced_hide_shorts_sound_metadata_label", TRUE); - public static final BooleanSetting HIDE_SHORTS_FULL_VIDEO_LINK_LABEL = new BooleanSetting("revanced_hide_shorts_full_video_link_label", TRUE); + public static final BooleanSetting HIDE_SHORTS_STICKERS = new BooleanSetting("revanced_hide_shorts_stickers", TRUE); + public static final BooleanSetting HIDE_SHORTS_SUBSCRIBE_BUTTON = new BooleanSetting("revanced_hide_shorts_subscribe_button", TRUE); + public static final BooleanSetting HIDE_SHORTS_TRENDS_BUTTON = new BooleanSetting("revanced_hide_shorts_trends_button", TRUE); + public static final BooleanSetting HIDE_SHORTS_VIDEO_TITLE = new BooleanSetting("revanced_hide_shorts_video_title", FALSE); // PreferenceScreen: Shorts - Shorts player components - Suggested actions public static final BooleanSetting HIDE_SHORTS_GREEN_SCREEN_BUTTON = new BooleanSetting("revanced_hide_shorts_green_screen_button", TRUE); + public static final BooleanSetting HIDE_SHORTS_LOCATION_BUTTON = new BooleanSetting("revanced_hide_shorts_location_button", TRUE); public static final BooleanSetting HIDE_SHORTS_SAVE_MUSIC_BUTTON = new BooleanSetting("revanced_hide_shorts_save_music_button", TRUE); + public static final BooleanSetting HIDE_SHORTS_SEARCH_SUGGESTIONS_BUTTON = new BooleanSetting("revanced_hide_shorts_search_suggestions_button", TRUE); public static final BooleanSetting HIDE_SHORTS_SHOP_BUTTON = new BooleanSetting("revanced_hide_shorts_shop_button", TRUE); public static final BooleanSetting HIDE_SHORTS_SUPER_THANKS_BUTTON = new BooleanSetting("revanced_hide_shorts_super_thanks_button", TRUE); - public static final BooleanSetting HIDE_SHORTS_USE_THIS_SOUND_BUTTON = new BooleanSetting("revanced_hide_shorts_use_this_sound_button", TRUE); - public static final BooleanSetting HIDE_SHORTS_USE_TEMPLATE_BUTTON = new BooleanSetting("revanced_hide_shorts_use_template_button", TRUE); - public static final BooleanSetting HIDE_SHORTS_LOCATION_BUTTON = new BooleanSetting("revanced_hide_shorts_location_button", TRUE); - public static final BooleanSetting HIDE_SHORTS_SEARCH_SUGGESTIONS_BUTTON = new BooleanSetting("revanced_hide_shorts_search_suggestions_button", TRUE); public static final BooleanSetting HIDE_SHORTS_TAGGED_PRODUCTS = new BooleanSetting("revanced_hide_shorts_tagged_products", TRUE); + public static final BooleanSetting HIDE_SHORTS_USE_TEMPLATE_BUTTON = new BooleanSetting("revanced_hide_shorts_use_template_button", TRUE); + public static final BooleanSetting HIDE_SHORTS_USE_THIS_SOUND_BUTTON = new BooleanSetting("revanced_hide_shorts_use_this_sound_button", TRUE); // PreferenceScreen: Shorts - Shorts player components - Action buttons public static final BooleanSetting HIDE_SHORTS_LIKE_BUTTON = new BooleanSetting("revanced_hide_shorts_like_button", FALSE); @@ -470,12 +470,12 @@ public class Settings extends BaseSettings { // PreferenceScreen: Shorts - Shorts player components - Animation / Feedback public static final BooleanSetting DISABLE_SHORTS_LIKE_BUTTON_FOUNTAIN_ANIMATION = new BooleanSetting("revanced_disable_shorts_like_button_fountain_animation", FALSE); - public static final BooleanSetting HIDE_SHORTS_PLAY_PAUSE_BUTTON_BACKGROUND = new BooleanSetting("revanced_hide_shorts_play_pause_button_background", FALSE, true); public static final EnumSetting ANIMATION_TYPE = new EnumSetting<>("revanced_shorts_double_tap_to_like_animation", AnimationType.ORIGINAL, true); + public static final BooleanSetting HIDE_SHORTS_PLAY_PAUSE_BUTTON_BACKGROUND = new BooleanSetting("revanced_hide_shorts_play_pause_button_background", FALSE, true); // PreferenceScreen: Shorts - Shorts player components - Custom actions - public static final BooleanSetting SHORTS_CUSTOM_ACTIONS_COPY_VIDEO_URL = new BooleanSetting("revanced_shorts_custom_actions_copy_video_url", FALSE, true); public static final BooleanSetting SHORTS_CUSTOM_ACTIONS_COPY_VIDEO_URL_TIMESTAMP = new BooleanSetting("revanced_shorts_custom_actions_copy_video_url_timestamp", FALSE, true); + public static final BooleanSetting SHORTS_CUSTOM_ACTIONS_COPY_VIDEO_URL = new BooleanSetting("revanced_shorts_custom_actions_copy_video_url", FALSE, true); public static final BooleanSetting SHORTS_CUSTOM_ACTIONS_EXTERNAL_DOWNLOADER = new BooleanSetting("revanced_shorts_custom_actions_external_downloader", FALSE, true); public static final BooleanSetting SHORTS_CUSTOM_ACTIONS_OPEN_VIDEO = new BooleanSetting("revanced_shorts_custom_actions_open_video", FALSE, true); public static final BooleanSetting SHORTS_CUSTOM_ACTIONS_REPEAT_STATE = new BooleanSetting("revanced_shorts_custom_actions_repeat_state", FALSE, true); @@ -489,9 +489,9 @@ public class Settings extends BaseSettings { public static final BooleanSetting ENABLE_TIME_STAMP = new BooleanSetting("revanced_enable_shorts_time_stamp", FALSE, true); public static final BooleanSetting TIME_STAMP_CHANGE_REPEAT_STATE = new BooleanSetting("revanced_shorts_time_stamp_change_repeat_state", TRUE, true, parent(ENABLE_TIME_STAMP)); public static final IntegerSetting META_PANEL_BOTTOM_MARGIN = new IntegerSetting("revanced_shorts_meta_panel_bottom_margin", 32, true, parent(ENABLE_TIME_STAMP)); - public static final BooleanSetting HIDE_SHORTS_TOOLBAR = new BooleanSetting("revanced_hide_shorts_toolbar", FALSE, true); public static final BooleanSetting HIDE_SHORTS_NAVIGATION_BAR = new BooleanSetting("revanced_hide_shorts_navigation_bar", FALSE, true); public static final IntegerSetting SHORTS_NAVIGATION_BAR_HEIGHT_PERCENTAGE = new IntegerSetting("revanced_shorts_navigation_bar_height_percentage", 45, true, parent(HIDE_SHORTS_NAVIGATION_BAR)); + public static final BooleanSetting HIDE_SHORTS_TOOLBAR = new BooleanSetting("revanced_hide_shorts_toolbar", FALSE, true); public static final BooleanSetting REPLACE_CHANNEL_HANDLE = new BooleanSetting("revanced_replace_channel_handle", FALSE, true); public static final BooleanSetting RESTORE_SHORTS_OLD_PLAYER_LAYOUT = new BooleanSetting("revanced_restore_shorts_old_player_layout", FALSE, true); diff --git a/patches/src/main/kotlin/app/revanced/patches/music/flyoutmenu/components/FlyoutMenuComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/flyoutmenu/components/FlyoutMenuComponentsPatch.kt index 45353616e..17b3cae4c 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/flyoutmenu/components/FlyoutMenuComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/flyoutmenu/components/FlyoutMenuComponentsPatch.kt @@ -241,11 +241,6 @@ val flyoutMenuComponentsPatch = bytecodePatch( // endregion - addSwitchPreference( - CategoryType.FLYOUT, - "revanced_enable_compact_dialog", - "true" - ) if (trimSilenceIncluded) { addSwitchPreference( CategoryType.FLYOUT, @@ -253,6 +248,11 @@ val flyoutMenuComponentsPatch = bytecodePatch( "false" ) } + addSwitchPreference( + CategoryType.FLYOUT, + "revanced_enable_compact_dialog", + "true" + ) addSwitchPreference( CategoryType.FLYOUT, "revanced_hide_flyout_menu_like_dislike", diff --git a/patches/src/main/kotlin/app/revanced/patches/music/general/autocaptions/AutoCaptionsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/general/autocaptions/AutoCaptionsPatch.kt index b79c38e23..b7f21bf84 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/general/autocaptions/AutoCaptionsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/general/autocaptions/AutoCaptionsPatch.kt @@ -2,7 +2,7 @@ package app.revanced.patches.music.general.autocaptions import app.revanced.patcher.patch.bytecodePatch import app.revanced.patches.music.utils.compatibility.Constants.COMPATIBLE_PACKAGE -import app.revanced.patches.music.utils.patch.PatchList.DISABLE_AUTO_CAPTIONS +import app.revanced.patches.music.utils.patch.PatchList.DISABLE_FORCED_AUTO_CAPTIONS import app.revanced.patches.music.utils.settings.CategoryType import app.revanced.patches.music.utils.settings.ResourceUtils.updatePatchStatus import app.revanced.patches.music.utils.settings.addSwitchPreference @@ -11,8 +11,8 @@ import app.revanced.patches.shared.captions.baseAutoCaptionsPatch @Suppress("unused") val autoCaptionsPatch = bytecodePatch( - DISABLE_AUTO_CAPTIONS.title, - DISABLE_AUTO_CAPTIONS.summary, + DISABLE_FORCED_AUTO_CAPTIONS.title, + DISABLE_FORCED_AUTO_CAPTIONS.summary, ) { compatibleWith(COMPATIBLE_PACKAGE) @@ -28,7 +28,7 @@ val autoCaptionsPatch = bytecodePatch( "false" ) - updatePatchStatus(DISABLE_AUTO_CAPTIONS) + updatePatchStatus(DISABLE_FORCED_AUTO_CAPTIONS) } } \ No newline at end of file diff --git a/patches/src/main/kotlin/app/revanced/patches/music/general/components/LayoutComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/general/components/LayoutComponentsPatch.kt index 842351672..6c234fa1b 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/general/components/LayoutComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/general/components/LayoutComponentsPatch.kt @@ -304,16 +304,6 @@ val layoutComponentsPatch = bytecodePatch( "revanced_hide_carousel_shelf", "false" ) - addSwitchPreference( - CategoryType.GENERAL, - "revanced_hide_playlist_card_shelf", - "false" - ) - addSwitchPreference( - CategoryType.GENERAL, - "revanced_hide_samples_shelf", - "false" - ) addSwitchPreference( CategoryType.GENERAL, "revanced_hide_cast_button", @@ -329,11 +319,6 @@ val layoutComponentsPatch = bytecodePatch( "revanced_hide_floating_button", "false" ) - addSwitchPreference( - CategoryType.GENERAL, - "revanced_hide_tap_to_update_button", - "false" - ) addSwitchPreference( CategoryType.GENERAL, "revanced_hide_history_button", @@ -346,6 +331,16 @@ val layoutComponentsPatch = bytecodePatch( "false" ) } + addSwitchPreference( + CategoryType.GENERAL, + "revanced_hide_playlist_card_shelf", + "false" + ) + addSwitchPreference( + CategoryType.GENERAL, + "revanced_hide_samples_shelf", + "false" + ) if (soundSearchButtonIncluded) { addSwitchPreference( CategoryType.GENERAL, @@ -353,6 +348,11 @@ val layoutComponentsPatch = bytecodePatch( "false" ) } + addSwitchPreference( + CategoryType.GENERAL, + "revanced_hide_tap_to_update_button", + "false" + ) addSwitchPreference( CategoryType.GENERAL, "revanced_hide_voice_search_button", diff --git a/patches/src/main/kotlin/app/revanced/patches/music/player/components/PlayerComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/player/components/PlayerComponentsPatch.kt index 1528f747d..bba1dbab8 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/player/components/PlayerComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/player/components/PlayerComponentsPatch.kt @@ -193,162 +193,6 @@ val playerComponentsPatch = bytecodePatch( ) execute { - // region patch for disable gesture in player - - val playerViewPagerConstructorMethod = - playerViewPagerConstructorFingerprint.methodOrThrow() - val mainActivityOnStartMethod = - getMainActivityMethod("onStart") - - mapOf( - miniPlayerViewPager to "disableMiniPlayerGesture", - playerViewPager to "disablePlayerGesture" - ).forEach { (literal, methodName) -> - val viewPagerReference = with(playerViewPagerConstructorMethod) { - val constIndex = indexOfFirstLiteralInstructionOrThrow(literal) - val targetIndex = indexOfFirstInstructionOrThrow(constIndex, Opcode.IPUT_OBJECT) - - getInstruction(targetIndex).reference.toString() - } - mainActivityOnStartMethod.apply { - val insertIndex = indexOfFirstInstructionOrThrow { - opcode == Opcode.IGET_OBJECT && - getReference()?.toString() == viewPagerReference - } - val insertRegister = getInstruction(insertIndex).registerA - val jumpIndex = - indexOfFirstInstructionOrThrow(insertIndex, Opcode.INVOKE_VIRTUAL) + 1 - - addInstructionsWithLabels( - insertIndex, """ - invoke-static {}, $PLAYER_CLASS_DESCRIPTOR->$methodName()Z - move-result v$insertRegister - if-nez v$insertRegister, :disable - """, ExternalLabel("disable", getInstruction(jumpIndex)) - ) - } - } - - addSwitchPreference( - CategoryType.PLAYER, - "revanced_disable_mini_player_gesture", - "false" - ) - addSwitchPreference( - CategoryType.PLAYER, - "revanced_disable_player_gesture", - "false" - ) - - // endregion - - // region patch for enable color match player and enable black player background - - val ( - colorMathPlayerMethodParameter, - colorMathPlayerInvokeVirtualReference, - colorMathPlayerIGetReference - ) = switchToggleColorFingerprint.matchOrThrow(miniPlayerConstructorFingerprint).let { - with(it.method) { - val relativeIndex = it.patternMatch!!.endIndex + 1 - val invokeVirtualIndex = - indexOfFirstInstructionOrThrow(relativeIndex, Opcode.INVOKE_VIRTUAL) - val iGetIndex = indexOfFirstInstructionOrThrow(relativeIndex, Opcode.IGET) - - // black player background - val invokeDirectIndex = indexOfFirstInstructionOrThrow(Opcode.INVOKE_DIRECT) - val targetMethod = getWalkerMethod(invokeDirectIndex) - val insertIndex = targetMethod.indexOfFirstInstructionOrThrow(Opcode.IF_NE) - - targetMethod.addInstructions( - insertIndex, """ - invoke-static {p1}, $PLAYER_CLASS_DESCRIPTOR->enableBlackPlayerBackground(I)I - move-result p1 - invoke-static {p2}, $PLAYER_CLASS_DESCRIPTOR->enableBlackPlayerBackground(I)I - move-result p2 - """ - ) - Triple( - parameters, - getInstruction(invokeVirtualIndex).reference, - getInstruction(iGetIndex).reference - ) - } - } - - val colorMathPlayerIPutReference = with(miniPlayerConstructorFingerprint.methodOrThrow()) { - val colorGreyIndex = indexOfFirstLiteralInstructionOrThrow(colorGrey) - val iPutIndex = indexOfFirstInstructionOrThrow(colorGreyIndex, Opcode.IPUT) - getInstruction(iPutIndex).reference - } - - miniPlayerConstructorFingerprint.mutableClassOrThrow().methods.filter { - it.accessFlags == AccessFlags.PUBLIC or AccessFlags.FINAL && - it.parameters == colorMathPlayerMethodParameter && - it.returnType == "V" - }.forEach { method -> - method.apply { - val freeRegister = implementation!!.registerCount - parameters.size - 3 - - val invokeDirectIndex = - indexOfFirstInstructionReversedOrThrow(Opcode.INVOKE_DIRECT) - val invokeDirectReference = - getInstruction(invokeDirectIndex).reference - - addInstructionsWithLabels( - invokeDirectIndex + 1, """ - invoke-static {}, $PLAYER_CLASS_DESCRIPTOR->enableColorMatchPlayer()Z - move-result v$freeRegister - if-eqz v$freeRegister, :off - invoke-virtual {p1}, $colorMathPlayerInvokeVirtualReference - move-result-object v$freeRegister - check-cast v$freeRegister, ${(colorMathPlayerIGetReference as FieldReference).definingClass} - iget v$freeRegister, v$freeRegister, $colorMathPlayerIGetReference - iput v$freeRegister, p0, $colorMathPlayerIPutReference - :off - invoke-direct {p0}, $invokeDirectReference - """ - ) - removeInstruction(invokeDirectIndex) - } - } - - addSwitchPreference( - CategoryType.PLAYER, - "revanced_enable_black_player_background", - "false" - ) - addSwitchPreference( - CategoryType.PLAYER, - "revanced_enable_color_match_player", - "true" - ) - - // endregion - - // region patch for enable force minimized player - - minimizedPlayerFingerprint.matchOrThrow().let { - it.method.apply { - val insertIndex = it.patternMatch!!.endIndex - val insertRegister = getInstruction(insertIndex).registerA - - addInstructions( - insertIndex, """ - invoke-static {v$insertRegister}, $PLAYER_CLASS_DESCRIPTOR->enableForceMinimizedPlayer(Z)Z - move-result v$insertRegister - """ - ) - } - } - - addSwitchPreference( - CategoryType.PLAYER, - "revanced_enable_force_minimized_player", - "true" - ) - - // endregion // region patch for enable next previous button @@ -402,9 +246,9 @@ val playerComponentsPatch = bytecodePatch( addInstructions( invokeStaticIndex, """ - invoke-static {v$viewArrayRegister}, $PLAYER_CLASS_DESCRIPTOR->getViewArray([Landroid/view/View;)[Landroid/view/View; - move-result-object v$viewArrayRegister - """ + invoke-static {v$viewArrayRegister}, $PLAYER_CLASS_DESCRIPTOR->getViewArray([Landroid/view/View;)[Landroid/view/View; + move-result-object v$viewArrayRegister + """ ) } @@ -517,6 +361,163 @@ val playerComponentsPatch = bytecodePatch( // endregion + // region patch for enable color match player and enable black player background + + val ( + colorMathPlayerMethodParameter, + colorMathPlayerInvokeVirtualReference, + colorMathPlayerIGetReference + ) = switchToggleColorFingerprint.matchOrThrow(miniPlayerConstructorFingerprint).let { + with(it.method) { + val relativeIndex = it.patternMatch!!.endIndex + 1 + val invokeVirtualIndex = + indexOfFirstInstructionOrThrow(relativeIndex, Opcode.INVOKE_VIRTUAL) + val iGetIndex = indexOfFirstInstructionOrThrow(relativeIndex, Opcode.IGET) + + // black player background + val invokeDirectIndex = indexOfFirstInstructionOrThrow(Opcode.INVOKE_DIRECT) + val targetMethod = getWalkerMethod(invokeDirectIndex) + val insertIndex = targetMethod.indexOfFirstInstructionOrThrow(Opcode.IF_NE) + + targetMethod.addInstructions( + insertIndex, """ + invoke-static {p1}, $PLAYER_CLASS_DESCRIPTOR->enableBlackPlayerBackground(I)I + move-result p1 + invoke-static {p2}, $PLAYER_CLASS_DESCRIPTOR->enableBlackPlayerBackground(I)I + move-result p2 + """ + ) + Triple( + parameters, + getInstruction(invokeVirtualIndex).reference, + getInstruction(iGetIndex).reference + ) + } + } + + val colorMathPlayerIPutReference = with(miniPlayerConstructorFingerprint.methodOrThrow()) { + val colorGreyIndex = indexOfFirstLiteralInstructionOrThrow(colorGrey) + val iPutIndex = indexOfFirstInstructionOrThrow(colorGreyIndex, Opcode.IPUT) + getInstruction(iPutIndex).reference + } + + miniPlayerConstructorFingerprint.mutableClassOrThrow().methods.filter { + it.accessFlags == AccessFlags.PUBLIC or AccessFlags.FINAL && + it.parameters == colorMathPlayerMethodParameter && + it.returnType == "V" + }.forEach { method -> + method.apply { + val freeRegister = implementation!!.registerCount - parameters.size - 3 + + val invokeDirectIndex = + indexOfFirstInstructionReversedOrThrow(Opcode.INVOKE_DIRECT) + val invokeDirectReference = + getInstruction(invokeDirectIndex).reference + + addInstructionsWithLabels( + invokeDirectIndex + 1, """ + invoke-static {}, $PLAYER_CLASS_DESCRIPTOR->enableColorMatchPlayer()Z + move-result v$freeRegister + if-eqz v$freeRegister, :off + invoke-virtual {p1}, $colorMathPlayerInvokeVirtualReference + move-result-object v$freeRegister + check-cast v$freeRegister, ${(colorMathPlayerIGetReference as FieldReference).definingClass} + iget v$freeRegister, v$freeRegister, $colorMathPlayerIGetReference + iput v$freeRegister, p0, $colorMathPlayerIPutReference + :off + invoke-direct {p0}, $invokeDirectReference + """ + ) + removeInstruction(invokeDirectIndex) + } + } + + addSwitchPreference( + CategoryType.PLAYER, + "revanced_enable_color_match_player", + "true" + ) + addSwitchPreference( + CategoryType.PLAYER, + "revanced_enable_black_player_background", + "false" + ) + + // endregion + + // region patch for disable gesture in player + + val playerViewPagerConstructorMethod = + playerViewPagerConstructorFingerprint.methodOrThrow() + val mainActivityOnStartMethod = + getMainActivityMethod("onStart") + + mapOf( + miniPlayerViewPager to "disableMiniPlayerGesture", + playerViewPager to "disablePlayerGesture" + ).forEach { (literal, methodName) -> + val viewPagerReference = with(playerViewPagerConstructorMethod) { + val constIndex = indexOfFirstLiteralInstructionOrThrow(literal) + val targetIndex = indexOfFirstInstructionOrThrow(constIndex, Opcode.IPUT_OBJECT) + + getInstruction(targetIndex).reference.toString() + } + mainActivityOnStartMethod.apply { + val insertIndex = indexOfFirstInstructionOrThrow { + opcode == Opcode.IGET_OBJECT && + getReference()?.toString() == viewPagerReference + } + val insertRegister = getInstruction(insertIndex).registerA + val jumpIndex = + indexOfFirstInstructionOrThrow(insertIndex, Opcode.INVOKE_VIRTUAL) + 1 + + addInstructionsWithLabels( + insertIndex, """ + invoke-static {}, $PLAYER_CLASS_DESCRIPTOR->$methodName()Z + move-result v$insertRegister + if-nez v$insertRegister, :disable + """, ExternalLabel("disable", getInstruction(jumpIndex)) + ) + } + } + + addSwitchPreference( + CategoryType.PLAYER, + "revanced_disable_mini_player_gesture", + "false" + ) + addSwitchPreference( + CategoryType.PLAYER, + "revanced_disable_player_gesture", + "false" + ) + + // endregion + + // region patch for enable force minimized player + + minimizedPlayerFingerprint.matchOrThrow().let { + it.method.apply { + val insertIndex = it.patternMatch!!.endIndex + val insertRegister = getInstruction(insertIndex).registerA + + addInstructions( + insertIndex, """ + invoke-static {v$insertRegister}, $PLAYER_CLASS_DESCRIPTOR->enableForceMinimizedPlayer(Z)Z + move-result v$insertRegister + """ + ) + } + } + + addSwitchPreference( + CategoryType.PLAYER, + "revanced_enable_force_minimized_player", + "true" + ) + + // endregion + // region patch for enable swipe to dismiss mini player if (!is_6_42_or_greater) { @@ -725,38 +726,6 @@ val playerComponentsPatch = bytecodePatch( // endregion - // region patch for hide audio video switch toggle - - audioVideoSwitchToggleFingerprint.methodOrThrow().apply { - implementation!!.instructions - .withIndex() - .filter { (_, instruction) -> - val reference = (instruction as? ReferenceInstruction)?.reference - instruction.opcode == Opcode.INVOKE_VIRTUAL && - reference is MethodReference && - reference.toString() == AUDIO_VIDEO_SWITCH_TOGGLE_VISIBILITY - } - .map { (index, _) -> index } - .reversed() - .forEach { index -> - val instruction = getInstruction(index) - - replaceInstruction( - index, - "invoke-static {v${instruction.registerC}, v${instruction.registerD}}," + - "$PLAYER_CLASS_DESCRIPTOR->hideAudioVideoSwitchToggle(Landroid/view/View;I)V" - ) - } - } - - addSwitchPreference( - CategoryType.PLAYER, - "revanced_hide_audio_video_switch_toggle", - "false" - ) - - // endregion - // region patch for hide channel guideline, timestamps & emoji picker buttons addLithoFilter(FILTER_CLASS_DESCRIPTOR) @@ -766,11 +735,6 @@ val playerComponentsPatch = bytecodePatch( "revanced_hide_comment_channel_guidelines", "true" ) - addSwitchPreference( - CategoryType.PLAYER, - "revanced_hide_comment_timestamp_and_emoji_buttons", - "false" - ) // region patch for hide double-tap overlay filter @@ -796,6 +760,12 @@ val playerComponentsPatch = bytecodePatch( // endregion + addSwitchPreference( + CategoryType.PLAYER, + "revanced_hide_comment_timestamp_and_emoji_buttons", + "false" + ) + // region patch for hide fullscreen share button remixGenericButtonFingerprint.matchOrThrow().let { @@ -820,6 +790,38 @@ val playerComponentsPatch = bytecodePatch( // endregion + // region patch for hide song video switch toggle + + audioVideoSwitchToggleFingerprint.methodOrThrow().apply { + implementation!!.instructions + .withIndex() + .filter { (_, instruction) -> + val reference = (instruction as? ReferenceInstruction)?.reference + instruction.opcode == Opcode.INVOKE_VIRTUAL && + reference is MethodReference && + reference.toString() == AUDIO_VIDEO_SWITCH_TOGGLE_VISIBILITY + } + .map { (index, _) -> index } + .reversed() + .forEach { index -> + val instruction = getInstruction(index) + + replaceInstruction( + index, + "invoke-static {v${instruction.registerC}, v${instruction.registerD}}," + + "$PLAYER_CLASS_DESCRIPTOR->hideAudioVideoSwitchToggle(Landroid/view/View;I)V" + ) + } + } + + addSwitchPreference( + CategoryType.PLAYER, + "revanced_hide_audio_video_switch_toggle", + "false" + ) + + // endregion + // region patch for remember repeat state val (repeatTrackMethod, repeatTrackIndex) = repeatTrackFingerprint.matchOrThrow().let { diff --git a/patches/src/main/kotlin/app/revanced/patches/music/utils/gms/GmsCoreSupportPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/utils/gms/GmsCoreSupportPatch.kt index a28b0ebfa..1944299a1 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/utils/gms/GmsCoreSupportPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/utils/gms/GmsCoreSupportPatch.kt @@ -7,8 +7,6 @@ import app.revanced.patches.music.utils.extension.sharedExtensionPatch import app.revanced.patches.music.utils.fix.fileprovider.fileProviderPatch import app.revanced.patches.music.utils.mainactivity.mainActivityFingerprint import app.revanced.patches.music.utils.patch.PatchList.GMSCORE_SUPPORT -import app.revanced.patches.music.utils.settings.CategoryType -import app.revanced.patches.music.utils.settings.ResourceUtils.addGmsCorePreference import app.revanced.patches.music.utils.settings.ResourceUtils.updatePackageName import app.revanced.patches.music.utils.settings.ResourceUtils.updatePatchStatus import app.revanced.patches.music.utils.settings.settingsPatch @@ -37,13 +35,9 @@ private fun gmsCoreSupportResourcePatch( packageNameYouTubeOption = packageNameYouTubeOption, packageNameYouTubeMusicOption = packageNameYouTubeMusicOption, executeBlock = { - updatePackageName(packageNameYouTubeMusicOption.valueOrThrow()) - - addGmsCorePreference( - CategoryType.MISC.value, - "gms_core_settings", + updatePackageName( gmsCoreVendorGroupIdOption.valueOrThrow() + ".android.gms", - "org.microg.gms.ui.SettingsActivity" + packageNameYouTubeMusicOption.valueOrThrow() ) updatePatchStatus(GMSCORE_SUPPORT) diff --git a/patches/src/main/kotlin/app/revanced/patches/music/utils/patch/PatchList.kt b/patches/src/main/kotlin/app/revanced/patches/music/utils/patch/PatchList.kt index 11d02b637..1a8e53da0 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/utils/patch/PatchList.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/utils/patch/PatchList.kt @@ -49,8 +49,8 @@ internal enum class PatchList( "Disable DRC audio", "Adds an option to disable DRC (Dynamic Range Compression) audio." ), - DISABLE_AUTO_CAPTIONS( - "Disable auto captions", + DISABLE_FORCED_AUTO_CAPTIONS( + "Disable forced auto captions", "Adds an option to disable captions from being automatically enabled." ), DISABLE_DISLIKE_REDIRECTION( diff --git a/patches/src/main/kotlin/app/revanced/patches/music/utils/settings/ResourceUtils.kt b/patches/src/main/kotlin/app/revanced/patches/music/utils/settings/ResourceUtils.kt index 4889d098f..331cc641b 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/utils/settings/ResourceUtils.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/utils/settings/ResourceUtils.kt @@ -32,6 +32,7 @@ internal object ResourceUtils { const val ACTIVITY_HOOK_TARGET_CLASS = "com.google.android.gms.common.api.GoogleApiActivity" + var gmsCorePackageName = "app.revanced.android.gms" var musicPackageName = YOUTUBE_MUSIC_PACKAGE_NAME private var iconType = "default" @@ -68,8 +69,12 @@ internal object ResourceUtils { } } - fun updatePackageName(newPackage: String) { - musicPackageName = newPackage + fun updatePackageName( + newGmsCorePackage: String, + newMusicPackage: String, + ) { + gmsCorePackageName = newGmsCorePackage + musicPackageName = newMusicPackage replacePackageName() } diff --git a/patches/src/main/kotlin/app/revanced/patches/music/utils/settings/SettingsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/utils/settings/SettingsPatch.kt index a9462c265..ce7fab878 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/utils/settings/SettingsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/utils/settings/SettingsPatch.kt @@ -13,8 +13,11 @@ import app.revanced.patches.music.utils.extension.Constants.EXTENSION_PATH import app.revanced.patches.music.utils.extension.Constants.UTILS_PATH import app.revanced.patches.music.utils.extension.sharedExtensionPatch import app.revanced.patches.music.utils.mainactivity.mainActivityResolvePatch +import app.revanced.patches.music.utils.patch.PatchList.GMSCORE_SUPPORT import app.revanced.patches.music.utils.patch.PatchList.SETTINGS_FOR_YOUTUBE_MUSIC import app.revanced.patches.music.utils.playservice.versionCheckPatch +import app.revanced.patches.music.utils.settings.ResourceUtils.addGmsCorePreference +import app.revanced.patches.music.utils.settings.ResourceUtils.gmsCorePackageName import app.revanced.patches.shared.extension.Constants.EXTENSION_UTILS_CLASS_DESCRIPTOR import app.revanced.patches.shared.mainactivity.injectConstructorMethodCall import app.revanced.patches.shared.mainactivity.injectOnCreateMethodCall @@ -202,6 +205,14 @@ val settingsPatch = resourcePatch( ResourceUtils.addRVXSettingsPreference() ResourceUtils.updatePatchStatus(SETTINGS_FOR_YOUTUBE_MUSIC) + + /** + * add import export settings + */ + addPreferenceWithIntent( + CategoryType.MISC, + "revanced_extended_settings_import_export" + ) } finalize { @@ -236,13 +247,14 @@ val settingsPatch = resourcePatch( "revanced_default_app_settings" ) - /** - * add import export settings - */ - addPreferenceWithIntent( - CategoryType.MISC, - "revanced_extended_settings_import_export" - ) + if (GMSCORE_SUPPORT.included == true) { + addGmsCorePreference( + CategoryType.MISC.value, + "gms_core_settings", + gmsCorePackageName, + "org.microg.gms.ui.SettingsActivity" + ) + } /** * sort preference diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/general/audiotracks/AudioTracksPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/general/audiotracks/AudioTracksPatch.kt index e4fb18962..5e91100d4 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/general/audiotracks/AudioTracksPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/general/audiotracks/AudioTracksPatch.kt @@ -5,7 +5,7 @@ import app.revanced.patcher.extensions.InstructionExtensions.getInstruction import app.revanced.patcher.patch.bytecodePatch import app.revanced.patches.youtube.utils.compatibility.Constants.COMPATIBLE_PACKAGE import app.revanced.patches.youtube.utils.extension.Constants.GENERAL_CLASS_DESCRIPTOR -import app.revanced.patches.youtube.utils.patch.PatchList.DISABLE_AUTO_AUDIO_TRACKS +import app.revanced.patches.youtube.utils.patch.PatchList.DISABLE_FORCED_AUTO_AUDIO_TRACKS import app.revanced.patches.youtube.utils.settings.ResourceUtils.addPreference import app.revanced.patches.youtube.utils.settings.settingsPatch import app.revanced.util.fingerprint.methodOrThrow @@ -19,8 +19,8 @@ import com.android.tools.smali.dexlib2.iface.reference.MethodReference @Suppress("unused") val audioTracksPatch = bytecodePatch( - DISABLE_AUTO_AUDIO_TRACKS.title, - DISABLE_AUTO_AUDIO_TRACKS.summary, + DISABLE_FORCED_AUTO_AUDIO_TRACKS.title, + DISABLE_FORCED_AUTO_AUDIO_TRACKS.summary, ) { compatibleWith(COMPATIBLE_PACKAGE) @@ -67,7 +67,7 @@ val audioTracksPatch = bytecodePatch( "PREFERENCE_SCREEN: GENERAL", "SETTINGS: DISABLE_AUTO_AUDIO_TRACKS" ), - DISABLE_AUTO_AUDIO_TRACKS + DISABLE_FORCED_AUTO_AUDIO_TRACKS ) // endregion diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/general/autocaptions/AutoCaptionsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/general/autocaptions/AutoCaptionsPatch.kt index 2beaf7ae2..824ab430f 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/general/autocaptions/AutoCaptionsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/general/autocaptions/AutoCaptionsPatch.kt @@ -3,14 +3,14 @@ package app.revanced.patches.youtube.general.autocaptions import app.revanced.patcher.patch.bytecodePatch import app.revanced.patches.shared.captions.baseAutoCaptionsPatch import app.revanced.patches.youtube.utils.compatibility.Constants.COMPATIBLE_PACKAGE -import app.revanced.patches.youtube.utils.patch.PatchList.DISABLE_AUTO_CAPTIONS +import app.revanced.patches.youtube.utils.patch.PatchList.DISABLE_FORCED_AUTO_CAPTIONS import app.revanced.patches.youtube.utils.settings.ResourceUtils.addPreference import app.revanced.patches.youtube.utils.settings.settingsPatch @Suppress("unused") val autoCaptionsPatch = bytecodePatch( - DISABLE_AUTO_CAPTIONS.title, - DISABLE_AUTO_CAPTIONS.summary, + DISABLE_FORCED_AUTO_CAPTIONS.title, + DISABLE_FORCED_AUTO_CAPTIONS.summary, ) { compatibleWith(COMPATIBLE_PACKAGE) @@ -28,7 +28,7 @@ val autoCaptionsPatch = bytecodePatch( "PREFERENCE_SCREEN: GENERAL", "SETTINGS: DISABLE_AUTO_CAPTIONS" ), - DISABLE_AUTO_CAPTIONS + DISABLE_FORCED_AUTO_CAPTIONS ) // endregion diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/utils/patch/PatchList.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/utils/patch/PatchList.kt index 2e944d1ba..836b9ccc7 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/utils/patch/PatchList.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/utils/patch/PatchList.kt @@ -57,12 +57,12 @@ internal enum class PatchList( "Disable QUIC protocol", "Adds an option to disable CronetEngine's QUIC protocol." ), - DISABLE_AUTO_AUDIO_TRACKS( - "Disable auto audio tracks", + DISABLE_FORCED_AUTO_AUDIO_TRACKS( + "Disable forced auto audio tracks", "Adds an option to disable audio tracks from being automatically enabled." ), - DISABLE_AUTO_CAPTIONS( - "Disable auto captions", + DISABLE_FORCED_AUTO_CAPTIONS( + "Disable forced auto captions", "Adds an option to disable captions from being automatically enabled." ), DISABLE_HAPTIC_FEEDBACK( diff --git a/patches/src/main/resources/music/settings/host/values/strings.xml b/patches/src/main/resources/music/settings/host/values/strings.xml index c3479c6a5..f13e807e1 100644 --- a/patches/src/main/resources/music/settings/host/values/strings.xml +++ b/patches/src/main/resources/music/settings/host/values/strings.xml @@ -79,18 +79,18 @@ Limitations: Flyout Menu - Enable compact dialog - "Enables the compact flyout menu on phones. - -Limitations: -• Album art in the Library tab becomes smaller when organized in a grid. -• Sleep timer layout may appear unusual." Add Trim silence switch "Adds a Trim silence switch to the playback speed flyout menu. Info: • This feature is for podcasts. • This feature is still in development, so it may be unstable." + Enable compact dialog + "Enables the compact flyout menu on phones. + +Limitations: +• Album art in the Library tab becomes smaller when organized in a grid. +• Sleep timer layout may appear unusual." Hide Like and Dislike buttons Hide 3-column component Hide Add to queue menu @@ -143,10 +143,10 @@ Info: Home Library Subscriptions - Disable forced auto captions - Disables captions from being automatically enabled. Disable dislike redirection Disables redirection to the next track when clicking the Dislike button. + Disable forced auto captions + Disables auto captions from being forced on. Enable landscape mode Enables landscape mode when rotating the screen on phones. Enable custom filter @@ -159,28 +159,28 @@ Info: Hides the button shelf in the feed. Hide carousel shelf Hides the carousel shelf in the feed. - Hide playlist card shelf - Hides the playlist card shelf in the feed. - Hide Samples shelf - Hides the Samples shelf in the feed. Hide Cast button Hides the Cast button. Hide category bar Hides the category bar. Hide floating button Hides the floating button in the Library tab. - Hide Tap to update button - Hides the Tap to update button. Hide History button Hides the History button in the toolbar. Hide Notifications button Hides the Notifications button in the toolbar. + Hide playlist card shelf + Hides the playlist card shelf in the feed. + Hide Samples shelf + Hides the Samples shelf in the feed. Hide sound search button Hides the sound search button in the search bar. + Hide Tap to update button + Hides the Tap to update button. Hide voice search button Hides the voice search button in the search bar. - Restore old style library shelf - Returns the Library tab to the old style. (Experimental) + Restore old Library tab + Restores the Library tab to the old style. (Experimental) Remove viewer discretion dialog "Removes the viewer discretion dialog. This does not bypass the age restriction. It just accepts it automatically." @@ -214,52 +214,52 @@ This does not bypass the age restriction. It just accepts it automatically."Hide navigation bar Hides the navigation bar. Hide navigation labels - Hides labels below the navigation buttons. + Hides the label below each navigation buttons. Player - Disable miniplayer gesture - Disable swipe to change tracks in the miniplayer. - Disable player gesture - Disable swipe to change tracks in the player. - Enable black player background - Changes the player background color to black. - Enable color match player - Matches the color of the miniplayer to the fullscreen player. - Enable force minimized player - Keeps the player minimized even when another track is played. Add miniplayer next button Adds a next track button to the miniplayer. Add miniplayer previous button Adds a previous track button to the miniplayer. + Change miniplayer color + Changes the miniplayer color to that of fullscreen player. + Change player background color + Changes the player background color to black. + Disable miniplayer gesture + Disables swipe to change tracks in the miniplayer. + Disable player gesture + Disables swipe to change tracks in the player. + Enable forced miniplayer + Enables forced miniplayer when switching to a new track. Enable swipe to dismiss miniplayer Enables swipe down to dismiss miniplayer. Enable Zen mode - Changes the player background color to light grey to reduce eye strain. + Enables a light grey color for the player background to reduce eye strain. Enable Zen mode in podcasts - Also enables Zen mode for podcasts. - Hide Audio / Video toggle - Hides the Audio / Video toggle in the player. + Enables Zen mode in podcasts. Hide channel guidelines Hides the channel guidelines at the top of the comments section. - Hide timestamp and emoji buttons - Hides the timestamp and emoji buttons when typing comments. Hide double-tap overlay filter Hides dark overlay that appears when double-tapping to seek. + Hide emoji and timestamp buttons + Hides the emoji and timestamp buttons when typing comments. Hide fullscreen Share button Hides the Share button in the fullscreen player. + Hide Song / Video toggle + Hides the Song / Video toggle in the player. Remember repeat state Remembers the state of the repeat toggle. Remember shuffle state Remembers the state of the shuffle toggle. Restore old comments popup panels - Returns the comments popup panels to the old style. + Restores the comments popup panels to the old style. Restore old player background - Returns the player background to the old style. + Restores the player background to the old style. Restore old player layout - "Returns the player layout to the old style. + "Restores the player layout to the old style. Some features may not work properly in the old player layout." @@ -379,7 +379,7 @@ Click to see how to issue a API key." Only for use in music videos. Sections of music videos without music, that aren\'t already covered by another category. Skipped sponsor. - Skipped self promotion. + Skipped self-promotion. Skipped annoying reminder. Skipped intro. Skipped intermission. @@ -412,6 +412,23 @@ Click to see how to issue a API key." Miscellaneous + Import / Export settings + Import or export settings. + + Export settings to file + Import settings from file + Import / Export settings as text + + Failed to export settings. + Settings were successfully exported. + Import + Copy + Import failed: %s. + Settings reset to default. + Imported %d settings. + Reset + Settings copied to clipboard. + Bypass image region restrictions Replaces the domain that is blocked in some regions so that playlist thumbnails, channel avatars, etc. can be received. Change share sheet @@ -429,8 +446,8 @@ Find the official song if a music video is detected playing from an album. Redirection type Specifies how to redirect to official song. Redirect - Tap Audio / Video toggle - Tap and hold Audio / Video toggle + Tap Song / Video toggle + Tap and hold Song / Video toggle Enable debug logging Prints the debug log. Enable debug buffer logging @@ -441,24 +458,8 @@ Find the official song if a music video is detected playing from an album. Info: • Latest YouTube Music clients use the OPUS audio codec by default. • This is only valid for users spoofing with very old clients." - - Open GmsCore - Enable cloud messaging to receive notifications. - GmsCore is not installed. Install it. - Action needed - "GmsCore does not have permission to run in the background. - -Follow the 'Don't kill my app!' guide for your device, and apply the instructions to your GmsCore installation. - -This is required for the app to work." - Open website - "GmsCore battery optimizations must be disabled to prevent issues. - -Disabling battery optimizations for GmsCore will not negatively affect battery usage. - -Tap the continue button and allow optimization changes." - Continue - + Sanitize sharing links + Removes tracking query parameters from URLs when sharing links. Spoof client "Spoof the client to prevent playback issues. @@ -482,27 +483,23 @@ Tap the continue button and allow optimization changes." Android VR Android Music - Sanitize sharing links - Removes tracking query parameters from URLs when sharing links. - Open default app settings To open YouTube Music links in RVX Music, enable \'Open supported links\' and enable the supported web addresses. - Import / Export settings - Import or export settings. + Open GmsCore settings + Opens GmsCore settings. Then enable cloud messaging to receive notifications. + GmsCore is not installed. Install it. + Action needed + "GmsCore does not have permission to run in the background. - Export settings to file - Import settings from file - Import / Export settings as text +Follow the 'Don't kill my app!' guide for your device, and apply the instructions to your GmsCore installation. - Failed to export settings. - Settings were successfully exported. - Import - Copy - Import failed: %s. - Settings reset to default. - Imported %d settings. - Reset - Settings copied to clipboard. +This is required for the app to work." + Open website + "GmsCore battery optimizations must be disabled to prevent issues. +Disabling battery optimizations for GmsCore will not negatively affect battery usage. + +Tap the continue button and allow optimization changes." + Continue diff --git a/patches/src/main/resources/youtube/settings/host/values/strings.xml b/patches/src/main/resources/youtube/settings/host/values/strings.xml index 3b0b6825a..ec9ec7a6b 100644 --- a/patches/src/main/resources/youtube/settings/host/values/strings.xml +++ b/patches/src/main/resources/youtube/settings/host/values/strings.xml @@ -36,12 +36,12 @@ Please download %2$s from the website." Hide merchandise shelves Merchandise shelves are hidden. Merchandise shelves are shown. - Hide player shopping shelf - Shopping shelf is hidden. - Shopping shelf is shown. Hide paid promotion label Paid promotion label is hidden. Paid promotion label is shown. + Hide player shopping shelf + Shopping shelf is hidden. + Shopping shelf is shown. Hide promotion alert banner Promotion alert banner is hidden. Promotion alert banner is shown. @@ -66,10 +66,10 @@ Please download %2$s from the website." Alternative thumbnails Home tab - Subscriptions tab - You tab Player playlists, recommendations Search results + Subscriptions tab + You tab Original thumbnails DeArrow & original thumbnails DeArrow & still captures @@ -110,6 +110,9 @@ Tap here to learn more about DeArrow." Hide album cards Album cards are hidden. Album cards are shown. + Hide Captions button + Captions button is hidden. + Captions button is shown. Hide carousel shelf "Hides the following shelves: • Breaking news @@ -121,21 +124,12 @@ Tap here to learn more about DeArrow." Hide chips shelf Chips shelf is hidden. Chips shelf is shown. - Hide expandable chip under videos + Hide expandable chips under videos Expandable chips are hidden. Expandable chips are shown. Hide expandable shelves Expandable shelves are hidden. Expandable shelves are shown. - Hide Captions button - Captions button is hidden. - Captions button is shown. - Hide search bar - Search bar is hidden. - Search bar is shown. - Hide surveys - Surveys are hidden. - Surveys are shown. Hide floating button Floating button is hidden. Floating button is shown. @@ -163,6 +157,12 @@ Tap here to learn more about DeArrow." Hide Show more button Show more button is hidden. Show more button is shown. + Hide search bar + Search bar is hidden. + Search bar is shown. + Hide surveys + Surveys are hidden. + Surveys are shown. Hide subscriptions carousel Subscriptions carousel is hidden. Subscriptions carousel is shown. @@ -196,9 +196,6 @@ Tap here to learn more about DeArrow." "Shorts Playlists Store" - Hide Visit store button - Visit store button is hidden. - Visit store button is shown. Hide channel member shelf Channel member shelf is hidden. Channel member shelf is shown. @@ -208,6 +205,9 @@ Store" Hide For You shelf For You shelf is hidden. For You shelf is shown. + Hide Visit store button + Visit store button is hidden. + Visit store button is shown. Community posts @@ -239,6 +239,9 @@ Store" Keyword filter + Hide comments by keywords + Comments are filtered. + Comments are not filtered. Hide home videos by keywords Videos in home feed are filtered. Videos in home feed are not filtered. @@ -248,9 +251,6 @@ Store" Hide subscription videos by keywords Videos in subscriptions feed are filtered. Videos in subscriptions feed are not filtered. - Hide comments by keywords - Comments are filtered. - Comments are not filtered. Keywords to hide "Keywords and phrases to hide, separated by new lines. @@ -274,13 +274,14 @@ Limitations: Recommended video + Hide low views video + Hide videos with less than 1,000 views from home feeds that have been uploaded from unsubscribed channels. Hide recommended videos "Hides the following recommended videos: • Videos with the Members only tag. • Videos with phrases such as 'People also watched' underneath." - Hide low views video - Hide videos with less than 1,000 views from home feeds that have been uploaded from unsubscribed channels. + View count filter @@ -318,6 +319,13 @@ If the layout of the player screen changes due to server-side changes, unintende General + Change layout + Original + Phone + Phone (Max 480 dp) + Tablet + Tablet (Min 600 dp) + Change start page Browse channels Courses / Learning @@ -372,13 +380,6 @@ Limitation: Back button on the toolbar may not work." "Removes the viewer discretion dialog. This does not bypass the age restriction. It just accepts it automatically." - Change layout - Original - Phone - Phone (Max 480 dp) - Tablet - Tablet (Min 600 dp) - Spoof app version Version spoofed Version not spoofed @@ -431,12 +432,12 @@ Some components may not be hidden." Download button + Override playlist download button + Native playlist download button is always shown, and in public playlists, it opens your external downloader. + Native playlist download button, if shown, opens the native in-app downloader. Override video download button Native video download button opens your external downloader. Native video download button opens the native in-app downloader. - Override playlist download button - Native playlist download button is always shown, and in public playlists, it opens your external downloader. - If shown, the native playlist download button opens the native in-app downloader. Playlist downloader package name Package name of your installed external downloader app, such as YTDLnis. @@ -520,7 +521,7 @@ Swipe to expand or close." Hide Library button Library button is hidden. Library button is shown. - Hide notifications button + Hide Notifications button Notifications button is hidden. Notifications button is shown. Hide Shorts button @@ -673,16 +674,16 @@ Tap and hold to open RVX settings." Custom player overlay opacity Opacity value between 0-100, where 0 is transparent. Player overlay opacity must be between 0-100. - Disable player popup panels - Auto player popup panels are disabled. - Auto player popup panels are enabled. - Disable switch mix playlists + Disable auto switch mix playlists Auto switch mix playlists is disabled. "Auto switch mix playlists is enabled when autoplay is turned on. Autoplay can be changed in YouTube settings: Settings → Autoplay → Autoplay next video" Enabling this feature will disable automatic switching to YouTube Mix when playing music while autoplay is turned on. + Disable player popup panels + Auto player popup panels are disabled. + Auto player popup panels are enabled. Disable speed overlay "Disable '2x>>' while holding down. @@ -713,12 +714,6 @@ Note: Hide info panels Info panels are hidden. Info panels are shown. - Hide Chat summary in live chat - Chat summary is hidden. - Chat summary is shown. - Hide live chat messages - Live chat messages are hidden.\n\nThis setting applies to Shorts live videos too. - Live chat messages are shown.\n\nThis setting applies to Shorts live videos too. Hide medical panels Medical panels are hidden. Medical panels are shown. @@ -731,9 +726,6 @@ Note: Hide suggested actions Suggested actions are hidden. Suggested actions are shown. - Hide timed reactions - Timed reactions are hidden. - Timed reactions are shown. Hide suggested video end screen "Suggested video end screen is hidden when autoplay is turned off. @@ -743,12 +735,15 @@ Settings → Autoplay → Autoplay next video" Skip autoplay countdown If autoplay is enabled, the next video will play immediately. If autoplay is enabled, the next video will play after the countdown ends. + Hide timed reactions + Timed reactions are hidden. + Timed reactions are shown. Hide zoom overlay Zoom overlay is hidden. Zoom overlay is shown. Sanitize video subtitle - "Phrases like '#', 'Fundraiser', 'Shop' and 'products' were hidden from the video subtitles." - "Phrases like '#', 'Fundraiser', 'Shop' and 'products' were shown from the video subtitles." + "Phrases like '#', 'Fundraiser', 'Shop' and 'products' are hidden from the video subtitles." + "Phrases like '#', 'Fundraiser', 'Shop' and 'products' are shown from the video subtitles." Action buttons @@ -823,30 +818,36 @@ Settings → Autoplay → Autoplay next video" Hide Comments by members banner Comments by members banner is hidden. Comments by members banner is shown. - Hide highlighted search links - Highlighted search links are hidden. - Highlighted search links are shown. Hide Comments section Comments section is hidden. Comments section is shown. Hide Comments section in home feed Comments section is hidden in home feed. Comments section is shown in home feed. + Hide Create a Short button + Create a Short button is hidden. + Create a Short button is shown. + Hide emoji and timestamp buttons + Emoji and timestamp buttons are hidden. + Emoji and timestamp buttons are shown. + Hide highlighted search links + Highlighted search links are hidden. + Highlighted search links are shown. + Hide Live Chat messages + Live Chat messages are hidden.\n\nThis setting applies to Shorts live videos too. + Live Chat messages are shown.\n\nThis setting applies to Shorts live videos too. + Hide Live Chat summary + Live Chat summary is hidden. + Live Chat summary is shown. Hide preview comment Preview comment is hidden. Preview comment is shown. Hide preview comment type - This does not change the size of the comments section, so it is possible to open the live chat replay in the comments section. - This changes the size of the comments section, so it is impossible to open a live chat replay in the comments section. - Hide Create a Short button - Create a Short button is hidden. - Create a Short button is shown. + This does not change the size of the comments section, so it is possible to open the Live Chat replay in the comments section. + This changes the size of the comments section, so it is impossible to open a Live Chat replay in the comments section. Hide Thanks button Thanks button is hidden. Thanks button is shown. - Hide timestamp and emoji buttons - Timestamp and emoji buttons are hidden. - Timestamp and emoji buttons are shown. Flyout menu @@ -943,9 +944,9 @@ Limitation: Video title disappears when clicked." Hide autoplay preview container Autoplay preview container is hidden. Autoplay preview container is shown. - Hide live chat replay button - Live chat replay button is hidden.\n\nIt appears in fullscreen when closing live chat. - Live chat replay button is shown.\n\nIt appears in fullscreen when closing live chat. + Hide Live Chat replay button + Live Chat replay button is hidden.\n\nIt appears in fullscreen when closing Live Chat. + Live Chat replay button is shown.\n\nIt appears in fullscreen when closing Live Chat. Hide related video overlay More videos section in the quick actions container and the related video overlay are hidden. More videos section in the quick actions container and the related video overlay are shown. @@ -964,9 +965,9 @@ Limitation: Video title disappears when clicked." Hide Like button Like button is hidden. Like button is shown. - Hide Live chat button - Live chat button is hidden. - Live chat button is shown. + Hide Live Chat button + Live Chat button is hidden. + Live Chat button is shown. Hide More button More button is hidden. More button is shown. @@ -1071,7 +1072,7 @@ Tap and hold to open whitelist setting dialog. Tap and hold to undo. Info: -• May not work on livestreams." +• May not work on live streams." Generate playlist mode All contents (Sort by time, Ascending) All contents (Sort by time) @@ -1084,8 +1085,8 @@ Info: Streamed videos only (Sort by popular) All Members only contents Members only videos - Members only shorts - Members only livestreams + Members only Shorts + Members only live streams Unable to generate playlist due to channel id mismatch. Channel whitelist @@ -1124,6 +1125,9 @@ Tap and hold to toggle the appended information type." Replace timestamp action Tap to open playback speed or video quality flyout menu. Tap to show the remaining time. + Disable seekbar chapters + Chapters are disabled in the seekbar. + Chapters are enabled in the seekbar. Enable custom seekbar color Custom seekbar color is enabled. Custom seekbar color is disabled. @@ -1133,18 +1137,15 @@ Tap and hold to toggle the appended information type." Enable seekbar tapping Seekbar tapping is enabled. Seekbar tapping is disabled. + Hide seekbar chapter labels + Chapter labels next to the seekbar are hidden. + Chapter labels next to the seekbar are shown. Hide seekbar in video player Video player seekbar is hidden. Video player seekbar is shown. Hide seekbar in video thumbnails Thumbnail seekbar is hidden. Thumbnail seekbar is shown. - Disable seekbar chapters - Chapters are disabled in the seekbar. - Chapters are enabled in the seekbar. - Hide seekbar chapter labels - Chapter labels next to the timestamp are hidden. - Chapter labels next to the timestamp are shown. Hide timestamp Timestamp is hidden. Timestamp is shown. @@ -1154,7 +1155,7 @@ Tap and hold to toggle the appended information type." Enable high quality thumbnails Seekbar thumbnails are high quality. Seekbar thumbnails are medium quality. - "This will restore thumbnails to livestreams that do not have seekbar thumbnails. + "This will restore thumbnails to live streams that do not have seekbar thumbnails. Internet data usage may be higher, and seekbar thumbnails will have a slight delay before showing. @@ -1179,15 +1180,15 @@ This feature works best with a very fast internet connection." Hide Contents section How this content was made section is hidden. How this content was made section is shown. + Hide Explore the podcast section + Explore the podcast section is hidden. + Explore the podcast section is shown. Hide Info cards section Info cards section is hidden. Info cards section is shown. Hide Key concepts section Key concepts section is hidden. Key concepts section is shown. - Hide Explore the podcast section - Explore the podcast section is hidden. - Explore the podcast section is shown. Hide Shopping links Shopping links are hidden. Shopping links are shown. @@ -1239,19 +1240,19 @@ Info: Hide in home feed and related videos Hidden in home feed and related videos. Shown in home feed and related videos. - Hide in subscriptions feed - Hidden in subscriptions feed. - Shown in subscriptions feed. Hide in search results Hidden in search results. Shown in search results. + Hide in subscriptions feed + Hidden in subscriptions feed. + Shown in subscriptions feed. Hide in watch history Hidden in watch history. Shown in watch history. - Change Shorts repeat state Change Shorts background repeat state + Change Shorts repeat state Autoplay Default Pause @@ -1261,48 +1262,48 @@ Info: Shorts player Hide or show components in the Shorts player. + Hide channel bar + Channel bar is hidden. + Channel bar is shown. + Hide full video link label + Full video link label is hidden. + Full video link label is shown. + Hide info panels + Info panels are hidden. + Info panels are shown. Hide Join button Join button is hidden. Join button is shown. - Hide Subscribe button - Subscribe button is hidden. - Subscribe button is shown. + Hide Live Chat header + Live Chat header is hidden.\n\nBack button in header will not be hidden. + Live Chat header is shown.\n\nBack button in header will not be hidden. + Hide paid promotion label + Paid promotion label is hidden. + Paid promotion label is shown. Hide paused header Paused header is hidden. Paused header is shown. Hide paused overlay buttons Paused overlay buttons are hidden. Paused overlay buttons are shown. - Hide Trends button - Trends button is hidden. - Trends button is shown. Hide Shopping button Shopping button is hidden. Shopping button is shown. + Hide sound metadata label + Sound metadata label is hidden. + Sound metadata label is shown. Hide stickers Stickers are hidden. Stickers are shown. - Hide paid promotion label - Paid promotion label is hidden. - Paid promotion label is shown. - Hide info panels - Info panels are hidden. - Info panels are shown. - Hide live chat header - Live chat header is hidden.\n\nBack button in header will not be hidden. - Live chat header is shown.\n\nBack button in header will not be hidden. - Hide channel bar - Channel bar is hidden. - Channel bar is shown. + Hide Subscribe button + Subscribe button is hidden. + Subscribe button is shown. + Hide Trends button + Trends button is hidden. + Trends button is shown. Hide video title - Title is hidden. - Title is shown. - Hide sound metadata label - Metadata label is hidden. - Metadata label is shown. - Hide full video link label - Video link label is hidden. - Video link label is shown. + Video title is hidden. + Video title is shown. Suggested actions @@ -1310,30 +1311,30 @@ Info: Hide Green screen button Green screen button is hidden. Green screen button is shown. + Hide location button + Location button is hidden. + Location button is shown. Hide Save music button Save music button is hidden. Save music button is shown. + Hide search suggestions button + Search suggestions button is hidden. + Search suggestions button is shown. Hide Shop button Shop button is hidden. Shop button is shown. Hide Super Thanks button Super Thanks button is hidden. Super Thanks button is shown. - Hide Use this sound button - Use this sound button is hidden. - Use this sound button is shown. - Hide Use template button - Use template button is hidden. - Use template button is shown. - Hide location button - Location button is hidden. - Location button is shown. - Hide search suggestions button - Search suggestions button is hidden. - Search suggestions button is shown. Hide tagged products Tagged products are hidden. Tagged products are shown. + Hide Use template button + Use template button is hidden. + Use template button is shown. + Hide Use this sound button + Use this sound button is hidden. + Use this sound button is shown. Action buttons @@ -1358,12 +1359,9 @@ Info: Animation / Feedback - Disable Like button animation - Fountain animation is disabled above the Like button. - Fountain animation is enabled above the Like button. - Hide Play & Pause button background - Button background is hidden. - Button background is shown. + Disable Like button fountain animation + Fountain animation above the Like button is disabled. + Fountain animation above the Like button is enabled. Double-tap animation Original Thumbs up @@ -1371,6 +1369,9 @@ Info: Heart Heart (Tint) Hidden + Hide Play & Pause button background + Play & Pause button background is hidden. + Play & Pause button background is shown. Custom actions @@ -1379,7 +1380,7 @@ Info: Limitations: • Does not work if app version is spoofed to 18.49.37 or earlier. -• Does not work with livestream." +• Does not work with live stream." Custom actions are disabled in flyout menu. Enable custom actions in toolbar "Custom actions are enabled in toolbar. @@ -1387,14 +1388,14 @@ Limitations: Press and hold the More button to show the Custom actions dialog." Custom actions are disabled in toolbar. Custom actions - Copy video URL - Show copy video URL menu - Copy video URL menu is shown. - Copy video URL menu is hidden. Copy timestamp URL Show copy timestamp URL menu Copy timestamp URL menu is shown. Copy timestamp URL menu is hidden. + Copy video URL + Show copy video URL menu + Copy video URL menu is shown. + Copy video URL menu is hidden. External downloader Show external downloader menu External downloader menu is shown. @@ -1425,15 +1426,15 @@ Limitations: Meta panel bottom margin Configure the spacing from the seekbar to the meta panel, between 0-64. Meta panel bottom margin must be between 0-64. - Hide toolbar - Toolbar is hidden. - Toolbar is shown. Hide navigation bar Navigation bar is hidden. Navigation bar is shown. Height percentage of empty space Configure the height percentage of the empty space left when the navigation bar is hidden, between 0 and 100 (%). Height percentage must be between 0-100 (%). + Hide toolbar + Toolbar is hidden. + Toolbar is shown. Replace channel handle Channel name is used. Channel handle is used. @@ -1700,7 +1701,7 @@ Click to see how to issue a API key." Skip segment Skipped sponsor. - Skipped self promotion. + Skipped self-promotion. Skipped annoying reminder. Skipped to highlight. Skipped intro. @@ -1844,6 +1845,8 @@ Click to see how to issue a API key." Miscellaneous + Disable QUIC protocol + "Disable CronetEngine's QUIC protocol." Enable debug logging Debug logs are enabled. Debug logs are disabled. @@ -1856,11 +1859,14 @@ Click to see how to issue a API key." Enable open links directly Bypassing URL redirects. Following default redirect policy. + Sanitize sharing links + Sanitizes sharing links by removing tracking query parameters. + Open default app settings To open YouTube links in RVX, enable \'Open supported links\' and enable the supported web addresses. - Open GmsCore - Enable cloud messaging to receive notifications. + Open GmsCore settings + Opens GmsCore settings. Then enable cloud messaging to receive notifications. GmsCore is not installed. Install it. Action needed "GmsCore does not have permission to run in the background. @@ -1876,11 +1882,6 @@ Disabling battery optimizations for GmsCore will not negatively affect battery u Tap the continue button and allow optimization changes." Continue - Sanitize sharing links - Removes tracking query parameters from the URLs when sharing links. - Disable QUIC protocol - "Disable CronetEngine's QUIC protocol." - Change share sheet System share sheet is used. In-app share sheet is used. diff --git a/patches/src/main/resources/youtube/settings/xml/revanced_prefs.xml b/patches/src/main/resources/youtube/settings/xml/revanced_prefs.xml index f3124f384..8b7041508 100644 --- a/patches/src/main/resources/youtube/settings/xml/revanced_prefs.xml +++ b/patches/src/main/resources/youtube/settings/xml/revanced_prefs.xml @@ -7,8 +7,8 @@ - + @@ -23,10 +23,10 @@ @@ -143,10 +143,10 @@ + + + SETTINGS: HOOK_DOWNLOAD_ACTIONS --> @@ -516,8 +518,8 @@ @@ -548,31 +548,31 @@ + + SETTINGS: SHORTS_COMPONENTS --> @@ -597,8 +597,8 @@ SETTINGS: SHORTS_CUSTOM_ACTIONS_TOOLBAR --> + SETTINGS: SHORTS_COMPONENTS --> + + @@ -827,6 +829,9 @@ + + - - @@ -868,8 +870,8 @@ - - + +