mirror of
https://github.com/revanced/revanced-patches.git
synced 2025-12-12 20:33:55 +01:00
fix(Duolingo - Disable ads): Support latest app target (#5782)
This commit is contained in:
@@ -19,7 +19,9 @@ val disableAdsPatch = bytecodePatch(
|
|||||||
// SharedPreferences has a debug boolean value with key "disable_ads", which maps to "DebugCategory.DISABLE_ADS".
|
// SharedPreferences has a debug boolean value with key "disable_ads", which maps to "DebugCategory.DISABLE_ADS".
|
||||||
//
|
//
|
||||||
// MonetizationDebugSettings seems to be the most general setting to work fine.
|
// MonetizationDebugSettings seems to be the most general setting to work fine.
|
||||||
initializeMonetizationDebugSettingsFingerprint.method.apply {
|
initializeMonetizationDebugSettingsFingerprint
|
||||||
|
.match(monetizationDebugSettingsToStringFingerprint.classDef)
|
||||||
|
.method.apply {
|
||||||
val insertIndex = initializeMonetizationDebugSettingsFingerprint.patternMatch!!.startIndex
|
val insertIndex = initializeMonetizationDebugSettingsFingerprint.patternMatch!!.startIndex
|
||||||
val register = getInstruction<TwoRegisterInstruction>(insertIndex).registerA
|
val register = getInstruction<TwoRegisterInstruction>(insertIndex).registerA
|
||||||
|
|
||||||
|
|||||||
@@ -7,13 +7,11 @@ import com.android.tools.smali.dexlib2.Opcode
|
|||||||
internal val initializeMonetizationDebugSettingsFingerprint = fingerprint {
|
internal val initializeMonetizationDebugSettingsFingerprint = fingerprint {
|
||||||
accessFlags(AccessFlags.PUBLIC, AccessFlags.CONSTRUCTOR)
|
accessFlags(AccessFlags.PUBLIC, AccessFlags.CONSTRUCTOR)
|
||||||
returns("V")
|
returns("V")
|
||||||
parameters(
|
// Parameters have not been reliable for fingerprinting between versions.
|
||||||
"Z", // disableAds
|
|
||||||
"Z", // useDebugBilling
|
|
||||||
"Z", // showManageSubscriptions
|
|
||||||
"Z", // alwaysShowSuperAds
|
|
||||||
// matches "Lcom/duolingo/debug/FamilyQuestOverride;" or "Lcom/duolingo/data/debug/monetization/FamilyQuestOverride;"
|
|
||||||
"Lcom/duolingo/",
|
|
||||||
)
|
|
||||||
opcodes(Opcode.IPUT_BOOLEAN)
|
opcodes(Opcode.IPUT_BOOLEAN)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal val monetizationDebugSettingsToStringFingerprint = fingerprint {
|
||||||
|
strings("MonetizationDebugSettings(") // Partial string match.
|
||||||
|
custom { method, _ -> method.name == "toString" }
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user