diff --git a/src/main/kotlin/app/revanced/patches/youtube/shorts/components/ShortsComponentPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/shorts/components/ShortsComponentPatch.kt index 93928be15..7645098b7 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/shorts/components/ShortsComponentPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/shorts/components/ShortsComponentPatch.kt @@ -13,6 +13,7 @@ import app.revanced.patcher.util.smali.ExternalLabel import app.revanced.patches.shared.litho.LithoFilterPatch import app.revanced.patches.youtube.shorts.components.fingerprints.ShortsButtonFingerprint import app.revanced.patches.youtube.shorts.components.fingerprints.ShortsPaidPromotionFingerprint +import app.revanced.patches.youtube.shorts.components.fingerprints.ShortsPausedHeaderFingerprint import app.revanced.patches.youtube.shorts.components.fingerprints.ShortsPivotLegacyFingerprint import app.revanced.patches.youtube.shorts.components.fingerprints.ShortsSubscriptionsTabletFingerprint import app.revanced.patches.youtube.shorts.components.fingerprints.ShortsSubscriptionsTabletParentFingerprint @@ -37,6 +38,7 @@ import app.revanced.util.REGISTER_TEMPLATE_REPLACEMENT import app.revanced.util.getTargetIndexOrThrow import app.revanced.util.getTargetIndexReversedOrThrow import app.revanced.util.getTargetIndexWithReferenceOrThrow +import app.revanced.util.getWalkerMethod import app.revanced.util.getWideLiteralInstructionIndex import app.revanced.util.literalInstructionHook import app.revanced.util.patch.BaseBytecodePatch @@ -68,6 +70,7 @@ object ShortsComponentPatch : BaseBytecodePatch( fingerprints = setOf( ShortsButtonFingerprint, ShortsPaidPromotionFingerprint, + ShortsPausedHeaderFingerprint, ShortsPivotLegacyFingerprint, ShortsSubscriptionsTabletParentFingerprint, TextComponentSpecFingerprint @@ -273,6 +276,26 @@ object ShortsComponentPatch : BaseBytecodePatch( // endregion + // region patch for hide paused header + + ShortsPausedHeaderFingerprint.resultOrThrow().let { + val targetMethod = it.getWalkerMethod(context, it.scanResult.patternScanResult!!.endIndex) + + targetMethod.apply { + addInstructionsWithLabels( + 0, + """ + invoke-static {}, $SHORTS_CLASS_DESCRIPTOR->hideShortsPausedHeader()Z + move-result v0 + if-nez v0, :hide + """, + ExternalLabel("hide", getInstruction(implementation!!.instructions.lastIndex)) + ) + } + } + + // endregion + // region patch for return shorts channel name TextComponentSpecFingerprint.resultOrThrow().let { diff --git a/src/main/kotlin/app/revanced/patches/youtube/shorts/components/fingerprints/ToolBarBannerFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/shorts/components/fingerprints/ShortsPausedHeaderFingerprint.kt similarity index 86% rename from src/main/kotlin/app/revanced/patches/youtube/shorts/components/fingerprints/ToolBarBannerFingerprint.kt rename to src/main/kotlin/app/revanced/patches/youtube/shorts/components/fingerprints/ShortsPausedHeaderFingerprint.kt index e5020ca96..b94276a10 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/shorts/components/fingerprints/ToolBarBannerFingerprint.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/shorts/components/fingerprints/ShortsPausedHeaderFingerprint.kt @@ -3,7 +3,7 @@ package app.revanced.patches.youtube.shorts.components.fingerprints import app.revanced.patcher.fingerprint.MethodFingerprint import com.android.tools.smali.dexlib2.Opcode -internal object ToolBarBannerFingerprint : MethodFingerprint( +internal object ShortsPausedHeaderFingerprint : MethodFingerprint( returnType = "Landroid/view/View;", opcodes = listOf( Opcode.IF_NEZ, diff --git a/src/main/resources/youtube/settings/host/values/strings.xml b/src/main/resources/youtube/settings/host/values/strings.xml index 492b2e6ad..dabd99ea6 100644 --- a/src/main/resources/youtube/settings/host/values/strings.xml +++ b/src/main/resources/youtube/settings/host/values/strings.xml @@ -1037,6 +1037,9 @@ Side effect: Official headers in search results will be hidden." Hide Subscribe button Subscribe button is hidden. Subscribe button is shown. + Hide paused header + Paused header is hidden. + Paused header is shown. Hide paused overlay buttons Paused overlay buttons are hidden. Paused overlay buttons are shown. diff --git a/src/main/resources/youtube/settings/xml/revanced_prefs.xml b/src/main/resources/youtube/settings/xml/revanced_prefs.xml index eb5d929be..263135684 100644 --- a/src/main/resources/youtube/settings/xml/revanced_prefs.xml +++ b/src/main/resources/youtube/settings/xml/revanced_prefs.xml @@ -461,6 +461,7 @@ +