From 5179e7a0f8716257064f5cc7985295f0e6bc55d2 Mon Sep 17 00:00:00 2001 From: Tim Schneeberger Date: Wed, 23 Nov 2022 07:30:11 +0100 Subject: [PATCH] =?UTF-8?q?feat(twitch):=20=CB=8Bintegrations=CB=8B=20=20d?= =?UTF-8?q?ependency=20patch=20(#1074)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../annotations/IntegrationsCompatibility.kt | 9 +++++++++ .../integrations/fingerprints/InitFingerprint.kt | 16 ++++++++++++++++ .../misc/integrations/patch/IntegrationsPatch.kt | 13 +++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 src/main/kotlin/app/revanced/patches/twitch/misc/integrations/annotations/IntegrationsCompatibility.kt create mode 100644 src/main/kotlin/app/revanced/patches/twitch/misc/integrations/fingerprints/InitFingerprint.kt create mode 100644 src/main/kotlin/app/revanced/patches/twitch/misc/integrations/patch/IntegrationsPatch.kt diff --git a/src/main/kotlin/app/revanced/patches/twitch/misc/integrations/annotations/IntegrationsCompatibility.kt b/src/main/kotlin/app/revanced/patches/twitch/misc/integrations/annotations/IntegrationsCompatibility.kt new file mode 100644 index 000000000..f0e219fbd --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/twitch/misc/integrations/annotations/IntegrationsCompatibility.kt @@ -0,0 +1,9 @@ +package app.revanced.patches.twitch.misc.integrations.annotations + +import app.revanced.patcher.annotation.Compatibility +import app.revanced.patcher.annotation.Package + +@Compatibility([Package("tv.twitch.android.app")]) +@Target(AnnotationTarget.CLASS) +@Retention(AnnotationRetention.RUNTIME) +internal annotation class IntegrationsCompatibility \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/twitch/misc/integrations/fingerprints/InitFingerprint.kt b/src/main/kotlin/app/revanced/patches/twitch/misc/integrations/fingerprints/InitFingerprint.kt new file mode 100644 index 000000000..4e22c792e --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/twitch/misc/integrations/fingerprints/InitFingerprint.kt @@ -0,0 +1,16 @@ +package app.revanced.patches.twitch.misc.integrations.fingerprints + +import app.revanced.patcher.annotation.Name +import app.revanced.patcher.annotation.Version +import app.revanced.patches.twitch.misc.integrations.annotations.IntegrationsCompatibility +import app.revanced.shared.patches.AbstractIntegrationsPatch.IntegrationsFingerprint + +@Name("init-fingerprint") +@IntegrationsCompatibility +@Version("0.0.1") +object InitFingerprint : IntegrationsFingerprint( + customFingerprint = { methodDef -> + methodDef.definingClass.endsWith("/TwitchApplication;") && + methodDef.name == "onCreate" + } +) \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/twitch/misc/integrations/patch/IntegrationsPatch.kt b/src/main/kotlin/app/revanced/patches/twitch/misc/integrations/patch/IntegrationsPatch.kt new file mode 100644 index 000000000..dbe27ff0a --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/twitch/misc/integrations/patch/IntegrationsPatch.kt @@ -0,0 +1,13 @@ +package app.revanced.patches.twitch.misc.integrations.patch + +import app.revanced.patcher.annotation.Name +import app.revanced.patches.twitch.misc.integrations.fingerprints.InitFingerprint +import app.revanced.patches.twitch.misc.integrations.annotations.IntegrationsCompatibility +import app.revanced.shared.patches.AbstractIntegrationsPatch + +@Name("integrations") +@IntegrationsCompatibility +class IntegrationsPatch : AbstractIntegrationsPatch( + "Lapp/revanced/twitch/utils/ReVancedUtils;", + listOf(InitFingerprint) +) \ No newline at end of file