.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 ()V .locals 1 new-instance v0, Lcom/facebook/internal/instrument/threadcheck/ThreadCheckHandler; invoke-direct {v0}, Lcom/facebook/internal/instrument/threadcheck/ThreadCheckHandler;->()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 ()V .locals 0 .line 17 invoke-direct {p0}, Ljava/lang/Object;->()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;->()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