feat: MinimizedPlayback, CreateButtonRemover
This commit is contained in:
parent
bee5f2faed
commit
cc08c6c3d3
|
@ -1,11 +1,15 @@
|
||||||
package net.revanced.patches
|
package net.revanced.patches
|
||||||
|
|
||||||
import net.revanced.patches.ads.VideoAds
|
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
|
// This object contains all the patches and should be imported when using this library
|
||||||
object Index {
|
object Index {
|
||||||
// Array of patches. New patches should be added to the array
|
// Array of patches. New patches should be added to the array
|
||||||
val patches = arrayOf(
|
val patches = arrayOf(
|
||||||
VideoAds::class
|
VideoAds::class,
|
||||||
|
MinimizedPlayback::class,
|
||||||
|
CreateButtonRemover::class
|
||||||
)
|
)
|
||||||
}
|
}
|
|
@ -12,7 +12,7 @@ import org.objectweb.asm.Type
|
||||||
import org.objectweb.asm.tree.MethodInsnNode
|
import org.objectweb.asm.tree.MethodInsnNode
|
||||||
import org.objectweb.asm.tree.VarInsnNode
|
import org.objectweb.asm.tree.VarInsnNode
|
||||||
|
|
||||||
class VideoAds: Patch("VideoAds") {
|
class VideoAds : Patch("VideoAds") {
|
||||||
override fun execute(cache: Cache): PatchResult {
|
override fun execute(cache: Cache): PatchResult {
|
||||||
val showVideoAdsMethodData = cache.methods["show-video-ads"].findParentMethod(
|
val showVideoAdsMethodData = cache.methods["show-video-ads"].findParentMethod(
|
||||||
Signature(
|
Signature(
|
||||||
|
@ -24,7 +24,8 @@ class VideoAds: Patch("VideoAds") {
|
||||||
)
|
)
|
||||||
) ?: return PatchResultError("Could not find required method to patch")
|
) ?: return PatchResultError("Could not find required method to patch")
|
||||||
|
|
||||||
showVideoAdsMethodData.method.instructions.insertAt(0,
|
showVideoAdsMethodData.method.instructions.insertAt(
|
||||||
|
0,
|
||||||
VarInsnNode(Opcodes.ISTORE, 1),
|
VarInsnNode(Opcodes.ISTORE, 1),
|
||||||
MethodInsnNode(
|
MethodInsnNode(
|
||||||
Opcodes.INVOKESTATIC,
|
Opcodes.INVOKESTATIC,
|
||||||
|
|
|
@ -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()
|
||||||
|
}
|
||||||
|
}
|
|
@ -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()
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue