From 3efcb96735b500dc61583bbd5b935393427e89a1 Mon Sep 17 00:00:00 2001 From: clienthax Date: Mon, 21 Dec 2020 23:15:21 +0000 Subject: [PATCH] notrack patch --- app/src/main/java/com/PatchConfig.java | 1 + .../utilities/analytics/AdjustConfig.java | 44 +++++++++ .../analytics/AnalyticSuperProperties.java | 43 ++++++++- .../utilities/analytics/AnalyticsTracker.java | 41 ++++++++ .../utilities/analytics/AnalyticsUtils.java | 95 +++++++++++++++++++ app/src/main/java/kotlin/Pair.java | 7 ++ .../java/kotlin/jvm/functions/Function0.java | 7 ++ 7 files changed, 237 insertions(+), 1 deletion(-) create mode 100644 app/src/main/java/com/discord/utilities/analytics/AdjustConfig.java create mode 100644 app/src/main/java/com/discord/utilities/analytics/AnalyticsTracker.java create mode 100644 app/src/main/java/com/discord/utilities/analytics/AnalyticsUtils.java create mode 100644 app/src/main/java/kotlin/Pair.java create mode 100644 app/src/main/java/kotlin/jvm/functions/Function0.java diff --git a/app/src/main/java/com/PatchConfig.java b/app/src/main/java/com/PatchConfig.java index f9787db..8a34afc 100644 --- a/app/src/main/java/com/PatchConfig.java +++ b/app/src/main/java/com/PatchConfig.java @@ -25,6 +25,7 @@ public class PatchConfig { // Can't be changed at runtime public static final boolean PSEUDONITRO_VIEWER_ENABLED = true; public static final boolean LITECORD_ENABLED = false; // TODO + public static final boolean NOTRACK_ENABLED = true; } diff --git a/app/src/main/java/com/discord/utilities/analytics/AdjustConfig.java b/app/src/main/java/com/discord/utilities/analytics/AdjustConfig.java new file mode 100644 index 0000000..bbf5503 --- /dev/null +++ b/app/src/main/java/com/discord/utilities/analytics/AdjustConfig.java @@ -0,0 +1,44 @@ +package com.discord.utilities.analytics; + +import android.app.Activity; + +import com.PatchConfig; + +import lanchon.dexpatcher.annotation.DexEdit; +import lanchon.dexpatcher.annotation.DexIgnore; +import lanchon.dexpatcher.annotation.DexReplace; +import lanchon.dexpatcher.annotation.DexWrap; + +@DexEdit +public class AdjustConfig { + + // notrack patches + + @DexEdit + private static final String ADJUST_APP_TOKEN = "aaaaaaaaaaaa"; // TODO toggle + + @DexEdit + public static final class AdjustLifecycleListener { + + @DexWrap + public void onActivityPaused(Activity activity) { + if (!PatchConfig.NOTRACK_ENABLED) { + // Patch not enabled + onActivityPaused(activity); + return; + } + } + + @DexWrap + public void onActivityResumed(Activity activity) { + if (!PatchConfig.NOTRACK_ENABLED) { + // Patch not enabled + onActivityResumed(activity); + return; + } + } + + + } + +} diff --git a/app/src/main/java/com/discord/utilities/analytics/AnalyticSuperProperties.java b/app/src/main/java/com/discord/utilities/analytics/AnalyticSuperProperties.java index 538b90b..a3d87c0 100644 --- a/app/src/main/java/com/discord/utilities/analytics/AnalyticSuperProperties.java +++ b/app/src/main/java/com/discord/utilities/analytics/AnalyticSuperProperties.java @@ -10,7 +10,7 @@ import lanchon.dexpatcher.annotation.DexWrap; @DexEdit public final class AnalyticSuperProperties { - // disable-mobileindicator patch + // disable-mobileindicator patches @SuppressWarnings("UnnecessaryReturnStatement") @DexWrap @@ -22,6 +22,7 @@ public final class AnalyticSuperProperties { } } + @SuppressWarnings("UnnecessaryReturnStatement") @DexWrap private final synchronized void updateSuperProperties(Map map) { if (!PatchConfig.DISABLE_MOBILE_INDICATOR_ENABLED) { @@ -31,4 +32,44 @@ public final class AnalyticSuperProperties { } } + // end of disable-mobileindicator patches + + + // notrack patches + + @SuppressWarnings("UnnecessaryReturnStatement") + @DexWrap + private final void setBaselineProperties() { + if (!PatchConfig.NOTRACK_ENABLED) { + // Patch not enabled + setBaselineProperties(); + return; + } + + // TODO do we need anything in here? + + } + + @SuppressWarnings("UnnecessaryReturnStatement") + @DexWrap + public final void setAdvertiserId(String str) { + if (!PatchConfig.NOTRACK_ENABLED) { + // Patch not enabled + setAdvertiserId(str); + return; + } + } + + @SuppressWarnings("UnnecessaryReturnStatement") + @DexWrap + public final void setCampaignProperties(String str) { + if (!PatchConfig.NOTRACK_ENABLED) { + // Patch not enabled + setCampaignProperties(str); + return; + } + } + + // end of notrack patches + } diff --git a/app/src/main/java/com/discord/utilities/analytics/AnalyticsTracker.java b/app/src/main/java/com/discord/utilities/analytics/AnalyticsTracker.java new file mode 100644 index 0000000..50dd344 --- /dev/null +++ b/app/src/main/java/com/discord/utilities/analytics/AnalyticsTracker.java @@ -0,0 +1,41 @@ +package com.discord.utilities.analytics; + +import com.PatchConfig; + +import lanchon.dexpatcher.annotation.DexEdit; +import lanchon.dexpatcher.annotation.DexWrap; + +@DexEdit +public class AnalyticsTracker { + + // notrack patches - TODO toggle + + @DexEdit + public static final class AdjustEventTracker { + + @DexEdit + private static final String EVENT_TOKEN_LOGIN = "aaaaaa"; + + @DexEdit + private static final String EVENT_TOKEN_REGISTER = "aaaaaa"; + + @DexWrap + public final void trackLogin() { + if (!PatchConfig.NOTRACK_ENABLED) { + // Patch not enabled + trackLogin(); + } + } + + @DexWrap + public final void trackRegister() { + if (!PatchConfig.NOTRACK_ENABLED) { + // Patch not enabled + trackRegister(); + } + } + + } + + +} diff --git a/app/src/main/java/com/discord/utilities/analytics/AnalyticsUtils.java b/app/src/main/java/com/discord/utilities/analytics/AnalyticsUtils.java new file mode 100644 index 0000000..1c6f9cd --- /dev/null +++ b/app/src/main/java/com/discord/utilities/analytics/AnalyticsUtils.java @@ -0,0 +1,95 @@ +package com.discord.utilities.analytics; + +import com.PatchConfig; + +import java.util.Map; + +import kotlin.Pair; +import kotlin.jvm.functions.Function0; +import lanchon.dexpatcher.annotation.DexEdit; +import lanchon.dexpatcher.annotation.DexWrap; + +@DexEdit +public class AnalyticsUtils { + + // start of notrack patches + + @DexEdit + public static final class Tracker { + + @SuppressWarnings("UnnecessaryReturnStatement") + @DexWrap + private final synchronized void drainEventsQueue() { + if (!PatchConfig.NOTRACK_ENABLED) { + // Patch not enabled + drainEventsQueue(); + return; + } + } + + @SuppressWarnings("UnnecessaryReturnStatement") + @DexWrap + public final synchronized void setTrackingData$default(Tracker tracker, String str, boolean z, int i, Object obj) { + if (!PatchConfig.NOTRACK_ENABLED) { + // Patch not enabled + setTrackingData$default(tracker, str, z, i, obj); + return; + } + } + + @SuppressWarnings("UnnecessaryReturnStatement") + @DexWrap + public final synchronized void track$default(Tracker tracker, String str, Map map, int i, Object obj) { + if (!PatchConfig.NOTRACK_ENABLED) { + // Patch not enabled + track$default(tracker, str, map, i, obj); + return; + } + } + + @SuppressWarnings("UnnecessaryReturnStatement") + @DexWrap + public final synchronized void setTrackingData(String str, boolean z) { + if (!PatchConfig.NOTRACK_ENABLED) { + // Patch not enabled + setTrackingData(str, z); + return; + } + } + + @SuppressWarnings("UnnecessaryReturnStatement") + @DexWrap + public final void track(String str, Map map) { + if (!PatchConfig.NOTRACK_ENABLED) { + // Patch not enabled + track(str, map); + return; + } + } + + @SuppressWarnings("UnnecessaryReturnStatement") + @DexWrap + public final void track(Pair pair, long j, Function0 function0) { + if (!PatchConfig.NOTRACK_ENABLED) { + // Patch not enabled + track(pair, j, function0); + return; + } + } + + @SuppressWarnings("UnnecessaryReturnStatement") + @DexWrap + public final void trackFireBase(String str, Map map) { + if (!PatchConfig.NOTRACK_ENABLED) { + // Patch not enabled + trackFireBase(str, map); + return; + } + } + + } + + // end of notrack patches + + +} diff --git a/app/src/main/java/kotlin/Pair.java b/app/src/main/java/kotlin/Pair.java new file mode 100644 index 0000000..74e8e96 --- /dev/null +++ b/app/src/main/java/kotlin/Pair.java @@ -0,0 +1,7 @@ +package kotlin; + +import lanchon.dexpatcher.annotation.DexIgnore; + +@DexIgnore +public class Pair { +} diff --git a/app/src/main/java/kotlin/jvm/functions/Function0.java b/app/src/main/java/kotlin/jvm/functions/Function0.java new file mode 100644 index 0000000..0dace88 --- /dev/null +++ b/app/src/main/java/kotlin/jvm/functions/Function0.java @@ -0,0 +1,7 @@ +package kotlin.jvm.functions; + +import lanchon.dexpatcher.annotation.DexIgnore; + +@DexIgnore +public class Function0 { +}