From ae432f8c36c1dc603de48ee78489c54f264f123e Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Fri, 31 Jan 2025 12:40:45 +0200 Subject: [PATCH] refactor(YouTube - Swipe controls): Use more consistent settings language of 'opacity' and 0-100 scale --- .../extension/youtube/settings/Settings.java | 8 +++++++- .../SwipeControlsConfigurationProvider.kt | 15 ++++++++++++++- .../swipecontrols/SwipeControlsPatch.kt | 2 +- .../resources/addresources/values/strings.xml | 5 +++-- 4 files changed, 25 insertions(+), 5 deletions(-) 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 cea0c0a69..e1b0fb14c 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 @@ -314,8 +314,9 @@ public class Settings extends BaseSettings { parentsAny(SWIPE_BRIGHTNESS, SWIPE_VOLUME)); public static final IntegerSetting SWIPE_MAGNITUDE_THRESHOLD = new IntegerSetting("revanced_swipe_threshold", 30, true, parentsAny(SWIPE_BRIGHTNESS, SWIPE_VOLUME)); - public static final IntegerSetting SWIPE_OVERLAY_BACKGROUND_ALPHA = new IntegerSetting("revanced_swipe_overlay_background_alpha", 127, true, + public static final IntegerSetting SWIPE_OVERLAY_OPACITY = new IntegerSetting("revanced_swipe_overlay_background_opacity", 50, true, parentsAny(SWIPE_BRIGHTNESS, SWIPE_VOLUME)); + private static final IntegerSetting DEPRECATED_SWIPE_OVERLAY_BACKGROUND_ALPHA = new IntegerSetting("revanced_swipe_overlay_background_alpha", 127); // Debugging public static final IntegerSetting SWIPE_OVERLAY_TEXT_SIZE = new IntegerSetting("revanced_swipe_text_overlay_size", 22, true, @@ -436,6 +437,11 @@ public class Settings extends BaseSettings { DEPRECATED_SEEKBAR_CUSTOM_COLOR_PRIMARY.resetToDefault(); } + if (!DEPRECATED_SWIPE_OVERLAY_BACKGROUND_ALPHA.isSetToDefault()) { + SWIPE_OVERLAY_OPACITY.save(DEPRECATED_SWIPE_OVERLAY_BACKGROUND_ALPHA.get() / 255); + DEPRECATED_SWIPE_OVERLAY_BACKGROUND_ALPHA.resetToDefault(); + } + // endregion // region SB import/export callbacks diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/SwipeControlsConfigurationProvider.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/SwipeControlsConfigurationProvider.kt index f9850d99a..303ffe9b0 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/SwipeControlsConfigurationProvider.kt +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/SwipeControlsConfigurationProvider.kt @@ -2,6 +2,8 @@ package app.revanced.extension.youtube.swipecontrols import android.content.Context import android.graphics.Color +import app.revanced.extension.shared.StringRef.str +import app.revanced.extension.shared.Utils import app.revanced.extension.youtube.settings.Settings import app.revanced.extension.youtube.shared.PlayerType @@ -86,7 +88,18 @@ class SwipeControlsConfigurationProvider( * get the background color for text on the overlay, as a color int */ val overlayTextBackgroundColor: Int - get() = Color.argb(Settings.SWIPE_OVERLAY_BACKGROUND_ALPHA.get(), 0, 0, 0) + get() { + var opacity = Settings.SWIPE_OVERLAY_OPACITY.get() + + if (opacity < 0 || opacity > 100) { + Utils.showToastLong(str("revanced_swipe_overlay_background_opacity_invalid_toast")) + Settings.SWIPE_OVERLAY_OPACITY.resetToDefault() + opacity = Settings.SWIPE_OVERLAY_OPACITY.get() + } + + opacity = opacity * 255 / 100 + return Color.argb(opacity, 0, 0, 0) + } /** * get the foreground color for text on the overlay, as a color int diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/swipecontrols/SwipeControlsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/swipecontrols/SwipeControlsPatch.kt index cf51936fa..5bececd59 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/swipecontrols/SwipeControlsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/interaction/swipecontrols/SwipeControlsPatch.kt @@ -44,7 +44,7 @@ private val swipeControlsResourcePatch = resourcePatch { SwitchPreference("revanced_swipe_lowest_value_enable_auto_brightness"), TextPreference("revanced_swipe_overlay_timeout", inputType = InputType.NUMBER), TextPreference("revanced_swipe_text_overlay_size", inputType = InputType.NUMBER), - TextPreference("revanced_swipe_overlay_background_alpha", inputType = InputType.NUMBER), + TextPreference("revanced_swipe_overlay_background_opacity", inputType = InputType.NUMBER), TextPreference("revanced_swipe_threshold", inputType = InputType.NUMBER), ) diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index c08c16f64..f7419ecc6 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -511,8 +511,9 @@ This feature is only available for older devices" The amount of milliseconds the overlay is visible Swipe overlay text size The text size for swipe overlay - Swipe background visibility - The visibility of swipe overlay background + Swipe overlay background opacity + Opacity value between 0-100 + Swipe opacity must be between 0-100 Swipe magnitude threshold The amount of threshold for swipe to occur Enable swipe to change videos