Files
rr3-apk/smali_classes3/com/google/firebase/abt/FirebaseABTesting.smali
Daniel Elliott f3960ee359 Add Discord APKTool decompilation (Smali source for modding)
- Imported from https://github.com/supermegamestre/Project-Real-Resurrection-3
- APKTool decompilation (Smali bytecode) for modding and rebuilding APK
- Supports both 32-bit (armeabi-v7a) and 64-bit (arm64-v8a) architectures
- Includes full Smali source, resources, and native libraries
- Ready to rebuild APK after modifications with apktool b command
- Added comprehensive README-apktool.md with modding guide

This branch complements the JADX branches:
- Use JADX (main/discord-community) to UNDERSTAND code (readable Java)
- Use APKTool (this branch) to MODIFY and REBUILD APK (editable Smali)

Total: 44,417 files, 538.51 MB Smali source code
2026-02-18 16:13:44 -08:00

592 lines
16 KiB
Smali

.class public Lcom/google/firebase/abt/FirebaseABTesting;
.super Ljava/lang/Object;
.source "SourceFile"
# instance fields
.field public final analyticsConnector:Lcom/google/firebase/inject/Provider;
.field public maxUserProperties:Ljava/lang/Integer;
.field public final originService:Ljava/lang/String;
# direct methods
.method public constructor <init>(Landroid/content/Context;Lcom/google/firebase/inject/Provider;Ljava/lang/String;)V
.locals 0
.line 92
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p2, p0, Lcom/google/firebase/abt/FirebaseABTesting;->analyticsConnector:Lcom/google/firebase/inject/Provider;
iput-object p3, p0, Lcom/google/firebase/abt/FirebaseABTesting;->originService:Ljava/lang/String;
const/4 p1, 0x0
iput-object p1, p0, Lcom/google/firebase/abt/FirebaseABTesting;->maxUserProperties:Ljava/lang/Integer;
return-void
.end method
.method public static convertMapsToExperimentInfos(Ljava/util/List;)Ljava/util/List;
.locals 2
.line 336
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 337
invoke-interface {p0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p0
:goto_0
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_0
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/util/Map;
.line 338
invoke-static {v1}, Lcom/google/firebase/abt/AbtExperimentInfo;->fromMap(Ljava/util/Map;)Lcom/google/firebase/abt/AbtExperimentInfo;
move-result-object v1
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_0
:cond_0
return-object v0
.end method
# virtual methods
.method public final addExperimentToAnalytics(Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty;)V
.locals 1
iget-object v0, p0, Lcom/google/firebase/abt/FirebaseABTesting;->analyticsConnector:Lcom/google/firebase/inject/Provider;
.line 344
invoke-interface {v0}, Lcom/google/firebase/inject/Provider;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/firebase/analytics/connector/AnalyticsConnector;
invoke-interface {v0, p1}, Lcom/google/firebase/analytics/connector/AnalyticsConnector;->setConditionalUserProperty(Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty;)V
return-void
.end method
.method public final addExperiments(Ljava/util/List;)V
.locals 4
.line 307
new-instance v0, Ljava/util/ArrayDeque;
.line 308
invoke-virtual {p0}, Lcom/google/firebase/abt/FirebaseABTesting;->getAllExperimentsInAnalytics()Ljava/util/List;
move-result-object v1
invoke-direct {v0, v1}, Ljava/util/ArrayDeque;-><init>(Ljava/util/Collection;)V
.line 310
invoke-virtual {p0}, Lcom/google/firebase/abt/FirebaseABTesting;->getMaxUserPropertiesInAnalytics()I
move-result v1
.line 312
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/firebase/abt/AbtExperimentInfo;
.line 313
:goto_1
invoke-interface {v0}, Ljava/util/Deque;->size()I
move-result v3
if-lt v3, v1, :cond_0
.line 314
invoke-interface {v0}, Ljava/util/Deque;->pollFirst()Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty;
iget-object v3, v3, Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty;->name:Ljava/lang/String;
invoke-virtual {p0, v3}, Lcom/google/firebase/abt/FirebaseABTesting;->removeExperimentFromAnalytics(Ljava/lang/String;)V
goto :goto_1
:cond_0
iget-object v3, p0, Lcom/google/firebase/abt/FirebaseABTesting;->originService:Ljava/lang/String;
.line 317
invoke-virtual {v2, v3}, Lcom/google/firebase/abt/AbtExperimentInfo;->toConditionalUserProperty(Ljava/lang/String;)Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty;
move-result-object v2
.line 318
invoke-virtual {p0, v2}, Lcom/google/firebase/abt/FirebaseABTesting;->addExperimentToAnalytics(Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty;)V
.line 319
invoke-interface {v0, v2}, Ljava/util/Deque;->offer(Ljava/lang/Object;)Z
goto :goto_0
:cond_1
return-void
.end method
.method public final experimentsListContainsExperiment(Ljava/util/List;Lcom/google/firebase/abt/AbtExperimentInfo;)Z
.locals 3
.line 291
invoke-virtual {p2}, Lcom/google/firebase/abt/AbtExperimentInfo;->getExperimentId()Ljava/lang/String;
move-result-object v0
.line 292
invoke-virtual {p2}, Lcom/google/firebase/abt/AbtExperimentInfo;->getVariantId()Ljava/lang/String;
move-result-object p2
.line 294
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:cond_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_1
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/firebase/abt/AbtExperimentInfo;
.line 295
invoke-virtual {v1}, Lcom/google/firebase/abt/AbtExperimentInfo;->getExperimentId()Ljava/lang/String;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
.line 296
invoke-virtual {v1}, Lcom/google/firebase/abt/AbtExperimentInfo;->getVariantId()Ljava/lang/String;
move-result-object v1
invoke-virtual {v1, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_0
const/4 p1, 0x1
return p1
:cond_1
const/4 p1, 0x0
return p1
.end method
.method public getAllExperiments()Ljava/util/List;
.locals 3
.line 154
invoke-virtual {p0}, Lcom/google/firebase/abt/FirebaseABTesting;->throwAbtExceptionIfAnalyticsIsNull()V
.line 156
invoke-virtual {p0}, Lcom/google/firebase/abt/FirebaseABTesting;->getAllExperimentsInAnalytics()Ljava/util/List;
move-result-object v0
.line 157
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
.line 159
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_0
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty;
.line 160
invoke-static {v2}, Lcom/google/firebase/abt/AbtExperimentInfo;->fromConditionalUserProperty(Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty;)Lcom/google/firebase/abt/AbtExperimentInfo;
move-result-object v2
invoke-interface {v1, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_0
:cond_0
return-object v1
.end method
.method public final getAllExperimentsInAnalytics()Ljava/util/List;
.locals 3
iget-object v0, p0, Lcom/google/firebase/abt/FirebaseABTesting;->analyticsConnector:Lcom/google/firebase/inject/Provider;
.line 384
invoke-interface {v0}, Lcom/google/firebase/inject/Provider;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/firebase/analytics/connector/AnalyticsConnector;
iget-object v1, p0, Lcom/google/firebase/abt/FirebaseABTesting;->originService:Ljava/lang/String;
const-string v2, ""
.line 385
invoke-interface {v0, v1, v2}, Lcom/google/firebase/analytics/connector/AnalyticsConnector;->getConditionalUserProperties(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
move-result-object v0
return-object v0
.end method
.method public final getExperimentsToAdd(Ljava/util/List;Ljava/util/List;)Ljava/util/ArrayList;
.locals 3
.line 280
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 281
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:cond_0
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_1
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/firebase/abt/AbtExperimentInfo;
.line 282
invoke-virtual {p0, p2, v1}, Lcom/google/firebase/abt/FirebaseABTesting;->experimentsListContainsExperiment(Ljava/util/List;Lcom/google/firebase/abt/AbtExperimentInfo;)Z
move-result v2
if-nez v2, :cond_0
.line 283
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_0
:cond_1
return-object v0
.end method
.method public final getExperimentsToRemove(Ljava/util/List;Ljava/util/List;)Ljava/util/ArrayList;
.locals 3
.line 263
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 264
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:cond_0
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_1
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/firebase/abt/AbtExperimentInfo;
.line 265
invoke-virtual {p0, p2, v1}, Lcom/google/firebase/abt/FirebaseABTesting;->experimentsListContainsExperiment(Ljava/util/List;Lcom/google/firebase/abt/AbtExperimentInfo;)Z
move-result v2
if-nez v2, :cond_0
iget-object v2, p0, Lcom/google/firebase/abt/FirebaseABTesting;->originService:Ljava/lang/String;
.line 266
invoke-virtual {v1, v2}, Lcom/google/firebase/abt/AbtExperimentInfo;->toConditionalUserProperty(Ljava/lang/String;)Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_0
:cond_1
return-object v0
.end method
.method public final getMaxUserPropertiesInAnalytics()I
.locals 2
iget-object v0, p0, Lcom/google/firebase/abt/FirebaseABTesting;->maxUserProperties:Ljava/lang/Integer;
if-nez v0, :cond_0
iget-object v0, p0, Lcom/google/firebase/abt/FirebaseABTesting;->analyticsConnector:Lcom/google/firebase/inject/Provider;
.line 370
invoke-interface {v0}, Lcom/google/firebase/inject/Provider;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/firebase/analytics/connector/AnalyticsConnector;
iget-object v1, p0, Lcom/google/firebase/abt/FirebaseABTesting;->originService:Ljava/lang/String;
invoke-interface {v0, v1}, Lcom/google/firebase/analytics/connector/AnalyticsConnector;->getMaxUserProperties(Ljava/lang/String;)I
move-result v0
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
iput-object v0, p0, Lcom/google/firebase/abt/FirebaseABTesting;->maxUserProperties:Ljava/lang/Integer;
:cond_0
iget-object v0, p0, Lcom/google/firebase/abt/FirebaseABTesting;->maxUserProperties:Ljava/lang/Integer;
.line 372
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
return v0
.end method
.method public removeAllExperiments()V
.locals 1
.line 139
invoke-virtual {p0}, Lcom/google/firebase/abt/FirebaseABTesting;->throwAbtExceptionIfAnalyticsIsNull()V
.line 141
invoke-virtual {p0}, Lcom/google/firebase/abt/FirebaseABTesting;->getAllExperimentsInAnalytics()Ljava/util/List;
move-result-object v0
invoke-virtual {p0, v0}, Lcom/google/firebase/abt/FirebaseABTesting;->removeExperiments(Ljava/util/Collection;)V
return-void
.end method
.method public final removeExperimentFromAnalytics(Ljava/lang/String;)V
.locals 2
iget-object v0, p0, Lcom/google/firebase/abt/FirebaseABTesting;->analyticsConnector:Lcom/google/firebase/inject/Provider;
.line 362
invoke-interface {v0}, Lcom/google/firebase/inject/Provider;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/firebase/analytics/connector/AnalyticsConnector;
const/4 v1, 0x0
.line 363
invoke-interface {v0, p1, v1, v1}, Lcom/google/firebase/analytics/connector/AnalyticsConnector;->clearConditionalUserProperty(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)V
return-void
.end method
.method public final removeExperiments(Ljava/util/Collection;)V
.locals 1
.line 324
invoke-interface {p1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_0
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty;
.line 325
iget-object v0, v0, Lcom/google/firebase/analytics/connector/AnalyticsConnector$ConditionalUserProperty;->name:Ljava/lang/String;
invoke-virtual {p0, v0}, Lcom/google/firebase/abt/FirebaseABTesting;->removeExperimentFromAnalytics(Ljava/lang/String;)V
goto :goto_0
:cond_0
return-void
.end method
.method public replaceAllExperiments(Ljava/util/List;)V
.locals 1
.line 120
invoke-virtual {p0}, Lcom/google/firebase/abt/FirebaseABTesting;->throwAbtExceptionIfAnalyticsIsNull()V
if-eqz p1, :cond_0
.line 126
invoke-static {p1}, Lcom/google/firebase/abt/FirebaseABTesting;->convertMapsToExperimentInfos(Ljava/util/List;)Ljava/util/List;
move-result-object p1
invoke-virtual {p0, p1}, Lcom/google/firebase/abt/FirebaseABTesting;->replaceAllExperimentsWith(Ljava/util/List;)V
return-void
.line 123
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "The replacementExperiments list is null."
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public final replaceAllExperimentsWith(Ljava/util/List;)V
.locals 2
.line 239
invoke-interface {p1}, Ljava/util/List;->isEmpty()Z
move-result v0
if-eqz v0, :cond_0
.line 240
invoke-virtual {p0}, Lcom/google/firebase/abt/FirebaseABTesting;->removeAllExperiments()V
return-void
.line 245
:cond_0
invoke-virtual {p0}, Lcom/google/firebase/abt/FirebaseABTesting;->getAllExperiments()Ljava/util/List;
move-result-object v0
.line 249
invoke-virtual {p0, v0, p1}, Lcom/google/firebase/abt/FirebaseABTesting;->getExperimentsToRemove(Ljava/util/List;Ljava/util/List;)Ljava/util/ArrayList;
move-result-object v1
.line 250
invoke-virtual {p0, v1}, Lcom/google/firebase/abt/FirebaseABTesting;->removeExperiments(Ljava/util/Collection;)V
.line 254
invoke-virtual {p0, p1, v0}, Lcom/google/firebase/abt/FirebaseABTesting;->getExperimentsToAdd(Ljava/util/List;Ljava/util/List;)Ljava/util/ArrayList;
move-result-object p1
.line 255
invoke-virtual {p0, p1}, Lcom/google/firebase/abt/FirebaseABTesting;->addExperiments(Ljava/util/List;)V
return-void
.end method
.method public final throwAbtExceptionIfAnalyticsIsNull()V
.locals 2
iget-object v0, p0, Lcom/google/firebase/abt/FirebaseABTesting;->analyticsConnector:Lcom/google/firebase/inject/Provider;
.line 348
invoke-interface {v0}, Lcom/google/firebase/inject/Provider;->get()Ljava/lang/Object;
move-result-object v0
if-eqz v0, :cond_0
return-void
.line 349
:cond_0
new-instance v0, Lcom/google/firebase/abt/AbtException;
const-string v1, "The Analytics SDK is not available. Please check that the Analytics SDK is included in your app dependencies."
invoke-direct {v0, v1}, Lcom/google/firebase/abt/AbtException;-><init>(Ljava/lang/String;)V
throw v0
.end method