.class public abstract Lkotlinx/coroutines/android/HandlerDispatcherKt; .super Ljava/lang/Object; .source "SourceFile" # static fields .field public static final Main:Lkotlinx/coroutines/android/HandlerDispatcher; .field private static volatile choreographer:Landroid/view/Choreographer; # direct methods .method static constructor ()V .locals 4 const/4 v0, 0x0 .line 109 :try_start_0 sget-object v1, Lkotlin/Result;->Companion:Lkotlin/Result$Companion; new-instance v1, Lkotlinx/coroutines/android/HandlerContext; invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper; move-result-object v2 const/4 v3, 0x1 invoke-static {v2, v3}, Lkotlinx/coroutines/android/HandlerDispatcherKt;->asHandler(Landroid/os/Looper;Z)Landroid/os/Handler; move-result-object v2 const/4 v3, 0x2 invoke-direct {v1, v2, v0, v3, v0}, Lkotlinx/coroutines/android/HandlerContext;->(Landroid/os/Handler;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V invoke-static {v1}, Lkotlin/Result;->constructor-impl(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 goto :goto_0 :catchall_0 move-exception v1 sget-object v2, Lkotlin/Result;->Companion:Lkotlin/Result$Companion; invoke-static {v1}, Lkotlin/ResultKt;->createFailure(Ljava/lang/Throwable;)Ljava/lang/Object; move-result-object v1 invoke-static {v1}, Lkotlin/Result;->constructor-impl(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 :goto_0 invoke-static {v1}, Lkotlin/Result;->isFailure-impl(Ljava/lang/Object;)Z move-result v2 if-eqz v2, :cond_0 goto :goto_1 :cond_0 move-object v0, v1 :goto_1 check-cast v0, Lkotlinx/coroutines/android/HandlerDispatcher; sput-object v0, Lkotlinx/coroutines/android/HandlerDispatcherKt;->Main:Lkotlinx/coroutines/android/HandlerDispatcher; return-void .end method .method public static final asHandler(Landroid/os/Looper;Z)Landroid/os/Handler; .locals 6 if-eqz p1, :cond_1 sget p1, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v0, 0x1c const/4 v1, 0x0 const-class v2, Landroid/os/Looper; const/4 v3, 0x0 const/4 v4, 0x1 const-class v5, Landroid/os/Handler; if-lt p1, v0, :cond_0 new-array p1, v4, [Ljava/lang/Class; aput-object v2, p1, v3 const-string v0, "createAsync" .line 92 invoke-virtual {v5, v0, p1}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; move-result-object p1 filled-new-array {p0}, [Ljava/lang/Object; move-result-object p0 .line 93 invoke-virtual {p1, v1, p0}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 const-string p1, "null cannot be cast to non-null type android.os.Handler" invoke-static {p0, p1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNull(Ljava/lang/Object;Ljava/lang/String;)V check-cast p0, Landroid/os/Handler; return-object p0 :cond_0 const/4 p1, 0x3 :try_start_0 new-array p1, p1, [Ljava/lang/Class; aput-object v2, p1, v3 const-class v0, Landroid/os/Handler$Callback; aput-object v0, p1, v4 sget-object v0, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class; const/4 v2, 0x2 aput-object v0, p1, v2 .line 98 invoke-virtual {v5, p1}, Ljava/lang/Class;->getDeclaredConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor; move-result-object p1 :try_end_0 .catch Ljava/lang/NoSuchMethodException; {:try_start_0 .. :try_end_0} :catch_0 sget-object v0, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean; filled-new-array {p0, v1, v0}, [Ljava/lang/Object; move-result-object p0 .line 104 invoke-virtual {p1, p0}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 check-cast p0, Landroid/os/Handler; return-object p0 .line 102 :catch_0 new-instance p1, Landroid/os/Handler; invoke-direct {p1, p0}, Landroid/os/Handler;->(Landroid/os/Looper;)V return-object p1 .line 87 :cond_1 new-instance p1, Landroid/os/Handler; invoke-direct {p1, p0}, Landroid/os/Handler;->(Landroid/os/Looper;)V return-object p1 .end method