mirror of
https://github.com/inotia00/revanced-patches.git
synced 2025-05-28 21:00:19 +02:00
feat(music/hide-get-premium): patch now also hides the premium membership label in settings
This commit is contained in:
parent
a1fa3a2594
commit
0473a62749
@ -18,5 +18,5 @@ object HideGetPremiumFingerprint : MethodFingerprint(
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
Opcode.INVOKE_STATIC
|
||||
),
|
||||
listOf("FEmusic_history")
|
||||
strings = listOf("FEmusic_history")
|
||||
)
|
||||
|
@ -0,0 +1,11 @@
|
||||
package app.revanced.patches.music.misc.premium.fingerprints
|
||||
|
||||
import app.revanced.patcher.extensions.or
|
||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
|
||||
object MembershipSettingsFingerprint : MethodFingerprint(
|
||||
returnType = "Ljava/lang/CharSequence;",
|
||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||
parameters = emptyList()
|
||||
)
|
@ -0,0 +1,12 @@
|
||||
package app.revanced.patches.music.misc.premium.fingerprints
|
||||
|
||||
import app.revanced.patcher.extensions.or
|
||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
|
||||
object MembershipSettingsParentFingerprint : MethodFingerprint(
|
||||
returnType = "L",
|
||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||
parameters = emptyList(),
|
||||
strings = listOf("SPmanage_red")
|
||||
)
|
@ -5,13 +5,17 @@ import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint.Companion.resolve
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
import app.revanced.patcher.patch.annotations.DependsOn
|
||||
import app.revanced.patcher.patch.annotations.Patch
|
||||
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
|
||||
import app.revanced.patches.music.misc.premium.fingerprints.AccountMenuFooterFingerprint
|
||||
import app.revanced.patches.music.misc.premium.fingerprints.HideGetPremiumFingerprint
|
||||
import app.revanced.patches.music.misc.premium.fingerprints.MembershipSettingsFingerprint
|
||||
import app.revanced.patches.music.misc.premium.fingerprints.MembershipSettingsParentFingerprint
|
||||
import app.revanced.patches.music.utils.annotations.MusicCompatibility
|
||||
import app.revanced.patches.music.utils.resourceid.patch.SharedResourceIdPatch
|
||||
import app.revanced.patches.music.utils.resourceid.patch.SharedResourceIdPatch.Companion.PrivacyTosFooter
|
||||
@ -24,13 +28,14 @@ import com.android.tools.smali.dexlib2.iface.reference.Reference
|
||||
|
||||
@Patch
|
||||
@Name("Hide get premium")
|
||||
@Description("Hides \"Get Premium\" label from the account menu.")
|
||||
@Description("Hides \"Get Premium\" label from the account menu or settings.")
|
||||
@DependsOn([SharedResourceIdPatch::class])
|
||||
@MusicCompatibility
|
||||
class HideGetPremiumPatch : BytecodePatch(
|
||||
listOf(
|
||||
AccountMenuFooterFingerprint,
|
||||
HideGetPremiumFingerprint
|
||||
HideGetPremiumFingerprint,
|
||||
MembershipSettingsParentFingerprint
|
||||
)
|
||||
) {
|
||||
override fun execute(context: BytecodeContext) {
|
||||
@ -80,6 +85,24 @@ class HideGetPremiumPatch : BytecodePatch(
|
||||
}
|
||||
} ?: throw AccountMenuFooterFingerprint.exception
|
||||
|
||||
MembershipSettingsParentFingerprint.result?.let { parentResult ->
|
||||
MembershipSettingsFingerprint.also {
|
||||
it.resolve(
|
||||
context,
|
||||
parentResult.classDef
|
||||
)
|
||||
}.result?.let {
|
||||
it.mutableMethod.apply {
|
||||
addInstructions(
|
||||
0, """
|
||||
const/4 v0, 0x0
|
||||
return-object v0
|
||||
"""
|
||||
)
|
||||
}
|
||||
} ?: throw MembershipSettingsFingerprint.exception
|
||||
} ?: throw MembershipSettingsParentFingerprint.exception
|
||||
|
||||
}
|
||||
|
||||
private companion object {
|
||||
|
Loading…
x
Reference in New Issue
Block a user