DefaultSerialExecutorService.smali

.class public Lcom/facebook/common/executors/DefaultSerialExecutorService;
.super Lcom/facebook/common/executors/ConstrainedExecutorService;
.source "SourceFile"

# interfaces
.implements Lcom/facebook/common/executors/SerialExecutorService;


# direct methods
.method public constructor <init>(Ljava/util/concurrent/Executor;)V
    .registers 5

    new-instance v0, Ljava/util/concurrent/LinkedBlockingQueue;

    invoke-direct {v0}, Ljava/util/concurrent/LinkedBlockingQueue;-><init>()V

    const-string v1, "SerialExecutor"

    const/4 v2, 0x1

    invoke-direct {p0, v1, v2, p1, v0}, Lcom/facebook/common/executors/ConstrainedExecutorService;-><init>(Ljava/lang/String;ILjava/util/concurrent/Executor;Ljava/util/concurrent/BlockingQueue;)V

    return-void
.end method

.method public static INVOKESPECIAL_com_facebook_common_executors_DefaultSerialExecutorService_com_shopee_app_asm_anr_threadpool_ExecutorProxy_executeThread(Lcom/facebook/common/executors/ConstrainedExecutorService;Ljava/lang/Runnable;)V
    .registers 3

    .line 1
    invoke-static {p1, p0}, Lcom/shopee/app/asm/anr/threadpool/a;->a(Ljava/lang/Object;Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_c

    .line 2
    sget-object p0, Lcom/shopee/app/asm/fix/threadpool/global/i;->e:Lcom/shopee/app/asm/fix/threadpool/global/j;

    .line 3
    invoke-virtual {p0, p1}, Lcom/shopee/app/asm/anr/threadpool/b;->execute(Ljava/lang/Runnable;)V

    return-void

    .line 4
    :cond_c
    # invokes: Lcom/facebook/common/executors/ConstrainedExecutorService;->execute(Ljava/lang/Runnable;)V
    invoke-static {p0, p1}, Lcom/facebook/common/executors/DefaultSerialExecutorService;->access$000(Lcom/facebook/common/executors/ConstrainedExecutorService;Ljava/lang/Runnable;)V

    return-void
.end method

.method public static synthetic access$000(Lcom/facebook/common/executors/ConstrainedExecutorService;Ljava/lang/Runnable;)V
    .registers 2

    invoke-super {p0, p1}, Lcom/facebook/common/executors/ConstrainedExecutorService;->execute(Ljava/lang/Runnable;)V

    return-void
.end method


# virtual methods
.method public declared-synchronized execute(Ljava/lang/Runnable;)V
    .registers 2

    monitor-enter p0

    .line 1
    :try_start_1
    invoke-static {p0, p1}, Lcom/facebook/common/executors/DefaultSerialExecutorService;->INVOKESPECIAL_com_facebook_common_executors_DefaultSerialExecutorService_com_shopee_app_asm_anr_threadpool_ExecutorProxy_executeThread(Lcom/facebook/common/executors/ConstrainedExecutorService;Ljava/lang/Runnable;)V
    :try_end_4
    .catchall {:try_start_1 .. :try_end_4} :catchall_6

    .line 2
    monitor-exit p0

    return-void

    :catchall_6
    move-exception p1

    monitor-exit p0

    throw p1
.end method