From 44dccb3d658852e92aaf8d17e36dc205f1b3eb05 Mon Sep 17 00:00:00 2001 From: johnconner122 <107796137+johnconner122@users.noreply.github.com> Date: Sat, 26 Aug 2023 05:12:44 +0500 Subject: [PATCH] feat(YouTube): Add `Custom player overlay opacity` patch (#449) Co-authored-by: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Co-authored-by: oSumAtrIX --- .../CustomPlayerOverlayOpacityPatch.java | 22 ++++++++++++++++ .../patches/HidePlayerOverlayPatch.java | 12 --------- .../integrations/settings/SettingsEnum.java | 25 +++++++------------ 3 files changed, 31 insertions(+), 28 deletions(-) create mode 100644 app/src/main/java/app/revanced/integrations/patches/CustomPlayerOverlayOpacityPatch.java delete mode 100644 app/src/main/java/app/revanced/integrations/patches/HidePlayerOverlayPatch.java diff --git a/app/src/main/java/app/revanced/integrations/patches/CustomPlayerOverlayOpacityPatch.java b/app/src/main/java/app/revanced/integrations/patches/CustomPlayerOverlayOpacityPatch.java new file mode 100644 index 00000000..a2b4a94c --- /dev/null +++ b/app/src/main/java/app/revanced/integrations/patches/CustomPlayerOverlayOpacityPatch.java @@ -0,0 +1,22 @@ +package app.revanced.integrations.patches; + +import android.widget.ImageView; + +import app.revanced.integrations.settings.SettingsEnum; +import app.revanced.integrations.utils.ReVancedUtils; + +public class CustomPlayerOverlayOpacityPatch { + private static final int DEFAULT_OPACITY = (int) SettingsEnum.PLAYER_OVERLAY_OPACITY.defaultValue; + + public static void changeOpacity(ImageView imageView) { + int opacity = SettingsEnum.PLAYER_OVERLAY_OPACITY.getInt(); + + if (opacity < 0 || opacity > 100) { + ReVancedUtils.showToastLong("Player overlay opacity must be between 0-100"); + SettingsEnum.PLAYER_OVERLAY_OPACITY.saveValue(DEFAULT_OPACITY); + opacity = DEFAULT_OPACITY; + } + + imageView.setImageAlpha((opacity * 255) / 100); + } +} diff --git a/app/src/main/java/app/revanced/integrations/patches/HidePlayerOverlayPatch.java b/app/src/main/java/app/revanced/integrations/patches/HidePlayerOverlayPatch.java deleted file mode 100644 index e734fb24..00000000 --- a/app/src/main/java/app/revanced/integrations/patches/HidePlayerOverlayPatch.java +++ /dev/null @@ -1,12 +0,0 @@ -package app.revanced.integrations.patches; - -import android.widget.ImageView; - -import app.revanced.integrations.settings.SettingsEnum; - -public class HidePlayerOverlayPatch { - public static void hidePlayerOverlay(ImageView view) { - if (!SettingsEnum.HIDE_PLAYER_OVERLAY.getBoolean()) return; - view.setImageResource(android.R.color.transparent); - } -} diff --git a/app/src/main/java/app/revanced/integrations/settings/SettingsEnum.java b/app/src/main/java/app/revanced/integrations/settings/SettingsEnum.java index 6a2027b3..51056609 100644 --- a/app/src/main/java/app/revanced/integrations/settings/SettingsEnum.java +++ b/app/src/main/java/app/revanced/integrations/settings/SettingsEnum.java @@ -1,26 +1,12 @@ package app.revanced.integrations.settings; -import static java.lang.Boolean.FALSE; -import static java.lang.Boolean.TRUE; -import static app.revanced.integrations.settings.SettingsEnum.ReturnType.BOOLEAN; -import static app.revanced.integrations.settings.SettingsEnum.ReturnType.FLOAT; -import static app.revanced.integrations.settings.SettingsEnum.ReturnType.INTEGER; -import static app.revanced.integrations.settings.SettingsEnum.ReturnType.LONG; -import static app.revanced.integrations.settings.SettingsEnum.ReturnType.STRING; -import static app.revanced.integrations.settings.SharedPrefCategory.RETURN_YOUTUBE_DISLIKE; -import static app.revanced.integrations.settings.SharedPrefCategory.SPONSOR_BLOCK; -import static app.revanced.integrations.utils.StringRef.str; - import android.content.Context; - import androidx.annotation.NonNull; import androidx.annotation.Nullable; - import app.revanced.integrations.sponsorblock.SponsorBlockSettings; +import app.revanced.integrations.utils.LogHelper; import app.revanced.integrations.utils.ReVancedUtils; import app.revanced.integrations.utils.StringRef; -import app.revanced.integrations.utils.LogHelper; - import org.json.JSONException; import org.json.JSONObject; @@ -29,6 +15,13 @@ import java.util.HashMap; import java.util.Map; import java.util.Objects; +import static app.revanced.integrations.settings.SettingsEnum.ReturnType.*; +import static app.revanced.integrations.settings.SharedPrefCategory.RETURN_YOUTUBE_DISLIKE; +import static app.revanced.integrations.settings.SharedPrefCategory.SPONSOR_BLOCK; +import static app.revanced.integrations.utils.StringRef.str; +import static java.lang.Boolean.FALSE; +import static java.lang.Boolean.TRUE; + public enum SettingsEnum { // External downloader @@ -100,6 +93,7 @@ public enum SettingsEnum { HIDE_SHOP_BUTTON("revanced_hide_shop_button", BOOLEAN, TRUE), // Layout + PLAYER_OVERLAY_OPACITY("revanced_player_overlay_opacity", INTEGER, 100, true), DISABLE_RESUMING_SHORTS_PLAYER("revanced_disable_resuming_shorts_player", BOOLEAN, FALSE), HIDE_ALBUM_CARDS("revanced_hide_album_cards", BOOLEAN, FALSE, true), HIDE_ARTIST_CARDS("revanced_hide_artist_cards", BOOLEAN, FALSE), @@ -120,7 +114,6 @@ public enum SettingsEnum { HIDE_INFO_CARDS("revanced_hide_info_cards", BOOLEAN, TRUE), HIDE_LOAD_MORE_BUTTON("revanced_hide_load_more_button", BOOLEAN, TRUE, true), HIDE_PLAYER_BUTTONS("revanced_hide_player_buttons", BOOLEAN, FALSE), - HIDE_PLAYER_OVERLAY("revanced_hide_player_overlay", BOOLEAN, FALSE, true), HIDE_PREVIEW_COMMENT("revanced_hide_preview_comment", BOOLEAN, FALSE, true), HIDE_SEEKBAR("revanced_hide_seekbar", BOOLEAN, FALSE), HIDE_SEEKBAR_THUMBNAIL("revanced_hide_seekbar_thumbnail", BOOLEAN, FALSE),