From 15a7e540de4ddc65d6f96ea661b7e2ce064f89e7 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Fri, 26 Sep 2025 12:14:20 +0400 Subject: [PATCH] refactor(YouTube - Miniplayer): Change ReVanced settings that are now YouTube default on into "Disable" style settings (#6003) --- .../youtube/patches/MiniplayerPatch.java | 16 +++++++-------- .../extension/youtube/settings/Settings.java | 20 +++++++++++-------- .../layout/miniplayer/MiniplayerPatch.kt | 6 +++--- .../resources/addresources/values/strings.xml | 18 ++++++++--------- 4 files changed, 32 insertions(+), 28 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/MiniplayerPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/MiniplayerPatch.java index c19edb08d..ac05e1540 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/MiniplayerPatch.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/MiniplayerPatch.java @@ -19,7 +19,7 @@ import app.revanced.extension.shared.Utils; import app.revanced.extension.shared.settings.Setting; import app.revanced.extension.youtube.settings.Settings; -@SuppressWarnings("SpellCheckingInspection") +@SuppressWarnings({"unused", "SpellCheckingInspection"}) public final class MiniplayerPatch { /** @@ -129,7 +129,7 @@ public final class MiniplayerPatch { (CURRENT_TYPE.isModern() && Settings.MINIPLAYER_DOUBLE_TAP_ACTION.get()); private static final boolean DRAG_AND_DROP_ENABLED = - CURRENT_TYPE.isModern() && Settings.MINIPLAYER_DRAG_AND_DROP.get(); + CURRENT_TYPE.isModern() && !Settings.MINIPLAYER_DISABLE_DRAG_AND_DROP.get(); private static final boolean HIDE_OVERLAY_BUTTONS_ENABLED = Settings.MINIPLAYER_HIDE_OVERLAY_BUTTONS.get() @@ -145,10 +145,10 @@ public final class MiniplayerPatch { && (VersionCheckPatch.IS_19_34_OR_GREATER || Settings.MINIPLAYER_HIDE_REWIND_FORWARD.get()); private static final boolean MINIPLAYER_ROUNDED_CORNERS_ENABLED = - CURRENT_TYPE.isModern() && Settings.MINIPLAYER_ROUNDED_CORNERS.get(); + CURRENT_TYPE.isModern() && !Settings.MINIPLAYER_DISABLE_ROUNDED_CORNERS.get(); private static final boolean MINIPLAYER_HORIZONTAL_DRAG_ENABLED = - DRAG_AND_DROP_ENABLED && Settings.MINIPLAYER_HORIZONTAL_DRAG.get(); + DRAG_AND_DROP_ENABLED && !Settings.MINIPLAYER_DISABLE_HORIZONTAL_DRAG.get(); /** * Remove a broken and always present subtitle text that is only @@ -173,14 +173,14 @@ public final class MiniplayerPatch { public static final class MiniplayerHorizontalDragAvailability implements Setting.Availability { @Override public boolean isAvailable() { - return Settings.MINIPLAYER_TYPE.get().isModern() && Settings.MINIPLAYER_DRAG_AND_DROP.get(); + return Settings.MINIPLAYER_TYPE.get().isModern() && !Settings.MINIPLAYER_DISABLE_DRAG_AND_DROP.get(); } @Override public List> getParentSettings() { return List.of( Settings.MINIPLAYER_TYPE, - Settings.MINIPLAYER_DRAG_AND_DROP + Settings.MINIPLAYER_DISABLE_DRAG_AND_DROP ); } } @@ -192,7 +192,7 @@ public final class MiniplayerPatch { return type == MODERN_4 || (!IS_19_20_OR_GREATER && (type == MODERN_1 || type == MODERN_3)) || (!IS_19_26_OR_GREATER && type == MODERN_1 - && !Settings.MINIPLAYER_DOUBLE_TAP_ACTION.get() && !Settings.MINIPLAYER_DRAG_AND_DROP.get()) + && !Settings.MINIPLAYER_DOUBLE_TAP_ACTION.get() && Settings.MINIPLAYER_DISABLE_DRAG_AND_DROP.get()) || (IS_19_29_OR_GREATER && type == MODERN_3); } @@ -201,7 +201,7 @@ public final class MiniplayerPatch { return List.of( Settings.MINIPLAYER_TYPE, Settings.MINIPLAYER_DOUBLE_TAP_ACTION, - Settings.MINIPLAYER_DRAG_AND_DROP + Settings.MINIPLAYER_DISABLE_DRAG_AND_DROP ); } } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java index cab782668..17937a660 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java @@ -11,6 +11,10 @@ import static app.revanced.extension.youtube.patches.ChangeHeaderPatch.HeaderLog import static app.revanced.extension.youtube.patches.ChangeStartPagePatch.ChangeStartPageTypeAvailability; import static app.revanced.extension.youtube.patches.ChangeStartPagePatch.StartPage; import static app.revanced.extension.youtube.patches.ExitFullscreenPatch.FullscreenMode; +import static app.revanced.extension.youtube.patches.MiniplayerPatch.MiniplayerAnyModernAvailability; +import static app.revanced.extension.youtube.patches.MiniplayerPatch.MiniplayerHideOverlayButtonsAvailability; +import static app.revanced.extension.youtube.patches.MiniplayerPatch.MiniplayerHideRewindOrOverlayOpacityAvailability; +import static app.revanced.extension.youtube.patches.MiniplayerPatch.MiniplayerHideSubtextsAvailability; import static app.revanced.extension.youtube.patches.MiniplayerPatch.MiniplayerHorizontalDragAvailability; import static app.revanced.extension.youtube.patches.MiniplayerPatch.MiniplayerType; import static app.revanced.extension.youtube.patches.MiniplayerPatch.MiniplayerType.MINIMAL; @@ -177,15 +181,15 @@ public class Settings extends BaseSettings { // Miniplayer public static final EnumSetting MINIPLAYER_TYPE = new EnumSetting<>("revanced_miniplayer_type", MiniplayerType.DEFAULT, true); - public static final BooleanSetting MINIPLAYER_DOUBLE_TAP_ACTION = new BooleanSetting("revanced_miniplayer_double_tap_action", TRUE, true, new MiniplayerPatch.MiniplayerAnyModernAvailability()); - public static final BooleanSetting MINIPLAYER_DRAG_AND_DROP = new BooleanSetting("revanced_miniplayer_drag_and_drop", TRUE, true, new MiniplayerPatch.MiniplayerAnyModernAvailability()); - public static final BooleanSetting MINIPLAYER_HORIZONTAL_DRAG = new BooleanSetting("revanced_miniplayer_horizontal_drag", FALSE, true, new MiniplayerHorizontalDragAvailability()); - public static final BooleanSetting MINIPLAYER_HIDE_OVERLAY_BUTTONS = new BooleanSetting("revanced_miniplayer_hide_overlay_buttons", FALSE, true, new MiniplayerPatch.MiniplayerHideOverlayButtonsAvailability()); - public static final BooleanSetting MINIPLAYER_HIDE_SUBTEXT = new BooleanSetting("revanced_miniplayer_hide_subtext", FALSE, true, new MiniplayerPatch.MiniplayerHideSubtextsAvailability()); + public static final BooleanSetting MINIPLAYER_DISABLE_DRAG_AND_DROP = new BooleanSetting("revanced_miniplayer_disable_drag_and_drop", FALSE, true, new MiniplayerAnyModernAvailability()); + public static final BooleanSetting MINIPLAYER_DISABLE_HORIZONTAL_DRAG = new BooleanSetting("revanced_miniplayer_disable_horizontal_drag", FALSE, true, new MiniplayerHorizontalDragAvailability()); + public static final BooleanSetting MINIPLAYER_DISABLE_ROUNDED_CORNERS = new BooleanSetting("revanced_miniplayer_disable_rounded_corners", FALSE, true, new MiniplayerAnyModernAvailability()); + public static final BooleanSetting MINIPLAYER_DOUBLE_TAP_ACTION = new BooleanSetting("revanced_miniplayer_double_tap_action", TRUE, true, new MiniplayerAnyModernAvailability()); + public static final BooleanSetting MINIPLAYER_HIDE_OVERLAY_BUTTONS = new BooleanSetting("revanced_miniplayer_hide_overlay_buttons", FALSE, true, new MiniplayerHideOverlayButtonsAvailability()); + public static final BooleanSetting MINIPLAYER_HIDE_SUBTEXT = new BooleanSetting("revanced_miniplayer_hide_subtext", FALSE, true, new MiniplayerHideSubtextsAvailability()); public static final BooleanSetting MINIPLAYER_HIDE_REWIND_FORWARD = new BooleanSetting("revanced_miniplayer_hide_rewind_forward", TRUE, true, new MiniplayerPatch.MiniplayerHideRewindOrOverlayOpacityAvailability()); - public static final BooleanSetting MINIPLAYER_ROUNDED_CORNERS = new BooleanSetting("revanced_miniplayer_rounded_corners", TRUE, true, new MiniplayerPatch.MiniplayerAnyModernAvailability()); - public static final IntegerSetting MINIPLAYER_WIDTH_DIP = new IntegerSetting("revanced_miniplayer_width_dip", 192, true, new MiniplayerPatch.MiniplayerAnyModernAvailability()); - public static final IntegerSetting MINIPLAYER_OPACITY = new IntegerSetting("revanced_miniplayer_opacity", 100, true, new MiniplayerPatch.MiniplayerHideRewindOrOverlayOpacityAvailability()); + public static final IntegerSetting MINIPLAYER_WIDTH_DIP = new IntegerSetting("revanced_miniplayer_width_dip", 192, true, new MiniplayerAnyModernAvailability()); + public static final IntegerSetting MINIPLAYER_OPACITY = new IntegerSetting("revanced_miniplayer_opacity", 100, true, new MiniplayerHideRewindOrOverlayOpacityAvailability()); // External downloader public static final BooleanSetting EXTERNAL_DOWNLOADER = new BooleanSetting("revanced_external_downloader", FALSE); diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/miniplayer/MiniplayerPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/miniplayer/MiniplayerPatch.kt index 13c4549c2..2758210a5 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/miniplayer/MiniplayerPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/miniplayer/MiniplayerPatch.kt @@ -186,15 +186,15 @@ val miniplayerPatch = bytecodePatch( if (!is_19_29_or_greater) { preferences += SwitchPreference("revanced_miniplayer_double_tap_action") } - preferences += SwitchPreference("revanced_miniplayer_drag_and_drop") + preferences += SwitchPreference("revanced_miniplayer_disable_drag_and_drop") } if (is_19_43_or_greater) { - preferences += SwitchPreference("revanced_miniplayer_horizontal_drag") + preferences += SwitchPreference("revanced_miniplayer_disable_horizontal_drag") } if (is_19_36_or_greater) { - preferences += SwitchPreference("revanced_miniplayer_rounded_corners") + preferences += SwitchPreference("revanced_miniplayer_disable_rounded_corners") } preferences += SwitchPreference("revanced_miniplayer_hide_subtext") diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index f95b98d40..f151ae14d 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -1421,25 +1421,25 @@ Limitation: Using the back button on the toolbar may not work" Modern 2 Modern 3 Modern 4 - Enable rounded corners - Corners are rounded - Corners are square + Disable rounded corners + Corners are square + Corners are rounded Enable double-tap and pinch to resize "Double-tap action and pinch to resize is enabled • Double tap to increase miniplayer size • Double tap again to restore original size" Double-tap action and pinch to resize is disabled - Enable drag and drop - "Drag and drop is enabled + Disable drag and drop + Drag and drop is disabled + "Drag and drop is enabled Miniplayer can be dragged to any corner of the screen" - Drag and drop is disabled - Enable horizontal drag gesture - "Horizontal drag gesture enabled + Disable horizontal drag gesture + Horizontal drag gesture disabled + "Horizontal drag gesture enabled Miniplayer can be dragged off-screen to the left or right" - Horizontal drag gesture disabled Hide overlay buttons Overlay buttons are hidden Overlay buttons are shown