Skip to content

Commit f3ace93

Browse files
committed
Partial match of parameter's package name is sufficient for both cases
1 parent f9a3731 commit f3ace93

File tree

2 files changed

+5
-11
lines changed

2 files changed

+5
-11
lines changed

patches/src/main/kotlin/app/revanced/patches/duolingo/ad/DisableAdsPatch.kt

+2-9
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,8 @@ val disableAdsPatch = bytecodePatch(
1919
// SharedPreferences has a debug boolean value with key "disable_ads", which maps to "DebugCategory.DISABLE_ADS".
2020
//
2121
// MonetizationDebugSettings seems to be the most general setting to work fine.
22-
23-
// FamilyQuestOverride package has been refactored, so check both fully-qualified names.
24-
val oldFingerprint = buildInitMonetizationFingerprint("Lcom/duolingo/debug/FamilyQuestOverride;")
25-
val newFingerprint =
26-
buildInitMonetizationFingerprint("Lcom/duolingo/data/debug/monetization/FamilyQuestOverride;")
27-
val foundFingerprint = if (newFingerprint.methodOrNull != null) newFingerprint else oldFingerprint
28-
29-
foundFingerprint.method.apply {
30-
val insertIndex = foundFingerprint.patternMatch!!.startIndex
22+
initializeMonetizationDebugSettingsFingerprint.method.apply {
23+
val insertIndex = initializeMonetizationDebugSettingsFingerprint.patternMatch!!.startIndex
3124
val register = getInstruction<TwoRegisterInstruction>(insertIndex).registerA
3225

3326
addInstructions(

patches/src/main/kotlin/app/revanced/patches/duolingo/ad/Fingerprints.kt

+3-2
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,16 @@ import app.revanced.patcher.fingerprint
44
import com.android.tools.smali.dexlib2.AccessFlags
55
import com.android.tools.smali.dexlib2.Opcode
66

7-
internal fun buildInitMonetizationFingerprint(lastParam: String) = fingerprint {
7+
internal val initializeMonetizationDebugSettingsFingerprint = fingerprint {
88
accessFlags(AccessFlags.PUBLIC, AccessFlags.CONSTRUCTOR)
99
returns("V")
1010
parameters(
1111
"Z", // disableAds
1212
"Z", // useDebugBilling
1313
"Z", // showManageSubscriptions
1414
"Z", // alwaysShowSuperAds
15-
lastParam,
15+
// matches "Lcom/duolingo/debug/FamilyQuestOverride;" or "Lcom/duolingo/data/debug/monetization/FamilyQuestOverride;"
16+
"Lcom/duolingo/",
1617
)
1718
opcodes(Opcode.IPUT_BOOLEAN)
1819
}

0 commit comments

Comments
 (0)