diff --git a/src/main/kotlin/app/revanced/patches/music/utils/litho/patch/LithoFilterPatch.kt b/src/main/kotlin/app/revanced/patches/music/utils/litho/patch/LithoFilterPatch.kt index d6e1ffeea..0ca3260ea 100644 --- a/src/main/kotlin/app/revanced/patches/music/utils/litho/patch/LithoFilterPatch.kt +++ b/src/main/kotlin/app/revanced/patches/music/utils/litho/patch/LithoFilterPatch.kt @@ -35,7 +35,7 @@ class LithoFilterPatch : BytecodePatch( """ new-instance v1, $classDescriptor invoke-direct {v1}, $classDescriptor->()V - const/4 v2, ${filterCount++} + ${getConstString(2, filterCount++)} aput-object v1, v0, v2 """ ) @@ -46,12 +46,17 @@ class LithoFilterPatch : BytecodePatch( } override fun close() = LithoFilterFingerprint.result!! - .mutableMethod.replaceInstruction(0, "const/4 v0, $filterCount") + .mutableMethod.replaceInstruction(0, getConstString(0, filterCount)) companion object { internal lateinit var addFilter: (String) -> Unit private set 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" } }