JavaUrlRequest$SerializingExecutor$1.smali

.class Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor$1;
.super Ljava/lang/Object;

# interfaces
.implements Ljava/lang/Runnable;


# instance fields
.field final synthetic this$0:Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;


# direct methods
.method constructor <init>(Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;)V
    .registers 2

    iput-object p1, p0, Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor$1;->this$0:Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method


# virtual methods
.method public run()V
    .registers 7

    const/4 v2, 0x1

    const/4 v3, 0x0

    iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor$1;->this$0:Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;

    # getter for: Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;->mTaskQueue:Ljava/util/ArrayDeque;
    invoke-static {v0}, Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;->access$000(Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;)Ljava/util/ArrayDeque;

    move-result-object v4

    monitor-enter v4

    :try_start_9
    iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor$1;->this$0:Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;

    # getter for: Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;->mRunning:Z
    invoke-static {v0}, Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;->access$100(Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;)Z

    move-result v0

    if-eqz v0, :cond_13

    monitor-exit v4

    :cond_12
    return-void

    :cond_13
    iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor$1;->this$0:Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;

    # getter for: Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;->mTaskQueue:Ljava/util/ArrayDeque;
    invoke-static {v0}, Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;->access$000(Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;)Ljava/util/ArrayDeque;

    move-result-object v0

    invoke-virtual {v0}, Ljava/util/ArrayDeque;->pollFirst()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/Runnable;

    iget-object v5, p0, Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor$1;->this$0:Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;

    if-eqz v0, :cond_4d

    move v1, v2

    :goto_24
    # setter for: Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;->mRunning:Z
    invoke-static {v5, v1}, Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;->access$102(Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;Z)Z

    monitor-exit v4
    :try_end_28
    .catchall {:try_start_9 .. :try_end_28} :catchall_4f

    :goto_28
    if-eqz v0, :cond_12

    :try_start_2a
    invoke-interface {v0}, Ljava/lang/Runnable;->run()V
    :try_end_2d
    .catchall {:try_start_2a .. :try_end_2d} :catchall_54

    iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor$1;->this$0:Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;

    # getter for: Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;->mTaskQueue:Ljava/util/ArrayDeque;
    invoke-static {v0}, Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;->access$000(Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;)Ljava/util/ArrayDeque;

    move-result-object v4

    monitor-enter v4

    :try_start_34
    iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor$1;->this$0:Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;

    # getter for: Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;->mTaskQueue:Ljava/util/ArrayDeque;
    invoke-static {v0}, Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;->access$000(Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;)Ljava/util/ArrayDeque;

    move-result-object v0

    invoke-virtual {v0}, Ljava/util/ArrayDeque;->pollFirst()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/Runnable;

    iget-object v5, p0, Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor$1;->this$0:Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;

    if-eqz v0, :cond_52

    move v1, v2

    :goto_45
    # setter for: Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;->mRunning:Z
    invoke-static {v5, v1}, Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;->access$102(Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;Z)Z

    monitor-exit v4

    goto :goto_28

    :catchall_4a
    move-exception v0

    monitor-exit v4
    :try_end_4c
    .catchall {:try_start_34 .. :try_end_4c} :catchall_4a

    throw v0

    :cond_4d
    move v1, v3

    goto :goto_24

    :catchall_4f
    move-exception v0

    :try_start_50
    monitor-exit v4
    :try_end_51
    .catchall {:try_start_50 .. :try_end_51} :catchall_4f

    throw v0

    :cond_52
    move v1, v3

    goto :goto_45

    :catchall_54
    move-exception v0

    iget-object v1, p0, Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor$1;->this$0:Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;

    # getter for: Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;->mTaskQueue:Ljava/util/ArrayDeque;
    invoke-static {v1}, Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;->access$000(Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;)Ljava/util/ArrayDeque;

    move-result-object v1

    monitor-enter v1

    :try_start_5c
    iget-object v2, p0, Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor$1;->this$0:Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;

    const/4 v3, 0x0

    # setter for: Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;->mRunning:Z
    invoke-static {v2, v3}, Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;->access$102(Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;Z)Z
    :try_end_62
    .catchall {:try_start_5c .. :try_end_62} :catchall_73

    :try_start_62
    iget-object v2, p0, Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor$1;->this$0:Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;

    # getter for: Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;->mUnderlyingExecutor:Ljava/util/concurrent/Executor;
    invoke-static {v2}, Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;->access$300(Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;)Ljava/util/concurrent/Executor;

    move-result-object v2

    iget-object v3, p0, Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor$1;->this$0:Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;

    # getter for: Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;->mRunTasks:Ljava/lang/Runnable;
    invoke-static {v3}, Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;->access$200(Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;)Ljava/lang/Runnable;

    move-result-object v3

    invoke-interface {v2, v3}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
    :try_end_71
    .catch Ljava/util/concurrent/RejectedExecutionException; {:try_start_62 .. :try_end_71} :catch_76
    .catchall {:try_start_62 .. :try_end_71} :catchall_73

    :goto_71
    :try_start_71
    monitor-exit v1
    :try_end_72
    .catchall {:try_start_71 .. :try_end_72} :catchall_73

    throw v0

    :catchall_73
    move-exception v0

    :try_start_74
    monitor-exit v1
    :try_end_75
    .catchall {:try_start_74 .. :try_end_75} :catchall_73

    throw v0

    :catch_76
    move-exception v2

    goto :goto_71
.end method