From ac72748834fe88bfbc62bdfcf4f5a8ab8edb6805 Mon Sep 17 00:00:00 2001 From: inotia00 <108592928+inotia00@users.noreply.github.com> Date: Sun, 8 Dec 2024 15:44:50 +0900 Subject: [PATCH] feat(YouTube Music - Hide ads): Changed the default value of `Hide fullscreen ads` setting to off and added a warning to the setting --- .../revanced/extension/shared/patches/PatchStatus.java | 8 ++++++++ .../extension/shared/settings/BaseSettings.java | 4 +++- .../app/revanced/patches/music/ads/general/AdsPatch.kt | 2 +- .../revanced/patches/youtube/ads/general/AdsPatch.kt | 10 ++++++++++ .../resources/music/settings/host/values/strings.xml | 5 ++++- 5 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 extensions/shared/src/main/java/app/revanced/extension/shared/patches/PatchStatus.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/patches/PatchStatus.java b/extensions/shared/src/main/java/app/revanced/extension/shared/patches/PatchStatus.java new file mode 100644 index 000000000..d1065c5ba --- /dev/null +++ b/extensions/shared/src/main/java/app/revanced/extension/shared/patches/PatchStatus.java @@ -0,0 +1,8 @@ +package app.revanced.extension.shared.patches; + +@SuppressWarnings("unused") +public class PatchStatus { + public static boolean HideFullscreenAdsDefaultBoolean() { + return false; + } +} diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java b/extensions/shared/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java index c75290bd2..5ef848c54 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java +++ b/extensions/shared/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java @@ -3,6 +3,8 @@ package app.revanced.extension.shared.settings; import static java.lang.Boolean.FALSE; import static java.lang.Boolean.TRUE; +import static app.revanced.extension.shared.patches.PatchStatus.HideFullscreenAdsDefaultBoolean; + import app.revanced.extension.shared.patches.ReturnYouTubeUsernamePatch.DisplayFormat; /** @@ -23,7 +25,7 @@ public class BaseSettings { /** * These settings are used by YouTube and YouTube Music. */ - public static final BooleanSetting HIDE_FULLSCREEN_ADS = new BooleanSetting("revanced_hide_fullscreen_ads", TRUE, true); + public static final BooleanSetting HIDE_FULLSCREEN_ADS = new BooleanSetting("revanced_hide_fullscreen_ads", HideFullscreenAdsDefaultBoolean(), true); public static final BooleanSetting HIDE_PROMOTION_ALERT_BANNER = new BooleanSetting("revanced_hide_promotion_alert_banner", TRUE); public static final BooleanSetting DISABLE_AUTO_CAPTIONS = new BooleanSetting("revanced_disable_auto_captions", FALSE, true); diff --git a/patches/src/main/kotlin/app/revanced/patches/music/ads/general/AdsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/ads/general/AdsPatch.kt index d967d7241..e53e7db0c 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/ads/general/AdsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/ads/general/AdsPatch.kt @@ -151,7 +151,7 @@ val adsPatch = bytecodePatch( addSwitchPreference( CategoryType.ADS, "revanced_hide_fullscreen_ads", - "true" + "false" ) addSwitchPreference( CategoryType.ADS, diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/ads/general/AdsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/ads/general/AdsPatch.kt index 7fd1383c1..abcdbe687 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/ads/general/AdsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/ads/general/AdsPatch.kt @@ -2,11 +2,13 @@ package app.revanced.patches.youtube.ads.general import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels import app.revanced.patcher.extensions.InstructionExtensions.getInstruction +import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction import app.revanced.patcher.patch.bytecodePatch import app.revanced.patcher.util.smali.ExternalLabel import app.revanced.patches.shared.ads.baseAdsPatch import app.revanced.patches.shared.ads.hookLithoFullscreenAds import app.revanced.patches.shared.ads.hookNonLithoFullscreenAds +import app.revanced.patches.shared.extension.Constants.PATCHES_PATH import app.revanced.patches.shared.litho.addLithoFilter import app.revanced.patches.shared.litho.lithoFilterPatch import app.revanced.patches.youtube.utils.compatibility.Constants.COMPATIBLE_PACKAGE @@ -20,6 +22,7 @@ import app.revanced.patches.youtube.utils.resourceid.interstitialsContainer import app.revanced.patches.youtube.utils.resourceid.sharedResourceIdPatch import app.revanced.patches.youtube.utils.settings.ResourceUtils.addPreference import app.revanced.patches.youtube.utils.settings.settingsPatch +import app.revanced.util.findMethodOrThrow import app.revanced.util.findMutableMethodOf import app.revanced.util.fingerprint.matchOrThrow import app.revanced.util.fingerprint.methodOrThrow @@ -129,6 +132,13 @@ val adsPatch = bytecodePatch( // endregion + findMethodOrThrow("$PATCHES_PATH/PatchStatus;") { + name == "HideFullscreenAdsDefaultBoolean" + }.replaceInstruction( + 0, + "const/4 v0, 0x1" + ) + // region add settings addPreference( 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 a4bf4a33a..3969b2032 100644 --- a/patches/src/main/resources/music/settings/host/values/strings.xml +++ b/patches/src/main/resources/music/settings/host/values/strings.xml @@ -58,7 +58,10 @@ Please download %2$s from the website." Ads Hide fullscreen ads - Hides fullscreen ads. + "Hides fullscreen ads. + +Limitations: +• Sometimes you may see a blank black screen instead of the home feed." Hide general ads Hides general ads. Hide media ads