feat: MinimizedPlayback, CreateButtonRemover

This commit is contained in:
oSumAtrIX 2022-03-21 18:25:12 +01:00
parent bee5f2faed
commit cc08c6c3d3
No known key found for this signature in database
GPG key ID: A9B3094ACDB604B4
4 changed files with 54 additions and 4 deletions

View file

@ -1,11 +1,15 @@
package net.revanced.patches
import net.revanced.patches.ads.VideoAds
import net.revanced.patches.layouts.CreateButtonRemover
import net.revanced.patches.layouts.MinimizedPlayback
// This object contains all the patches and should be imported when using this library
object Index {
// Array of patches. New patches should be added to the array
val patches = arrayOf(
VideoAds::class
VideoAds::class,
MinimizedPlayback::class,
CreateButtonRemover::class
)
}
}

View file

@ -12,7 +12,7 @@ import org.objectweb.asm.Type
import org.objectweb.asm.tree.MethodInsnNode
import org.objectweb.asm.tree.VarInsnNode
class VideoAds: Patch("VideoAds") {
class VideoAds : Patch("VideoAds") {
override fun execute(cache: Cache): PatchResult {
val showVideoAdsMethodData = cache.methods["show-video-ads"].findParentMethod(
Signature(
@ -24,7 +24,8 @@ class VideoAds: Patch("VideoAds") {
)
) ?: return PatchResultError("Could not find required method to patch")
showVideoAdsMethodData.method.instructions.insertAt(0,
showVideoAdsMethodData.method.instructions.insertAt(
0,
VarInsnNode(Opcodes.ISTORE, 1),
MethodInsnNode(
Opcodes.INVOKESTATIC,

View file

@ -0,0 +1,32 @@
package net.revanced.patches.layouts
import net.revanced.patcher.cache.Cache
import net.revanced.patcher.patch.Patch
import net.revanced.patcher.patch.PatchResult
import net.revanced.patcher.patch.PatchResultSuccess
import net.revanced.patcher.writer.ASMWriter.insertAt
import org.objectweb.asm.Opcodes
import org.objectweb.asm.tree.MethodInsnNode
import org.objectweb.asm.tree.VarInsnNode
class CreateButtonRemover : Patch("create-button-remover") {
override fun execute(cache: Cache): PatchResult {
val patchData = cache.methods["create-button-patch"]
patchData.method.instructions.insertAt(
patchData.scanData.endIndex - 1,
VarInsnNode(
Opcodes.ALOAD,
6
),
MethodInsnNode(
Opcodes.INVOKESTATIC,
"fi/razerman/youtube/XAdRemover",
"hideCreateButton",
"(Landroid/view/View;)V"
)
)
return PatchResultSuccess()
}
}

View file

@ -0,0 +1,13 @@
package net.revanced.patches.layouts
import net.revanced.patcher.cache.Cache
import net.revanced.patcher.patch.Patch
import net.revanced.patcher.patch.PatchResult
import net.revanced.patcher.patch.PatchResultSuccess
class MinimizedPlayback: Patch("minimized-playback") {
override fun execute(cache: Cache): PatchResult {
cache.methods["minimized-playback-manager"].method.instructions.clear()
return PatchResultSuccess()
}
}