From d771589db160fcec20035bf50ea6c2c2de7a880a Mon Sep 17 00:00:00 2001 From: inotia00 Date: Thu, 6 Jul 2023 11:45:50 +0900 Subject: [PATCH] fix(youtube/litho-filter): incorrect smali syntax --- .../patches/music/utils/litho/patch/LithoFilterPatch.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) 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" } }