From df5a5f430d7859444b91a2b67f06763c0a36384a Mon Sep 17 00:00:00 2001 From: Lea Date: Wed, 24 Jul 2024 13:53:09 +0200 Subject: [PATCH] Revert "feat(Tasker): Remove `Unlock trial` patch" This reverts commit 8354a879cfc6028820e2bb0e01d6f607e145c0f6. --- .../annotations/UnlockTrialCompatibility.kt | 8 +++++ .../fingerprints/CheckLicenseFingerprint.kt | 7 +++++ .../trial/unlock/patch/UnlockLicensePatch.kt | 30 +++++++++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 src/main/kotlin/app/revanced/patches/tasker/trial/unlock/annotations/UnlockTrialCompatibility.kt create mode 100644 src/main/kotlin/app/revanced/patches/tasker/trial/unlock/fingerprints/CheckLicenseFingerprint.kt create mode 100644 src/main/kotlin/app/revanced/patches/tasker/trial/unlock/patch/UnlockLicensePatch.kt diff --git a/src/main/kotlin/app/revanced/patches/tasker/trial/unlock/annotations/UnlockTrialCompatibility.kt b/src/main/kotlin/app/revanced/patches/tasker/trial/unlock/annotations/UnlockTrialCompatibility.kt new file mode 100644 index 00000000..3f1c42ea --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/tasker/trial/unlock/annotations/UnlockTrialCompatibility.kt @@ -0,0 +1,8 @@ +package app.revanced.patches.tasker.trial.unlock.annotations + +import app.revanced.patcher.annotation.Compatibility +import app.revanced.patcher.annotation.Package + +@Compatibility([Package("net.dinglisch.android.taskerm")]) +@Target(AnnotationTarget.CLASS) +internal annotation class UnlockTrialCompatibility diff --git a/src/main/kotlin/app/revanced/patches/tasker/trial/unlock/fingerprints/CheckLicenseFingerprint.kt b/src/main/kotlin/app/revanced/patches/tasker/trial/unlock/fingerprints/CheckLicenseFingerprint.kt new file mode 100644 index 00000000..d02ce926 --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/tasker/trial/unlock/fingerprints/CheckLicenseFingerprint.kt @@ -0,0 +1,7 @@ +package app.revanced.patches.tasker.trial.unlock.fingerprints + +import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint + +object CheckLicenseFingerprint : MethodFingerprint( + strings = listOf("Can't check license") +) \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/tasker/trial/unlock/patch/UnlockLicensePatch.kt b/src/main/kotlin/app/revanced/patches/tasker/trial/unlock/patch/UnlockLicensePatch.kt new file mode 100644 index 00000000..b96823f0 --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/tasker/trial/unlock/patch/UnlockLicensePatch.kt @@ -0,0 +1,30 @@ +package app.revanced.patches.tasker.trial.unlock.patch + +import app.revanced.extensions.toErrorResult +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.patch.BytecodePatch +import app.revanced.patcher.patch.PatchResultSuccess +import app.revanced.patcher.patch.annotations.Patch +import app.revanced.patches.tasker.trial.unlock.annotations.UnlockTrialCompatibility +import app.revanced.patches.tasker.trial.unlock.fingerprints.CheckLicenseFingerprint + +@Patch +@Name("Unlock trial") +@Description("Unlocks the trial version.") +@UnlockTrialCompatibility +class UnlockLicensePatch : BytecodePatch( + listOf( + CheckLicenseFingerprint + ) +) { + override fun execute(context: BytecodeContext) = CheckLicenseFingerprint + .result + ?.mutableMethod + // Return the method early, which prompts the user with a non dismissible dialog, when the trial period is over. + ?.addInstruction(0, "return-void") + ?.let { PatchResultSuccess() } + ?: CheckLicenseFingerprint.toErrorResult() +} \ No newline at end of file