.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 ()V .locals 1 new-instance v0, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler; invoke-direct {v0}, Lcom/facebook/internal/instrument/crashshield/CrashShieldHandler;->()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;->()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 ()V .locals 0 .line 21 invoke-direct {p0}, Ljava/lang/Object;->()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;->(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;->(Ljava/lang/Throwable;)V .line 73 invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z :cond_0 return-void .end method