1
1
package app.revanced.patches.youtube.interaction.swipecontrols
2
2
3
- import app.revanced.util.transformMethods
4
- import app.revanced.util.traverseClassHierarchy
5
3
import app.revanced.patcher.data.BytecodeContext
6
4
import app.revanced.patcher.patch.BytecodePatch
7
5
import app.revanced.patcher.patch.annotation.CompatiblePackage
@@ -10,7 +8,9 @@ import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod.Companion.toMu
10
8
import app.revanced.patches.youtube.interaction.swipecontrols.fingerprints.SwipeControlsHostActivityFingerprint
11
9
import app.revanced.patches.youtube.misc.integrations.IntegrationsPatch
12
10
import app.revanced.patches.youtube.misc.playertype.PlayerTypeHookPatch
13
- import app.revanced.patches.youtube.shared.fingerprints.WatchWhileActivityFingerprint
11
+ import app.revanced.patches.youtube.shared.fingerprints.MainActivityFingerprint
12
+ import app.revanced.util.transformMethods
13
+ import app.revanced.util.traverseClassHierarchy
14
14
import com.android.tools.smali.dexlib2.AccessFlags
15
15
import com.android.tools.smali.dexlib2.immutable.ImmutableMethod
16
16
@@ -31,28 +31,30 @@ import com.android.tools.smali.dexlib2.immutable.ImmutableMethod
31
31
" 18.38.44" ,
32
32
" 18.43.45" ,
33
33
" 18.44.41" ,
34
- " 18.45.41" ,
35
- " 18.45.43"
34
+ " 18.45.43" ,
35
+ " 18.48.39" ,
36
+ " 18.49.37" ,
37
+ " 19.01.34"
36
38
]
37
39
)
38
40
]
39
41
)
40
42
@Suppress(" unused" )
41
43
object SwipeControlsBytecodePatch : BytecodePatch(
42
44
setOf(
43
- WatchWhileActivityFingerprint ,
45
+ MainActivityFingerprint ,
44
46
SwipeControlsHostActivityFingerprint
45
47
)
46
48
) {
47
49
override fun execute (context : BytecodeContext ) {
48
50
val wrapperClass = SwipeControlsHostActivityFingerprint .result!! .mutableClass
49
- val targetClass = WatchWhileActivityFingerprint .result!! .mutableClass
51
+ val targetClass = MainActivityFingerprint .result!! .mutableClass
50
52
51
- // inject the wrapper class from integrations into the class hierarchy of WatchWhileActivity
53
+ // Inject the wrapper class from integrations into the class hierarchy of MainActivity.
52
54
wrapperClass.setSuperClass(targetClass.superclass)
53
55
targetClass.setSuperClass(wrapperClass.type)
54
56
55
- // ensure all classes and methods in the hierarchy are non-final, so we can override them in integrations
57
+ // Ensure all classes and methods in the hierarchy are non-final, so we can override them in integrations.
56
58
context.traverseClassHierarchy(targetClass) {
57
59
accessFlags = accessFlags and AccessFlags .FINAL .value.inv ()
58
60
transformMethods {
0 commit comments