Skip to content

Commit

Permalink
feat: MinimizedPlayback, CreateButtonRemover
Browse files Browse the repository at this point in the history
  • Loading branch information
oSumAtrIX committed Mar 21, 2022
1 parent bee5f2f commit cc08c6c
Show file tree
Hide file tree
Showing 4 changed files with 54 additions and 4 deletions.
8 changes: 6 additions & 2 deletions src/main/kotlin/net/revanced/patches/Index.kt
Original file line number Diff line number Diff line change
@@ -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
)
}
}
5 changes: 3 additions & 2 deletions src/main/kotlin/net/revanced/patches/ads/VideoAds.kt
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand All @@ -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,
Expand Down
Original file line number Diff line number Diff line change
@@ -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()
}
}
13 changes: 13 additions & 0 deletions src/main/kotlin/net/revanced/patches/layouts/MinimizedPlayback.kt
Original file line number Diff line number Diff line change
@@ -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()
}
}

0 comments on commit cc08c6c

Please sign in to comment.