c.smali

.class public final Lcom/android/volley/c;
.super Ljava/lang/Thread;
.source "SourceFile"


# static fields
.field public static final e:Z


# instance fields
.field public final a:Ljava/util/concurrent/BlockingQueue;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/concurrent/BlockingQueue<",
            "Lcom/android/volley/k<",
            "*>;>;"
        }
    .end annotation
.end field

.field public final b:Ljava/util/concurrent/BlockingQueue;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/concurrent/BlockingQueue<",
            "Lcom/android/volley/k<",
            "*>;>;"
        }
    .end annotation
.end field

.field public final c:Lcom/android/volley/b;

.field public volatile d:Z


# direct methods
.method public static constructor <clinit>()V
    .registers 1

    sget-boolean v0, Lcom/android/volley/r;->a:Z

    sput-boolean v0, Lcom/android/volley/c;->e:Z

    return-void
.end method

.method public constructor <init>(Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/BlockingQueue;Lcom/android/volley/b;Lcom/android/volley/n;)V
    .registers 5
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/concurrent/BlockingQueue<",
            "Lcom/android/volley/k<",
            "*>;>;",
            "Ljava/util/concurrent/BlockingQueue<",
            "Lcom/android/volley/k<",
            "*>;>;",
            "Lcom/android/volley/b;",
            "Lcom/android/volley/n;",
            ")V"
        }
    .end annotation

    .line 1
    invoke-direct {p0}, Ljava/lang/Thread;-><init>()V

    const/4 p4, 0x0

    .line 2
    iput-boolean p4, p0, Lcom/android/volley/c;->d:Z

    .line 3
    iput-object p1, p0, Lcom/android/volley/c;->a:Ljava/util/concurrent/BlockingQueue;

    .line 4
    iput-object p2, p0, Lcom/android/volley/c;->b:Ljava/util/concurrent/BlockingQueue;

    .line 5
    iput-object p3, p0, Lcom/android/volley/c;->c:Lcom/android/volley/b;

    return-void
.end method


# virtual methods
.method public final 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

    const/4 v2, 0x0

    if-ne v0, v1, :cond_d

    const/4 v0, 0x1

    goto :goto_e

    :cond_d
    const/4 v0, 0x0

    :goto_e
    const-string v1, "runnable"

    const-string v3, "com/android/volley/CacheDispatcher"

    const-string v4, "run"

    if-eqz v0, :cond_19

    invoke-static {v4, v3, v1}, Lcom/shopee/monitor/trace/c;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    .line 1
    :cond_19
    sget-boolean v5, Lcom/android/volley/c;->e:Z

    if-eqz v5, :cond_24

    new-array v2, v2, [Ljava/lang/Object;

    const-string v5, "start new dispatcher"

    invoke-static {v5, v2}, Lcom/android/volley/r;->b(Ljava/lang/String;[Ljava/lang/Object;)V

    :cond_24
    const/16 v2, 0xa

    .line 2
    invoke-static {v2}, Landroid/os/Process;->setThreadPriority(I)V

    .line 3
    iget-object v2, p0, Lcom/android/volley/c;->c:Lcom/android/volley/b;

    invoke-static {v2}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;

    .line 4
    :cond_2e
    :goto_2e
    :try_start_2e
    iget-object v2, p0, Lcom/android/volley/c;->a:Ljava/util/concurrent/BlockingQueue;

    invoke-interface {v2}, Ljava/util/concurrent/BlockingQueue;->take()Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Lcom/android/volley/k;

    const-string v5, "cache-queue-take"

    .line 5
    invoke-virtual {v2, v5}, Lcom/android/volley/k;->b(Ljava/lang/String;)V

    .line 6
    iget-object v5, p0, Lcom/android/volley/c;->c:Lcom/android/volley/b;

    invoke-static {v5}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;

    const-string v5, "cache-miss"

    .line 7
    invoke-virtual {v2, v5}, Lcom/android/volley/k;->b(Ljava/lang/String;)V

    .line 8
    iget-object v5, p0, Lcom/android/volley/c;->b:Ljava/util/concurrent/BlockingQueue;

    invoke-interface {v5, v2}, Ljava/util/concurrent/BlockingQueue;->put(Ljava/lang/Object;)V
    :try_end_4a
    .catch Ljava/lang/InterruptedException; {:try_start_2e .. :try_end_4a} :catch_4b

    goto :goto_2e

    :catch_4b
    nop

    .line 9
    iget-boolean v2, p0, Lcom/android/volley/c;->d:Z

    if-eqz v2, :cond_2e

    if-eqz v0, :cond_55

    .line 10
    invoke-static {v4, v3, v1}, Lcom/shopee/monitor/trace/c;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    :cond_55
    return-void
.end method