ThreadUtils$3.smali
.class Lorg/webrtc/ThreadUtils$3;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lorg/webrtc/ThreadUtils;->invokeAtFrontUninterruptibly(Landroid/os/Handler;Ljava/util/concurrent/Callable;)Ljava/lang/Object;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic val$barrier:Ljava/util/concurrent/CountDownLatch;
.field public final synthetic val$callable:Ljava/util/concurrent/Callable;
.field public final synthetic val$caughtException:Lorg/webrtc/ThreadUtils$1CaughtException;
.field public final synthetic val$result:Lorg/webrtc/ThreadUtils$1Result;
# direct methods
.method public constructor <init>(Lorg/webrtc/ThreadUtils$1Result;Ljava/util/concurrent/Callable;Lorg/webrtc/ThreadUtils$1CaughtException;Ljava/util/concurrent/CountDownLatch;)V
.registers 5
iput-object p1, p0, Lorg/webrtc/ThreadUtils$3;->val$result:Lorg/webrtc/ThreadUtils$1Result;
iput-object p2, p0, Lorg/webrtc/ThreadUtils$3;->val$callable:Ljava/util/concurrent/Callable;
iput-object p3, p0, Lorg/webrtc/ThreadUtils$3;->val$caughtException:Lorg/webrtc/ThreadUtils$1CaughtException;
iput-object p4, p0, Lorg/webrtc/ThreadUtils$3;->val$barrier:Ljava/util/concurrent/CountDownLatch;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.registers 7
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v0
invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
move-result-object v1
if-ne v0, v1, :cond_c
const/4 v0, 0x1
goto :goto_d
:cond_c
const/4 v0, 0x0
:goto_d
const-string v1, "runnable"
const-string v2, "org/webrtc/ThreadUtils$3"
const-string v3, "run"
if-eqz v0, :cond_18
invoke-static {v3, v2, v1}, Lcom/shopee/monitor/trace/c;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.line 1
:cond_18
:try_start_18
iget-object v4, p0, Lorg/webrtc/ThreadUtils$3;->val$result:Lorg/webrtc/ThreadUtils$1Result;
iget-object v5, p0, Lorg/webrtc/ThreadUtils$3;->val$callable:Ljava/util/concurrent/Callable;
invoke-interface {v5}, Ljava/util/concurrent/Callable;->call()Ljava/lang/Object;
move-result-object v5
iput-object v5, v4, Lorg/webrtc/ThreadUtils$1Result;->value:Ljava/lang/Object;
:try_end_22
.catch Ljava/lang/Exception; {:try_start_18 .. :try_end_22} :catch_23
goto :goto_28
:catch_23
move-exception v4
.line 2
iget-object v5, p0, Lorg/webrtc/ThreadUtils$3;->val$caughtException:Lorg/webrtc/ThreadUtils$1CaughtException;
iput-object v4, v5, Lorg/webrtc/ThreadUtils$1CaughtException;->e:Ljava/lang/Exception;
.line 3
:goto_28
iget-object v4, p0, Lorg/webrtc/ThreadUtils$3;->val$barrier:Ljava/util/concurrent/CountDownLatch;
invoke-virtual {v4}, Ljava/util/concurrent/CountDownLatch;->countDown()V
if-eqz v0, :cond_32
.line 4
invoke-static {v3, v2, v1}, Lcom/shopee/monitor/trace/c;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
:cond_32
return-void
.end method