From f8343ae9f6a3081b6fd95c77f46e04b3b8b23588 Mon Sep 17 00:00:00 2001 From: Nuckyz <61953774+Nuckyz@users.noreply.github.com> Date: Wed, 28 May 2025 06:55:25 -0300 Subject: [PATCH] refactor(Spotify): Improve protobuf array list mutability patch (#5053) Co-authored-by: oSumAtrIX --- .../app/revanced/patches/spotify/misc/Fingerprints.kt | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/patches/src/main/kotlin/app/revanced/patches/spotify/misc/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/spotify/misc/Fingerprints.kt index daddd2841..708ec7e77 100644 --- a/patches/src/main/kotlin/app/revanced/patches/spotify/misc/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/spotify/misc/Fingerprints.kt @@ -65,8 +65,15 @@ internal val protobufListsFingerprint = fingerprint { custom { method, _ -> method.name == "emptyProtobufList" } } -internal val protobufListRemoveFingerprint = fingerprint { - custom { method, _ -> method.name == "remove" } +internal val abstractProtobufListEnsureIsMutableFingerprint = fingerprint { + accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL) + parameters() + returns("V") + custom { method, _ -> + method.indexOfFirstInstruction { + getReference()?.type == "Ljava/lang/UnsupportedOperationException;" + } >= 0 + } } internal val homeSectionFingerprint = fingerprint {