From 1cce551df188589e1c65ad4f319282e1594e88c0 Mon Sep 17 00:00:00 2001 From: inotia00 <108592928+inotia00@users.noreply.github.com> Date: Sun, 15 Sep 2024 20:38:39 +0900 Subject: [PATCH] fix(YouTube Music - Disable auto captions): Captions cannot be changed when `Disable forced auto captions` is turned on --- .../music/patches/general/GeneralPatch.java | 10 +--------- .../integrations/music/settings/Settings.java | 1 - .../shared/patches/AutoCaptionsPatch.java | 18 ++++++++++++++++++ .../shared/settings/BaseSettings.java | 2 ++ .../youtube/patches/general/GeneralPatch.java | 15 --------------- .../youtube/settings/Settings.java | 1 - 6 files changed, 21 insertions(+), 26 deletions(-) create mode 100644 app/src/main/java/app/revanced/integrations/shared/patches/AutoCaptionsPatch.java diff --git a/app/src/main/java/app/revanced/integrations/music/patches/general/GeneralPatch.java b/app/src/main/java/app/revanced/integrations/music/patches/general/GeneralPatch.java index f28d225c4f..89fdd85c46 100644 --- a/app/src/main/java/app/revanced/integrations/music/patches/general/GeneralPatch.java +++ b/app/src/main/java/app/revanced/integrations/music/patches/general/GeneralPatch.java @@ -30,15 +30,7 @@ public static String changeStartPage(final String browseId) { // endregion - // region [Disable auto captions] patch - - public static boolean disableAutoCaptions(boolean original) { - return Settings.DISABLE_AUTO_CAPTIONS.get() || original; - } - - // endregion - - // region [Disable auto captions] patch + // region [Disable dislike redirection] patch public static boolean disableDislikeRedirection() { return Settings.DISABLE_DISLIKE_REDIRECTION.get(); diff --git a/app/src/main/java/app/revanced/integrations/music/settings/Settings.java b/app/src/main/java/app/revanced/integrations/music/settings/Settings.java index 9b4c2da49f..c3c0f3be1f 100644 --- a/app/src/main/java/app/revanced/integrations/music/settings/Settings.java +++ b/app/src/main/java/app/revanced/integrations/music/settings/Settings.java @@ -84,7 +84,6 @@ public class Settings extends BaseSettings { // PreferenceScreen: General public static final StringSetting CHANGE_START_PAGE = new StringSetting("revanced_change_start_page", "FEmusic_home", true); - public static final BooleanSetting DISABLE_AUTO_CAPTIONS = new BooleanSetting("revanced_disable_auto_captions", FALSE, true); public static final BooleanSetting DISABLE_DISLIKE_REDIRECTION = new BooleanSetting("revanced_disable_dislike_redirection", FALSE); public static final BooleanSetting ENABLE_LANDSCAPE_MODE = new BooleanSetting("revanced_enable_landscape_mode", FALSE, true); public static final BooleanSetting CUSTOM_FILTER = new BooleanSetting("revanced_custom_filter", FALSE); diff --git a/app/src/main/java/app/revanced/integrations/shared/patches/AutoCaptionsPatch.java b/app/src/main/java/app/revanced/integrations/shared/patches/AutoCaptionsPatch.java new file mode 100644 index 0000000000..ede2d5122c --- /dev/null +++ b/app/src/main/java/app/revanced/integrations/shared/patches/AutoCaptionsPatch.java @@ -0,0 +1,18 @@ +package app.revanced.integrations.shared.patches; + +import app.revanced.integrations.shared.settings.BaseSettings; + +@SuppressWarnings("unused") +public final class AutoCaptionsPatch { + + private static boolean captionsButtonStatus; + + public static boolean disableAutoCaptions() { + return BaseSettings.DISABLE_AUTO_CAPTIONS.get() && + !captionsButtonStatus; + } + + public static void setCaptionsButtonStatus(boolean status) { + captionsButtonStatus = status; + } +} \ No newline at end of file diff --git a/app/src/main/java/app/revanced/integrations/shared/settings/BaseSettings.java b/app/src/main/java/app/revanced/integrations/shared/settings/BaseSettings.java index a3d14a7cd4..4c443fdd8e 100644 --- a/app/src/main/java/app/revanced/integrations/shared/settings/BaseSettings.java +++ b/app/src/main/java/app/revanced/integrations/shared/settings/BaseSettings.java @@ -29,6 +29,8 @@ public class BaseSettings { public static final BooleanSetting HIDE_SETTINGS_MENU = new BooleanSetting("revanced_hide_settings_menu", FALSE); public static final StringSetting HIDE_SETTINGS_MENU_FILTER_STRINGS = new StringSetting("revanced_hide_settings_menu_filter_strings", "", true); + public static final BooleanSetting DISABLE_AUTO_CAPTIONS = new BooleanSetting("revanced_disable_auto_captions", FALSE, true); + public static final BooleanSetting BYPASS_IMAGE_REGION_RESTRICTIONS = new BooleanSetting("revanced_bypass_image_region_restrictions", FALSE, true); public static final StringSetting BYPASS_IMAGE_REGION_RESTRICTIONS_DOMAIN = new StringSetting("revanced_bypass_image_region_restrictions_domain", "yt4.ggpht.com", true); diff --git a/app/src/main/java/app/revanced/integrations/youtube/patches/general/GeneralPatch.java b/app/src/main/java/app/revanced/integrations/youtube/patches/general/GeneralPatch.java index e75f810959..c6c862b044 100644 --- a/app/src/main/java/app/revanced/integrations/youtube/patches/general/GeneralPatch.java +++ b/app/src/main/java/app/revanced/integrations/youtube/patches/general/GeneralPatch.java @@ -139,21 +139,6 @@ public static ArrayList getFormatStreamModelArray(final ArrayList