mirror of
https://github.com/ReVanced/revanced-patches.git
synced 2024-11-10 01:01:56 +01:00
fix(youtube/video-ads): block earlier in call hirarchy (#813)
This commit is contained in:
parent
0dfa8b829a
commit
d5b39b3adc
2 changed files with 13 additions and 19 deletions
|
@ -5,16 +5,15 @@ import app.revanced.patcher.annotation.Version
|
|||
|
||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
|
||||
import app.revanced.patches.youtube.ad.video.annotations.VideoAdsCompatibility
|
||||
import org.jf.dexlib2.Opcode
|
||||
|
||||
@Name("load-ads-fingerprint")
|
||||
|
||||
@VideoAdsCompatibility
|
||||
@Version("0.0.1")
|
||||
object LoadAdsFingerprint : MethodFingerprint(
|
||||
opcodes = listOf(Opcode.INVOKE_INTERFACE_RANGE),
|
||||
strings = listOf(
|
||||
"Received unsupported ad type, this should never happen.",
|
||||
"AdBreakRenderer path ad playerResponse cannot be deserialized."
|
||||
"OnFulfillmentTriggersActivated has non registered slot",
|
||||
"markFillRequested",
|
||||
"Trying to enter a slot when a slot of same type and physical position is already active. Its status: ",
|
||||
)
|
||||
)
|
|
@ -41,21 +41,16 @@ class VideoAdsPatch : BytecodePatch(
|
|||
)
|
||||
)
|
||||
|
||||
with(LoadAdsFingerprint.result!!) {
|
||||
val insertIndex = scanResult.patternScanResult!!.startIndex
|
||||
with(mutableMethod) {
|
||||
addInstructions(
|
||||
insertIndex,
|
||||
"""
|
||||
invoke-static { }, Lapp/revanced/integrations/patches/VideoAdsPatch;->shouldShowAds()Z
|
||||
move-result v4
|
||||
if-nez v4, :show_video_ads
|
||||
return-object v9
|
||||
""",
|
||||
listOf(ExternalLabel("show_video_ads", instruction(insertIndex)))
|
||||
)
|
||||
}
|
||||
}
|
||||
val lithoAdsFingerprintMethod = LoadAdsFingerprint.result!!.mutableMethod
|
||||
|
||||
lithoAdsFingerprintMethod.addInstructions(
|
||||
0, """
|
||||
invoke-static { }, Lapp/revanced/integrations/patches/VideoAdsPatch;->shouldShowAds()Z
|
||||
move-result v0
|
||||
if-nez v0, :show_video_ads
|
||||
return-void
|
||||
""", listOf(ExternalLabel("show_video_ads", lithoAdsFingerprintMethod.instruction(0)))
|
||||
)
|
||||
|
||||
return PatchResultSuccess()
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue