Files
rr3-apk/smali_classes2/com/facebook/appevents/AppEvent.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

681 lines
20 KiB
Smali

.class public final Lcom/facebook/appevents/AppEvent;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/io/Serializable;
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/facebook/appevents/AppEvent$SerializationProxyV2;,
Lcom/facebook/appevents/AppEvent$Companion;
}
.end annotation
# static fields
.field public static final Companion:Lcom/facebook/appevents/AppEvent$Companion;
.field private static final MAX_IDENTIFIER_LENGTH:I = 0x28
.field private static final serialVersionUID:J = 0x1L
.field private static final validatedIdentifiers:Ljava/util/HashSet;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashSet<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
# instance fields
.field private final checksum:Ljava/lang/String;
.field private final inBackground:Z
.field private final isImplicit:Z
.field private final jsonObject:Lorg/json/JSONObject;
.field private final name:Ljava/lang/String;
# direct methods
.method static constructor <clinit>()V
.locals 2
new-instance v0, Lcom/facebook/appevents/AppEvent$Companion;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lcom/facebook/appevents/AppEvent$Companion;-><init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
sput-object v0, Lcom/facebook/appevents/AppEvent;->Companion:Lcom/facebook/appevents/AppEvent$Companion;
.line 206
new-instance v0, Ljava/util/HashSet;
invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
sput-object v0, Lcom/facebook/appevents/AppEvent;->validatedIdentifiers:Ljava/util/HashSet;
return-void
.end method
.method public constructor <init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Landroid/os/Bundle;ZZLjava/util/UUID;)V
.locals 6
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;,
Lcom/facebook/FacebookException;
}
.end annotation
const-string v0, "contextName"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "eventName"
invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 54
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-boolean p5, p0, Lcom/facebook/appevents/AppEvent;->isImplicit:Z
iput-boolean p6, p0, Lcom/facebook/appevents/AppEvent;->inBackground:Z
iput-object p2, p0, Lcom/facebook/appevents/AppEvent;->name:Ljava/lang/String;
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v3, p3
move-object v4, p4
move-object v5, p7
.line 59
invoke-direct/range {v0 .. v5}, Lcom/facebook/appevents/AppEvent;->getJSONObjectForAppEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Landroid/os/Bundle;Ljava/util/UUID;)Lorg/json/JSONObject;
move-result-object p1
iput-object p1, p0, Lcom/facebook/appevents/AppEvent;->jsonObject:Lorg/json/JSONObject;
.line 60
invoke-direct {p0}, Lcom/facebook/appevents/AppEvent;->calculateChecksum()Ljava/lang/String;
move-result-object p1
iput-object p1, p0, Lcom/facebook/appevents/AppEvent;->checksum:Ljava/lang/String;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;ZZLjava/lang/String;)V
.locals 1
.line 68
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 69
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0, p1}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
iput-object v0, p0, Lcom/facebook/appevents/AppEvent;->jsonObject:Lorg/json/JSONObject;
iput-boolean p2, p0, Lcom/facebook/appevents/AppEvent;->isImplicit:Z
const-string p1, "_eventName"
.line 71
invoke-virtual {v0, p1}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
const-string p2, "jsonObject.optString(Constants.EVENT_NAME_EVENT_KEY)"
invoke-static {p1, p2}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
iput-object p1, p0, Lcom/facebook/appevents/AppEvent;->name:Ljava/lang/String;
iput-object p4, p0, Lcom/facebook/appevents/AppEvent;->checksum:Ljava/lang/String;
iput-boolean p3, p0, Lcom/facebook/appevents/AppEvent;->inBackground:Z
return-void
.end method
.method public synthetic constructor <init>(Ljava/lang/String;ZZLjava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
.locals 0
.line 0
invoke-direct {p0, p1, p2, p3, p4}, Lcom/facebook/appevents/AppEvent;-><init>(Ljava/lang/String;ZZLjava/lang/String;)V
return-void
.end method
.method public static final synthetic access$getValidatedIdentifiers$cp()Ljava/util/HashSet;
.locals 1
sget-object v0, Lcom/facebook/appevents/AppEvent;->validatedIdentifiers:Ljava/util/HashSet;
return-object v0
.end method
.method private final calculateChecksum()Ljava/lang/String;
.locals 3
sget-object v0, Lcom/facebook/appevents/AppEvent;->Companion:Lcom/facebook/appevents/AppEvent$Companion;
iget-object v1, p0, Lcom/facebook/appevents/AppEvent;->jsonObject:Lorg/json/JSONObject;
.line 189
invoke-virtual {v1}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object v1
const-string v2, "jsonObject.toString()"
invoke-static {v1, v2}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
invoke-static {v0, v1}, Lcom/facebook/appevents/AppEvent$Companion;->access$md5Checksum(Lcom/facebook/appevents/AppEvent$Companion;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method private final getJSONObjectForAppEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Landroid/os/Bundle;Ljava/util/UUID;)Lorg/json/JSONObject;
.locals 6
sget-object v0, Lcom/facebook/appevents/AppEvent;->Companion:Lcom/facebook/appevents/AppEvent$Companion;
.line 95
invoke-static {v0, p2}, Lcom/facebook/appevents/AppEvent$Companion;->access$validateIdentifier(Lcom/facebook/appevents/AppEvent$Companion;Ljava/lang/String;)V
.line 96
new-instance v1, Lorg/json/JSONObject;
invoke-direct {v1}, Lorg/json/JSONObject;-><init>()V
.line 97
invoke-static {p2}, Lcom/facebook/appevents/restrictivedatafilter/RestrictiveDataManager;->processEvent(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 99
invoke-static {v2, p2}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_0
.line 101
invoke-static {p2}, Lcom/facebook/appevents/integrity/RedactedEventsManager;->processEventsRedaction(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
:cond_0
const-string p2, "_eventName"
.line 104
invoke-virtual {v1, p2, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string p2, "_eventName_md5"
.line 105
invoke-static {v0, v2}, Lcom/facebook/appevents/AppEvent$Companion;->access$md5Checksum(Lcom/facebook/appevents/AppEvent$Companion;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, p2, v0}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 106
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v2
const/16 p2, 0x3e8
int-to-long v4, p2
div-long/2addr v2, v4
const-string p2, "_logTime"
invoke-virtual {v1, p2, v2, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;J)Lorg/json/JSONObject;
const-string p2, "_ui"
.line 107
invoke-virtual {v1, p2, p1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
if-eqz p5, :cond_1
const-string p1, "_session_id"
.line 109
invoke-virtual {v1, p1, p5}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:cond_1
if-eqz p4, :cond_2
.line 112
invoke-direct {p0, p4}, Lcom/facebook/appevents/AppEvent;->validateParameters(Landroid/os/Bundle;)Ljava/util/Map;
move-result-object p1
.line 113
invoke-interface {p1}, Ljava/util/Map;->keySet()Ljava/util/Set;
move-result-object p2
invoke-interface {p2}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p2
:goto_0
invoke-interface {p2}, Ljava/util/Iterator;->hasNext()Z
move-result p4
if-eqz p4, :cond_2
invoke-interface {p2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p4
check-cast p4, Ljava/lang/String;
.line 114
invoke-interface {p1, p4}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p5
invoke-virtual {v1, p4, p5}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
goto :goto_0
:cond_2
if-eqz p3, :cond_3
const-string p1, "_valueToSum"
.line 118
invoke-virtual {p3}, Ljava/lang/Double;->doubleValue()D
move-result-wide p2
invoke-virtual {v1, p1, p2, p3}, Lorg/json/JSONObject;->put(Ljava/lang/String;D)Lorg/json/JSONObject;
:cond_3
iget-boolean p1, p0, Lcom/facebook/appevents/AppEvent;->inBackground:Z
const-string p2, "1"
if-eqz p1, :cond_4
const-string p1, "_inBackground"
.line 121
invoke-virtual {v1, p1, p2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:cond_4
iget-boolean p1, p0, Lcom/facebook/appevents/AppEvent;->isImplicit:Z
if-eqz p1, :cond_5
const-string p1, "_implicitlyLogged"
.line 124
invoke-virtual {v1, p1, p2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
goto :goto_1
.line 126
:cond_5
sget-object p1, Lcom/facebook/internal/Logger;->Companion:Lcom/facebook/internal/Logger$Companion;
sget-object p2, Lcom/facebook/LoggingBehavior;->APP_EVENTS:Lcom/facebook/LoggingBehavior;
invoke-virtual {v1}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object p3
const-string p4, "eventObject.toString()"
invoke-static {p3, p4}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
filled-new-array {p3}, [Ljava/lang/Object;
move-result-object p3
const-string p4, "AppEvents"
const-string p5, "Created app event \'%s\'"
invoke-virtual {p1, p2, p4, p5, p3}, Lcom/facebook/internal/Logger$Companion;->log(Lcom/facebook/LoggingBehavior;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
:goto_1
return-object v1
.end method
.method private final validateParameters(Landroid/os/Bundle;)Ljava/util/Map;
.locals 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/os/Bundle;",
")",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.line 132
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
.line 133
invoke-virtual {p1}, Landroid/os/BaseBundle;->keySet()Ljava/util/Set;
move-result-object v1
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_0
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_2
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
sget-object v3, Lcom/facebook/appevents/AppEvent;->Companion:Lcom/facebook/appevents/AppEvent$Companion;
const-string v4, "key"
.line 134
invoke-static {v2, v4}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
invoke-static {v3, v2}, Lcom/facebook/appevents/AppEvent$Companion;->access$validateIdentifier(Lcom/facebook/appevents/AppEvent$Companion;Ljava/lang/String;)V
.line 135
invoke-virtual {p1, v2}, Landroid/os/BaseBundle;->get(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v3
.line 136
instance-of v4, v3, Ljava/lang/String;
if-nez v4, :cond_1
instance-of v4, v3, Ljava/lang/Number;
if-eqz v4, :cond_0
goto :goto_1
.line 137
:cond_0
new-instance p1, Lcom/facebook/FacebookException;
.line 138
sget-object v0, Lkotlin/jvm/internal/StringCompanionObject;->INSTANCE:Lkotlin/jvm/internal/StringCompanionObject;
const/4 v0, 0x2
filled-new-array {v3, v2}, [Ljava/lang/Object;
move-result-object v1
invoke-static {v1, v0}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object;
move-result-object v0
const-string v1, "Parameter value \'%s\' for key \'%s\' should be a string or a numeric type."
invoke-static {v1, v0}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
const-string v1, "java.lang.String.format(format, *args)"
invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
.line 137
invoke-direct {p1, v0}, Lcom/facebook/FacebookException;-><init>(Ljava/lang/String;)V
throw p1
.line 143
:cond_1
:goto_1
invoke-virtual {v3}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v3
invoke-interface {v0, v2, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_0
.line 145
:cond_2
sget-object v1, Lcom/facebook/appevents/integrity/ProtectedModeManager;->INSTANCE:Lcom/facebook/appevents/integrity/ProtectedModeManager;
invoke-virtual {v1, p1}, Lcom/facebook/appevents/integrity/ProtectedModeManager;->protectedModeIsApplied(Landroid/os/Bundle;)Z
move-result p1
if-nez p1, :cond_3
.line 146
sget-object p1, Lcom/facebook/appevents/integrity/SensitiveParamsManager;->INSTANCE:Lcom/facebook/appevents/integrity/SensitiveParamsManager;
iget-object p1, p0, Lcom/facebook/appevents/AppEvent;->name:Ljava/lang/String;
invoke-static {v0, p1}, Lcom/facebook/appevents/integrity/SensitiveParamsManager;->processFilterSensitiveParams(Ljava/util/Map;Ljava/lang/String;)V
.line 148
:cond_3
invoke-static {v0}, Lcom/facebook/appevents/integrity/IntegrityManager;->processParameters(Ljava/util/Map;)V
.line 149
sget-object p1, Lcom/facebook/appevents/restrictivedatafilter/RestrictiveDataManager;->INSTANCE:Lcom/facebook/appevents/restrictivedatafilter/RestrictiveDataManager;
iget-object p1, p0, Lcom/facebook/appevents/AppEvent;->name:Ljava/lang/String;
invoke-static {v0, p1}, Lcom/facebook/appevents/restrictivedatafilter/RestrictiveDataManager;->processParameters(Ljava/util/Map;Ljava/lang/String;)V
.line 150
sget-object p1, Lcom/facebook/appevents/eventdeactivation/EventDeactivationManager;->INSTANCE:Lcom/facebook/appevents/eventdeactivation/EventDeactivationManager;
iget-object p1, p0, Lcom/facebook/appevents/AppEvent;->name:Ljava/lang/String;
invoke-static {v0, p1}, Lcom/facebook/appevents/eventdeactivation/EventDeactivationManager;->processDeprecatedParameters(Ljava/util/Map;Ljava/lang/String;)V
return-object v0
.end method
.method private final writeReplace()Ljava/lang/Object;
.locals 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/ObjectStreamException;
}
.end annotation
.line 173
new-instance v0, Lcom/facebook/appevents/AppEvent$SerializationProxyV2;
iget-object v1, p0, Lcom/facebook/appevents/AppEvent;->jsonObject:Lorg/json/JSONObject;
invoke-virtual {v1}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object v1
const-string v2, "jsonObject.toString()"
invoke-static {v1, v2}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
iget-boolean v2, p0, Lcom/facebook/appevents/AppEvent;->isImplicit:Z
iget-boolean v3, p0, Lcom/facebook/appevents/AppEvent;->inBackground:Z
iget-object v4, p0, Lcom/facebook/appevents/AppEvent;->checksum:Ljava/lang/String;
invoke-direct {v0, v1, v2, v3, v4}, Lcom/facebook/appevents/AppEvent$SerializationProxyV2;-><init>(Ljava/lang/String;ZZLjava/lang/String;)V
return-object v0
.end method
# virtual methods
.method public final getIsImplicit()Z
.locals 1
iget-boolean v0, p0, Lcom/facebook/appevents/AppEvent;->isImplicit:Z
return v0
.end method
.method public final getJSONObject()Lorg/json/JSONObject;
.locals 1
iget-object v0, p0, Lcom/facebook/appevents/AppEvent;->jsonObject:Lorg/json/JSONObject;
return-object v0
.end method
.method public final getJsonObject()Lorg/json/JSONObject;
.locals 1
iget-object v0, p0, Lcom/facebook/appevents/AppEvent;->jsonObject:Lorg/json/JSONObject;
return-object v0
.end method
.method public final getName()Ljava/lang/String;
.locals 1
iget-object v0, p0, Lcom/facebook/appevents/AppEvent;->name:Ljava/lang/String;
return-object v0
.end method
.method public final isChecksumValid()Z
.locals 2
iget-object v0, p0, Lcom/facebook/appevents/AppEvent;->checksum:Ljava/lang/String;
if-nez v0, :cond_0
const/4 v0, 0x1
goto :goto_0
.line 86
:cond_0
invoke-direct {p0}, Lcom/facebook/appevents/AppEvent;->calculateChecksum()Ljava/lang/String;
move-result-object v0
iget-object v1, p0, Lcom/facebook/appevents/AppEvent;->checksum:Ljava/lang/String;
invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
:goto_0
return v0
.end method
.method public final isImplicit()Z
.locals 1
iget-boolean v0, p0, Lcom/facebook/appevents/AppEvent;->isImplicit:Z
return v0
.end method
.method public toString()Ljava/lang/String;
.locals 3
.line 177
sget-object v0, Lkotlin/jvm/internal/StringCompanionObject;->INSTANCE:Lkotlin/jvm/internal/StringCompanionObject;
iget-object v0, p0, Lcom/facebook/appevents/AppEvent;->jsonObject:Lorg/json/JSONObject;
const-string v1, "_eventName"
.line 179
invoke-virtual {v0, v1}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iget-boolean v1, p0, Lcom/facebook/appevents/AppEvent;->isImplicit:Z
.line 180
invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v1
iget-object v2, p0, Lcom/facebook/appevents/AppEvent;->jsonObject:Lorg/json/JSONObject;
.line 181
invoke-virtual {v2}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object v2
filled-new-array {v0, v1, v2}, [Ljava/lang/Object;
move-result-object v0
const/4 v1, 0x3
.line 177
invoke-static {v0, v1}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object;
move-result-object v0
const-string v1, "\"%s\", implicit: %b, json: %s"
invoke-static {v1, v0}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
const-string v1, "java.lang.String.format(format, *args)"
invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
return-object v0
.end method