.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 ()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;->(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 (Ljava/lang/Thread$UncaughtExceptionHandler;)V .locals 0 .line 22 invoke-direct {p0}, Ljava/lang/Object;->()V iput-object p1, p0, Lcom/facebook/internal/instrument/crashreport/CrashHandler;->previousHandler:Ljava/lang/Thread$UncaughtExceptionHandler; return-void .end method .method public synthetic constructor (Ljava/lang/Thread$UncaughtExceptionHandler;Lkotlin/jvm/internal/DefaultConstructorMarker;)V .locals 0 .line 0 invoke-direct {p0, p1}, Lcom/facebook/internal/instrument/crashreport/CrashHandler;->(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