From f4a04e7917d6e9cd33ab52d8bc4064f164529cb9 Mon Sep 17 00:00:00 2001 From: Pun Butrach Date: Mon, 12 Jan 2026 17:25:01 +0700 Subject: [PATCH] refactor(photomath): EnableBookpointPatch --- .../unlock/bookpoint/EnableBookpointPatch.kt | 7 ++--- .../misc/unlock/bookpoint/Fingerprints.kt | 26 ++++++++++++------- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/patches/src/main/kotlin/app/revanced/patches/photomath/misc/unlock/bookpoint/EnableBookpointPatch.kt b/patches/src/main/kotlin/app/revanced/patches/photomath/misc/unlock/bookpoint/EnableBookpointPatch.kt index 7617395e1..72091c63c 100644 --- a/patches/src/main/kotlin/app/revanced/patches/photomath/misc/unlock/bookpoint/EnableBookpointPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/photomath/misc/unlock/bookpoint/EnableBookpointPatch.kt @@ -1,14 +1,15 @@ package app.revanced.patches.photomath.misc.unlock.bookpoint import app.revanced.patcher.extensions.replaceInstructions -import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patcher.patch.creatingBytecodePatch -val enableBookpointPatch = bytecodePatch( +@Suppress("unused") +val `Enable bookpoint` by creatingBytecodePatch( description = "Enables textbook access", ) { apply { - isBookpointEnabledFingerprint.method.replaceInstructions( + isBookpointEnabledMethod.replaceInstructions( 0, """ const/4 v0, 0x1 diff --git a/patches/src/main/kotlin/app/revanced/patches/photomath/misc/unlock/bookpoint/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/photomath/misc/unlock/bookpoint/Fingerprints.kt index 6722f4223..3b316d054 100644 --- a/patches/src/main/kotlin/app/revanced/patches/photomath/misc/unlock/bookpoint/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/photomath/misc/unlock/bookpoint/Fingerprints.kt @@ -1,16 +1,22 @@ package app.revanced.patches.photomath.misc.unlock.bookpoint +import app.revanced.patcher.BytecodePatchContextMethodMatching.gettingFirstMutableMethodDeclaratively +import app.revanced.patcher.accessFlags +import app.revanced.patcher.instructions +import app.revanced.patcher.invoke +import app.revanced.patcher.parameterTypes +import app.revanced.patcher.patch.BytecodePatchContext +import app.revanced.patcher.returnType import com.android.tools.smali.dexlib2.AccessFlags -import app.revanced.patcher.fingerprint -internal val isBookpointEnabledFingerprint = fingerprint { +internal val BytecodePatchContext.isBookpointEnabledMethod by gettingFirstMutableMethodDeclaratively { accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL) - returns("Z") - parameters() - strings( - "NoGeoData", - "NoCountryInGeo", - "RemoteConfig", - "GeoRCMismatch" + returnType("Z") + parameterTypes() + instructions( + "NoGeoData"(), + "NoCountryInGeo"(), + "RemoteConfig"(), + "GeoRCMismatch"() ) -} \ No newline at end of file +}