fix(youtube/litho-filter): incorrect smali syntax

This commit is contained in:
inotia00 2023-07-06 11:45:50 +09:00
parent 39029bae09
commit d771589db1

View File

@ -35,7 +35,7 @@ class LithoFilterPatch : BytecodePatch(
""" """
new-instance v1, $classDescriptor new-instance v1, $classDescriptor
invoke-direct {v1}, $classDescriptor-><init>()V invoke-direct {v1}, $classDescriptor-><init>()V
const/4 v2, ${filterCount++} ${getConstString(2, filterCount++)}
aput-object v1, v0, v2 aput-object v1, v0, v2
""" """
) )
@ -46,12 +46,17 @@ class LithoFilterPatch : BytecodePatch(
} }
override fun close() = LithoFilterFingerprint.result!! override fun close() = LithoFilterFingerprint.result!!
.mutableMethod.replaceInstruction(0, "const/4 v0, $filterCount") .mutableMethod.replaceInstruction(0, getConstString(0, filterCount))
companion object { companion object {
internal lateinit var addFilter: (String) -> Unit internal lateinit var addFilter: (String) -> Unit
private set private set
private var filterCount = 0 private var filterCount = 0
private fun getConstString(
register: Int,
count: Int
): String = if (count >= 8) "const/16 v$register, $count" else "const/4 v$register, $count"
} }
} }