From cdfa005d352d66953aa07208afea1f32f6fe7e55 Mon Sep 17 00:00:00 2001 From: clienthax Date: Sat, 21 Aug 2021 17:45:59 +0100 Subject: [PATCH] Split notrack and port --- resources/patches/notrack/87202-post.sh | 2 + resources/patches/notrack/87202.patch | 1324 +++++++++++++++++++++++ resources/xmlpatches/notrack/87202.xml | 5 + 3 files changed, 1331 insertions(+) create mode 100644 resources/patches/notrack/87202-post.sh create mode 100644 resources/patches/notrack/87202.patch create mode 100644 resources/xmlpatches/notrack/87202.xml diff --git a/resources/patches/notrack/87202-post.sh b/resources/patches/notrack/87202-post.sh new file mode 100644 index 0000000..27b03f0 --- /dev/null +++ b/resources/patches/notrack/87202-post.sh @@ -0,0 +1,2 @@ +#!/bin/bash +mv smali/com/airbnb smali_classes2/com/ diff --git a/resources/patches/notrack/87202.patch b/resources/patches/notrack/87202.patch new file mode 100644 index 0000000..6c91bed --- /dev/null +++ b/resources/patches/notrack/87202.patch @@ -0,0 +1,1324 @@ +diff -crB from/smali/com/discord/utilities/analytics/AnalyticsUtils$Tracker.smali to/smali/com/discord/utilities/analytics/AnalyticsUtils$Tracker.smali +*** from/smali/com/discord/utilities/analytics/AnalyticsUtils$Tracker.smali 2021-08-10 20:24:15.471210700 +0100 +--- to/smali/com/discord/utilities/analytics/AnalyticsUtils$Tracker.smali 2021-08-21 17:10:11.604448700 +0100 +*************** +*** 208,216 **** + .method public static final synthetic access$drainEventsQueue(Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;)V + .locals 0 + +- .line 1 +- invoke-direct {p0}, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->drainEventsQueue()V +- + return-void + .end method + +--- 208,213 ---- +*************** +*** 233,337 **** + .end method + + .method private final declared-synchronized drainEventsQueue()V +! .locals 15 +! +! monitor-enter p0 +! +! .line 1 +! :try_start_0 +! invoke-direct {p0}, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->getCanDrain()Z +! +! move-result v0 +! :try_end_0 +! .catchall {:try_start_0 .. :try_end_0} :catchall_0 +! +! if-nez v0, :cond_0 +! +! .line 2 +! monitor-exit p0 +! +! return-void +! +! .line 3 +! :cond_0 +! :try_start_1 +! new-instance v0, Ljava/util/ArrayList; +! +! iget-object v1, p0, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->eventsQueue:Ljava/util/concurrent/ConcurrentLinkedQueue; +! +! invoke-direct {v0, v1}, Ljava/util/ArrayList;->(Ljava/util/Collection;)V +! +! .line 4 +! iget-object v1, p0, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->eventsQueue:Ljava/util/concurrent/ConcurrentLinkedQueue; +! +! invoke-virtual {v1}, Ljava/util/concurrent/ConcurrentLinkedQueue;->clear()V +! +! .line 5 +! iget-object v1, p0, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->restAPI:Lcom/discord/utilities/rest/RestAPI; +! +! .line 6 +! new-instance v2, Lcom/discord/api/science/Science; +! +! iget-object v3, p0, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->analyticsToken:Ljava/lang/String; +! +! invoke-direct {v2, v3, v0}, Lcom/discord/api/science/Science;->(Ljava/lang/String;Ljava/util/List;)V +! +! invoke-virtual {v1, v2}, Lcom/discord/utilities/rest/RestAPI;->science(Lcom/discord/api/science/Science;)Lrx/Observable; +! +! move-result-object v1 +! +! const/4 v2, 0x0 +! +! const/4 v3, 0x1 +! +! const/4 v4, 0x0 +! +! .line 7 +! invoke-static {v1, v2, v3, v4}, Lcom/discord/utilities/rx/ObservableExtensionsKt;->restSubscribeOn$default(Lrx/Observable;ZILjava/lang/Object;)Lrx/Observable; +! +! move-result-object v5 +! +! .line 8 +! invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class; +! +! move-result-object v6 +! +! const/4 v7, 0x0 +! +! const/4 v8, 0x0 +! +! .line 9 +! sget-object v12, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker$drainEventsQueue$1;->INSTANCE:Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker$drainEventsQueue$1; +! +! const/4 v10, 0x0 +! +! const/4 v11, 0x0 +! +! .line 10 +! new-instance v9, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker$drainEventsQueue$2; +! +! invoke-direct {v9, p0, v0}, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker$drainEventsQueue$2;->(Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;Ljava/util/ArrayList;)V +! +! const/16 v13, 0x36 +! +! const/4 v14, 0x0 +! +! .line 11 +! invoke-static/range {v5 .. v14}, Lcom/discord/utilities/rx/ObservableExtensionsKt;->appSubscribe$default(Lrx/Observable;Ljava/lang/Class;Landroid/content/Context;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V +! :try_end_1 +! .catchall {:try_start_1 .. :try_end_1} :catchall_0 +! +! .line 12 +! monitor-exit p0 + + return-void +- +- :catchall_0 +- move-exception v0 +- +- monitor-exit p0 +- +- throw v0 + .end method + + .method private final getCanDrain()Z +--- 230,238 ---- + .end method + + .method private final declared-synchronized drainEventsQueue()V +! .locals 0 + + return-void + .end method + + .method private final getCanDrain()Z +*************** +*** 605,636 **** + .method public static synthetic setTrackingData$default(Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;Ljava/lang/String;ZILjava/lang/Object;)V + .locals 0 + +- and-int/lit8 p3, p3, 0x2 +- +- if-eqz p3, :cond_0 +- +- const/4 p2, 0x0 +- +- .line 1 +- :cond_0 +- invoke-virtual {p0, p1, p2}, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->setTrackingData(Ljava/lang/String;Z)V +- + return-void + .end method + + .method public static synthetic track$default(Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;Ljava/lang/String;Ljava/util/Map;ILjava/lang/Object;)V + .locals 0 + +- and-int/lit8 p3, p3, 0x2 +- +- if-eqz p3, :cond_0 +- +- const/4 p2, 0x0 +- +- .line 1 +- :cond_0 +- invoke-virtual {p0, p1, p2}, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->track(Ljava/lang/String;Ljava/util/Map;)V +- + return-void + .end method + +--- 506,517 ---- +*************** +*** 703,943 **** + .end method + + .method public final track(Lcom/discord/api/science/AnalyticsSchema;)V +! .locals 1 +! +! const-string v0, "analyticsSchema" +! +! invoke-static {p1, v0}, Ld0/z/d/m;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V +! +! .line 7 +! new-instance v0, Lcom/discord/api/science/Science$Event$SchemaObject; +! +! invoke-direct {v0, p1}, Lcom/discord/api/science/Science$Event$SchemaObject;->(Lcom/discord/api/science/AnalyticsSchema;)V +! +! invoke-virtual {p0, v0}, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->track(Lcom/discord/api/science/Science$Event;)V + + return-void + .end method + + .method public final track(Lcom/discord/api/science/Science$Event;)V +! .locals 12 +! +! const-string v0, "event" +! +! invoke-static {p1, v0}, Ld0/z/d/m;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V +! +! .line 8 +! iget-object v0, p0, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->eventsQueue:Ljava/util/concurrent/ConcurrentLinkedQueue; +! +! invoke-virtual {v0, p1}, Ljava/util/concurrent/ConcurrentLinkedQueue;->add(Ljava/lang/Object;)Z +! +! .line 9 +! sget-object p1, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit; +! +! const-wide/16 v0, 0x5dc +! +! invoke-static {v0, v1, p1}, Lrx/Observable;->d0(JLjava/util/concurrent/TimeUnit;)Lrx/Observable; +! +! move-result-object v2 +! +! const-string p1, "Observable\n .ti\u20260, TimeUnit.MILLISECONDS)" +! +! invoke-static {v2, p1}, Ld0/z/d/m;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V +! +! .line 10 +! const-class v3, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker; +! +! new-instance v9, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker$track$1; +! +! invoke-direct {v9, p0}, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker$track$1;->(Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;)V +! +! const/4 v4, 0x0 +! +! const/4 v5, 0x0 +! +! const/4 v6, 0x0 +! +! const/4 v7, 0x0 +! +! const/4 v8, 0x0 +! +! const/16 v10, 0x3e +! +! const/4 v11, 0x0 +! +! invoke-static/range {v2 .. v11}, Lcom/discord/utilities/rx/ObservableExtensionsKt;->appSubscribe$default(Lrx/Observable;Ljava/lang/Class;Landroid/content/Context;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V +! + return-void + .end method + + .method public final track(Ljava/lang/String;Ljava/util/Map;)V +! .locals 1 +! .annotation system Ldalvik/annotation/Signature; +! value = { +! "(", +! "Ljava/lang/String;", +! "Ljava/util/Map<", +! "Ljava/lang/String;", +! "+", +! "Ljava/lang/Object;", +! ">;)V" +! } +! .end annotation +! +! const-string v0, "event" +! +! invoke-static {p1, v0}, Ld0/z/d/m;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V +! +! .line 6 +! new-instance v0, Lcom/discord/api/science/Science$Event$MapObject; +! +! if-eqz p2, :cond_0 +! +! goto :goto_0 +! +! :cond_0 +! invoke-static {}, Ld0/t/h0;->emptyMap()Ljava/util/Map; +! +! move-result-object p2 +! +! :goto_0 +! invoke-direct {v0, p1, p2}, Lcom/discord/api/science/Science$Event$MapObject;->(Ljava/lang/String;Ljava/util/Map;)V +! +! invoke-virtual {p0, v0}, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->track(Lcom/discord/api/science/Science$Event;)V +! + return-void + .end method + + .method public final track(Lkotlin/Pair;JLkotlin/jvm/functions/Function0;)V +! .locals 2 +! .annotation system Ldalvik/annotation/Signature; +! value = { +! "(", +! "Lkotlin/Pair<", +! "Ljava/lang/String;", +! "Ljava/lang/Long;", +! ">;J", +! "Lkotlin/jvm/functions/Function0<", +! "+", +! "Ljava/util/Map<", +! "Ljava/lang/String;", +! "+", +! "Ljava/lang/Object;", +! ">;>;)V" +! } +! .end annotation +! +! const-string/jumbo v0, "throttleKey" +! +! invoke-static {p1, v0}, Ld0/z/d/m;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V +! +! const-string v0, "lazyPropertyProvider" +! +! invoke-static {p4, v0}, Ld0/z/d/m;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V +! +! .line 1 +! invoke-direct {p0, p1}, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->isEventThrottled(Lkotlin/Pair;)Z +! +! move-result v0 +! +! if-eqz v0, :cond_0 +! +! return-void +! +! .line 2 +! :cond_0 +! invoke-virtual {p1}, Lkotlin/Pair;->component1()Ljava/lang/Object; +! +! move-result-object v0 +! +! check-cast v0, Ljava/lang/String; +! +! .line 3 +! invoke-interface {p4}, Lkotlin/jvm/functions/Function0;->invoke()Ljava/lang/Object; +! +! move-result-object p4 +! +! check-cast p4, Ljava/util/Map; +! +! invoke-virtual {p0, v0, p4}, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->track(Ljava/lang/String;Ljava/util/Map;)V +! +! .line 4 +! iget-object p4, p0, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->clock:Lcom/discord/utilities/time/Clock; +! +! invoke-interface {p4}, Lcom/discord/utilities/time/Clock;->currentTimeMillis()J +! +! move-result-wide v0 +! +! .line 5 +! iget-object p4, p0, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->eventsThrottledUntilMillis:Ljava/util/concurrent/ConcurrentHashMap; +! +! add-long/2addr v0, p2 +! +! invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; +! +! move-result-object p2 +! +! invoke-interface {p4, p1, p2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; +! + return-void + .end method + + .method public final trackFireBase(Ljava/lang/String;Ljava/util/Map;)V +! .locals 8 +! .annotation system Ldalvik/annotation/Signature; +! value = { +! "(", +! "Ljava/lang/String;", +! "Ljava/util/Map<", +! "Ljava/lang/String;", +! "+", +! "Ljava/lang/Object;", +! ">;)V" +! } +! .end annotation +! +! const-string v0, "event" +! +! invoke-static {p1, v0}, Ld0/z/d/m;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V +! +! const-string/jumbo v0, "properties" +! +! invoke-static {p2, v0}, Ld0/z/d/m;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V +! +! .line 1 +! new-instance v0, Landroid/os/Bundle; +! +! invoke-direct {v0}, Landroid/os/Bundle;->()V +! +! invoke-direct {p0, v0, p2}, Lcom/discord/utilities/analytics/AnalyticsUtils$Tracker;->putMap(Landroid/os/Bundle;Ljava/util/Map;)Landroid/os/Bundle; +! +! move-result-object v4 +! +! .line 2 +! sget-object p2, Lcom/discord/utilities/analytics/AnalyticsUtils;->INSTANCE:Lcom/discord/utilities/analytics/AnalyticsUtils; +! +! invoke-static {p2}, Lcom/discord/utilities/analytics/AnalyticsUtils;->access$getFireBaseInstance$p(Lcom/discord/utilities/analytics/AnalyticsUtils;)Lcom/google/firebase/analytics/FirebaseAnalytics; +! +! move-result-object p2 +! +! if-eqz p2, :cond_0 +! +! .line 3 +! iget-object v1, p2, Lcom/google/firebase/analytics/FirebaseAnalytics;->b:Lc/i/a/f/h/l/g; +! +! const/4 v2, 0x0 +! +! const/4 v5, 0x0 +! +! const/4 v6, 0x1 +! +! const/4 v7, 0x0 +! +! move-object v3, p1 +! +! .line 4 +! invoke-virtual/range {v1 .. v7}, Lc/i/a/f/h/l/g;->c(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ZZLjava/lang/Long;)V +! +! :cond_0 + return-void + .end method +--- 584,610 ---- + .end method + + .method public final track(Lcom/discord/api/science/AnalyticsSchema;)V +! .locals 0 + + return-void + .end method + + .method public final track(Lcom/discord/api/science/Science$Event;)V +! .locals 0 + return-void + .end method + + .method public final track(Ljava/lang/String;Ljava/util/Map;)V +! .locals 0 + return-void + .end method + + .method public final track(Lkotlin/Pair;JLkotlin/jvm/functions/Function0;)V +! .locals 0 + return-void + .end method + + .method public final trackFireBase(Ljava/lang/String;Ljava/util/Map;)V +! .locals 0 + return-void + .end method + +diff -crB from/smali/com/adjust/sdk/AdjustInstance.smali to/smali/com/adjust/sdk/AdjustInstance.smali +*** from/smali/com/adjust/sdk/AdjustInstance.smali 2021-08-21 17:20:11.626794200 +0100 +--- to/smali/com/adjust/sdk/AdjustInstance.smali 2021-08-21 17:20:28.335287700 +0100 +*************** +*** 514,541 **** + + .method public isEnabled()Z + .locals 1 +! +! .line 1 +! invoke-direct {p0}, Lcom/adjust/sdk/AdjustInstance;->checkActivityHandler()Z +! +! move-result v0 +! +! if-nez v0, :cond_0 +! +! .line 2 +! invoke-direct {p0}, Lcom/adjust/sdk/AdjustInstance;->isInstanceEnabled()Z +! +! move-result v0 +! +! return v0 +! +! .line 3 +! :cond_0 +! iget-object v0, p0, Lcom/adjust/sdk/AdjustInstance;->activityHandler:Lcom/adjust/sdk/IActivityHandler; +! +! invoke-interface {v0}, Lcom/adjust/sdk/IActivityHandler;->isEnabled()Z +! +! move-result v0 + + return v0 + .end method +--- 514,521 ---- + + .method public isEnabled()Z + .locals 1 +! +! const/4 v0, 0x0 + + return v0 + .end method +*************** +*** 1281,1344 **** + .end method + + .method public trackAdRevenue(Ljava/lang/String;Lorg/json/JSONObject;)V +! .locals 1 +! +! .line 1 +! invoke-direct {p0}, Lcom/adjust/sdk/AdjustInstance;->checkActivityHandler()Z +! +! move-result v0 +! +! if-nez v0, :cond_0 +! +! return-void +! +! .line 2 +! :cond_0 +! iget-object v0, p0, Lcom/adjust/sdk/AdjustInstance;->activityHandler:Lcom/adjust/sdk/IActivityHandler; +! +! invoke-interface {v0, p1, p2}, Lcom/adjust/sdk/IActivityHandler;->trackAdRevenue(Ljava/lang/String;Lorg/json/JSONObject;)V + + return-void + .end method + + .method public trackEvent(Lcom/adjust/sdk/AdjustEvent;)V +! .locals 1 +! +! .line 1 +! invoke-direct {p0}, Lcom/adjust/sdk/AdjustInstance;->checkActivityHandler()Z +! +! move-result v0 +! +! if-nez v0, :cond_0 +! +! return-void +! +! .line 2 +! :cond_0 +! iget-object v0, p0, Lcom/adjust/sdk/AdjustInstance;->activityHandler:Lcom/adjust/sdk/IActivityHandler; +! +! invoke-interface {v0, p1}, Lcom/adjust/sdk/IActivityHandler;->trackEvent(Lcom/adjust/sdk/AdjustEvent;)V + + return-void + .end method + + .method public trackPlayStoreSubscription(Lcom/adjust/sdk/AdjustPlayStoreSubscription;)V +! .locals 1 +! +! .line 1 +! invoke-direct {p0}, Lcom/adjust/sdk/AdjustInstance;->checkActivityHandler()Z +! +! move-result v0 +! +! if-nez v0, :cond_0 +! +! return-void +! +! .line 2 +! :cond_0 +! iget-object v0, p0, Lcom/adjust/sdk/AdjustInstance;->activityHandler:Lcom/adjust/sdk/IActivityHandler; +! +! invoke-interface {v0, p1}, Lcom/adjust/sdk/IActivityHandler;->trackPlayStoreSubscription(Lcom/adjust/sdk/AdjustPlayStoreSubscription;)V + + return-void + .end method +--- 1261,1279 ---- + .end method + + .method public trackAdRevenue(Ljava/lang/String;Lorg/json/JSONObject;)V +! .locals 0 + + return-void + .end method + + .method public trackEvent(Lcom/adjust/sdk/AdjustEvent;)V +! .locals 0 + + return-void + .end method + + .method public trackPlayStoreSubscription(Lcom/adjust/sdk/AdjustPlayStoreSubscription;)V +! .locals 0 + + return-void + .end method +diff -crB from/smali/com/discord/utilities/analytics/AdjustConfig.smali to/smali/com/discord/utilities/analytics/AdjustConfig.smali +*** from/smali/com/discord/utilities/analytics/AdjustConfig.smali 2020-11-20 16:30:28.163767600 +0000 +--- to/smali/com/discord/utilities/analytics/AdjustConfig.smali 2020-11-20 16:31:00.958556852 +0000 +*************** +*** 12,18 **** + + + # static fields +! .field private static final ADJUST_APP_TOKEN:Ljava/lang/String; = "d8fcx8xdmrr4" + + .field private static final ADJUST_ENVIRONMENT:Ljava/lang/String; + +--- 12,18 ---- + + + # static fields +! .field private static final ADJUST_APP_TOKEN:Ljava/lang/String; = "aaaaaaaaaaaa" + + .field private static final ADJUST_ENVIRONMENT:Ljava/lang/String; + +diff -crB from/smali/com/discord/utilities/analytics/AnalyticSuperProperties.smali to/smali/com/discord/utilities/analytics/AnalyticSuperProperties.smali +*** from/smali/com/discord/utilities/analytics/AnalyticSuperProperties.smali 2020-11-20 16:30:28.167767702 +0000 +--- to/smali/com/discord/utilities/analytics/AnalyticSuperProperties.smali 2020-11-20 16:31:13.916842340 +0000 +*************** +*** 291,357 **** + + aput-object v1, v0, v2 + +- const v1, 0x154a2 +- +- .line 3 +- invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; +- +- move-result-object v1 +- +- const-string v2, "client_build_number" +- +- invoke-static {v2, v1}, Ld0/o;->to(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair; +- +- move-result-object v1 +- +- const/4 v2, 0x2 +- +- aput-object v1, v0, v2 +- +- const-string v1, "client_version" +- +- const-string v2, "87.2 - Alpha" +- +- .line 4 +- invoke-static {v1, v2}, Ld0/o;->to(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair; +- +- move-result-object v1 +- +- const/4 v2, 0x3 +- +- aput-object v1, v0, v2 +- +- .line 5 +- new-instance v1, Ljava/lang/StringBuilder; +- +- invoke-direct {v1}, Ljava/lang/StringBuilder;->()V +- +- sget-object v2, Landroid/os/Build;->MODEL:Ljava/lang/String; +- +- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; +- +- const-string v2, ", " +- +- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; +- +- sget-object v2, Landroid/os/Build;->PRODUCT:Ljava/lang/String; +- +- invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; +- +- invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; +- +- move-result-object v1 +- +- const-string v2, "device" +- +- invoke-static {v2, v1}, Ld0/o;->to(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair; +- +- move-result-object v1 +- +- const/4 v2, 0x4 +- +- aput-object v1, v0, v2 +- + const-string/jumbo v1, "os" + + const-string v2, "Android" +--- 291,296 ---- +*************** +*** 361,434 **** + + move-result-object v1 + +! const/4 v2, 0x5 +! +! aput-object v1, v0, v2 +! +! .line 7 +! sget v1, Landroid/os/Build$VERSION;->SDK_INT:I +! +! invoke-static {v1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String; +! +! move-result-object v1 +! +! const-string/jumbo v2, "os_sdk_version" +! +! invoke-static {v2, v1}, Ld0/o;->to(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair; +! +! move-result-object v1 +! +! const/4 v2, 0x6 +! +! aput-object v1, v0, v2 +! +! .line 8 +! sget-object v1, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String; +! +! const-string/jumbo v2, "os_version" +! +! invoke-static {v2, v1}, Ld0/o;->to(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair; +! +! move-result-object v1 +! +! const/4 v2, 0x7 +! +! aput-object v1, v0, v2 +! +! .line 9 +! invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale; +! +! move-result-object v1 +! +! invoke-virtual {v1}, Ljava/util/Locale;->toString()Ljava/lang/String; +! +! move-result-object v2 +! +! const-string v1, "Locale.getDefault().toString()" +! +! invoke-static {v2, v1}, Ld0/z/d/m;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V +! +! const-string v3, "_" +! +! const-string v4, "-" +! +! const/4 v5, 0x0 +! +! const/4 v6, 0x4 +! +! const/4 v7, 0x0 +! +! invoke-static/range {v2 .. v7}, Ld0/g0/t;->replace$default(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Ljava/lang/String; +! +! move-result-object v1 +! +! const-string/jumbo v2, "system_locale" +! +! invoke-static {v2, v1}, Ld0/o;->to(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair; +! +! move-result-object v1 +! +! const/16 v2, 0x8 + + aput-object v1, v0, v2 + +--- 300,306 ---- + + move-result-object v1 + +! const/4 v2, 0x2 + + aput-object v1, v0, v2 + +*************** +*** 561,1091 **** + .end method + + .method public final setAccessibilityProperties(ZLjava/util/EnumSet;)V +! .locals 4 +! .annotation system Ldalvik/annotation/Signature; +! value = { +! "(Z", +! "Ljava/util/EnumSet<", +! "Lcom/discord/utilities/accessibility/AccessibilityFeatureFlags;", +! ">;)V" +! } +! .end annotation +! +! const-string v0, "features" +! +! invoke-static {p2, v0}, Ld0/z/d/m;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V +! +! .line 1 +! invoke-interface {p2}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator; +! +! move-result-object p2 +! +! const-wide/16 v0, 0x0 +! +! :goto_0 +! invoke-interface {p2}, Ljava/util/Iterator;->hasNext()Z +! +! move-result v2 +! +! if-eqz v2, :cond_0 +! +! invoke-interface {p2}, Ljava/util/Iterator;->next()Ljava/lang/Object; +! +! move-result-object v2 +! +! check-cast v2, Lcom/discord/utilities/accessibility/AccessibilityFeatureFlags; +! +! .line 2 +! invoke-virtual {v2}, Lcom/discord/utilities/accessibility/AccessibilityFeatureFlags;->getValue()J +! +! move-result-wide v2 +! +! or-long/2addr v0, v2 +! +! goto :goto_0 +! +! :cond_0 +! const/4 p2, 0x2 +! +! new-array p2, p2, [Lkotlin/Pair; +! +! const/4 v2, 0x0 +! +! .line 3 +! invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; +! +! move-result-object p1 +! +! const-string v3, "accessibility_support_enabled" +! +! invoke-static {v3, p1}, Ld0/o;->to(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair; +! +! move-result-object p1 +! +! aput-object p1, p2, v2 +! +! const/4 p1, 0x1 +! +! .line 4 +! invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; +! +! move-result-object v0 +! +! const-string v1, "accessibility_features" +! +! invoke-static {v1, v0}, Ld0/o;->to(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair; +! +! move-result-object v0 +! +! aput-object v0, p2, p1 +! +! .line 5 +! invoke-static {p2}, Ld0/t/h0;->mapOf([Lkotlin/Pair;)Ljava/util/Map; +! +! move-result-object p1 +! +! .line 6 +! invoke-direct {p0, p1}, Lcom/discord/utilities/analytics/AnalyticSuperProperties;->updateSuperProperties(Ljava/util/Map;)V + + return-void + .end method + + .method public final setAdvertiserId(Ljava/lang/String;)V +! .locals 1 +! +! const-string v0, "advertiserId" +! +! invoke-static {p1, v0}, Ld0/z/d/m;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V +! +! const-string v0, "device_advertiser_id" +! +! .line 1 +! invoke-static {v0, p1}, Ld0/o;->to(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair; +! +! move-result-object p1 +! +! invoke-static {p1}, Ld0/t/g0;->mapOf(Lkotlin/Pair;)Ljava/util/Map; +! +! move-result-object p1 +! +! .line 2 +! invoke-direct {p0, p1}, Lcom/discord/utilities/analytics/AnalyticSuperProperties;->updateSuperProperties(Ljava/util/Map;)V + + return-void + .end method + + .method public final setCampaignProperties(Ljava/lang/String;)V +! .locals 11 +! +! const-string/jumbo v0, "referrerUrl" +! +! invoke-static {p1, v0}, Ld0/z/d/m;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V +! +! const/4 v0, 0x1 +! +! new-array v1, v0, [Lkotlin/Pair; +! +! const-string/jumbo v2, "referrer" +! +! .line 1 +! invoke-static {v2, p1}, Ld0/o;->to(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair; +! +! move-result-object v2 +! +! const/4 v3, 0x0 +! +! aput-object v2, v1, v3 +! +! .line 2 +! invoke-static {v1}, Ld0/t/h0;->mutableMapOf([Lkotlin/Pair;)Ljava/util/Map; +! +! move-result-object v1 +! +! const-string v2, "&" +! +! .line 3 +! filled-new-array {v2}, [Ljava/lang/String; +! +! move-result-object v5 +! +! const/4 v6, 0x0 +! +! const/4 v7, 0x0 +! +! const/4 v8, 0x6 +! +! const/4 v9, 0x0 +! +! move-object v4, p1 +! +! invoke-static/range {v4 .. v9}, Ld0/g0/w;->split$default(Ljava/lang/CharSequence;[Ljava/lang/String;ZIILjava/lang/Object;)Ljava/util/List; +! +! move-result-object p1 +! +! .line 4 +! new-instance v2, Ljava/util/ArrayList; +! +! const/16 v4, 0xa +! +! invoke-static {p1, v4}, Ld0/t/o;->collectionSizeOrDefault(Ljava/lang/Iterable;I)I +! +! move-result v4 +! +! invoke-direct {v2, v4}, Ljava/util/ArrayList;->(I)V +! +! .line 5 +! invoke-interface {p1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator; +! +! move-result-object p1 +! +! :goto_0 +! invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z +! +! move-result v4 +! +! if-eqz v4, :cond_0 +! +! invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; +! +! move-result-object v4 +! +! .line 6 +! move-object v5, v4 +! +! check-cast v5, Ljava/lang/String; +! +! const-string v4, "=" +! +! .line 7 +! filled-new-array {v4}, [Ljava/lang/String; +! +! move-result-object v6 +! +! const/4 v7, 0x0 +! +! const/4 v8, 0x0 +! +! const/4 v9, 0x6 +! +! const/4 v10, 0x0 +! +! invoke-static/range {v5 .. v10}, Ld0/g0/w;->split$default(Ljava/lang/CharSequence;[Ljava/lang/String;ZIILjava/lang/Object;)Ljava/util/List; +! +! move-result-object v4 +! +! invoke-interface {v2, v4}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z +! +! goto :goto_0 +! +! .line 8 +! :cond_0 +! new-instance p1, Ljava/util/ArrayList; +! +! invoke-direct {p1}, Ljava/util/ArrayList;->()V +! +! .line 9 +! invoke-interface {v2}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator; +! +! move-result-object v2 +! +! :cond_1 +! :goto_1 +! invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z +! +! move-result v4 +! +! if-eqz v4, :cond_3 +! +! invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object; +! +! move-result-object v4 +! +! move-object v5, v4 +! +! check-cast v5, Ljava/util/List; +! +! .line 10 +! invoke-interface {v5}, Ljava/util/List;->size()I +! +! move-result v5 +! +! const/4 v6, 0x2 +! +! if-ne v5, v6, :cond_2 +! +! const/4 v5, 0x1 +! +! goto :goto_2 +! +! :cond_2 +! const/4 v5, 0x0 +! +! :goto_2 +! if-eqz v5, :cond_1 +! +! invoke-interface {p1, v4}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z +! +! goto :goto_1 +! +! .line 11 +! :cond_3 +! new-instance v2, Ljava/util/ArrayList; +! +! invoke-direct {v2}, Ljava/util/ArrayList;->()V +! +! .line 12 +! invoke-interface {p1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator; +! +! move-result-object p1 +! +! :cond_4 +! :goto_3 +! invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z +! +! move-result v4 +! +! if-eqz v4, :cond_6 +! +! invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; +! +! move-result-object v4 +! +! move-object v5, v4 +! +! check-cast v5, Ljava/util/List; +! +! .line 13 +! invoke-interface {v5, v3}, Ljava/util/List;->get(I)Ljava/lang/Object; +! +! move-result-object v5 +! +! check-cast v5, Ljava/lang/String; +! +! invoke-virtual {v5}, Ljava/lang/String;->hashCode()I +! +! move-result v6 +! +! sparse-switch v6, :sswitch_data_0 +! +! goto :goto_5 +! +! :sswitch_0 +! const-string/jumbo v6, "utm_source" +! +! .line 14 +! invoke-virtual {v5, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z +! +! move-result v5 +! +! if-eqz v5, :cond_5 +! +! goto :goto_4 +! +! :sswitch_1 +! const-string v6, "location" +! +! invoke-virtual {v5, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z +! +! move-result v5 +! +! if-eqz v5, :cond_5 +! +! goto :goto_4 +! +! :sswitch_2 +! const-string/jumbo v6, "utm_medium" +! +! invoke-virtual {v5, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z +! +! move-result v5 +! +! if-eqz v5, :cond_5 +! +! goto :goto_4 +! +! :sswitch_3 +! const-string/jumbo v6, "search_engine" +! +! invoke-virtual {v5, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z +! +! move-result v5 +! +! if-eqz v5, :cond_5 +! +! goto :goto_4 +! +! :sswitch_4 +! const-string/jumbo v6, "mp_keyword" +! +! invoke-virtual {v5, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z +! +! move-result v5 +! +! if-eqz v5, :cond_5 +! +! goto :goto_4 +! +! :sswitch_5 +! const-string/jumbo v6, "utm_term" +! +! invoke-virtual {v5, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z +! +! move-result v5 +! +! if-eqz v5, :cond_5 +! +! goto :goto_4 +! +! :sswitch_6 +! const-string/jumbo v6, "utm_campaign" +! +! invoke-virtual {v5, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z +! +! move-result v5 +! +! if-eqz v5, :cond_5 +! +! goto :goto_4 +! +! :sswitch_7 +! const-string/jumbo v6, "referring_domain" +! +! invoke-virtual {v5, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z +! +! move-result v5 +! +! if-eqz v5, :cond_5 +! +! goto :goto_4 +! +! :sswitch_8 +! const-string/jumbo v6, "utm_content" +! +! invoke-virtual {v5, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z +! +! move-result v5 +! +! if-eqz v5, :cond_5 +! +! :goto_4 +! const/4 v5, 0x1 +! +! goto :goto_6 +! +! :cond_5 +! :goto_5 +! const/4 v5, 0x0 +! +! :goto_6 +! if-eqz v5, :cond_4 +! +! .line 15 +! invoke-interface {v2, v4}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z +! +! goto :goto_3 +! +! .line 16 +! :cond_6 +! invoke-interface {v2}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator; +! +! move-result-object p1 +! +! :goto_7 +! invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z +! +! move-result v2 +! +! if-eqz v2, :cond_7 +! +! invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; +! +! move-result-object v2 +! +! .line 17 +! check-cast v2, Ljava/util/List; +! +! .line 18 +! invoke-interface {v2, v3}, Ljava/util/List;->get(I)Ljava/lang/Object; +! +! move-result-object v4 +! +! check-cast v4, Ljava/lang/String; +! +! invoke-interface {v2, v0}, Ljava/util/List;->get(I)Ljava/lang/Object; +! +! move-result-object v2 +! +! check-cast v2, Ljava/lang/String; +! +! invoke-interface {v1, v4, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; +! +! goto :goto_7 +! +! .line 19 +! :cond_7 +! invoke-direct {p0, v1}, Lcom/discord/utilities/analytics/AnalyticSuperProperties;->updateSuperProperties(Ljava/util/Map;)V + + return-void +- +- nop +- +- :sswitch_data_0 +- .sparse-switch +- -0x5bc8ed18 -> :sswitch_8 +- -0x40f32acd -> :sswitch_7 +- -0x3db0f7f -> :sswitch_6 +- 0x31ad945d -> :sswitch_5 +- 0x3d3a7f4d -> :sswitch_4 +- 0x3f4764b9 -> :sswitch_3 +- 0x70a1a726 -> :sswitch_2 +- 0x714f9fb5 -> :sswitch_1 +- 0x7b737fcc -> :sswitch_0 +- .end sparse-switch + .end method + + .method public final setClientPerformanceProperties(IJ)V +! .locals 2 +! +! const/4 v0, 0x2 +! +! new-array v0, v0, [Lkotlin/Pair; +! +! .line 1 +! invoke-static {p1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String; +! +! move-result-object p1 +! +! const-string v1, "client_performance_cpu" +! +! invoke-static {v1, p1}, Ld0/o;->to(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair; +! +! move-result-object p1 +! +! const/4 v1, 0x0 +! +! aput-object p1, v0, v1 +! +! .line 2 +! invoke-static {p2, p3}, Ljava/lang/String;->valueOf(J)Ljava/lang/String; +! +! move-result-object p1 +! +! const-string p2, "client_performance_memory" +! +! invoke-static {p2, p1}, Ld0/o;->to(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair; +! +! move-result-object p1 +! +! const/4 p2, 0x1 +! +! aput-object p1, v0, p2 +! +! .line 3 +! invoke-static {v0}, Ld0/t/h0;->mapOf([Lkotlin/Pair;)Ljava/util/Map; +! +! move-result-object p1 +! +! invoke-direct {p0, p1}, Lcom/discord/utilities/analytics/AnalyticSuperProperties;->updateSuperProperties(Ljava/util/Map;)V + + return-void + .end method +--- 433,457 ---- + .end method + + .method public final setAccessibilityProperties(ZLjava/util/EnumSet;)V +! .locals 0 + + return-void + .end method + + .method public final setAdvertiserId(Ljava/lang/String;)V +! .locals 0 + + return-void + .end method + + .method public final setCampaignProperties(Ljava/lang/String;)V +! .locals 0 + + return-void + .end method + + .method public final setClientPerformanceProperties(IJ)V +! .locals 0 + + return-void + .end method + +diff -crB from/smali/com/discord/utilities/integrations/SpotifyHelper$openPlayStoreForSpotify$1.smali to/smali/com/discord/utilities/integrations/SpotifyHelper$openPlayStoreForSpotify$1.smali +*** from/smali/com/discord/utilities/integrations/SpotifyHelper$openPlayStoreForSpotify$1.smali 2020-11-20 16:30:28.229769289 +0000 +--- to/smali/com/discord/utilities/integrations/SpotifyHelper$openPlayStoreForSpotify$1.smali 2020-11-20 16:31:00.958556852 +0000 +*************** +*** 68,74 **** + + invoke-direct {v1}, Ljava/lang/StringBuilder;->()V + +! const-string v2, "https://app.adjust.com/ndjczk?campaign=" + + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + +--- 68,74 ---- + + invoke-direct {v1}, Ljava/lang/StringBuilder;->()V + +! const-string v2, "https://play.google.com/store/apps/details?id=com.spotify.music&trash=" + + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + diff --git a/resources/xmlpatches/notrack/87202.xml b/resources/xmlpatches/notrack/87202.xml new file mode 100644 index 0000000..4359270 --- /dev/null +++ b/resources/xmlpatches/notrack/87202.xml @@ -0,0 +1,5 @@ + + + 00000000-0000-0000-0000-000000000000 + +