mirror of
https://github.com/inotia00/revanced-patches.git
synced 2025-04-29 22:24:31 +02:00
feat(YouTube): drop support version v18.41.39
, v18.42.41
This commit is contained in:
parent
46a4ffe614
commit
f4f2d41236
@ -34,9 +34,7 @@ Example:
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -43,9 +43,7 @@ import org.w3c.dom.Element
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -28,9 +28,7 @@ import app.revanced.util.integrations.Constants.ADS_PATH
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -37,9 +37,7 @@ import app.revanced.util.resources.ResourceUtils.copyXmlNode
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -32,9 +32,7 @@ import app.revanced.util.integrations.Constants.COMPONENTS_PATH
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -32,9 +32,7 @@ import app.revanced.util.integrations.Constants.COMPONENTS_PATH
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -43,9 +43,7 @@ import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -43,9 +43,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -47,9 +47,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -42,9 +42,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -38,9 +38,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -37,9 +37,7 @@ import app.revanced.util.integrations.Constants.FULLSCREEN
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -49,9 +49,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction35c
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -36,9 +36,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
@ -34,9 +34,7 @@ import app.revanced.util.integrations.Constants.COMPONENTS_PATH
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -44,9 +44,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -43,9 +43,7 @@ import app.revanced.util.integrations.Constants.GENERAL
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -33,9 +33,7 @@ import app.revanced.util.integrations.Constants.GENERAL
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -41,9 +41,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -37,9 +37,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -37,9 +37,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -32,9 +32,7 @@ import app.revanced.util.integrations.Constants.COMPONENTS_PATH
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -37,9 +37,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -40,9 +40,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -37,9 +37,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -32,9 +32,7 @@ import app.revanced.util.integrations.Constants.COMPONENTS_PATH
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -35,9 +35,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -38,9 +38,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -46,9 +46,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -33,9 +33,7 @@ import app.revanced.util.integrations.Constants.GENERAL
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -50,9 +50,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -44,9 +44,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -32,9 +32,7 @@ import app.revanced.util.integrations.Constants.GENERAL
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -42,9 +42,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -42,9 +42,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -29,9 +29,7 @@ import app.revanced.util.resources.ResourceHelper.updatePatchStatusIcon
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
@ -29,9 +29,7 @@ import app.revanced.util.resources.ResourceHelper.updatePatchStatusIcon
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -29,9 +29,7 @@ import app.revanced.util.resources.ResourceHelper.updatePatchStatusIcon
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
@ -33,9 +33,7 @@ import app.revanced.util.resources.ResourceHelper.updatePatchStatusLabel
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -27,9 +27,7 @@ import app.revanced.patches.youtube.utils.settings.SettingsPatch
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
@ -32,9 +32,7 @@ import app.revanced.util.resources.ResourceUtils.copyResources
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -29,9 +29,7 @@ import org.w3c.dom.Element
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
@ -31,9 +31,7 @@ import kotlin.io.path.copyTo
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
@ -36,9 +36,7 @@ import app.revanced.util.resources.ResourceUtils.copyXmlNode
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
@ -35,9 +35,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -29,9 +29,7 @@ import kotlin.io.path.exists
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
@ -35,9 +35,7 @@ import org.w3c.dom.Element
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -34,9 +34,7 @@ import app.revanced.patches.youtube.utils.settings.SettingsPatch
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -40,9 +40,7 @@ import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -28,9 +28,7 @@ import app.revanced.util.integrations.Constants.MISC_PATH
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -43,9 +43,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -27,9 +27,7 @@ import app.revanced.patches.youtube.utils.settings.SettingsPatch
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
@ -36,9 +36,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -34,9 +34,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -39,9 +39,7 @@ import com.android.tools.smali.dexlib2.Opcode
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -44,9 +44,7 @@ import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -36,9 +36,7 @@ import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -32,9 +32,7 @@ import app.revanced.util.integrations.Constants.MISC_PATH
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -44,9 +44,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
@ -69,10 +67,7 @@ object NewSplashAnimationPatch : BytecodePatch(
|
|||||||
*/
|
*/
|
||||||
WatchWhileActivityWithInFlagsFingerprint.result?.let {
|
WatchWhileActivityWithInFlagsFingerprint.result?.let {
|
||||||
it.mutableMethod.apply {
|
it.mutableMethod.apply {
|
||||||
var targetIndex = getWide32LiteralIndex(45407550) + 3
|
val targetIndex = getWide32LiteralIndex(45407550) + 3
|
||||||
if (getInstruction(targetIndex).opcode == Opcode.MOVE_RESULT)
|
|
||||||
targetIndex += 1
|
|
||||||
|
|
||||||
inject(targetIndex)
|
inject(targetIndex)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,9 +32,7 @@ import org.w3c.dom.Element
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -33,9 +33,7 @@ import com.android.tools.smali.dexlib2.util.MethodUtil
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -28,9 +28,7 @@ import app.revanced.util.resources.ResourceHelper.addTranslations
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -35,9 +35,7 @@ import app.revanced.util.integrations.Constants.NAVIGATION
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -34,9 +34,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -47,9 +47,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -35,9 +35,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -52,9 +52,7 @@ import org.w3c.dom.Element
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -42,9 +42,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -38,9 +38,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -31,9 +31,7 @@ import app.revanced.util.integrations.Constants.PLAYER
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -32,9 +32,7 @@ import app.revanced.patches.youtube.utils.settings.SettingsPatch
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -39,9 +39,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -52,9 +52,7 @@ import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -41,9 +41,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -38,9 +38,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -37,9 +37,7 @@ import app.revanced.util.integrations.Constants.PLAYER
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -35,9 +35,7 @@ import app.revanced.util.integrations.Constants.INTEGRATIONS_PATH
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -41,9 +41,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -31,9 +31,7 @@ import app.revanced.patches.youtube.utils.settings.SettingsPatch
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -46,9 +46,7 @@ import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -36,9 +36,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -41,9 +41,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -43,9 +43,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -40,9 +40,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -45,9 +45,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction35c
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -50,9 +50,7 @@ import org.w3c.dom.Element
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -38,9 +38,7 @@ import app.revanced.util.integrations.Constants.SEEKBAR
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -5,14 +5,18 @@ import app.revanced.patcher.data.BytecodeContext
|
|||||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels
|
import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels
|
||||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||||
import app.revanced.patcher.patch.BytecodePatch
|
import app.revanced.patcher.patch.BytecodePatch
|
||||||
|
import app.revanced.patcher.patch.PatchException
|
||||||
import app.revanced.patcher.patch.annotation.CompatiblePackage
|
import app.revanced.patcher.patch.annotation.CompatiblePackage
|
||||||
import app.revanced.patcher.patch.annotation.Patch
|
import app.revanced.patcher.patch.annotation.Patch
|
||||||
|
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
|
||||||
import app.revanced.patcher.util.smali.ExternalLabel
|
import app.revanced.patcher.util.smali.ExternalLabel
|
||||||
import app.revanced.patches.youtube.seekbar.tapping.fingerprints.SeekbarTappingFingerprint
|
import app.revanced.patches.youtube.seekbar.tapping.fingerprints.SeekbarTappingFingerprint
|
||||||
import app.revanced.patches.youtube.seekbar.tapping.fingerprints.SeekbarTappingReferenceFingerprint
|
|
||||||
import app.revanced.patches.youtube.utils.settings.SettingsPatch
|
import app.revanced.patches.youtube.utils.settings.SettingsPatch
|
||||||
import app.revanced.util.integrations.Constants.SEEKBAR
|
import app.revanced.util.integrations.Constants.SEEKBAR
|
||||||
import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction
|
import com.android.tools.smali.dexlib2.Opcode
|
||||||
|
import com.android.tools.smali.dexlib2.builder.instruction.BuilderInstruction35c
|
||||||
|
import com.android.tools.smali.dexlib2.dexbacked.reference.DexBackedMethodReference
|
||||||
|
import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction11n
|
||||||
|
|
||||||
@Patch(
|
@Patch(
|
||||||
name = "Enable seekbar tapping",
|
name = "Enable seekbar tapping",
|
||||||
@ -35,41 +39,65 @@ import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
@Suppress("unused")
|
@Suppress("unused")
|
||||||
object SeekbarTappingPatch : BytecodePatch(
|
object SeekbarTappingPatch : BytecodePatch(
|
||||||
setOf(
|
setOf(SeekbarTappingFingerprint)
|
||||||
SeekbarTappingReferenceFingerprint,
|
|
||||||
SeekbarTappingFingerprint
|
|
||||||
)
|
|
||||||
) {
|
) {
|
||||||
override fun execute(context: BytecodeContext) {
|
override fun execute(context: BytecodeContext) {
|
||||||
SeekbarTappingReferenceFingerprint.result?.let {
|
|
||||||
it.mutableMethod.apply {
|
|
||||||
TappingLabel = """
|
|
||||||
invoke-static {}, $SEEKBAR->enableSeekbarTapping()Z
|
|
||||||
move-result v0
|
|
||||||
if-eqz v0, :disabled
|
|
||||||
invoke-virtual { p0, v2 }, ${getInstruction<ReferenceInstruction>(it.scanResult.patternScanResult!!.startIndex).reference}
|
|
||||||
invoke-virtual { p0, v2 }, ${getInstruction<ReferenceInstruction>(it.scanResult.patternScanResult!!.endIndex - 1).reference}
|
|
||||||
"""
|
|
||||||
}
|
|
||||||
} ?: throw SeekbarTappingReferenceFingerprint.exception
|
|
||||||
|
|
||||||
SeekbarTappingFingerprint.result?.let {
|
SeekbarTappingFingerprint.result?.let {
|
||||||
it.mutableMethod.apply {
|
it.mutableMethod.apply {
|
||||||
|
val tapSeekIndex = it.scanResult.patternScanResult!!.startIndex + 1
|
||||||
|
val tapSeekReference = getInstruction<BuilderInstruction35c>(tapSeekIndex).reference
|
||||||
|
val tapSeekClass =
|
||||||
|
context
|
||||||
|
.findClass(((tapSeekReference) as DexBackedMethodReference).definingClass)!!
|
||||||
|
.mutableClass
|
||||||
|
val tapSeekMethods = mutableMapOf<String, MutableMethod>()
|
||||||
|
|
||||||
|
for (method in tapSeekClass.methods) {
|
||||||
|
if (method.implementation == null)
|
||||||
|
continue
|
||||||
|
|
||||||
|
val instructions = method.implementation!!.instructions
|
||||||
|
// here we make sure we actually find the method because it has more than 7 instructions
|
||||||
|
if (instructions.count() != 10)
|
||||||
|
continue
|
||||||
|
|
||||||
|
// we know that the 7th instruction has the opcode CONST_4
|
||||||
|
val instruction = instructions.elementAt(6)
|
||||||
|
if (instruction.opcode != Opcode.CONST_4)
|
||||||
|
continue
|
||||||
|
|
||||||
|
// the literal for this instruction has to be either 1 or 2
|
||||||
|
val literal = (instruction as Instruction11n).narrowLiteral
|
||||||
|
|
||||||
|
// method founds
|
||||||
|
if (literal == 1)
|
||||||
|
tapSeekMethods["P"] = method
|
||||||
|
else if (literal == 2)
|
||||||
|
tapSeekMethods["O"] = method
|
||||||
|
}
|
||||||
|
|
||||||
|
val pMethod = tapSeekMethods["P"]
|
||||||
|
?: throw PatchException("tapSeekMethod not found")
|
||||||
|
val oMethod = tapSeekMethods["O"]
|
||||||
|
?: throw PatchException("tapSeekMethod not found")
|
||||||
|
|
||||||
val insertIndex = it.scanResult.patternScanResult!!.startIndex + 2
|
val insertIndex = it.scanResult.patternScanResult!!.startIndex + 2
|
||||||
|
|
||||||
addInstructionsWithLabels(
|
addInstructionsWithLabels(
|
||||||
insertIndex,
|
insertIndex, """
|
||||||
TappingLabel,
|
invoke-static {}, $SEEKBAR->enableSeekbarTapping()Z
|
||||||
ExternalLabel("disabled", getInstruction(insertIndex))
|
move-result v0
|
||||||
|
if-eqz v0, :disabled
|
||||||
|
invoke-virtual { p0, v2 }, ${oMethod.definingClass}->${oMethod.name}(I)V
|
||||||
|
invoke-virtual { p0, v2 }, ${pMethod.definingClass}->${pMethod.name}(I)V
|
||||||
|
""", ExternalLabel("disabled", getInstruction(insertIndex))
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
} ?: throw SeekbarTappingFingerprint.exception
|
} ?: throw SeekbarTappingFingerprint.exception
|
||||||
|
@ -1,31 +0,0 @@
|
|||||||
package app.revanced.patches.youtube.seekbar.tapping.fingerprints
|
|
||||||
|
|
||||||
import app.revanced.patcher.extensions.or
|
|
||||||
import app.revanced.patcher.fingerprint.MethodFingerprint
|
|
||||||
import com.android.tools.smali.dexlib2.AccessFlags
|
|
||||||
import com.android.tools.smali.dexlib2.Opcode
|
|
||||||
|
|
||||||
object SeekbarTappingReferenceFingerprint : MethodFingerprint(
|
|
||||||
returnType = "Z",
|
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.PUBLIC,
|
|
||||||
parameters = listOf("L"),
|
|
||||||
opcodes = listOf(
|
|
||||||
Opcode.INVOKE_VIRTUAL, // oMethodReference
|
|
||||||
Opcode.RETURN,
|
|
||||||
Opcode.IGET_OBJECT,
|
|
||||||
Opcode.IGET_BOOLEAN,
|
|
||||||
Opcode.IF_EQZ,
|
|
||||||
Opcode.INVOKE_VIRTUAL,
|
|
||||||
Opcode.RETURN,
|
|
||||||
Opcode.INT_TO_FLOAT,
|
|
||||||
Opcode.INT_TO_FLOAT,
|
|
||||||
Opcode.INVOKE_VIRTUAL,
|
|
||||||
Opcode.MOVE_RESULT,
|
|
||||||
Opcode.IF_NEZ,
|
|
||||||
Opcode.RETURN,
|
|
||||||
Opcode.INVOKE_VIRTUAL,
|
|
||||||
Opcode.INVOKE_VIRTUAL, // pMethodReference
|
|
||||||
Opcode.RETURN
|
|
||||||
),
|
|
||||||
customFingerprint = { methodDef, _ -> methodDef.name == "onTouchEvent" }
|
|
||||||
)
|
|
@ -33,9 +33,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -38,9 +38,7 @@ import app.revanced.util.integrations.Constants.SEEKBAR
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -68,9 +68,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -35,9 +35,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -47,9 +47,7 @@ import com.android.tools.smali.dexlib2.immutable.ImmutableMethod
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -48,9 +48,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -40,9 +40,7 @@ import app.revanced.util.resources.ResourceHelper.setMicroG
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -18,7 +18,6 @@ import app.revanced.patches.youtube.utils.playerresponse.PlayerResponsePatch
|
|||||||
import app.revanced.patches.youtube.utils.returnyoutubedislike.general.fingerprints.DislikeFingerprint
|
import app.revanced.patches.youtube.utils.returnyoutubedislike.general.fingerprints.DislikeFingerprint
|
||||||
import app.revanced.patches.youtube.utils.returnyoutubedislike.general.fingerprints.LikeFingerprint
|
import app.revanced.patches.youtube.utils.returnyoutubedislike.general.fingerprints.LikeFingerprint
|
||||||
import app.revanced.patches.youtube.utils.returnyoutubedislike.general.fingerprints.RemoveLikeFingerprint
|
import app.revanced.patches.youtube.utils.returnyoutubedislike.general.fingerprints.RemoveLikeFingerprint
|
||||||
import app.revanced.patches.youtube.utils.returnyoutubedislike.general.fingerprints.SpoofAppVersionPatchFingerprint
|
|
||||||
import app.revanced.patches.youtube.utils.returnyoutubedislike.general.fingerprints.TextComponentAtomicReferenceFingerprint
|
import app.revanced.patches.youtube.utils.returnyoutubedislike.general.fingerprints.TextComponentAtomicReferenceFingerprint
|
||||||
import app.revanced.patches.youtube.utils.returnyoutubedislike.general.fingerprints.TextComponentAtomicReferenceLegacyFingerprint
|
import app.revanced.patches.youtube.utils.returnyoutubedislike.general.fingerprints.TextComponentAtomicReferenceLegacyFingerprint
|
||||||
import app.revanced.patches.youtube.utils.returnyoutubedislike.general.fingerprints.TextComponentConstructorFingerprint
|
import app.revanced.patches.youtube.utils.returnyoutubedislike.general.fingerprints.TextComponentConstructorFingerprint
|
||||||
@ -45,7 +44,6 @@ import com.android.tools.smali.dexlib2.iface.reference.Reference
|
|||||||
ReturnYouTubeDislikeOldLayoutPatch::class,
|
ReturnYouTubeDislikeOldLayoutPatch::class,
|
||||||
ReturnYouTubeDislikeShortsPatch::class,
|
ReturnYouTubeDislikeShortsPatch::class,
|
||||||
SettingsPatch::class,
|
SettingsPatch::class,
|
||||||
SpoofAppVersionPatch::class,
|
|
||||||
VideoIdPatch::class
|
VideoIdPatch::class
|
||||||
],
|
],
|
||||||
compatiblePackages = [
|
compatiblePackages = [
|
||||||
@ -65,9 +63,7 @@ import com.android.tools.smali.dexlib2.iface.reference.Reference
|
|||||||
"18.37.36",
|
"18.37.36",
|
||||||
"18.38.44",
|
"18.38.44",
|
||||||
"18.39.41",
|
"18.39.41",
|
||||||
"18.40.34",
|
"18.40.34"
|
||||||
"18.41.39",
|
|
||||||
"18.42.41"
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
@ -78,7 +74,6 @@ object ReturnYouTubeDislikePatch : BytecodePatch(
|
|||||||
DislikeFingerprint,
|
DislikeFingerprint,
|
||||||
LikeFingerprint,
|
LikeFingerprint,
|
||||||
RemoveLikeFingerprint,
|
RemoveLikeFingerprint,
|
||||||
SpoofAppVersionPatchFingerprint,
|
|
||||||
TextComponentConstructorFingerprint
|
TextComponentConstructorFingerprint
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
@ -196,23 +191,6 @@ object ReturnYouTubeDislikePatch : BytecodePatch(
|
|||||||
}
|
}
|
||||||
} ?: throw TextComponentConstructorFingerprint.exception
|
} ?: throw TextComponentConstructorFingerprint.exception
|
||||||
|
|
||||||
if (SettingsPatch.upward1840) {
|
|
||||||
SpoofAppVersionPatchFingerprint.result?.let {
|
|
||||||
it.mutableMethod.apply {
|
|
||||||
addInstructionsWithLabels(
|
|
||||||
0, """
|
|
||||||
sget-object v0, Lapp/revanced/integrations/settings/SettingsEnum;->INITIALIZED:Lapp/revanced/integrations/settings/SettingsEnum;
|
|
||||||
invoke-virtual {v0}, Lapp/revanced/integrations/settings/SettingsEnum;->getBoolean()Z
|
|
||||||
move-result v0
|
|
||||||
if-nez v0, :initialized
|
|
||||||
const-string v0, "18.39.41"
|
|
||||||
return-object v0
|
|
||||||
""", ExternalLabel("initialized", getInstruction(0))
|
|
||||||
)
|
|
||||||
}
|
|
||||||
} ?: throw SpoofAppVersionPatchFingerprint.exception
|
|
||||||
}
|
|
||||||
|
|
||||||
if (SettingsPatch.upward1834) {
|
if (SettingsPatch.upward1834) {
|
||||||
LithoFilterPatch.addFilter(FILTER_CLASS_DESCRIPTOR)
|
LithoFilterPatch.addFilter(FILTER_CLASS_DESCRIPTOR)
|
||||||
PlayerResponsePatch.injectCall("$FILTER_CLASS_DESCRIPTOR->newPlayerResponseVideoId(Ljava/lang/String;Z)V")
|
PlayerResponsePatch.injectCall("$FILTER_CLASS_DESCRIPTOR->newPlayerResponseVideoId(Ljava/lang/String;Z)V")
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
package app.revanced.patches.youtube.utils.returnyoutubedislike.general.fingerprints
|
|
||||||
|
|
||||||
import app.revanced.patcher.fingerprint.MethodFingerprint
|
|
||||||
|
|
||||||
/**
|
|
||||||
* In YouTube v18.40.34+, |segmented_like_dislike_button.eml| is no longer used by some accounts (a/b tests).
|
|
||||||
* https://github.com/ReVanced/revanced-patches/issues/2904
|
|
||||||
*
|
|
||||||
* I suspect this is due to a new type of SpannableString called 'RollingNumber' in YouTube's internal code.
|
|
||||||
* No in-depth reverse engineering has been done on this yet.
|
|
||||||
*
|
|
||||||
* After installing the app for the first time, the app version is spoofed to v18.39.41 for about 500ms before the restart dialog is shown.
|
|
||||||
* By doing this we can bypass these a/b tests being applied.
|
|
||||||
*/
|
|
||||||
object SpoofAppVersionPatchFingerprint : MethodFingerprint(
|
|
||||||
customFingerprint = { methodDef, _ ->
|
|
||||||
methodDef.definingClass == "Lapp/revanced/integrations/patches/misc/SpoofAppVersionPatch;"
|
|
||||||
&& methodDef.name == "getVersionOverride"
|
|
||||||
}
|
|
||||||
)
|
|
@ -8,7 +8,9 @@ import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWith
|
|||||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||||
import app.revanced.patcher.extensions.InstructionExtensions.removeInstruction
|
import app.revanced.patcher.extensions.InstructionExtensions.removeInstruction
|
||||||
import app.revanced.patcher.patch.BytecodePatch
|
import app.revanced.patcher.patch.BytecodePatch
|
||||||
|
import app.revanced.patcher.patch.PatchException
|
||||||
import app.revanced.patcher.patch.annotation.Patch
|
import app.revanced.patcher.patch.annotation.Patch
|
||||||
|
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
|
||||||
import app.revanced.patcher.util.smali.ExternalLabel
|
import app.revanced.patcher.util.smali.ExternalLabel
|
||||||
import app.revanced.patches.youtube.utils.returnyoutubedislike.shorts.fingerprints.IncognitoFingerprint
|
import app.revanced.patches.youtube.utils.returnyoutubedislike.shorts.fingerprints.IncognitoFingerprint
|
||||||
import app.revanced.patches.youtube.utils.returnyoutubedislike.shorts.fingerprints.ShortsTextViewFingerprint
|
import app.revanced.patches.youtube.utils.returnyoutubedislike.shorts.fingerprints.ShortsTextViewFingerprint
|
||||||
@ -31,23 +33,25 @@ object ReturnYouTubeDislikeShortsPatch : BytecodePatch(
|
|||||||
override fun execute(context: BytecodeContext) {
|
override fun execute(context: BytecodeContext) {
|
||||||
ShortsTextViewFingerprint.result?.let {
|
ShortsTextViewFingerprint.result?.let {
|
||||||
it.mutableMethod.apply {
|
it.mutableMethod.apply {
|
||||||
val patternResult = it.scanResult.patternScanResult!!
|
val startIndex = it.scanResult.patternScanResult!!.startIndex
|
||||||
|
|
||||||
|
val isDisLikesBooleanIndex = getTargetIndexDownTo(startIndex, Opcode.IGET_BOOLEAN)
|
||||||
|
val textViewFieldIndex = getTargetIndexDownTo(startIndex, Opcode.IGET_OBJECT)
|
||||||
|
|
||||||
val isDisLikesBooleanIndex =
|
|
||||||
implementation!!.instructions.indexOfFirst { instruction ->
|
|
||||||
instruction.opcode == Opcode.IGET_BOOLEAN
|
|
||||||
}
|
|
||||||
// If the field is true, the TextView is for a dislike button.
|
// If the field is true, the TextView is for a dislike button.
|
||||||
val isDisLikesBooleanReference =
|
val isDisLikesBooleanReference =
|
||||||
getInstruction<ReferenceInstruction>(isDisLikesBooleanIndex).reference
|
getInstruction<ReferenceInstruction>(isDisLikesBooleanIndex).reference
|
||||||
|
|
||||||
val textViewFieldReference = // Like/Dislike button TextView field
|
val textViewFieldReference = // Like/Dislike button TextView field
|
||||||
getInstruction<ReferenceInstruction>(patternResult.endIndex).reference
|
getInstruction<ReferenceInstruction>(textViewFieldIndex).reference
|
||||||
|
|
||||||
// Check if the hooked TextView object is that of the dislike button.
|
// Check if the hooked TextView object is that of the dislike button.
|
||||||
// If RYD is disabled, or the TextView object is not that of the dislike button, the execution flow is not interrupted.
|
// If RYD is disabled, or the TextView object is not that of the dislike button, the execution flow is not interrupted.
|
||||||
// Otherwise, the TextView object is modified, and the execution flow is interrupted to prevent it from being changed afterward.
|
// Otherwise, the TextView object is modified, and the execution flow is interrupted to prevent it from being changed afterward.
|
||||||
val insertIndex = patternResult.startIndex + 6
|
val insertIndex = implementation!!.instructions.indexOfFirst { instruction ->
|
||||||
|
instruction.opcode == Opcode.CHECK_CAST
|
||||||
|
} + 1
|
||||||
|
|
||||||
addInstructionsWithLabels(
|
addInstructionsWithLabels(
|
||||||
insertIndex, """
|
insertIndex, """
|
||||||
# Check, if the TextView is for a dislike button
|
# Check, if the TextView is for a dislike button
|
||||||
@ -100,6 +104,19 @@ object ReturnYouTubeDislikeShortsPatch : BytecodePatch(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun MutableMethod.getTargetIndexDownTo(
|
||||||
|
startIndex: Int,
|
||||||
|
opcode: Opcode
|
||||||
|
): Int {
|
||||||
|
for (index in startIndex downTo 0) {
|
||||||
|
if (getInstruction(index).opcode != opcode)
|
||||||
|
continue
|
||||||
|
|
||||||
|
return index
|
||||||
|
}
|
||||||
|
throw PatchException("Failed to find target method")
|
||||||
|
}
|
||||||
|
|
||||||
private const val INTEGRATIONS_RYD_CLASS_DESCRIPTOR =
|
private const val INTEGRATIONS_RYD_CLASS_DESCRIPTOR =
|
||||||
"$UTILS_PATH/ReturnYouTubeDislikePatch;"
|
"$UTILS_PATH/ReturnYouTubeDislikePatch;"
|
||||||
}
|
}
|
||||||
|
@ -7,22 +7,38 @@ object ShortsTextViewFingerprint : MethodFingerprint(
|
|||||||
returnType = "V",
|
returnType = "V",
|
||||||
parameters = listOf("L", "L"),
|
parameters = listOf("L", "L"),
|
||||||
opcodes = listOf(
|
opcodes = listOf(
|
||||||
Opcode.INVOKE_SUPER, // first instruction of method
|
|
||||||
Opcode.IF_NEZ,
|
|
||||||
Opcode.RETURN_VOID,
|
|
||||||
Opcode.INVOKE_VIRTUAL,
|
|
||||||
Opcode.MOVE_RESULT_OBJECT,
|
|
||||||
Opcode.CHECK_CAST,
|
|
||||||
Opcode.SGET_OBJECT, // insertion point, must be after constructor call to parent class
|
|
||||||
Opcode.INVOKE_VIRTUAL,
|
|
||||||
Opcode.MOVE_RESULT,
|
|
||||||
Opcode.CONST_4,
|
|
||||||
Opcode.IF_EQZ,
|
Opcode.IF_EQZ,
|
||||||
Opcode.CONST_4,
|
Opcode.INVOKE_STATIC,
|
||||||
Opcode.IF_EQ,
|
Opcode.MOVE_RESULT_OBJECT,
|
||||||
Opcode.CONST_4,
|
Opcode.GOTO,
|
||||||
Opcode.IF_EQ,
|
Opcode.IGET,
|
||||||
Opcode.RETURN_VOID,
|
Opcode.INVOKE_STATIC,
|
||||||
Opcode.IGET_OBJECT, // TextView field
|
Opcode.MOVE_RESULT_OBJECT,
|
||||||
)
|
Opcode.IF_NEZ,
|
||||||
|
Opcode.SGET_OBJECT,
|
||||||
|
Opcode.SGET_OBJECT,
|
||||||
|
Opcode.IF_NE,
|
||||||
|
Opcode.IGET,
|
||||||
|
Opcode.AND_INT_LIT8,
|
||||||
|
Opcode.IF_EQZ,
|
||||||
|
Opcode.IGET_OBJECT,
|
||||||
|
Opcode.IF_NEZ,
|
||||||
|
Opcode.SGET_OBJECT,
|
||||||
|
Opcode.INVOKE_STATIC,
|
||||||
|
Opcode.MOVE_RESULT_OBJECT,
|
||||||
|
Opcode.GOTO,
|
||||||
|
Opcode.IGET,
|
||||||
|
Opcode.AND_INT_LIT8,
|
||||||
|
Opcode.IF_EQZ,
|
||||||
|
Opcode.IGET_OBJECT,
|
||||||
|
Opcode.IF_NEZ,
|
||||||
|
Opcode.SGET_OBJECT,
|
||||||
|
Opcode.INVOKE_STATIC,
|
||||||
|
Opcode.MOVE_RESULT_OBJECT,
|
||||||
|
Opcode.INVOKE_VIRTUAL,
|
||||||
|
Opcode.RETURN_VOID
|
||||||
|
),
|
||||||
|
customFingerprint = custom@{ _, classDef ->
|
||||||
|
classDef.methods.count() == 3
|
||||||
|
}
|
||||||
)
|
)
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user