From ac36d19693390db8f404ed30963aefb2fb7519e0 Mon Sep 17 00:00:00 2001 From: oSumAtrIX Date: Wed, 20 Apr 2022 02:45:50 +0200 Subject: [PATCH] fix: string signature in `SignatureResolver` Signed-off-by: oSumAtrIX --- .../patcher/signature/resolver/SignatureResolver.kt | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/kotlin/app/revanced/patcher/signature/resolver/SignatureResolver.kt b/src/main/kotlin/app/revanced/patcher/signature/resolver/SignatureResolver.kt index 5f17999b..9b95eea0 100644 --- a/src/main/kotlin/app/revanced/patcher/signature/resolver/SignatureResolver.kt +++ b/src/main/kotlin/app/revanced/patcher/signature/resolver/SignatureResolver.kt @@ -72,17 +72,18 @@ internal class SignatureResolver( } } - method.implementation?.instructions?.let { instructions -> - signature.strings?.let { - val stringsList = it as MutableSet + signature.strings?.let { strings -> + method.implementation ?: return null + + method.implementation!!.instructions.let { instructions -> + val stringsList = strings.toMutableList() for (instruction in instructions) { if (instruction.opcode != Opcode.CONST_STRING) continue val string = ((instruction as Instruction21c).reference as StringReference).string - if (stringsList.contains(string)) { - stringsList.remove(string) - } + val i = stringsList.indexOfFirst { it == string } + if (i != -1) stringsList.removeAt(i) } if (stringsList.isNotEmpty()) return null