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
This commit is contained in:
2026-02-18 16:13:44 -08:00
parent c080f0d97f
commit f3960ee359
44288 changed files with 10998761 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
.class public final synthetic Lcom/facebook/internal/instrument/ExceptionAnalyzer$$ExternalSyntheticLambda0;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/facebook/GraphRequest$Callback;
# instance fields
.field public final synthetic f$0:Lcom/facebook/internal/instrument/InstrumentData;
# direct methods
.method public synthetic constructor <init>(Lcom/facebook/internal/instrument/InstrumentData;)V
.locals 0
.line 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/facebook/internal/instrument/ExceptionAnalyzer$$ExternalSyntheticLambda0;->f$0:Lcom/facebook/internal/instrument/InstrumentData;
return-void
.end method
# virtual methods
.method public final onCompleted(Lcom/facebook/GraphResponse;)V
.locals 1
.line 0
iget-object v0, p0, Lcom/facebook/internal/instrument/ExceptionAnalyzer$$ExternalSyntheticLambda0;->f$0:Lcom/facebook/internal/instrument/InstrumentData;
invoke-static {v0, p1}, Lcom/facebook/internal/instrument/ExceptionAnalyzer;->$r8$lambda$pPDlq7E5Nv4wEVLn6mrA0r-QImQ(Lcom/facebook/internal/instrument/InstrumentData;Lcom/facebook/GraphResponse;)V
return-void
.end method

View File

@@ -0,0 +1,397 @@
.class public final Lcom/facebook/internal/instrument/ExceptionAnalyzer;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# static fields
.field public static final INSTANCE:Lcom/facebook/internal/instrument/ExceptionAnalyzer;
.field private static enabled:Z
# direct methods
.method public static synthetic $r8$lambda$pPDlq7E5Nv4wEVLn6mrA0r-QImQ(Lcom/facebook/internal/instrument/InstrumentData;Lcom/facebook/GraphResponse;)V
.locals 0
.line 0
invoke-static {p0, p1}, Lcom/facebook/internal/instrument/ExceptionAnalyzer;->sendExceptionAnalysisReports$lambda-1(Lcom/facebook/internal/instrument/InstrumentData;Lcom/facebook/GraphResponse;)V
return-void
.end method
.method static constructor <clinit>()V
.locals 1
new-instance v0, Lcom/facebook/internal/instrument/ExceptionAnalyzer;
invoke-direct {v0}, Lcom/facebook/internal/instrument/ExceptionAnalyzer;-><init>()V
sput-object v0, Lcom/facebook/internal/instrument/ExceptionAnalyzer;->INSTANCE:Lcom/facebook/internal/instrument/ExceptionAnalyzer;
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 25
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static final enable()V
.locals 1
const/4 v0, 0x1
sput-boolean v0, Lcom/facebook/internal/instrument/ExceptionAnalyzer;->enabled:Z
.line 36
invoke-static {}, Lcom/facebook/FacebookSdk;->getAutoLogAppEventsEnabled()Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Lcom/facebook/internal/instrument/ExceptionAnalyzer;->INSTANCE:Lcom/facebook/internal/instrument/ExceptionAnalyzer;
.line 37
invoke-virtual {v0}, Lcom/facebook/internal/instrument/ExceptionAnalyzer;->sendExceptionAnalysisReports$facebook_core_release()V
:cond_0
return-void
.end method
.method public static final execute(Ljava/lang/Throwable;)V
.locals 5
sget-boolean v0, Lcom/facebook/internal/instrument/ExceptionAnalyzer;->enabled:Z
if-eqz v0, :cond_3
.line 43
invoke-static {}, Lcom/facebook/internal/instrument/ExceptionAnalyzer;->isDebug$facebook_core_release()Z
move-result v0
if-nez v0, :cond_3
if-nez p0, :cond_0
goto :goto_1
.line 46
:cond_0
new-instance v0, Ljava/util/HashSet;
invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
.line 47
invoke-virtual {p0}, Ljava/lang/Throwable;->getStackTrace()[Ljava/lang/StackTraceElement;
move-result-object p0
const-string v1, "e.stackTrace"
invoke-static {p0, v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
.line 100
array-length v1, p0
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_2
aget-object v3, p0, v2
.line 48
sget-object v4, Lcom/facebook/internal/FeatureManager;->INSTANCE:Lcom/facebook/internal/FeatureManager;
invoke-virtual {v3}, Ljava/lang/StackTraceElement;->getClassName()Ljava/lang/String;
move-result-object v3
const-string v4, "it.className"
invoke-static {v3, v4}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
invoke-static {v3}, Lcom/facebook/internal/FeatureManager;->getFeature(Ljava/lang/String;)Lcom/facebook/internal/FeatureManager$Feature;
move-result-object v3
.line 49
sget-object v4, Lcom/facebook/internal/FeatureManager$Feature;->Unknown:Lcom/facebook/internal/FeatureManager$Feature;
if-eq v3, v4, :cond_1
.line 50
invoke-static {v3}, Lcom/facebook/internal/FeatureManager;->disableFeature(Lcom/facebook/internal/FeatureManager$Feature;)V
.line 51
invoke-virtual {v3}, Lcom/facebook/internal/FeatureManager$Feature;->toString()Ljava/lang/String;
move-result-object v3
invoke-interface {v0, v3}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
:cond_1
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 54
:cond_2
invoke-static {}, Lcom/facebook/FacebookSdk;->getAutoLogAppEventsEnabled()Z
move-result p0
if-eqz p0, :cond_3
invoke-interface {v0}, Ljava/util/Collection;->isEmpty()Z
move-result p0
xor-int/lit8 p0, p0, 0x1
if-eqz p0, :cond_3
.line 55
sget-object p0, Lcom/facebook/internal/instrument/InstrumentData$Builder;->INSTANCE:Lcom/facebook/internal/instrument/InstrumentData$Builder;
new-instance p0, Lorg/json/JSONArray;
invoke-direct {p0, v0}, Lorg/json/JSONArray;-><init>(Ljava/util/Collection;)V
invoke-static {p0}, Lcom/facebook/internal/instrument/InstrumentData$Builder;->build(Lorg/json/JSONArray;)Lcom/facebook/internal/instrument/InstrumentData;
move-result-object p0
invoke-virtual {p0}, Lcom/facebook/internal/instrument/InstrumentData;->save()V
:cond_3
:goto_1
return-void
.end method
.method public static final isDebug$facebook_core_release()Z
.locals 1
.annotation build Landroidx/annotation/VisibleForTesting;
otherwise = 0x2
.end annotation
const/4 v0, 0x0
return v0
.end method
.method private static final sendExceptionAnalysisReports$lambda-1(Lcom/facebook/internal/instrument/InstrumentData;Lcom/facebook/GraphResponse;)V
.locals 1
const-string v0, "$instrumentData"
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "response"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 78
:try_start_0
invoke-virtual {p1}, Lcom/facebook/GraphResponse;->getError()Lcom/facebook/FacebookRequestError;
move-result-object v0
if-nez v0, :cond_1
.line 79
invoke-virtual {p1}, Lcom/facebook/GraphResponse;->getJsonObject()Lorg/json/JSONObject;
move-result-object p1
if-nez p1, :cond_0
const/4 p1, 0x0
goto :goto_0
:cond_0
const-string v0, "success"
invoke-virtual {p1, v0}, Lorg/json/JSONObject;->getBoolean(Ljava/lang/String;)Z
move-result p1
invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p1
:goto_0
sget-object v0, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1
.line 80
invoke-virtual {p0}, Lcom/facebook/internal/instrument/InstrumentData;->clear()V
:try_end_0
.catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0
:catch_0
:cond_1
return-void
.end method
# virtual methods
.method public final sendExceptionAnalysisReports$facebook_core_release()V
.locals 12
.annotation build Landroidx/annotation/VisibleForTesting;
otherwise = 0x2
.end annotation
.line 61
invoke-static {}, Lcom/facebook/internal/Utility;->isDataProcessingRestricted()Z
move-result v0
if-eqz v0, :cond_0
return-void
.line 64
:cond_0
invoke-static {}, Lcom/facebook/internal/instrument/InstrumentUtility;->listExceptionAnalysisReportFiles()[Ljava/io/File;
move-result-object v0
.line 65
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
.line 66
array-length v2, v0
const/4 v3, 0x0
move v4, v3
:catch_0
:cond_1
:goto_0
if-ge v4, v2, :cond_2
aget-object v5, v0, v4
add-int/lit8 v4, v4, 0x1
.line 67
invoke-static {v5}, Lcom/facebook/internal/instrument/InstrumentData$Builder;->load(Ljava/io/File;)Lcom/facebook/internal/instrument/InstrumentData;
move-result-object v5
.line 68
invoke-virtual {v5}, Lcom/facebook/internal/instrument/InstrumentData;->isValid()Z
move-result v6
if-eqz v6, :cond_1
.line 69
new-instance v6, Lorg/json/JSONObject;
invoke-direct {v6}, Lorg/json/JSONObject;-><init>()V
:try_start_0
const-string v7, "crash_shield"
.line 71
invoke-virtual {v5}, Lcom/facebook/internal/instrument/InstrumentData;->toString()Ljava/lang/String;
move-result-object v8
invoke-virtual {v6, v7, v8}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 73
sget-object v7, Lcom/facebook/GraphRequest;->Companion:Lcom/facebook/GraphRequest$Companion;
.line 75
sget-object v8, Lkotlin/jvm/internal/StringCompanionObject;->INSTANCE:Lkotlin/jvm/internal/StringCompanionObject;
const-string v8, "%s/instruments"
const/4 v9, 0x1
new-array v10, v9, [Ljava/lang/Object;
invoke-static {}, Lcom/facebook/FacebookSdk;->getApplicationId()Ljava/lang/String;
move-result-object v11
aput-object v11, v10, v3
invoke-static {v10, v9}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object;
move-result-object v9
invoke-static {v8, v9}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v8
const-string v9, "java.lang.String.format(format, *args)"
invoke-static {v8, v9}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
.line 76
new-instance v9, Lcom/facebook/internal/instrument/ExceptionAnalyzer$$ExternalSyntheticLambda0;
invoke-direct {v9, v5}, Lcom/facebook/internal/instrument/ExceptionAnalyzer$$ExternalSyntheticLambda0;-><init>(Lcom/facebook/internal/instrument/InstrumentData;)V
const/4 v5, 0x0
.line 73
invoke-virtual {v7, v5, v8, v6, v9}, Lcom/facebook/GraphRequest$Companion;->newPostRequest(Lcom/facebook/AccessToken;Ljava/lang/String;Lorg/json/JSONObject;Lcom/facebook/GraphRequest$Callback;)Lcom/facebook/GraphRequest;
move-result-object v5
.line 86
invoke-interface {v1, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:try_end_0
.catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
.line 92
:cond_2
invoke-interface {v1}, Ljava/util/List;->isEmpty()Z
move-result v0
if-eqz v0, :cond_3
return-void
.line 95
:cond_3
new-instance v0, Lcom/facebook/GraphRequestBatch;
invoke-direct {v0, v1}, Lcom/facebook/GraphRequestBatch;-><init>(Ljava/util/Collection;)V
.line 96
invoke-virtual {v0}, Lcom/facebook/GraphRequestBatch;->executeAsync()Lcom/facebook/GraphRequestAsyncTask;
return-void
.end method

View File

@@ -0,0 +1,105 @@
.class public final Lcom/facebook/internal/instrument/InstrumentData$Builder;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/internal/instrument/InstrumentData;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Builder"
.end annotation
# static fields
.field public static final INSTANCE:Lcom/facebook/internal/instrument/InstrumentData$Builder;
# direct methods
.method static constructor <clinit>()V
.locals 1
new-instance v0, Lcom/facebook/internal/instrument/InstrumentData$Builder;
invoke-direct {v0}, Lcom/facebook/internal/instrument/InstrumentData$Builder;-><init>()V
sput-object v0, Lcom/facebook/internal/instrument/InstrumentData$Builder;->INSTANCE:Lcom/facebook/internal/instrument/InstrumentData$Builder;
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 206
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static final build(Ljava/lang/String;Ljava/lang/String;)Lcom/facebook/internal/instrument/InstrumentData;
.locals 2
.line 224
new-instance v0, Lcom/facebook/internal/instrument/InstrumentData;
const/4 v1, 0x0
invoke-direct {v0, p0, p1, v1}, Lcom/facebook/internal/instrument/InstrumentData;-><init>(Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
return-object v0
.end method
.method public static final build(Ljava/lang/Throwable;Lcom/facebook/internal/instrument/InstrumentData$Type;)Lcom/facebook/internal/instrument/InstrumentData;
.locals 2
const-string v0, "t"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 214
new-instance v0, Lcom/facebook/internal/instrument/InstrumentData;
const/4 v1, 0x0
invoke-direct {v0, p0, p1, v1}, Lcom/facebook/internal/instrument/InstrumentData;-><init>(Ljava/lang/Throwable;Lcom/facebook/internal/instrument/InstrumentData$Type;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
return-object v0
.end method
.method public static final build(Lorg/json/JSONArray;)Lcom/facebook/internal/instrument/InstrumentData;
.locals 2
const-string v0, "features"
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 219
new-instance v0, Lcom/facebook/internal/instrument/InstrumentData;
const/4 v1, 0x0
invoke-direct {v0, p0, v1}, Lcom/facebook/internal/instrument/InstrumentData;-><init>(Lorg/json/JSONArray;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
return-object v0
.end method
.method public static final load(Ljava/io/File;)Lcom/facebook/internal/instrument/InstrumentData;
.locals 2
const-string v0, "file"
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 209
new-instance v0, Lcom/facebook/internal/instrument/InstrumentData;
const/4 v1, 0x0
invoke-direct {v0, p0, v1}, Lcom/facebook/internal/instrument/InstrumentData;-><init>(Ljava/io/File;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
return-object v0
.end method

View File

@@ -0,0 +1,135 @@
.class public final Lcom/facebook/internal/instrument/InstrumentData$Companion;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/internal/instrument/InstrumentData;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Companion"
.end annotation
# direct methods
.method private constructor <init>()V
.locals 0
.line 228
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public synthetic constructor <init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
.locals 0
.line 0
invoke-direct {p0}, Lcom/facebook/internal/instrument/InstrumentData$Companion;-><init>()V
return-void
.end method
.method public static final synthetic access$getType(Lcom/facebook/internal/instrument/InstrumentData$Companion;Ljava/lang/String;)Lcom/facebook/internal/instrument/InstrumentData$Type;
.locals 0
.line 228
invoke-direct {p0, p1}, Lcom/facebook/internal/instrument/InstrumentData$Companion;->getType(Ljava/lang/String;)Lcom/facebook/internal/instrument/InstrumentData$Type;
move-result-object p0
return-object p0
.end method
.method private final getType(Ljava/lang/String;)Lcom/facebook/internal/instrument/InstrumentData$Type;
.locals 4
const-string v0, "crash_log_"
const/4 v1, 0x0
const/4 v2, 0x2
const/4 v3, 0x0
.line 239
invoke-static {p1, v0, v1, v2, v3}, Lkotlin/text/StringsKt;->startsWith$default(Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
.line 240
sget-object p1, Lcom/facebook/internal/instrument/InstrumentData$Type;->CrashReport:Lcom/facebook/internal/instrument/InstrumentData$Type;
return-object p1
:cond_0
const-string v0, "shield_log_"
.line 241
invoke-static {p1, v0, v1, v2, v3}, Lkotlin/text/StringsKt;->startsWith$default(Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1
.line 242
sget-object p1, Lcom/facebook/internal/instrument/InstrumentData$Type;->CrashShield:Lcom/facebook/internal/instrument/InstrumentData$Type;
return-object p1
:cond_1
const-string v0, "thread_check_log_"
.line 243
invoke-static {p1, v0, v1, v2, v3}, Lkotlin/text/StringsKt;->startsWith$default(Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_2
.line 244
sget-object p1, Lcom/facebook/internal/instrument/InstrumentData$Type;->ThreadCheck:Lcom/facebook/internal/instrument/InstrumentData$Type;
return-object p1
:cond_2
const-string v0, "analysis_log_"
.line 245
invoke-static {p1, v0, v1, v2, v3}, Lkotlin/text/StringsKt;->startsWith$default(Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_3
.line 246
sget-object p1, Lcom/facebook/internal/instrument/InstrumentData$Type;->Analysis:Lcom/facebook/internal/instrument/InstrumentData$Type;
return-object p1
:cond_3
const-string v0, "anr_log_"
.line 247
invoke-static {p1, v0, v1, v2, v3}, Lkotlin/text/StringsKt;->startsWith$default(Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_4
.line 248
sget-object p1, Lcom/facebook/internal/instrument/InstrumentData$Type;->AnrReport:Lcom/facebook/internal/instrument/InstrumentData$Type;
return-object p1
.line 250
:cond_4
sget-object p1, Lcom/facebook/internal/instrument/InstrumentData$Type;->Unknown:Lcom/facebook/internal/instrument/InstrumentData$Type;
return-object p1
.end method

View File

@@ -0,0 +1,86 @@
.class public final synthetic Lcom/facebook/internal/instrument/InstrumentData$Type$WhenMappings;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/internal/instrument/InstrumentData$Type;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1001
name = "WhenMappings"
.end annotation
# static fields
.field public static final synthetic $EnumSwitchMapping$0:[I
# direct methods
.method static constructor <clinit>()V
.locals 3
invoke-static {}, Lcom/facebook/internal/instrument/InstrumentData$Type;->values()[Lcom/facebook/internal/instrument/InstrumentData$Type;
move-result-object v0
array-length v0, v0
new-array v0, v0, [I
sget-object v1, Lcom/facebook/internal/instrument/InstrumentData$Type;->Analysis:Lcom/facebook/internal/instrument/InstrumentData$Type;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x1
aput v2, v0, v1
sget-object v1, Lcom/facebook/internal/instrument/InstrumentData$Type;->AnrReport:Lcom/facebook/internal/instrument/InstrumentData$Type;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x2
aput v2, v0, v1
sget-object v1, Lcom/facebook/internal/instrument/InstrumentData$Type;->CrashReport:Lcom/facebook/internal/instrument/InstrumentData$Type;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x3
aput v2, v0, v1
sget-object v1, Lcom/facebook/internal/instrument/InstrumentData$Type;->CrashShield:Lcom/facebook/internal/instrument/InstrumentData$Type;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x4
aput v2, v0, v1
sget-object v1, Lcom/facebook/internal/instrument/InstrumentData$Type;->ThreadCheck:Lcom/facebook/internal/instrument/InstrumentData$Type;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x5
aput v2, v0, v1
sput-object v0, Lcom/facebook/internal/instrument/InstrumentData$Type$WhenMappings;->$EnumSwitchMapping$0:[I
return-void
.end method

View File

@@ -0,0 +1,324 @@
.class public final enum Lcom/facebook/internal/instrument/InstrumentData$Type;
.super Ljava/lang/Enum;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/internal/instrument/InstrumentData;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4019
name = "Type"
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/facebook/internal/instrument/InstrumentData$Type$WhenMappings;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/facebook/internal/instrument/InstrumentData$Type;",
">;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/facebook/internal/instrument/InstrumentData$Type;
.field public static final enum Analysis:Lcom/facebook/internal/instrument/InstrumentData$Type;
.field public static final enum AnrReport:Lcom/facebook/internal/instrument/InstrumentData$Type;
.field public static final enum CrashReport:Lcom/facebook/internal/instrument/InstrumentData$Type;
.field public static final enum CrashShield:Lcom/facebook/internal/instrument/InstrumentData$Type;
.field public static final enum ThreadCheck:Lcom/facebook/internal/instrument/InstrumentData$Type;
.field public static final enum Unknown:Lcom/facebook/internal/instrument/InstrumentData$Type;
# direct methods
.method private static final synthetic $values()[Lcom/facebook/internal/instrument/InstrumentData$Type;
.locals 6
sget-object v0, Lcom/facebook/internal/instrument/InstrumentData$Type;->Unknown:Lcom/facebook/internal/instrument/InstrumentData$Type;
sget-object v1, Lcom/facebook/internal/instrument/InstrumentData$Type;->Analysis:Lcom/facebook/internal/instrument/InstrumentData$Type;
sget-object v2, Lcom/facebook/internal/instrument/InstrumentData$Type;->AnrReport:Lcom/facebook/internal/instrument/InstrumentData$Type;
sget-object v3, Lcom/facebook/internal/instrument/InstrumentData$Type;->CrashReport:Lcom/facebook/internal/instrument/InstrumentData$Type;
sget-object v4, Lcom/facebook/internal/instrument/InstrumentData$Type;->CrashShield:Lcom/facebook/internal/instrument/InstrumentData$Type;
sget-object v5, Lcom/facebook/internal/instrument/InstrumentData$Type;->ThreadCheck:Lcom/facebook/internal/instrument/InstrumentData$Type;
filled-new-array/range {v0 .. v5}, [Lcom/facebook/internal/instrument/InstrumentData$Type;
move-result-object v0
return-object v0
.end method
.method static constructor <clinit>()V
.locals 3
.line 27
new-instance v0, Lcom/facebook/internal/instrument/InstrumentData$Type;
const-string v1, "Unknown"
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcom/facebook/internal/instrument/InstrumentData$Type;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/facebook/internal/instrument/InstrumentData$Type;->Unknown:Lcom/facebook/internal/instrument/InstrumentData$Type;
.line 28
new-instance v0, Lcom/facebook/internal/instrument/InstrumentData$Type;
const-string v1, "Analysis"
const/4 v2, 0x1
invoke-direct {v0, v1, v2}, Lcom/facebook/internal/instrument/InstrumentData$Type;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/facebook/internal/instrument/InstrumentData$Type;->Analysis:Lcom/facebook/internal/instrument/InstrumentData$Type;
.line 29
new-instance v0, Lcom/facebook/internal/instrument/InstrumentData$Type;
const-string v1, "AnrReport"
const/4 v2, 0x2
invoke-direct {v0, v1, v2}, Lcom/facebook/internal/instrument/InstrumentData$Type;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/facebook/internal/instrument/InstrumentData$Type;->AnrReport:Lcom/facebook/internal/instrument/InstrumentData$Type;
.line 30
new-instance v0, Lcom/facebook/internal/instrument/InstrumentData$Type;
const-string v1, "CrashReport"
const/4 v2, 0x3
invoke-direct {v0, v1, v2}, Lcom/facebook/internal/instrument/InstrumentData$Type;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/facebook/internal/instrument/InstrumentData$Type;->CrashReport:Lcom/facebook/internal/instrument/InstrumentData$Type;
.line 31
new-instance v0, Lcom/facebook/internal/instrument/InstrumentData$Type;
const-string v1, "CrashShield"
const/4 v2, 0x4
invoke-direct {v0, v1, v2}, Lcom/facebook/internal/instrument/InstrumentData$Type;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/facebook/internal/instrument/InstrumentData$Type;->CrashShield:Lcom/facebook/internal/instrument/InstrumentData$Type;
.line 32
new-instance v0, Lcom/facebook/internal/instrument/InstrumentData$Type;
const-string v1, "ThreadCheck"
const/4 v2, 0x5
invoke-direct {v0, v1, v2}, Lcom/facebook/internal/instrument/InstrumentData$Type;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/facebook/internal/instrument/InstrumentData$Type;->ThreadCheck:Lcom/facebook/internal/instrument/InstrumentData$Type;
invoke-static {}, Lcom/facebook/internal/instrument/InstrumentData$Type;->$values()[Lcom/facebook/internal/instrument/InstrumentData$Type;
move-result-object v0
sput-object v0, Lcom/facebook/internal/instrument/InstrumentData$Type;->$VALUES:[Lcom/facebook/internal/instrument/InstrumentData$Type;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.line 26
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/facebook/internal/instrument/InstrumentData$Type;
.locals 1
const-string v0, "value"
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-class v0, Lcom/facebook/internal/instrument/InstrumentData$Type;
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
.line 56
check-cast p0, Lcom/facebook/internal/instrument/InstrumentData$Type;
return-object p0
.end method
.method public static values()[Lcom/facebook/internal/instrument/InstrumentData$Type;
.locals 2
sget-object v0, Lcom/facebook/internal/instrument/InstrumentData$Type;->$VALUES:[Lcom/facebook/internal/instrument/InstrumentData$Type;
array-length v1, v0
invoke-static {v0, v1}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object;
move-result-object v0
.line 56
check-cast v0, [Lcom/facebook/internal/instrument/InstrumentData$Type;
return-object v0
.end method
# virtual methods
.method public final getLogPrefix()Ljava/lang/String;
.locals 2
.line 47
sget-object v0, Lcom/facebook/internal/instrument/InstrumentData$Type$WhenMappings;->$EnumSwitchMapping$0:[I
invoke-virtual {p0}, Ljava/lang/Enum;->ordinal()I
move-result v1
aget v0, v0, v1
const/4 v1, 0x1
if-eq v0, v1, :cond_4
const/4 v1, 0x2
if-eq v0, v1, :cond_3
const/4 v1, 0x3
if-eq v0, v1, :cond_2
const/4 v1, 0x4
if-eq v0, v1, :cond_1
const/4 v1, 0x5
if-eq v0, v1, :cond_0
const-string v0, "Unknown"
goto :goto_0
:cond_0
const-string v0, "thread_check_log_"
goto :goto_0
:cond_1
const-string v0, "shield_log_"
goto :goto_0
:cond_2
const-string v0, "crash_log_"
goto :goto_0
:cond_3
const-string v0, "anr_log_"
goto :goto_0
:cond_4
const-string v0, "analysis_log_"
:goto_0
return-object v0
.end method
.method public toString()Ljava/lang/String;
.locals 2
.line 35
sget-object v0, Lcom/facebook/internal/instrument/InstrumentData$Type$WhenMappings;->$EnumSwitchMapping$0:[I
invoke-virtual {p0}, Ljava/lang/Enum;->ordinal()I
move-result v1
aget v0, v0, v1
const/4 v1, 0x1
if-eq v0, v1, :cond_4
const/4 v1, 0x2
if-eq v0, v1, :cond_3
const/4 v1, 0x3
if-eq v0, v1, :cond_2
const/4 v1, 0x4
if-eq v0, v1, :cond_1
const/4 v1, 0x5
if-eq v0, v1, :cond_0
const-string v0, "Unknown"
goto :goto_0
:cond_0
const-string v0, "ThreadCheck"
goto :goto_0
:cond_1
const-string v0, "CrashShield"
goto :goto_0
:cond_2
const-string v0, "CrashReport"
goto :goto_0
:cond_3
const-string v0, "AnrReport"
goto :goto_0
:cond_4
const-string v0, "Analysis"
:goto_0
return-object v0
.end method

View File

@@ -0,0 +1,86 @@
.class public final synthetic Lcom/facebook/internal/instrument/InstrumentData$WhenMappings;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/internal/instrument/InstrumentData;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1001
name = "WhenMappings"
.end annotation
# static fields
.field public static final synthetic $EnumSwitchMapping$0:[I
# direct methods
.method static constructor <clinit>()V
.locals 3
invoke-static {}, Lcom/facebook/internal/instrument/InstrumentData$Type;->values()[Lcom/facebook/internal/instrument/InstrumentData$Type;
move-result-object v0
array-length v0, v0
new-array v0, v0, [I
sget-object v1, Lcom/facebook/internal/instrument/InstrumentData$Type;->Analysis:Lcom/facebook/internal/instrument/InstrumentData$Type;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x1
aput v2, v0, v1
sget-object v1, Lcom/facebook/internal/instrument/InstrumentData$Type;->AnrReport:Lcom/facebook/internal/instrument/InstrumentData$Type;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x2
aput v2, v0, v1
sget-object v1, Lcom/facebook/internal/instrument/InstrumentData$Type;->CrashReport:Lcom/facebook/internal/instrument/InstrumentData$Type;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x3
aput v2, v0, v1
sget-object v1, Lcom/facebook/internal/instrument/InstrumentData$Type;->CrashShield:Lcom/facebook/internal/instrument/InstrumentData$Type;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x4
aput v2, v0, v1
sget-object v1, Lcom/facebook/internal/instrument/InstrumentData$Type;->ThreadCheck:Lcom/facebook/internal/instrument/InstrumentData$Type;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x5
aput v2, v0, v1
sput-object v0, Lcom/facebook/internal/instrument/InstrumentData$WhenMappings;->$EnumSwitchMapping$0:[I
return-void
.end method

View File

@@ -0,0 +1,832 @@
.class public final Lcom/facebook/internal/instrument/InstrumentData;
.super Ljava/lang/Object;
.source "SourceFile"
# 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/internal/instrument/InstrumentData$Type;,
Lcom/facebook/internal/instrument/InstrumentData$Builder;,
Lcom/facebook/internal/instrument/InstrumentData$Companion;,
Lcom/facebook/internal/instrument/InstrumentData$WhenMappings;
}
.end annotation
# static fields
.field public static final Companion:Lcom/facebook/internal/instrument/InstrumentData$Companion;
.field private static final PARAM_APP_VERSION:Ljava/lang/String; = "app_version"
.field private static final PARAM_CALLSTACK:Ljava/lang/String; = "callstack"
.field private static final PARAM_DEVICE_MODEL:Ljava/lang/String; = "device_model"
.field private static final PARAM_DEVICE_OS:Ljava/lang/String; = "device_os_version"
.field private static final PARAM_FEATURE_NAMES:Ljava/lang/String; = "feature_names"
.field private static final PARAM_REASON:Ljava/lang/String; = "reason"
.field private static final PARAM_TIMESTAMP:Ljava/lang/String; = "timestamp"
.field private static final PARAM_TYPE:Ljava/lang/String; = "type"
.field private static final UNKNOWN:Ljava/lang/String; = "Unknown"
# instance fields
.field private appVersion:Ljava/lang/String;
.field private cause:Ljava/lang/String;
.field private featureNames:Lorg/json/JSONArray;
.field private filename:Ljava/lang/String;
.field private stackTrace:Ljava/lang/String;
.field private timestamp:Ljava/lang/Long;
.field private type:Lcom/facebook/internal/instrument/InstrumentData$Type;
# direct methods
.method static constructor <clinit>()V
.locals 2
new-instance v0, Lcom/facebook/internal/instrument/InstrumentData$Companion;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lcom/facebook/internal/instrument/InstrumentData$Companion;-><init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
sput-object v0, Lcom/facebook/internal/instrument/InstrumentData;->Companion:Lcom/facebook/internal/instrument/InstrumentData$Companion;
return-void
.end method
.method private constructor <init>(Ljava/io/File;)V
.locals 3
.line 102
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 103
invoke-virtual {p1}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object p1
const-string v0, "file.name"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
iput-object p1, p0, Lcom/facebook/internal/instrument/InstrumentData;->filename:Ljava/lang/String;
sget-object v0, Lcom/facebook/internal/instrument/InstrumentData;->Companion:Lcom/facebook/internal/instrument/InstrumentData$Companion;
.line 104
invoke-static {v0, p1}, Lcom/facebook/internal/instrument/InstrumentData$Companion;->access$getType(Lcom/facebook/internal/instrument/InstrumentData$Companion;Ljava/lang/String;)Lcom/facebook/internal/instrument/InstrumentData$Type;
move-result-object p1
iput-object p1, p0, Lcom/facebook/internal/instrument/InstrumentData;->type:Lcom/facebook/internal/instrument/InstrumentData$Type;
.line 105
sget-object p1, Lcom/facebook/internal/instrument/InstrumentUtility;->INSTANCE:Lcom/facebook/internal/instrument/InstrumentUtility;
iget-object p1, p0, Lcom/facebook/internal/instrument/InstrumentData;->filename:Ljava/lang/String;
const/4 v0, 0x1
invoke-static {p1, v0}, Lcom/facebook/internal/instrument/InstrumentUtility;->readFile(Ljava/lang/String;Z)Lorg/json/JSONObject;
move-result-object p1
if-eqz p1, :cond_0
const-string v0, "timestamp"
const-wide/16 v1, 0x0
.line 107
invoke-virtual {p1, v0, v1, v2}, Lorg/json/JSONObject;->optLong(Ljava/lang/String;J)J
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
iput-object v0, p0, Lcom/facebook/internal/instrument/InstrumentData;->timestamp:Ljava/lang/Long;
const-string v0, "app_version"
const/4 v1, 0x0
.line 108
invoke-virtual {p1, v0, v1}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/facebook/internal/instrument/InstrumentData;->appVersion:Ljava/lang/String;
const-string v0, "reason"
.line 109
invoke-virtual {p1, v0, v1}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/facebook/internal/instrument/InstrumentData;->cause:Ljava/lang/String;
const-string v0, "callstack"
.line 110
invoke-virtual {p1, v0, v1}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/facebook/internal/instrument/InstrumentData;->stackTrace:Ljava/lang/String;
const-string v0, "feature_names"
.line 111
invoke-virtual {p1, v0}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object p1
iput-object p1, p0, Lcom/facebook/internal/instrument/InstrumentData;->featureNames:Lorg/json/JSONArray;
:cond_0
return-void
.end method
.method public synthetic constructor <init>(Ljava/io/File;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
.locals 0
.line 0
invoke-direct {p0, p1}, Lcom/facebook/internal/instrument/InstrumentData;-><init>(Ljava/io/File;)V
return-void
.end method
.method private constructor <init>(Ljava/lang/String;Ljava/lang/String;)V
.locals 2
.line 88
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 89
sget-object v0, Lcom/facebook/internal/instrument/InstrumentData$Type;->AnrReport:Lcom/facebook/internal/instrument/InstrumentData$Type;
iput-object v0, p0, Lcom/facebook/internal/instrument/InstrumentData;->type:Lcom/facebook/internal/instrument/InstrumentData$Type;
.line 90
invoke-static {}, Lcom/facebook/internal/Utility;->getAppVersion()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/facebook/internal/instrument/InstrumentData;->appVersion:Ljava/lang/String;
iput-object p1, p0, Lcom/facebook/internal/instrument/InstrumentData;->cause:Ljava/lang/String;
iput-object p2, p0, Lcom/facebook/internal/instrument/InstrumentData;->stackTrace:Ljava/lang/String;
.line 93
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide p1
const/16 v0, 0x3e8
int-to-long v0, v0
div-long/2addr p1, v0
invoke-static {p1, p2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p1
iput-object p1, p0, Lcom/facebook/internal/instrument/InstrumentData;->timestamp:Ljava/lang/Long;
.line 95
new-instance p1, Ljava/lang/StringBuffer;
invoke-direct {p1}, Ljava/lang/StringBuffer;-><init>()V
const-string p2, "anr_log_"
.line 96
invoke-virtual {p1, p2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
iget-object p2, p0, Lcom/facebook/internal/instrument/InstrumentData;->timestamp:Ljava/lang/Long;
.line 97
invoke-static {p2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p2
invoke-virtual {p1, p2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
const-string p2, ".json"
.line 98
invoke-virtual {p1, p2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 99
invoke-virtual {p1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object p1
const-string p2, "StringBuffer()\n .append(InstrumentUtility.ANR_REPORT_PREFIX)\n .append(timestamp.toString())\n .append(\".json\")\n .toString()"
invoke-static {p1, p2}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
iput-object p1, p0, Lcom/facebook/internal/instrument/InstrumentData;->filename:Ljava/lang/String;
return-void
.end method
.method public synthetic constructor <init>(Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
.locals 0
.line 0
invoke-direct {p0, p1, p2}, Lcom/facebook/internal/instrument/InstrumentData;-><init>(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method private constructor <init>(Ljava/lang/Throwable;Lcom/facebook/internal/instrument/InstrumentData$Type;)V
.locals 4
.line 78
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p2, p0, Lcom/facebook/internal/instrument/InstrumentData;->type:Lcom/facebook/internal/instrument/InstrumentData$Type;
.line 80
invoke-static {}, Lcom/facebook/internal/Utility;->getAppVersion()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/facebook/internal/instrument/InstrumentData;->appVersion:Ljava/lang/String;
.line 81
invoke-static {p1}, Lcom/facebook/internal/instrument/InstrumentUtility;->getCause(Ljava/lang/Throwable;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/facebook/internal/instrument/InstrumentData;->cause:Ljava/lang/String;
.line 82
invoke-static {p1}, Lcom/facebook/internal/instrument/InstrumentUtility;->getStackTrace(Ljava/lang/Throwable;)Ljava/lang/String;
move-result-object p1
iput-object p1, p0, Lcom/facebook/internal/instrument/InstrumentData;->stackTrace:Ljava/lang/String;
.line 83
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
const/16 p1, 0x3e8
int-to-long v2, p1
div-long/2addr v0, v2
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p1
iput-object p1, p0, Lcom/facebook/internal/instrument/InstrumentData;->timestamp:Ljava/lang/Long;
.line 85
new-instance p1, Ljava/lang/StringBuffer;
invoke-direct {p1}, Ljava/lang/StringBuffer;-><init>()V
invoke-virtual {p2}, Lcom/facebook/internal/instrument/InstrumentData$Type;->getLogPrefix()Ljava/lang/String;
move-result-object p2
invoke-virtual {p1, p2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
iget-object p2, p0, Lcom/facebook/internal/instrument/InstrumentData;->timestamp:Ljava/lang/Long;
invoke-static {p2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p2
invoke-virtual {p1, p2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
const-string p2, ".json"
invoke-virtual {p1, p2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
invoke-virtual {p1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object p1
const-string p2, "StringBuffer().append(t.logPrefix).append(timestamp.toString()).append(\".json\").toString()"
invoke-static {p1, p2}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
iput-object p1, p0, Lcom/facebook/internal/instrument/InstrumentData;->filename:Ljava/lang/String;
return-void
.end method
.method public synthetic constructor <init>(Ljava/lang/Throwable;Lcom/facebook/internal/instrument/InstrumentData$Type;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
.locals 0
.line 0
invoke-direct {p0, p1, p2}, Lcom/facebook/internal/instrument/InstrumentData;-><init>(Ljava/lang/Throwable;Lcom/facebook/internal/instrument/InstrumentData$Type;)V
return-void
.end method
.method private constructor <init>(Lorg/json/JSONArray;)V
.locals 4
.line 66
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 67
sget-object v0, Lcom/facebook/internal/instrument/InstrumentData$Type;->Analysis:Lcom/facebook/internal/instrument/InstrumentData$Type;
iput-object v0, p0, Lcom/facebook/internal/instrument/InstrumentData;->type:Lcom/facebook/internal/instrument/InstrumentData$Type;
.line 68
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
const/16 v2, 0x3e8
int-to-long v2, v2
div-long/2addr v0, v2
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
iput-object v0, p0, Lcom/facebook/internal/instrument/InstrumentData;->timestamp:Ljava/lang/Long;
iput-object p1, p0, Lcom/facebook/internal/instrument/InstrumentData;->featureNames:Lorg/json/JSONArray;
.line 71
new-instance p1, Ljava/lang/StringBuffer;
invoke-direct {p1}, Ljava/lang/StringBuffer;-><init>()V
const-string v0, "analysis_log_"
.line 72
invoke-virtual {p1, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
iget-object v0, p0, Lcom/facebook/internal/instrument/InstrumentData;->timestamp:Ljava/lang/Long;
.line 73
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {p1, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
const-string v0, ".json"
.line 74
invoke-virtual {p1, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 75
invoke-virtual {p1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object p1
const-string v0, "StringBuffer()\n .append(InstrumentUtility.ANALYSIS_REPORT_PREFIX)\n .append(timestamp.toString())\n .append(\".json\")\n .toString()"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
iput-object p1, p0, Lcom/facebook/internal/instrument/InstrumentData;->filename:Ljava/lang/String;
return-void
.end method
.method public synthetic constructor <init>(Lorg/json/JSONArray;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
.locals 0
.line 0
invoke-direct {p0, p1}, Lcom/facebook/internal/instrument/InstrumentData;-><init>(Lorg/json/JSONArray;)V
return-void
.end method
.method private final getAnalysisReportParameters()Lorg/json/JSONObject;
.locals 3
.line 163
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
:try_start_0
iget-object v1, p0, Lcom/facebook/internal/instrument/InstrumentData;->featureNames:Lorg/json/JSONArray;
if-eqz v1, :cond_0
const-string v2, "feature_names"
.line 166
invoke-virtual {v0, v2, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:cond_0
iget-object v1, p0, Lcom/facebook/internal/instrument/InstrumentData;->timestamp:Ljava/lang/Long;
if-eqz v1, :cond_1
const-string v2, "timestamp"
.line 169
invoke-virtual {v0, v2, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_0
.catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0
:cond_1
return-object v0
:catch_0
const/4 v0, 0x0
return-object v0
.end method
.method private final getExceptionReportParameters()Lorg/json/JSONObject;
.locals 3
.line 180
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
:try_start_0
const-string v1, "device_os_version"
.line 182
sget-object v2, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String;
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v1, "device_model"
.line 183
sget-object v2, Landroid/os/Build;->MODEL:Ljava/lang/String;
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
iget-object v1, p0, Lcom/facebook/internal/instrument/InstrumentData;->appVersion:Ljava/lang/String;
if-eqz v1, :cond_0
const-string v2, "app_version"
.line 185
invoke-virtual {v0, v2, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:cond_0
iget-object v1, p0, Lcom/facebook/internal/instrument/InstrumentData;->timestamp:Ljava/lang/Long;
if-eqz v1, :cond_1
const-string v2, "timestamp"
.line 188
invoke-virtual {v0, v2, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:cond_1
iget-object v1, p0, Lcom/facebook/internal/instrument/InstrumentData;->cause:Ljava/lang/String;
if-eqz v1, :cond_2
const-string v2, "reason"
.line 191
invoke-virtual {v0, v2, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:cond_2
iget-object v1, p0, Lcom/facebook/internal/instrument/InstrumentData;->stackTrace:Ljava/lang/String;
if-eqz v1, :cond_3
const-string v2, "callstack"
.line 194
invoke-virtual {v0, v2, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:cond_3
iget-object v1, p0, Lcom/facebook/internal/instrument/InstrumentData;->type:Lcom/facebook/internal/instrument/InstrumentData$Type;
if-eqz v1, :cond_4
const-string v2, "type"
.line 197
invoke-virtual {v0, v2, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_0
.catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0
:cond_4
return-object v0
:catch_0
const/4 v0, 0x0
return-object v0
.end method
.method private final getParameters()Lorg/json/JSONObject;
.locals 2
iget-object v0, p0, Lcom/facebook/internal/instrument/InstrumentData;->type:Lcom/facebook/internal/instrument/InstrumentData$Type;
if-nez v0, :cond_0
const/4 v0, -0x1
goto :goto_0
.line 151
:cond_0
sget-object v1, Lcom/facebook/internal/instrument/InstrumentData$WhenMappings;->$EnumSwitchMapping$0:[I
invoke-virtual {v0}, Ljava/lang/Enum;->ordinal()I
move-result v0
aget v0, v1, v0
:goto_0
const/4 v1, 0x1
if-eq v0, v1, :cond_2
const/4 v1, 0x2
if-eq v0, v1, :cond_1
const/4 v1, 0x3
if-eq v0, v1, :cond_1
const/4 v1, 0x4
if-eq v0, v1, :cond_1
const/4 v1, 0x5
if-eq v0, v1, :cond_1
const/4 v0, 0x0
goto :goto_1
.line 156
:cond_1
invoke-direct {p0}, Lcom/facebook/internal/instrument/InstrumentData;->getExceptionReportParameters()Lorg/json/JSONObject;
move-result-object v0
goto :goto_1
.line 152
:cond_2
invoke-direct {p0}, Lcom/facebook/internal/instrument/InstrumentData;->getAnalysisReportParameters()Lorg/json/JSONObject;
move-result-object v0
:goto_1
return-object v0
.end method
# virtual methods
.method public final clear()V
.locals 1
.line 141
sget-object v0, Lcom/facebook/internal/instrument/InstrumentUtility;->INSTANCE:Lcom/facebook/internal/instrument/InstrumentUtility;
iget-object v0, p0, Lcom/facebook/internal/instrument/InstrumentData;->filename:Ljava/lang/String;
invoke-static {v0}, Lcom/facebook/internal/instrument/InstrumentUtility;->deleteFile(Ljava/lang/String;)Z
return-void
.end method
.method public final compareTo(Lcom/facebook/internal/instrument/InstrumentData;)I
.locals 4
const-string v0, "data"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
iget-object v0, p0, Lcom/facebook/internal/instrument/InstrumentData;->timestamp:Ljava/lang/Long;
if-nez v0, :cond_0
const/4 p1, -0x1
return p1
.line 116
:cond_0
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
.line 117
iget-object p1, p1, Lcom/facebook/internal/instrument/InstrumentData;->timestamp:Ljava/lang/Long;
if-nez p1, :cond_1
const/4 p1, 0x1
return p1
:cond_1
invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
move-result-wide v2
.line 118
invoke-static {v2, v3, v0, v1}, Lkotlin/jvm/internal/Intrinsics;->compare(JJ)I
move-result p1
return p1
.end method
.method public final isValid()Z
.locals 4
iget-object v0, p0, Lcom/facebook/internal/instrument/InstrumentData;->type:Lcom/facebook/internal/instrument/InstrumentData$Type;
if-nez v0, :cond_0
const/4 v0, -0x1
goto :goto_0
.line 123
:cond_0
sget-object v1, Lcom/facebook/internal/instrument/InstrumentData$WhenMappings;->$EnumSwitchMapping$0:[I
invoke-virtual {v0}, Ljava/lang/Enum;->ordinal()I
move-result v0
aget v0, v1, v0
:goto_0
const/4 v1, 0x0
const/4 v2, 0x1
if-eq v0, v2, :cond_3
const/4 v3, 0x2
if-eq v0, v3, :cond_2
const/4 v3, 0x3
if-eq v0, v3, :cond_1
const/4 v3, 0x4
if-eq v0, v3, :cond_1
const/4 v3, 0x5
if-eq v0, v3, :cond_1
goto :goto_2
:cond_1
iget-object v0, p0, Lcom/facebook/internal/instrument/InstrumentData;->stackTrace:Ljava/lang/String;
if-eqz v0, :cond_4
iget-object v0, p0, Lcom/facebook/internal/instrument/InstrumentData;->timestamp:Ljava/lang/Long;
if-eqz v0, :cond_4
:goto_1
move v1, v2
goto :goto_2
:cond_2
iget-object v0, p0, Lcom/facebook/internal/instrument/InstrumentData;->stackTrace:Ljava/lang/String;
if-eqz v0, :cond_4
iget-object v0, p0, Lcom/facebook/internal/instrument/InstrumentData;->cause:Ljava/lang/String;
if-eqz v0, :cond_4
iget-object v0, p0, Lcom/facebook/internal/instrument/InstrumentData;->timestamp:Ljava/lang/Long;
if-eqz v0, :cond_4
goto :goto_1
:cond_3
iget-object v0, p0, Lcom/facebook/internal/instrument/InstrumentData;->featureNames:Lorg/json/JSONArray;
if-eqz v0, :cond_4
iget-object v0, p0, Lcom/facebook/internal/instrument/InstrumentData;->timestamp:Ljava/lang/Long;
if-eqz v0, :cond_4
goto :goto_1
:cond_4
:goto_2
return v1
.end method
.method public final save()V
.locals 2
.line 134
invoke-virtual {p0}, Lcom/facebook/internal/instrument/InstrumentData;->isValid()Z
move-result v0
if-nez v0, :cond_0
return-void
.line 137
:cond_0
sget-object v0, Lcom/facebook/internal/instrument/InstrumentUtility;->INSTANCE:Lcom/facebook/internal/instrument/InstrumentUtility;
iget-object v0, p0, Lcom/facebook/internal/instrument/InstrumentData;->filename:Ljava/lang/String;
invoke-virtual {p0}, Lcom/facebook/internal/instrument/InstrumentData;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcom/facebook/internal/instrument/InstrumentUtility;->writeFile(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public toString()Ljava/lang/String;
.locals 2
.line 145
invoke-direct {p0}, Lcom/facebook/internal/instrument/InstrumentData;->getParameters()Lorg/json/JSONObject;
move-result-object v0
if-nez v0, :cond_0
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
invoke-virtual {v0}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "JSONObject().toString()"
invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
return-object v0
.line 146
:cond_0
invoke-virtual {v0}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "params.toString()"
invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
return-object v0
.end method

View File

@@ -0,0 +1,27 @@
.class public final synthetic Lcom/facebook/internal/instrument/InstrumentManager$$ExternalSyntheticLambda0;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/facebook/internal/FeatureManager$Callback;
# direct methods
.method public synthetic constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final onCompleted(Z)V
.locals 0
.line 0
invoke-static {p1}, Lcom/facebook/internal/instrument/InstrumentManager;->$r8$lambda$4MyDvqln6PNGTsI_G-unmm6dgow(Z)V
return-void
.end method

View File

@@ -0,0 +1,27 @@
.class public final synthetic Lcom/facebook/internal/instrument/InstrumentManager$$ExternalSyntheticLambda1;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/facebook/internal/FeatureManager$Callback;
# direct methods
.method public synthetic constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final onCompleted(Z)V
.locals 0
.line 0
invoke-static {p1}, Lcom/facebook/internal/instrument/InstrumentManager;->$r8$lambda$nbEIjpzjPYAg_jgOjRARZeDprXo(Z)V
return-void
.end method

View File

@@ -0,0 +1,27 @@
.class public final synthetic Lcom/facebook/internal/instrument/InstrumentManager$$ExternalSyntheticLambda2;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/facebook/internal/FeatureManager$Callback;
# direct methods
.method public synthetic constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final onCompleted(Z)V
.locals 0
.line 0
invoke-static {p1}, Lcom/facebook/internal/instrument/InstrumentManager;->$r8$lambda$TWQX_5j9T_RFmswbIBPmM1KCLI0(Z)V
return-void
.end method

View File

@@ -0,0 +1,178 @@
.class public final Lcom/facebook/internal/instrument/InstrumentManager;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# static fields
.field public static final INSTANCE:Lcom/facebook/internal/instrument/InstrumentManager;
# direct methods
.method public static synthetic $r8$lambda$4MyDvqln6PNGTsI_G-unmm6dgow(Z)V
.locals 0
.line 0
invoke-static {p0}, Lcom/facebook/internal/instrument/InstrumentManager;->start$lambda-0(Z)V
return-void
.end method
.method public static synthetic $r8$lambda$TWQX_5j9T_RFmswbIBPmM1KCLI0(Z)V
.locals 0
.line 0
invoke-static {p0}, Lcom/facebook/internal/instrument/InstrumentManager;->start$lambda-2(Z)V
return-void
.end method
.method public static synthetic $r8$lambda$nbEIjpzjPYAg_jgOjRARZeDprXo(Z)V
.locals 0
.line 0
invoke-static {p0}, Lcom/facebook/internal/instrument/InstrumentManager;->start$lambda-1(Z)V
return-void
.end method
.method static constructor <clinit>()V
.locals 1
new-instance v0, Lcom/facebook/internal/instrument/InstrumentManager;
invoke-direct {v0}, Lcom/facebook/internal/instrument/InstrumentManager;-><init>()V
sput-object v0, Lcom/facebook/internal/instrument/InstrumentManager;->INSTANCE:Lcom/facebook/internal/instrument/InstrumentManager;
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 20
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static final start()V
.locals 2
.line 30
invoke-static {}, Lcom/facebook/FacebookSdk;->getAutoLogAppEventsEnabled()Z
move-result v0
if-nez v0, :cond_0
return-void
.line 33
:cond_0
sget-object v0, Lcom/facebook/internal/FeatureManager;->INSTANCE:Lcom/facebook/internal/FeatureManager;
sget-object v0, Lcom/facebook/internal/FeatureManager$Feature;->CrashReport:Lcom/facebook/internal/FeatureManager$Feature;
new-instance v1, Lcom/facebook/internal/instrument/InstrumentManager$$ExternalSyntheticLambda0;
invoke-direct {v1}, Lcom/facebook/internal/instrument/InstrumentManager$$ExternalSyntheticLambda0;-><init>()V
invoke-static {v0, v1}, Lcom/facebook/internal/FeatureManager;->checkFeature(Lcom/facebook/internal/FeatureManager$Feature;Lcom/facebook/internal/FeatureManager$Callback;)V
.line 45
sget-object v0, Lcom/facebook/internal/FeatureManager$Feature;->ErrorReport:Lcom/facebook/internal/FeatureManager$Feature;
new-instance v1, Lcom/facebook/internal/instrument/InstrumentManager$$ExternalSyntheticLambda1;
invoke-direct {v1}, Lcom/facebook/internal/instrument/InstrumentManager$$ExternalSyntheticLambda1;-><init>()V
invoke-static {v0, v1}, Lcom/facebook/internal/FeatureManager;->checkFeature(Lcom/facebook/internal/FeatureManager$Feature;Lcom/facebook/internal/FeatureManager$Callback;)V
.line 50
sget-object v0, Lcom/facebook/internal/FeatureManager$Feature;->AnrReport:Lcom/facebook/internal/FeatureManager$Feature;
new-instance v1, Lcom/facebook/internal/instrument/InstrumentManager$$ExternalSyntheticLambda2;
invoke-direct {v1}, Lcom/facebook/internal/instrument/InstrumentManager$$ExternalSyntheticLambda2;-><init>()V
invoke-static {v0, v1}, Lcom/facebook/internal/FeatureManager;->checkFeature(Lcom/facebook/internal/FeatureManager$Feature;Lcom/facebook/internal/FeatureManager$Callback;)V
return-void
.end method
.method private static final start$lambda-0(Z)V
.locals 0
if-eqz p0, :cond_1
.line 35
sget-object p0, Lcom/facebook/internal/instrument/crashreport/CrashHandler;->Companion:Lcom/facebook/internal/instrument/crashreport/CrashHandler$Companion;
invoke-virtual {p0}, Lcom/facebook/internal/instrument/crashreport/CrashHandler$Companion;->enable()V
.line 36
sget-object p0, Lcom/facebook/internal/FeatureManager;->INSTANCE:Lcom/facebook/internal/FeatureManager;
sget-object p0, Lcom/facebook/internal/FeatureManager$Feature;->CrashShield:Lcom/facebook/internal/FeatureManager$Feature;
invoke-static {p0}, Lcom/facebook/internal/FeatureManager;->isEnabled(Lcom/facebook/internal/FeatureManager$Feature;)Z
move-result p0
if-eqz p0, :cond_0
.line 37
invoke-static {}, Lcom/facebook/internal/instrument/ExceptionAnalyzer;->enable()V
.line 38
invoke-static {}, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->enable()V
.line 40
:cond_0
sget-object p0, Lcom/facebook/internal/FeatureManager$Feature;->ThreadCheck:Lcom/facebook/internal/FeatureManager$Feature;
invoke-static {p0}, Lcom/facebook/internal/FeatureManager;->isEnabled(Lcom/facebook/internal/FeatureManager$Feature;)Z
move-result p0
if-eqz p0, :cond_1
.line 41
invoke-static {}, Lcom/facebook/internal/instrument/threadcheck/ThreadCheckHandler;->enable()V
:cond_1
return-void
.end method
.method private static final start$lambda-1(Z)V
.locals 0
if-eqz p0, :cond_0
.line 47
invoke-static {}, Lcom/facebook/internal/instrument/errorreport/ErrorReportHandler;->enable()V
:cond_0
return-void
.end method
.method private static final start$lambda-2(Z)V
.locals 0
if-eqz p0, :cond_0
.line 52
invoke-static {}, Lcom/facebook/internal/instrument/anrreport/ANRHandler;->enable()V
:cond_0
return-void
.end method

View File

@@ -0,0 +1,29 @@
.class public final synthetic Lcom/facebook/internal/instrument/InstrumentUtility$$ExternalSyntheticLambda0;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/io/FilenameFilter;
# direct methods
.method public synthetic constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final accept(Ljava/io/File;Ljava/lang/String;)Z
.locals 0
.line 0
invoke-static {p1, p2}, Lcom/facebook/internal/instrument/InstrumentUtility;->$r8$lambda$jNZ-2rtK5Fs1aDOyNVtkYhD1qRQ(Ljava/io/File;Ljava/lang/String;)Z
move-result p1
return p1
.end method

View File

@@ -0,0 +1,29 @@
.class public final synthetic Lcom/facebook/internal/instrument/InstrumentUtility$$ExternalSyntheticLambda1;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/io/FilenameFilter;
# direct methods
.method public synthetic constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final accept(Ljava/io/File;Ljava/lang/String;)Z
.locals 0
.line 0
invoke-static {p1, p2}, Lcom/facebook/internal/instrument/InstrumentUtility;->$r8$lambda$L4vag6MT0_TDy0fvenUmMLpUteg(Ljava/io/File;Ljava/lang/String;)Z
move-result p1
return p1
.end method

View File

@@ -0,0 +1,29 @@
.class public final synthetic Lcom/facebook/internal/instrument/InstrumentUtility$$ExternalSyntheticLambda2;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/io/FilenameFilter;
# direct methods
.method public synthetic constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final accept(Ljava/io/File;Ljava/lang/String;)Z
.locals 0
.line 0
invoke-static {p1, p2}, Lcom/facebook/internal/instrument/InstrumentUtility;->$r8$lambda$HBKsMUwnp42XtnLVnfnZb_rzfX4(Ljava/io/File;Ljava/lang/String;)Z
move-result p1
return p1
.end method

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,27 @@
.class public final synthetic Lcom/facebook/internal/instrument/anrreport/ANRDetector$$ExternalSyntheticLambda0;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/Runnable;
# direct methods
.method public synthetic constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final run()V
.locals 0
.line 0
invoke-static {}, Lcom/facebook/internal/instrument/anrreport/ANRDetector;->$r8$lambda$3XrEY-wfj0f1t8w6Le1olCISo4Q()V
return-void
.end method

View File

@@ -0,0 +1,326 @@
.class public final Lcom/facebook/internal/instrument/anrreport/ANRDetector;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# static fields
.field private static final DETECTION_INTERVAL_IN_MS:I = 0x1f4
.field public static final INSTANCE:Lcom/facebook/internal/instrument/anrreport/ANRDetector;
.field private static final anrDetectorRunnable:Ljava/lang/Runnable;
.field private static final myUid:I
.field private static previousStackTrace:Ljava/lang/String;
.field private static final scheduledExecutorService:Ljava/util/concurrent/ScheduledExecutorService;
# direct methods
.method public static synthetic $r8$lambda$3XrEY-wfj0f1t8w6Le1olCISo4Q()V
.locals 0
.line 0
invoke-static {}, Lcom/facebook/internal/instrument/anrreport/ANRDetector;->anrDetectorRunnable$lambda-0()V
return-void
.end method
.method static constructor <clinit>()V
.locals 1
new-instance v0, Lcom/facebook/internal/instrument/anrreport/ANRDetector;
invoke-direct {v0}, Lcom/facebook/internal/instrument/anrreport/ANRDetector;-><init>()V
sput-object v0, Lcom/facebook/internal/instrument/anrreport/ANRDetector;->INSTANCE:Lcom/facebook/internal/instrument/anrreport/ANRDetector;
.line 29
invoke-static {}, Landroid/os/Process;->myUid()I
move-result v0
sput v0, Lcom/facebook/internal/instrument/anrreport/ANRDetector;->myUid:I
.line 30
invoke-static {}, Ljava/util/concurrent/Executors;->newSingleThreadScheduledExecutor()Ljava/util/concurrent/ScheduledExecutorService;
move-result-object v0
sput-object v0, Lcom/facebook/internal/instrument/anrreport/ANRDetector;->scheduledExecutorService:Ljava/util/concurrent/ScheduledExecutorService;
const-string v0, ""
sput-object v0, Lcom/facebook/internal/instrument/anrreport/ANRDetector;->previousStackTrace:Ljava/lang/String;
.line 32
new-instance v0, Lcom/facebook/internal/instrument/anrreport/ANRDetector$$ExternalSyntheticLambda0;
invoke-direct {v0}, Lcom/facebook/internal/instrument/anrreport/ANRDetector$$ExternalSyntheticLambda0;-><init>()V
sput-object v0, Lcom/facebook/internal/instrument/anrreport/ANRDetector;->anrDetectorRunnable:Ljava/lang/Runnable;
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 25
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static final anrDetectorRunnable$lambda-0()V
.locals 3
const-class v0, Lcom/facebook/internal/instrument/anrreport/ANRDetector;
invoke-static {v0}, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->isObjectCrashing(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_0
return-void
.line 35
:cond_0
:try_start_0
invoke-static {}, Lcom/facebook/FacebookSdk;->getApplicationContext()Landroid/content/Context;
move-result-object v1
const-string v2, "activity"
invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v1
if-eqz v1, :cond_1
check-cast v1, Landroid/app/ActivityManager;
.line 37
invoke-static {v1}, Lcom/facebook/internal/instrument/anrreport/ANRDetector;->checkProcessError(Landroid/app/ActivityManager;)V
goto :goto_1
:catchall_0
move-exception v1
goto :goto_0
.line 35
:cond_1
new-instance v1, Ljava/lang/NullPointerException;
const-string v2, "null cannot be cast to non-null type android.app.ActivityManager"
invoke-direct {v1, v2}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v1
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 41
:goto_0
invoke-static {v1, v0}, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->handleThrowable(Ljava/lang/Throwable;Ljava/lang/Object;)V
:catch_0
:goto_1
return-void
.end method
.method public static final checkProcessError(Landroid/app/ActivityManager;)V
.locals 5
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
const-class v0, Lcom/facebook/internal/instrument/anrreport/ANRDetector;
invoke-static {v0}, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->isObjectCrashing(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_0
return-void
:cond_0
if-nez p0, :cond_1
goto :goto_1
.line 46
:cond_1
:try_start_0
invoke-virtual {p0}, Landroid/app/ActivityManager;->getProcessesInErrorState()Ljava/util/List;
move-result-object p0
if-nez p0, :cond_2
goto :goto_1
:cond_2
check-cast p0, Ljava/lang/Iterable;
.line 69
invoke-interface {p0}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object p0
:cond_3
:goto_0
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_5
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/app/ActivityManager$ProcessErrorStateInfo;
.line 47
iget v2, v1, Landroid/app/ActivityManager$ProcessErrorStateInfo;->condition:I
const/4 v3, 0x2
if-ne v2, v3, :cond_3
.line 48
iget v2, v1, Landroid/app/ActivityManager$ProcessErrorStateInfo;->uid:I
sget v3, Lcom/facebook/internal/instrument/anrreport/ANRDetector;->myUid:I
if-ne v2, v3, :cond_3
.line 49
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v2
invoke-virtual {v2}, Landroid/os/Looper;->getThread()Ljava/lang/Thread;
move-result-object v2
const-string v3, "getMainLooper().thread"
invoke-static {v2, v3}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
.line 50
invoke-static {v2}, Lcom/facebook/internal/instrument/InstrumentUtility;->getStackTrace(Ljava/lang/Thread;)Ljava/lang/String;
move-result-object v3
sget-object v4, Lcom/facebook/internal/instrument/anrreport/ANRDetector;->previousStackTrace:Ljava/lang/String;
.line 51
invoke-static {v3, v4}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v4
if-nez v4, :cond_3
invoke-static {v2}, Lcom/facebook/internal/instrument/InstrumentUtility;->isSDKRelatedThread(Ljava/lang/Thread;)Z
move-result v2
if-nez v2, :cond_4
goto :goto_0
:cond_4
sput-object v3, Lcom/facebook/internal/instrument/anrreport/ANRDetector;->previousStackTrace:Ljava/lang/String;
.line 55
sget-object v2, Lcom/facebook/internal/instrument/InstrumentData$Builder;->INSTANCE:Lcom/facebook/internal/instrument/InstrumentData$Builder;
iget-object v1, v1, Landroid/app/ActivityManager$ProcessErrorStateInfo;->shortMsg:Ljava/lang/String;
invoke-static {v1, v3}, Lcom/facebook/internal/instrument/InstrumentData$Builder;->build(Ljava/lang/String;Ljava/lang/String;)Lcom/facebook/internal/instrument/InstrumentData;
move-result-object v1
invoke-virtual {v1}, Lcom/facebook/internal/instrument/InstrumentData;->save()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_0
:catchall_0
move-exception p0
goto :goto_2
:cond_5
:goto_1
return-void
.line 58
:goto_2
invoke-static {p0, v0}, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->handleThrowable(Ljava/lang/Throwable;Ljava/lang/Object;)V
return-void
.end method
.method public static final start()V
.locals 9
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
const-class v0, Lcom/facebook/internal/instrument/anrreport/ANRDetector;
invoke-static {v0}, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->isObjectCrashing(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_0
return-void
:cond_0
:try_start_0
sget-object v2, Lcom/facebook/internal/instrument/anrreport/ANRDetector;->scheduledExecutorService:Ljava/util/concurrent/ScheduledExecutorService;
sget-object v3, Lcom/facebook/internal/instrument/anrreport/ANRDetector;->anrDetectorRunnable:Ljava/lang/Runnable;
const-wide/16 v4, 0x0
const/16 v1, 0x1f4
int-to-long v6, v1
.line 65
sget-object v8, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
.line 64
invoke-interface/range {v2 .. v8}, Ljava/util/concurrent/ScheduledExecutorService;->scheduleWithFixedDelay(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
return-void
:catchall_0
move-exception v1
.line 66
invoke-static {v1, v0}, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->handleThrowable(Ljava/lang/Throwable;Ljava/lang/Object;)V
return-void
.end method

View File

@@ -0,0 +1,33 @@
.class public final synthetic Lcom/facebook/internal/instrument/anrreport/ANRHandler$$ExternalSyntheticLambda0;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/util/Comparator;
# direct methods
.method public synthetic constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 0
check-cast p1, Lcom/facebook/internal/instrument/InstrumentData;
check-cast p2, Lcom/facebook/internal/instrument/InstrumentData;
invoke-static {p1, p2}, Lcom/facebook/internal/instrument/anrreport/ANRHandler;->$r8$lambda$t2tNUdeuNYmDvDsLpDitAM7FWEE(Lcom/facebook/internal/instrument/InstrumentData;Lcom/facebook/internal/instrument/InstrumentData;)I
move-result p1
return p1
.end method

View File

@@ -0,0 +1,36 @@
.class public final synthetic Lcom/facebook/internal/instrument/anrreport/ANRHandler$$ExternalSyntheticLambda1;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/facebook/GraphRequest$Callback;
# instance fields
.field public final synthetic f$0:Ljava/util/List;
# direct methods
.method public synthetic constructor <init>(Ljava/util/List;)V
.locals 0
.line 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/facebook/internal/instrument/anrreport/ANRHandler$$ExternalSyntheticLambda1;->f$0:Ljava/util/List;
return-void
.end method
# virtual methods
.method public final onCompleted(Lcom/facebook/GraphResponse;)V
.locals 1
.line 0
iget-object v0, p0, Lcom/facebook/internal/instrument/anrreport/ANRHandler$$ExternalSyntheticLambda1;->f$0:Ljava/util/List;
invoke-static {v0, p1}, Lcom/facebook/internal/instrument/anrreport/ANRHandler;->$r8$lambda$QF8GfIkRwZkNHlwUbbToH5rDB3s(Ljava/util/List;Lcom/facebook/GraphResponse;)V
return-void
.end method

View File

@@ -0,0 +1,498 @@
.class public final Lcom/facebook/internal/instrument/anrreport/ANRHandler;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# static fields
.field public static final INSTANCE:Lcom/facebook/internal/instrument/anrreport/ANRHandler;
.field private static final MAX_ANR_REPORT_NUM:I = 0x5
.field private static final enabled:Ljava/util/concurrent/atomic/AtomicBoolean;
# direct methods
.method public static synthetic $r8$lambda$QF8GfIkRwZkNHlwUbbToH5rDB3s(Ljava/util/List;Lcom/facebook/GraphResponse;)V
.locals 0
.line 0
invoke-static {p0, p1}, Lcom/facebook/internal/instrument/anrreport/ANRHandler;->sendANRReports$lambda-5(Ljava/util/List;Lcom/facebook/GraphResponse;)V
return-void
.end method
.method public static synthetic $r8$lambda$t2tNUdeuNYmDvDsLpDitAM7FWEE(Lcom/facebook/internal/instrument/InstrumentData;Lcom/facebook/internal/instrument/InstrumentData;)I
.locals 0
.line 0
invoke-static {p0, p1}, Lcom/facebook/internal/instrument/anrreport/ANRHandler;->sendANRReports$lambda-2(Lcom/facebook/internal/instrument/InstrumentData;Lcom/facebook/internal/instrument/InstrumentData;)I
move-result p0
return p0
.end method
.method static constructor <clinit>()V
.locals 2
new-instance v0, Lcom/facebook/internal/instrument/anrreport/ANRHandler;
invoke-direct {v0}, Lcom/facebook/internal/instrument/anrreport/ANRHandler;-><init>()V
sput-object v0, Lcom/facebook/internal/instrument/anrreport/ANRHandler;->INSTANCE:Lcom/facebook/internal/instrument/anrreport/ANRHandler;
.line 30
new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 v1, 0x0
invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>(Z)V
sput-object v0, Lcom/facebook/internal/instrument/anrreport/ANRHandler;->enabled:Ljava/util/concurrent/atomic/AtomicBoolean;
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 26
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static final declared-synchronized enable()V
.locals 3
const-class v0, Lcom/facebook/internal/instrument/anrreport/ANRHandler;
monitor-enter v0
:try_start_0
const-class v1, Lcom/facebook/internal/instrument/anrreport/ANRHandler;
invoke-static {v1}, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->isObjectCrashing(Ljava/lang/Object;)Z
move-result v1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_1
if-eqz v1, :cond_0
monitor-exit v0
return-void
:cond_0
:try_start_1
sget-object v1, Lcom/facebook/internal/instrument/anrreport/ANRHandler;->enabled:Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 v2, 0x1
.line 35
invoke-virtual {v1, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;->getAndSet(Z)Z
move-result v1
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
if-eqz v1, :cond_1
.line 36
monitor-exit v0
return-void
.line 38
:cond_1
:try_start_2
invoke-static {}, Lcom/facebook/FacebookSdk;->getAutoLogAppEventsEnabled()Z
move-result v1
if-eqz v1, :cond_2
.line 39
invoke-static {}, Lcom/facebook/internal/instrument/anrreport/ANRHandler;->sendANRReports()V
goto :goto_0
:catchall_0
move-exception v1
goto :goto_1
.line 41
:cond_2
:goto_0
invoke-static {}, Lcom/facebook/internal/instrument/anrreport/ANRDetector;->start()V
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_0
.line 42
monitor-exit v0
return-void
:goto_1
:try_start_3
const-class v2, Lcom/facebook/internal/instrument/anrreport/ANRHandler;
invoke-static {v1, v2}, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->handleThrowable(Ljava/lang/Throwable;Ljava/lang/Object;)V
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_1
monitor-exit v0
return-void
:catchall_1
move-exception v1
monitor-exit v0
throw v1
.end method
.method public static final sendANRReports()V
.locals 7
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
const-class v0, Lcom/facebook/internal/instrument/anrreport/ANRHandler;
invoke-static {v0}, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->isObjectCrashing(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_0
return-void
.line 52
:cond_0
:try_start_0
invoke-static {}, Lcom/facebook/internal/Utility;->isDataProcessingRestricted()Z
move-result v1
if-eqz v1, :cond_1
return-void
.line 55
:cond_1
invoke-static {}, Lcom/facebook/internal/instrument/InstrumentUtility;->listAnrReportFiles()[Ljava/io/File;
move-result-object v1
.line 78
new-instance v2, Ljava/util/ArrayList;
array-length v3, v1
invoke-direct {v2, v3}, Ljava/util/ArrayList;-><init>(I)V
.line 79
array-length v3, v1
const/4 v4, 0x0
move v5, v4
:goto_0
if-ge v5, v3, :cond_2
aget-object v6, v1, v5
.line 58
invoke-static {v6}, Lcom/facebook/internal/instrument/InstrumentData$Builder;->load(Ljava/io/File;)Lcom/facebook/internal/instrument/InstrumentData;
move-result-object v6
invoke-interface {v2, v6}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
add-int/lit8 v5, v5, 0x1
goto :goto_0
:catchall_0
move-exception v1
goto :goto_3
.line 82
:cond_2
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
.line 83
invoke-interface {v2}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object v2
:cond_3
:goto_1
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_4
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
move-object v5, v3
check-cast v5, Lcom/facebook/internal/instrument/InstrumentData;
.line 59
invoke-virtual {v5}, Lcom/facebook/internal/instrument/InstrumentData;->isValid()Z
move-result v5
if-eqz v5, :cond_3
invoke-interface {v1, v3}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
goto :goto_1
.line 82
:cond_4
new-instance v2, Lcom/facebook/internal/instrument/anrreport/ANRHandler$$ExternalSyntheticLambda0;
invoke-direct {v2}, Lcom/facebook/internal/instrument/anrreport/ANRHandler$$ExternalSyntheticLambda0;-><init>()V
.line 60
invoke-static {v1, v2}, Lkotlin/collections/CollectionsKt;->sortedWith(Ljava/lang/Iterable;Ljava/util/Comparator;)Ljava/util/List;
move-result-object v1
.line 61
new-instance v2, Lorg/json/JSONArray;
invoke-direct {v2}, Lorg/json/JSONArray;-><init>()V
.line 63
invoke-interface {v1}, Ljava/util/List;->size()I
move-result v3
const/4 v5, 0x5
invoke-static {v3, v5}, Ljava/lang/Math;->min(II)I
move-result v3
invoke-static {v4, v3}, Lkotlin/ranges/RangesKt;->until(II)Lkotlin/ranges/IntRange;
move-result-object v3
.line 85
invoke-interface {v3}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_2
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_5
move-object v4, v3
check-cast v4, Lkotlin/collections/IntIterator;
invoke-virtual {v4}, Lkotlin/collections/IntIterator;->nextInt()I
move-result v4
.line 64
invoke-interface {v1, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v4
invoke-virtual {v2, v4}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
goto :goto_2
.line 66
:cond_5
sget-object v3, Lcom/facebook/internal/instrument/InstrumentUtility;->INSTANCE:Lcom/facebook/internal/instrument/InstrumentUtility;
const-string v3, "anr_reports"
new-instance v4, Lcom/facebook/internal/instrument/anrreport/ANRHandler$$ExternalSyntheticLambda1;
invoke-direct {v4, v1}, Lcom/facebook/internal/instrument/anrreport/ANRHandler$$ExternalSyntheticLambda1;-><init>(Ljava/util/List;)V
invoke-static {v3, v2, v4}, Lcom/facebook/internal/instrument/InstrumentUtility;->sendReports(Ljava/lang/String;Lorg/json/JSONArray;Lcom/facebook/GraphRequest$Callback;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
return-void
.line 75
:goto_3
invoke-static {v1, v0}, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->handleThrowable(Ljava/lang/Throwable;Ljava/lang/Object;)V
return-void
.end method
.method private static final sendANRReports$lambda-2(Lcom/facebook/internal/instrument/InstrumentData;Lcom/facebook/internal/instrument/InstrumentData;)I
.locals 3
const-class v0, Lcom/facebook/internal/instrument/anrreport/ANRHandler;
invoke-static {v0}, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->isObjectCrashing(Ljava/lang/Object;)Z
move-result v1
const/4 v2, 0x0
if-eqz v1, :cond_0
return v2
:cond_0
:try_start_0
const-string v1, "o2"
.line 60
invoke-static {p1, v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
invoke-virtual {p0, p1}, Lcom/facebook/internal/instrument/InstrumentData;->compareTo(Lcom/facebook/internal/instrument/InstrumentData;)I
move-result p0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
return p0
:catchall_0
move-exception p0
invoke-static {p0, v0}, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->handleThrowable(Ljava/lang/Throwable;Ljava/lang/Object;)V
return v2
.end method
.method private static final sendANRReports$lambda-5(Ljava/util/List;Lcom/facebook/GraphResponse;)V
.locals 2
const-class v0, Lcom/facebook/internal/instrument/anrreport/ANRHandler;
invoke-static {v0}, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->isObjectCrashing(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_0
return-void
:cond_0
:try_start_0
const-string v1, "$validReports"
invoke-static {p0, v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v1, "response"
invoke-static {p1, v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 68
:try_start_1
invoke-virtual {p1}, Lcom/facebook/GraphResponse;->getError()Lcom/facebook/FacebookRequestError;
move-result-object v1
if-nez v1, :cond_2
invoke-virtual {p1}, Lcom/facebook/GraphResponse;->getJsonObject()Lorg/json/JSONObject;
move-result-object p1
if-nez p1, :cond_1
const/4 p1, 0x0
goto :goto_0
:cond_1
const-string v1, "success"
invoke-virtual {p1, v1}, Lorg/json/JSONObject;->getBoolean(Ljava/lang/String;)Z
move-result p1
invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p1
:goto_0
sget-object v1, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
invoke-static {p1, v1}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_2
.line 69
check-cast p0, Ljava/lang/Iterable;
.line 87
invoke-interface {p0}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object p0
:goto_1
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result p1
if-eqz p1, :cond_2
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/facebook/internal/instrument/InstrumentData;
.line 69
invoke-virtual {p1}, Lcom/facebook/internal/instrument/InstrumentData;->clear()V
:try_end_1
.catch Lorg/json/JSONException; {:try_start_1 .. :try_end_1} :catch_0
.catchall {:try_start_1 .. :try_end_1} :catchall_0
goto :goto_1
:catchall_0
move-exception p0
goto :goto_2
:catch_0
:cond_2
return-void
.line 74
:goto_2
invoke-static {p0, v0}, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->handleThrowable(Ljava/lang/Throwable;Ljava/lang/Object;)V
return-void
.end method

View File

@@ -0,0 +1,33 @@
.class public final synthetic Lcom/facebook/internal/instrument/crashreport/CrashHandler$Companion$$ExternalSyntheticLambda0;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/util/Comparator;
# direct methods
.method public synthetic constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 0
check-cast p1, Lcom/facebook/internal/instrument/InstrumentData;
check-cast p2, Lcom/facebook/internal/instrument/InstrumentData;
invoke-static {p1, p2}, Lcom/facebook/internal/instrument/crashreport/CrashHandler$Companion;->$r8$lambda$WtsPGsweIsnOue9CG5UA2hmg1lM(Lcom/facebook/internal/instrument/InstrumentData;Lcom/facebook/internal/instrument/InstrumentData;)I
move-result p1
return p1
.end method

View File

@@ -0,0 +1,36 @@
.class public final synthetic Lcom/facebook/internal/instrument/crashreport/CrashHandler$Companion$$ExternalSyntheticLambda1;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/facebook/GraphRequest$Callback;
# instance fields
.field public final synthetic f$0:Ljava/util/List;
# direct methods
.method public synthetic constructor <init>(Ljava/util/List;)V
.locals 0
.line 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/facebook/internal/instrument/crashreport/CrashHandler$Companion$$ExternalSyntheticLambda1;->f$0:Ljava/util/List;
return-void
.end method
# virtual methods
.method public final onCompleted(Lcom/facebook/GraphResponse;)V
.locals 1
.line 0
iget-object v0, p0, Lcom/facebook/internal/instrument/crashreport/CrashHandler$Companion$$ExternalSyntheticLambda1;->f$0:Ljava/util/List;
invoke-static {v0, p1}, Lcom/facebook/internal/instrument/crashreport/CrashHandler$Companion;->$r8$lambda$L8xg4V2BJVMcFEijkW4S5MhWWwI(Ljava/util/List;Lcom/facebook/GraphResponse;)V
return-void
.end method

View File

@@ -0,0 +1,398 @@
.class public final Lcom/facebook/internal/instrument/crashreport/CrashHandler$Companion;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/internal/instrument/crashreport/CrashHandler;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Companion"
.end annotation
# direct methods
.method public static synthetic $r8$lambda$L8xg4V2BJVMcFEijkW4S5MhWWwI(Ljava/util/List;Lcom/facebook/GraphResponse;)V
.locals 0
.line 0
invoke-static {p0, p1}, Lcom/facebook/internal/instrument/crashreport/CrashHandler$Companion;->sendExceptionReports$lambda-5(Ljava/util/List;Lcom/facebook/GraphResponse;)V
return-void
.end method
.method public static synthetic $r8$lambda$WtsPGsweIsnOue9CG5UA2hmg1lM(Lcom/facebook/internal/instrument/InstrumentData;Lcom/facebook/internal/instrument/InstrumentData;)I
.locals 0
.line 0
invoke-static {p0, p1}, Lcom/facebook/internal/instrument/crashreport/CrashHandler$Companion;->sendExceptionReports$lambda-2(Lcom/facebook/internal/instrument/InstrumentData;Lcom/facebook/internal/instrument/InstrumentData;)I
move-result p0
return p0
.end method
.method private constructor <init>()V
.locals 0
.line 34
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public synthetic constructor <init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
.locals 0
.line 0
invoke-direct {p0}, Lcom/facebook/internal/instrument/crashreport/CrashHandler$Companion;-><init>()V
return-void
.end method
.method private final sendExceptionReports()V
.locals 6
.line 60
invoke-static {}, Lcom/facebook/internal/Utility;->isDataProcessingRestricted()Z
move-result v0
if-eqz v0, :cond_0
return-void
.line 63
:cond_0
invoke-static {}, Lcom/facebook/internal/instrument/InstrumentUtility;->listExceptionReportFiles()[Ljava/io/File;
move-result-object v0
.line 89
new-instance v1, Ljava/util/ArrayList;
array-length v2, v0
invoke-direct {v1, v2}, Ljava/util/ArrayList;-><init>(I)V
.line 90
array-length v2, v0
const/4 v3, 0x0
move v4, v3
:goto_0
if-ge v4, v2, :cond_1
aget-object v5, v0, v4
.line 66
invoke-static {v5}, Lcom/facebook/internal/instrument/InstrumentData$Builder;->load(Ljava/io/File;)Lcom/facebook/internal/instrument/InstrumentData;
move-result-object v5
invoke-interface {v1, v5}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
add-int/lit8 v4, v4, 0x1
goto :goto_0
.line 93
:cond_1
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 94
invoke-interface {v1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object v1
:cond_2
:goto_1
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_3
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
move-object v4, v2
check-cast v4, Lcom/facebook/internal/instrument/InstrumentData;
.line 67
invoke-virtual {v4}, Lcom/facebook/internal/instrument/InstrumentData;->isValid()Z
move-result v4
if-eqz v4, :cond_2
invoke-interface {v0, v2}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
goto :goto_1
.line 93
:cond_3
new-instance v1, Lcom/facebook/internal/instrument/crashreport/CrashHandler$Companion$$ExternalSyntheticLambda0;
invoke-direct {v1}, Lcom/facebook/internal/instrument/crashreport/CrashHandler$Companion$$ExternalSyntheticLambda0;-><init>()V
.line 68
invoke-static {v0, v1}, Lkotlin/collections/CollectionsKt;->sortedWith(Ljava/lang/Iterable;Ljava/util/Comparator;)Ljava/util/List;
move-result-object v0
.line 69
new-instance v1, Lorg/json/JSONArray;
invoke-direct {v1}, Lorg/json/JSONArray;-><init>()V
.line 72
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v2
const/4 v4, 0x5
invoke-static {v2, v4}, Ljava/lang/Math;->min(II)I
move-result v2
invoke-static {v3, v2}, Lkotlin/ranges/RangesKt;->until(II)Lkotlin/ranges/IntRange;
move-result-object v2
.line 96
invoke-interface {v2}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object v2
:goto_2
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_4
move-object v3, v2
check-cast v3, Lkotlin/collections/IntIterator;
invoke-virtual {v3}, Lkotlin/collections/IntIterator;->nextInt()I
move-result v3
.line 73
invoke-interface {v0, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
invoke-virtual {v1, v3}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
goto :goto_2
.line 76
:cond_4
sget-object v2, Lcom/facebook/internal/instrument/InstrumentUtility;->INSTANCE:Lcom/facebook/internal/instrument/InstrumentUtility;
new-instance v2, Lcom/facebook/internal/instrument/crashreport/CrashHandler$Companion$$ExternalSyntheticLambda1;
invoke-direct {v2, v0}, Lcom/facebook/internal/instrument/crashreport/CrashHandler$Companion$$ExternalSyntheticLambda1;-><init>(Ljava/util/List;)V
const-string v0, "crash_reports"
invoke-static {v0, v1, v2}, Lcom/facebook/internal/instrument/InstrumentUtility;->sendReports(Ljava/lang/String;Lorg/json/JSONArray;Lcom/facebook/GraphRequest$Callback;)V
return-void
.end method
.method private static final sendExceptionReports$lambda-2(Lcom/facebook/internal/instrument/InstrumentData;Lcom/facebook/internal/instrument/InstrumentData;)I
.locals 1
const-string v0, "o2"
.line 68
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
invoke-virtual {p0, p1}, Lcom/facebook/internal/instrument/InstrumentData;->compareTo(Lcom/facebook/internal/instrument/InstrumentData;)I
move-result p0
return p0
.end method
.method private static final sendExceptionReports$lambda-5(Ljava/util/List;Lcom/facebook/GraphResponse;)V
.locals 1
const-string v0, "$validReports"
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "response"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 78
:try_start_0
invoke-virtual {p1}, Lcom/facebook/GraphResponse;->getError()Lcom/facebook/FacebookRequestError;
move-result-object v0
if-nez v0, :cond_1
invoke-virtual {p1}, Lcom/facebook/GraphResponse;->getJsonObject()Lorg/json/JSONObject;
move-result-object p1
if-nez p1, :cond_0
const/4 p1, 0x0
goto :goto_0
:cond_0
const-string v0, "success"
invoke-virtual {p1, v0}, Lorg/json/JSONObject;->getBoolean(Ljava/lang/String;)Z
move-result p1
invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p1
:goto_0
sget-object v0, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1
.line 79
check-cast p0, Ljava/lang/Iterable;
.line 98
invoke-interface {p0}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object p0
:goto_1
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result p1
if-eqz p1, :cond_1
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/facebook/internal/instrument/InstrumentData;
.line 79
invoke-virtual {p1}, Lcom/facebook/internal/instrument/InstrumentData;->clear()V
:try_end_0
.catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_1
:catch_0
:cond_1
return-void
.end method
# virtual methods
.method public final declared-synchronized enable()V
.locals 3
monitor-enter p0
.line 42
:try_start_0
invoke-static {}, Lcom/facebook/FacebookSdk;->getAutoLogAppEventsEnabled()Z
move-result v0
if-eqz v0, :cond_0
.line 43
invoke-direct {p0}, Lcom/facebook/internal/instrument/crashreport/CrashHandler$Companion;->sendExceptionReports()V
goto :goto_0
:catchall_0
move-exception v0
goto :goto_1
.line 45
:cond_0
:goto_0
invoke-static {}, Lcom/facebook/internal/instrument/crashreport/CrashHandler;->access$getInstance$cp()Lcom/facebook/internal/instrument/crashreport/CrashHandler;
move-result-object v0
if-eqz v0, :cond_1
.line 46
invoke-static {}, Lcom/facebook/internal/instrument/crashreport/CrashHandler;->access$getTAG$cp()Ljava/lang/String;
move-result-object v0
const-string v1, "Already enabled!"
invoke-static {v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 47
monitor-exit p0
return-void
.line 49
:cond_1
:try_start_1
invoke-static {}, Ljava/lang/Thread;->getDefaultUncaughtExceptionHandler()Ljava/lang/Thread$UncaughtExceptionHandler;
move-result-object v0
.line 50
new-instance v1, Lcom/facebook/internal/instrument/crashreport/CrashHandler;
const/4 v2, 0x0
invoke-direct {v1, v0, v2}, Lcom/facebook/internal/instrument/crashreport/CrashHandler;-><init>(Ljava/lang/Thread$UncaughtExceptionHandler;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
invoke-static {v1}, Lcom/facebook/internal/instrument/crashreport/CrashHandler;->access$setInstance$cp(Lcom/facebook/internal/instrument/crashreport/CrashHandler;)V
.line 51
invoke-static {}, Lcom/facebook/internal/instrument/crashreport/CrashHandler;->access$getInstance$cp()Lcom/facebook/internal/instrument/crashreport/CrashHandler;
move-result-object v0
invoke-static {v0}, Ljava/lang/Thread;->setDefaultUncaughtExceptionHandler(Ljava/lang/Thread$UncaughtExceptionHandler;)V
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
.line 52
monitor-exit p0
return-void
:goto_1
monitor-exit p0
throw v0
.end method

View File

@@ -0,0 +1,178 @@
.class public final Lcom/facebook/internal/instrument/crashreport/CrashHandler;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/Thread$UncaughtExceptionHandler;
# 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/internal/instrument/crashreport/CrashHandler$Companion;
}
.end annotation
# static fields
.field public static final Companion:Lcom/facebook/internal/instrument/crashreport/CrashHandler$Companion;
.field private static final MAX_CRASH_REPORT_NUM:I = 0x5
.field private static final TAG:Ljava/lang/String;
.field private static instance:Lcom/facebook/internal/instrument/crashreport/CrashHandler;
# instance fields
.field private final previousHandler:Ljava/lang/Thread$UncaughtExceptionHandler;
# direct methods
.method static constructor <clinit>()V
.locals 2
new-instance v0, Lcom/facebook/internal/instrument/crashreport/CrashHandler$Companion;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lcom/facebook/internal/instrument/crashreport/CrashHandler$Companion;-><init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
sput-object v0, Lcom/facebook/internal/instrument/crashreport/CrashHandler;->Companion:Lcom/facebook/internal/instrument/crashreport/CrashHandler$Companion;
const-class v0, Lcom/facebook/internal/instrument/crashreport/CrashHandler;
.line 35
invoke-virtual {v0}, Ljava/lang/Class;->getCanonicalName()Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/facebook/internal/instrument/crashreport/CrashHandler;->TAG:Ljava/lang/String;
return-void
.end method
.method private constructor <init>(Ljava/lang/Thread$UncaughtExceptionHandler;)V
.locals 0
.line 22
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/facebook/internal/instrument/crashreport/CrashHandler;->previousHandler:Ljava/lang/Thread$UncaughtExceptionHandler;
return-void
.end method
.method public synthetic constructor <init>(Ljava/lang/Thread$UncaughtExceptionHandler;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
.locals 0
.line 0
invoke-direct {p0, p1}, Lcom/facebook/internal/instrument/crashreport/CrashHandler;-><init>(Ljava/lang/Thread$UncaughtExceptionHandler;)V
return-void
.end method
.method public static final synthetic access$getInstance$cp()Lcom/facebook/internal/instrument/crashreport/CrashHandler;
.locals 1
sget-object v0, Lcom/facebook/internal/instrument/crashreport/CrashHandler;->instance:Lcom/facebook/internal/instrument/crashreport/CrashHandler;
return-object v0
.end method
.method public static final synthetic access$getTAG$cp()Ljava/lang/String;
.locals 1
sget-object v0, Lcom/facebook/internal/instrument/crashreport/CrashHandler;->TAG:Ljava/lang/String;
return-object v0
.end method
.method public static final synthetic access$setInstance$cp(Lcom/facebook/internal/instrument/crashreport/CrashHandler;)V
.locals 0
sput-object p0, Lcom/facebook/internal/instrument/crashreport/CrashHandler;->instance:Lcom/facebook/internal/instrument/crashreport/CrashHandler;
return-void
.end method
.method public static final declared-synchronized enable()V
.locals 2
const-class v0, Lcom/facebook/internal/instrument/crashreport/CrashHandler;
monitor-enter v0
:try_start_0
sget-object v1, Lcom/facebook/internal/instrument/crashreport/CrashHandler;->Companion:Lcom/facebook/internal/instrument/crashreport/CrashHandler$Companion;
invoke-virtual {v1}, Lcom/facebook/internal/instrument/crashreport/CrashHandler$Companion;->enable()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit v0
return-void
:catchall_0
move-exception v1
monitor-exit v0
throw v1
.end method
# virtual methods
.method public uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
.locals 1
const-string v0, "t"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "e"
invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 27
invoke-static {p2}, Lcom/facebook/internal/instrument/InstrumentUtility;->isSDKRelatedException(Ljava/lang/Throwable;)Z
move-result v0
if-eqz v0, :cond_0
.line 28
invoke-static {p2}, Lcom/facebook/internal/instrument/ExceptionAnalyzer;->execute(Ljava/lang/Throwable;)V
.line 29
sget-object v0, Lcom/facebook/internal/instrument/InstrumentData$Builder;->INSTANCE:Lcom/facebook/internal/instrument/InstrumentData$Builder;
sget-object v0, Lcom/facebook/internal/instrument/InstrumentData$Type;->CrashReport:Lcom/facebook/internal/instrument/InstrumentData$Type;
invoke-static {p2, v0}, Lcom/facebook/internal/instrument/InstrumentData$Builder;->build(Ljava/lang/Throwable;Lcom/facebook/internal/instrument/InstrumentData$Type;)Lcom/facebook/internal/instrument/InstrumentData;
move-result-object v0
invoke-virtual {v0}, Lcom/facebook/internal/instrument/InstrumentData;->save()V
:cond_0
iget-object v0, p0, Lcom/facebook/internal/instrument/crashreport/CrashHandler;->previousHandler:Ljava/lang/Thread$UncaughtExceptionHandler;
if-nez v0, :cond_1
goto :goto_0
.line 31
:cond_1
invoke-interface {v0, p1, p2}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
:goto_0
return-void
.end method

View File

@@ -0,0 +1,12 @@
.class public interface abstract annotation Lcom/facebook/internal/instrument/crashshield/AutoHandleExceptions;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/annotation/Annotation;
# annotations
.annotation runtime Ljava/lang/annotation/Retention;
value = .enum Ljava/lang/annotation/RetentionPolicy;->CLASS:Ljava/lang/annotation/RetentionPolicy;
.end annotation

View File

@@ -0,0 +1,90 @@
.class public final Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler$scheduleCrashInDebug$1;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->scheduleCrashInDebug(Ljava/lang/Throwable;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = null
.end annotation
# instance fields
.field final synthetic $e:Ljava/lang/Throwable;
# direct methods
.method public constructor <init>(Ljava/lang/Throwable;)V
.locals 0
iput-object p1, p0, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler$scheduleCrashInDebug$1;->$e:Ljava/lang/Throwable;
.line 74
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 2
invoke-static {p0}, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->isObjectCrashing(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
return-void
:cond_0
:try_start_0
invoke-static {p0}, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->isObjectCrashing(Ljava/lang/Object;)Z
move-result v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_1
if-eqz v0, :cond_1
return-void
.line 78
:cond_1
:try_start_1
new-instance v0, Ljava/lang/RuntimeException;
iget-object v1, p0, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler$scheduleCrashInDebug$1;->$e:Ljava/lang/Throwable;
invoke-direct {v0, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
throw v0
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
:catchall_0
move-exception v0
:try_start_2
invoke-static {v0, p0}, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->handleThrowable(Ljava/lang/Throwable;Ljava/lang/Object;)V
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_1
return-void
:catchall_1
move-exception v0
invoke-static {v0, p0}, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->handleThrowable(Ljava/lang/Throwable;Ljava/lang/Object;)V
return-void
.end method

View File

@@ -0,0 +1,208 @@
.class public final Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static final INSTANCE:Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;
.field private static final crashingObjects:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
.field private static enabled:Z
# direct methods
.method static constructor <clinit>()V
.locals 1
new-instance v0, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;
invoke-direct {v0}, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;-><init>()V
sput-object v0, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->INSTANCE:Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;
.line 22
new-instance v0, Ljava/util/WeakHashMap;
invoke-direct {v0}, Ljava/util/WeakHashMap;-><init>()V
invoke-static {v0}, Ljava/util/Collections;->newSetFromMap(Ljava/util/Map;)Ljava/util/Set;
move-result-object v0
sput-object v0, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->crashingObjects:Ljava/util/Set;
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 21
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static final disable()V
.locals 1
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
const/4 v0, 0x0
sput-boolean v0, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->enabled:Z
return-void
.end method
.method public static final enable()V
.locals 1
const/4 v0, 0x1
sput-boolean v0, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->enabled:Z
return-void
.end method
.method public static final handleThrowable(Ljava/lang/Throwable;Ljava/lang/Object;)V
.locals 1
const-string v0, "o"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
sget-boolean v0, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->enabled:Z
if-nez v0, :cond_0
return-void
:cond_0
sget-object v0, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->crashingObjects:Ljava/util/Set;
.line 41
invoke-interface {v0, p1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
.line 42
invoke-static {}, Lcom/facebook/FacebookSdk;->getAutoLogAppEventsEnabled()Z
move-result p1
if-eqz p1, :cond_1
.line 43
invoke-static {p0}, Lcom/facebook/internal/instrument/ExceptionAnalyzer;->execute(Ljava/lang/Throwable;)V
.line 44
sget-object p1, Lcom/facebook/internal/instrument/InstrumentData$Builder;->INSTANCE:Lcom/facebook/internal/instrument/InstrumentData$Builder;
sget-object p1, Lcom/facebook/internal/instrument/InstrumentData$Type;->CrashShield:Lcom/facebook/internal/instrument/InstrumentData$Type;
invoke-static {p0, p1}, Lcom/facebook/internal/instrument/InstrumentData$Builder;->build(Ljava/lang/Throwable;Lcom/facebook/internal/instrument/InstrumentData$Type;)Lcom/facebook/internal/instrument/InstrumentData;
move-result-object p1
invoke-virtual {p1}, Lcom/facebook/internal/instrument/InstrumentData;->save()V
.line 46
:cond_1
invoke-static {p0}, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->scheduleCrashInDebug(Ljava/lang/Throwable;)V
return-void
.end method
.method public static final isDebug()Z
.locals 1
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
const/4 v0, 0x0
return v0
.end method
.method public static final isObjectCrashing(Ljava/lang/Object;)Z
.locals 1
const-string v0, "o"
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
sget-object v0, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->crashingObjects:Ljava/util/Set;
.line 51
invoke-interface {v0, p0}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
move-result p0
return p0
.end method
.method public static final methodFinished(Ljava/lang/Object;)V
.locals 0
return-void
.end method
.method public static final reset()V
.locals 0
.line 58
invoke-static {}, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->resetCrashingObjects()V
return-void
.end method
.method public static final resetCrashingObjects()V
.locals 1
sget-object v0, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->crashingObjects:Ljava/util/Set;
.line 63
invoke-interface {v0}, Ljava/util/Set;->clear()V
return-void
.end method
.method public static final scheduleCrashInDebug(Ljava/lang/Throwable;)V
.locals 2
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
.line 71
invoke-static {}, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->isDebug()Z
move-result v0
if-eqz v0, :cond_0
.line 72
new-instance v0, Landroid/os/Handler;
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v1
invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
.line 74
new-instance v1, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler$scheduleCrashInDebug$1;
invoke-direct {v1, p0}, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler$scheduleCrashInDebug$1;-><init>(Ljava/lang/Throwable;)V
.line 73
invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
:cond_0
return-void
.end method

View File

@@ -0,0 +1,12 @@
.class public interface abstract annotation Lcom/facebook/internal/instrument/crashshield/NoAutoExceptionHandling;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/annotation/Annotation;
# annotations
.annotation runtime Ljava/lang/annotation/Retention;
value = .enum Ljava/lang/annotation/RetentionPolicy;->CLASS:Ljava/lang/annotation/RetentionPolicy;
.end annotation

View File

@@ -0,0 +1,34 @@
.class public final Lcom/facebook/internal/instrument/errorreport/ErrorReportData$Companion;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/internal/instrument/errorreport/ErrorReportData;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Companion"
.end annotation
# direct methods
.method private constructor <init>()V
.locals 0
.line 82
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public synthetic constructor <init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
.locals 0
.line 0
invoke-direct {p0}, Lcom/facebook/internal/instrument/errorreport/ErrorReportData$Companion;-><init>()V
return-void
.end method

View File

@@ -0,0 +1,354 @@
.class public final Lcom/facebook/internal/instrument/errorreport/ErrorReportData;
.super Ljava/lang/Object;
.source "SourceFile"
# 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/internal/instrument/errorreport/ErrorReportData$Companion;
}
.end annotation
# static fields
.field public static final Companion:Lcom/facebook/internal/instrument/errorreport/ErrorReportData$Companion;
.field private static final PARAM_TIMESTAMP:Ljava/lang/String; = "timestamp"
.field private static final PRARAM_ERROR_MESSAGE:Ljava/lang/String; = "error_message"
# instance fields
.field private errorMessage:Ljava/lang/String;
.field private filename:Ljava/lang/String;
.field private timestamp:Ljava/lang/Long;
# direct methods
.method static constructor <clinit>()V
.locals 2
new-instance v0, Lcom/facebook/internal/instrument/errorreport/ErrorReportData$Companion;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lcom/facebook/internal/instrument/errorreport/ErrorReportData$Companion;-><init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
sput-object v0, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;->Companion:Lcom/facebook/internal/instrument/errorreport/ErrorReportData$Companion;
return-void
.end method
.method public constructor <init>(Ljava/io/File;)V
.locals 3
const-string v0, "file"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 34
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 35
invoke-virtual {p1}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object p1
const-string v0, "file.name"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
iput-object p1, p0, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;->filename:Ljava/lang/String;
const/4 v0, 0x1
.line 36
invoke-static {p1, v0}, Lcom/facebook/internal/instrument/InstrumentUtility;->readFile(Ljava/lang/String;Z)Lorg/json/JSONObject;
move-result-object p1
if-eqz p1, :cond_0
const-string v0, "timestamp"
const-wide/16 v1, 0x0
.line 38
invoke-virtual {p1, v0, v1, v2}, Lorg/json/JSONObject;->optLong(Ljava/lang/String;J)J
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
iput-object v0, p0, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;->timestamp:Ljava/lang/Long;
const-string v0, "error_message"
const/4 v1, 0x0
.line 39
invoke-virtual {p1, v0, v1}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
iput-object p1, p0, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;->errorMessage:Ljava/lang/String;
:cond_0
return-void
.end method
.method public constructor <init>(Ljava/lang/String;)V
.locals 4
.line 23
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 24
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
const/16 v2, 0x3e8
int-to-long v2, v2
div-long/2addr v0, v2
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
iput-object v0, p0, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;->timestamp:Ljava/lang/Long;
iput-object p1, p0, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;->errorMessage:Ljava/lang/String;
.line 27
new-instance p1, Ljava/lang/StringBuffer;
invoke-direct {p1}, Ljava/lang/StringBuffer;-><init>()V
const-string v0, "error_log_"
.line 28
invoke-virtual {p1, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
iget-object v0, p0, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;->timestamp:Ljava/lang/Long;
if-eqz v0, :cond_0
.line 29
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
invoke-virtual {p1, v0, v1}, Ljava/lang/StringBuffer;->append(J)Ljava/lang/StringBuffer;
const-string v0, ".json"
.line 30
invoke-virtual {p1, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 31
invoke-virtual {p1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object p1
const-string v0, "StringBuffer()\n .append(InstrumentUtility.ERROR_REPORT_PREFIX)\n .append(timestamp as Long)\n .append(\".json\")\n .toString()"
.line 29
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
iput-object p1, p0, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;->filename:Ljava/lang/String;
return-void
:cond_0
new-instance p1, Ljava/lang/NullPointerException;
const-string v0, "null cannot be cast to non-null type kotlin.Long"
invoke-direct {p1, v0}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw p1
.end method
# virtual methods
.method public final clear()V
.locals 1
.line 59
sget-object v0, Lcom/facebook/internal/instrument/InstrumentUtility;->INSTANCE:Lcom/facebook/internal/instrument/InstrumentUtility;
iget-object v0, p0, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;->filename:Ljava/lang/String;
invoke-static {v0}, Lcom/facebook/internal/instrument/InstrumentUtility;->deleteFile(Ljava/lang/String;)Z
return-void
.end method
.method public final compareTo(Lcom/facebook/internal/instrument/errorreport/ErrorReportData;)I
.locals 4
const-string v0, "data"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
iget-object v0, p0, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;->timestamp:Ljava/lang/Long;
if-nez v0, :cond_0
const/4 p1, -0x1
return p1
.line 44
:cond_0
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
.line 45
iget-object p1, p1, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;->timestamp:Ljava/lang/Long;
if-nez p1, :cond_1
const/4 p1, 0x1
return p1
:cond_1
invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
move-result-wide v2
.line 46
invoke-static {v2, v3, v0, v1}, Lkotlin/jvm/internal/Intrinsics;->compare(JJ)I
move-result p1
return p1
.end method
.method public final getParameters()Lorg/json/JSONObject;
.locals 3
.line 69
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
:try_start_0
iget-object v1, p0, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;->timestamp:Ljava/lang/Long;
if-eqz v1, :cond_0
const-string v2, "timestamp"
.line 72
invoke-virtual {v0, v2, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:cond_0
const-string v1, "error_message"
iget-object v2, p0, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;->errorMessage:Ljava/lang/String;
.line 74
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_0
.catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0
return-object v0
:catch_0
const/4 v0, 0x0
return-object v0
.end method
.method public final isValid()Z
.locals 1
iget-object v0, p0, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;->errorMessage:Ljava/lang/String;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;->timestamp:Ljava/lang/Long;
if-eqz v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public final save()V
.locals 2
.line 53
invoke-virtual {p0}, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;->isValid()Z
move-result v0
if-eqz v0, :cond_0
.line 54
sget-object v0, Lcom/facebook/internal/instrument/InstrumentUtility;->INSTANCE:Lcom/facebook/internal/instrument/InstrumentUtility;
iget-object v0, p0, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;->filename:Ljava/lang/String;
invoke-virtual {p0}, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcom/facebook/internal/instrument/InstrumentUtility;->writeFile(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
return-void
.end method
.method public toString()Ljava/lang/String;
.locals 2
.line 63
invoke-virtual {p0}, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;->getParameters()Lorg/json/JSONObject;
move-result-object v0
if-nez v0, :cond_0
invoke-super {p0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.line 64
:cond_0
invoke-virtual {v0}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "params.toString()"
invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
return-object v0
.end method

View File

@@ -0,0 +1,33 @@
.class public final synthetic Lcom/facebook/internal/instrument/errorreport/ErrorReportHandler$$ExternalSyntheticLambda0;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/util/Comparator;
# direct methods
.method public synthetic constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 0
check-cast p1, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;
check-cast p2, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;
invoke-static {p1, p2}, Lcom/facebook/internal/instrument/errorreport/ErrorReportHandler;->$r8$lambda$-qQHxjvIeA2h70RXtCrfcxmmPtE(Lcom/facebook/internal/instrument/errorreport/ErrorReportData;Lcom/facebook/internal/instrument/errorreport/ErrorReportData;)I
move-result p1
return p1
.end method

View File

@@ -0,0 +1,36 @@
.class public final synthetic Lcom/facebook/internal/instrument/errorreport/ErrorReportHandler$$ExternalSyntheticLambda1;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/facebook/GraphRequest$Callback;
# instance fields
.field public final synthetic f$0:Ljava/util/ArrayList;
# direct methods
.method public synthetic constructor <init>(Ljava/util/ArrayList;)V
.locals 0
.line 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/facebook/internal/instrument/errorreport/ErrorReportHandler$$ExternalSyntheticLambda1;->f$0:Ljava/util/ArrayList;
return-void
.end method
# virtual methods
.method public final onCompleted(Lcom/facebook/GraphResponse;)V
.locals 1
.line 0
iget-object v0, p0, Lcom/facebook/internal/instrument/errorreport/ErrorReportHandler$$ExternalSyntheticLambda1;->f$0:Ljava/util/ArrayList;
invoke-static {v0, p1}, Lcom/facebook/internal/instrument/errorreport/ErrorReportHandler;->$r8$lambda$W2ORdtSkNJZec5WV4vVMF5qzbt4(Ljava/util/ArrayList;Lcom/facebook/GraphResponse;)V
return-void
.end method

View File

@@ -0,0 +1,29 @@
.class public final synthetic Lcom/facebook/internal/instrument/errorreport/ErrorReportHandler$$ExternalSyntheticLambda2;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/io/FilenameFilter;
# direct methods
.method public synthetic constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final accept(Ljava/io/File;Ljava/lang/String;)Z
.locals 0
.line 0
invoke-static {p1, p2}, Lcom/facebook/internal/instrument/errorreport/ErrorReportHandler;->$r8$lambda$lk6HXRT1hvUpLieP_NTJ9JD3XBM(Ljava/io/File;Ljava/lang/String;)Z
move-result p1
return p1
.end method

View File

@@ -0,0 +1,382 @@
.class public final Lcom/facebook/internal/instrument/errorreport/ErrorReportHandler;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# static fields
.field public static final INSTANCE:Lcom/facebook/internal/instrument/errorreport/ErrorReportHandler;
.field private static final MAX_ERROR_REPORT_NUM:I = 0x3e8
# direct methods
.method public static synthetic $r8$lambda$-qQHxjvIeA2h70RXtCrfcxmmPtE(Lcom/facebook/internal/instrument/errorreport/ErrorReportData;Lcom/facebook/internal/instrument/errorreport/ErrorReportData;)I
.locals 0
.line 0
invoke-static {p0, p1}, Lcom/facebook/internal/instrument/errorreport/ErrorReportHandler;->sendErrorReports$lambda-0(Lcom/facebook/internal/instrument/errorreport/ErrorReportData;Lcom/facebook/internal/instrument/errorreport/ErrorReportData;)I
move-result p0
return p0
.end method
.method public static synthetic $r8$lambda$W2ORdtSkNJZec5WV4vVMF5qzbt4(Ljava/util/ArrayList;Lcom/facebook/GraphResponse;)V
.locals 0
.line 0
invoke-static {p0, p1}, Lcom/facebook/internal/instrument/errorreport/ErrorReportHandler;->sendErrorReports$lambda-2(Ljava/util/ArrayList;Lcom/facebook/GraphResponse;)V
return-void
.end method
.method public static synthetic $r8$lambda$lk6HXRT1hvUpLieP_NTJ9JD3XBM(Ljava/io/File;Ljava/lang/String;)Z
.locals 0
.line 0
invoke-static {p0, p1}, Lcom/facebook/internal/instrument/errorreport/ErrorReportHandler;->listErrorReportFiles$lambda-3(Ljava/io/File;Ljava/lang/String;)Z
move-result p0
return p0
.end method
.method static constructor <clinit>()V
.locals 1
new-instance v0, Lcom/facebook/internal/instrument/errorreport/ErrorReportHandler;
invoke-direct {v0}, Lcom/facebook/internal/instrument/errorreport/ErrorReportHandler;-><init>()V
sput-object v0, Lcom/facebook/internal/instrument/errorreport/ErrorReportHandler;->INSTANCE:Lcom/facebook/internal/instrument/errorreport/ErrorReportHandler;
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 19
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static final enable()V
.locals 1
.line 35
invoke-static {}, Lcom/facebook/FacebookSdk;->getAutoLogAppEventsEnabled()Z
move-result v0
if-eqz v0, :cond_0
.line 36
invoke-static {}, Lcom/facebook/internal/instrument/errorreport/ErrorReportHandler;->sendErrorReports()V
:cond_0
return-void
.end method
.method public static final listErrorReportFiles()[Ljava/io/File;
.locals 2
.line 78
invoke-static {}, Lcom/facebook/internal/instrument/InstrumentUtility;->getInstrumentReportDir()Ljava/io/File;
move-result-object v0
if-nez v0, :cond_0
const/4 v0, 0x0
new-array v0, v0, [Ljava/io/File;
return-object v0
.line 79
:cond_0
new-instance v1, Lcom/facebook/internal/instrument/errorreport/ErrorReportHandler$$ExternalSyntheticLambda2;
invoke-direct {v1}, Lcom/facebook/internal/instrument/errorreport/ErrorReportHandler$$ExternalSyntheticLambda2;-><init>()V
invoke-virtual {v0, v1}, Ljava/io/File;->listFiles(Ljava/io/FilenameFilter;)[Ljava/io/File;
move-result-object v0
const-string v1, "reportDir.listFiles { dir, name ->\n name.matches(Regex(String.format(\"^%s[0-9]+.json$\", InstrumentUtility.ERROR_REPORT_PREFIX)))\n }"
invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
return-object v0
.end method
.method private static final listErrorReportFiles$lambda-3(Ljava/io/File;Ljava/lang/String;)Z
.locals 2
const-string p0, "name"
.line 80
invoke-static {p1, p0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
new-instance p0, Lkotlin/text/Regex;
sget-object v0, Lkotlin/jvm/internal/StringCompanionObject;->INSTANCE:Lkotlin/jvm/internal/StringCompanionObject;
const-string v0, "error_log_"
filled-new-array {v0}, [Ljava/lang/Object;
move-result-object v0
const/4 v1, 0x1
invoke-static {v0, v1}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object;
move-result-object v0
const-string v1, "^%s[0-9]+.json$"
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
invoke-direct {p0, v0}, Lkotlin/text/Regex;-><init>(Ljava/lang/String;)V
invoke-virtual {p0, p1}, Lkotlin/text/Regex;->matches(Ljava/lang/CharSequence;)Z
move-result p0
return p0
.end method
.method public static final save(Ljava/lang/String;)V
.locals 1
.line 26
:try_start_0
new-instance v0, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;
invoke-direct {v0, p0}, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;-><init>(Ljava/lang/String;)V
.line 27
invoke-virtual {v0}, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;->save()V
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
:catch_0
return-void
.end method
.method public static final sendErrorReports()V
.locals 7
.line 47
invoke-static {}, Lcom/facebook/internal/Utility;->isDataProcessingRestricted()Z
move-result v0
if-eqz v0, :cond_0
return-void
.line 50
:cond_0
invoke-static {}, Lcom/facebook/internal/instrument/errorreport/ErrorReportHandler;->listErrorReportFiles()[Ljava/io/File;
move-result-object v0
.line 51
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
.line 52
array-length v2, v0
const/4 v3, 0x0
move v4, v3
:cond_1
:goto_0
if-ge v4, v2, :cond_2
aget-object v5, v0, v4
add-int/lit8 v4, v4, 0x1
.line 53
new-instance v6, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;
invoke-direct {v6, v5}, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;-><init>(Ljava/io/File;)V
.line 54
invoke-virtual {v6}, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;->isValid()Z
move-result v5
if-eqz v5, :cond_1
.line 55
invoke-virtual {v1, v6}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_0
.line 58
:cond_2
new-instance v0, Lcom/facebook/internal/instrument/errorreport/ErrorReportHandler$$ExternalSyntheticLambda0;
invoke-direct {v0}, Lcom/facebook/internal/instrument/errorreport/ErrorReportHandler$$ExternalSyntheticLambda0;-><init>()V
invoke-static {v1, v0}, Lkotlin/collections/CollectionsKt;->sortWith(Ljava/util/List;Ljava/util/Comparator;)V
.line 59
new-instance v0, Lorg/json/JSONArray;
invoke-direct {v0}, Lorg/json/JSONArray;-><init>()V
.line 61
:goto_1
invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
move-result v2
if-ge v3, v2, :cond_3
const/16 v2, 0x3e8
if-ge v3, v2, :cond_3
.line 62
invoke-virtual {v1, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v2
invoke-virtual {v0, v2}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
add-int/lit8 v3, v3, 0x1
goto :goto_1
.line 65
:cond_3
sget-object v2, Lcom/facebook/internal/instrument/InstrumentUtility;->INSTANCE:Lcom/facebook/internal/instrument/InstrumentUtility;
new-instance v2, Lcom/facebook/internal/instrument/errorreport/ErrorReportHandler$$ExternalSyntheticLambda1;
invoke-direct {v2, v1}, Lcom/facebook/internal/instrument/errorreport/ErrorReportHandler$$ExternalSyntheticLambda1;-><init>(Ljava/util/ArrayList;)V
const-string v1, "error_reports"
invoke-static {v1, v0, v2}, Lcom/facebook/internal/instrument/InstrumentUtility;->sendReports(Ljava/lang/String;Lorg/json/JSONArray;Lcom/facebook/GraphRequest$Callback;)V
return-void
.end method
.method private static final sendErrorReports$lambda-0(Lcom/facebook/internal/instrument/errorreport/ErrorReportData;Lcom/facebook/internal/instrument/errorreport/ErrorReportData;)I
.locals 1
const-string v0, "o2"
.line 58
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
invoke-virtual {p0, p1}, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;->compareTo(Lcom/facebook/internal/instrument/errorreport/ErrorReportData;)I
move-result p0
return p0
.end method
.method private static final sendErrorReports$lambda-2(Ljava/util/ArrayList;Lcom/facebook/GraphResponse;)V
.locals 1
const-string v0, "$validReports"
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "response"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 67
:try_start_0
invoke-virtual {p1}, Lcom/facebook/GraphResponse;->getError()Lcom/facebook/FacebookRequestError;
move-result-object v0
if-nez v0, :cond_1
invoke-virtual {p1}, Lcom/facebook/GraphResponse;->getJsonObject()Lorg/json/JSONObject;
move-result-object p1
if-nez p1, :cond_0
const/4 p1, 0x0
goto :goto_0
:cond_0
const-string v0, "success"
invoke-virtual {p1, v0}, Lorg/json/JSONObject;->getBoolean(Ljava/lang/String;)Z
move-result p1
invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p1
:goto_0
sget-object v0, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1
.line 85
invoke-interface {p0}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object p0
:goto_1
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result p1
if-eqz p1, :cond_1
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;
.line 68
invoke-virtual {p1}, Lcom/facebook/internal/instrument/errorreport/ErrorReportData;->clear()V
:try_end_0
.catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_1
:catch_0
:cond_1
return-void
.end method

View File

@@ -0,0 +1,224 @@
.class public final Lcom/facebook/internal/instrument/threadcheck/ThreadCheckHandler;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# static fields
.field public static final INSTANCE:Lcom/facebook/internal/instrument/threadcheck/ThreadCheckHandler;
.field private static final TAG:Ljava/lang/String;
.field private static enabled:Z
# direct methods
.method static constructor <clinit>()V
.locals 1
new-instance v0, Lcom/facebook/internal/instrument/threadcheck/ThreadCheckHandler;
invoke-direct {v0}, Lcom/facebook/internal/instrument/threadcheck/ThreadCheckHandler;-><init>()V
sput-object v0, Lcom/facebook/internal/instrument/threadcheck/ThreadCheckHandler;->INSTANCE:Lcom/facebook/internal/instrument/threadcheck/ThreadCheckHandler;
const-class v0, Lcom/facebook/internal/instrument/threadcheck/ThreadCheckHandler;
.line 19
invoke-virtual {v0}, Ljava/lang/Class;->getCanonicalName()Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/facebook/internal/instrument/threadcheck/ThreadCheckHandler;->TAG:Ljava/lang/String;
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 17
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static final enable()V
.locals 1
const/4 v0, 0x1
sput-boolean v0, Lcom/facebook/internal/instrument/threadcheck/ThreadCheckHandler;->enabled:Z
return-void
.end method
.method private final log(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)V
.locals 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/String;",
"Ljava/lang/String;",
")V"
}
.end annotation
sget-boolean v0, Lcom/facebook/internal/instrument/threadcheck/ThreadCheckHandler;->enabled:Z
if-nez v0, :cond_0
return-void
.line 42
:cond_0
sget-object v0, Lkotlin/jvm/internal/StringCompanionObject;->INSTANCE:Lkotlin/jvm/internal/StringCompanionObject;
.line 43
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
.line 46
invoke-virtual {p2}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v2
.line 49
invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
move-result-object v5
.line 50
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v6
move-object v1, p1
move-object v3, p3
move-object v4, p4
filled-new-array/range {v1 .. v6}, [Ljava/lang/Object;
move-result-object p1
const/4 p2, 0x6
.line 42
invoke-static {p1, p2}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object;
move-result-object p1
const-string p2, "%s annotation violation detected in %s.%s%s. Current looper is %s and main looper is %s."
invoke-static {v0, p2, p1}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
const-string p2, "java.lang.String.format(locale, format, *args)"
invoke-static {p1, p2}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
.line 51
new-instance p2, Ljava/lang/Exception;
invoke-direct {p2}, Ljava/lang/Exception;-><init>()V
sget-object p3, Lcom/facebook/internal/instrument/threadcheck/ThreadCheckHandler;->TAG:Ljava/lang/String;
.line 52
invoke-static {p3, p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 53
sget-object p1, Lcom/facebook/internal/instrument/InstrumentData$Builder;->INSTANCE:Lcom/facebook/internal/instrument/InstrumentData$Builder;
sget-object p1, Lcom/facebook/internal/instrument/InstrumentData$Type;->ThreadCheck:Lcom/facebook/internal/instrument/InstrumentData$Type;
invoke-static {p2, p1}, Lcom/facebook/internal/instrument/InstrumentData$Builder;->build(Ljava/lang/Throwable;Lcom/facebook/internal/instrument/InstrumentData$Type;)Lcom/facebook/internal/instrument/InstrumentData;
move-result-object p1
invoke-virtual {p1}, Lcom/facebook/internal/instrument/InstrumentData;->save()V
return-void
.end method
.method public static final uiThreadViolationDetected(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/String;",
"Ljava/lang/String;",
")V"
}
.end annotation
const-string v0, "clazz"
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "methodName"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "methodDesc"
invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
sget-object v0, Lcom/facebook/internal/instrument/threadcheck/ThreadCheckHandler;->INSTANCE:Lcom/facebook/internal/instrument/threadcheck/ThreadCheckHandler;
const-string v1, "@UiThread"
.line 29
invoke-direct {v0, v1, p0, p1, p2}, Lcom/facebook/internal/instrument/threadcheck/ThreadCheckHandler;->log(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public static final workerThreadViolationDetected(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/String;",
"Ljava/lang/String;",
")V"
}
.end annotation
const-string v0, "clazz"
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "methodName"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "methodDesc"
invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
sget-object v0, Lcom/facebook/internal/instrument/threadcheck/ThreadCheckHandler;->INSTANCE:Lcom/facebook/internal/instrument/threadcheck/ThreadCheckHandler;
const-string v1, "@WorkerThread"
.line 34
invoke-direct {v0, v1, p0, p1, p2}, Lcom/facebook/internal/instrument/threadcheck/ThreadCheckHandler;->log(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method