Xlog$LogThread.smali

.class Lcom/tencent/mars/xlog/Xlog$LogThread;
.super Ljava/lang/Thread;
.source "SourceFile"


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lcom/tencent/mars/xlog/Xlog;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x9
    name = "LogThread"
.end annotation


# direct methods
.method private constructor <init>()V
    .registers 1

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

    return-void
.end method

.method public synthetic constructor <init>(Lcom/tencent/mars/xlog/Xlog$1;)V
    .registers 2

    .line 2
    invoke-direct {p0}, Lcom/tencent/mars/xlog/Xlog$LogThread;-><init>()V

    return-void
.end method


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

    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, "com/tencent/mars/xlog/Xlog$LogThread"

    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
    :goto_18
    # getter for: Lcom/tencent/mars/xlog/Xlog;->sRunning:Z
    invoke-static {}, Lcom/tencent/mars/xlog/Xlog;->access$000()Z

    move-result v4

    if-eqz v4, :cond_42

    .line 2
    :try_start_1e
    # getter for: Lcom/tencent/mars/xlog/Xlog;->LOG_LIST:Lcom/tencent/mars/xlog/LinkedBlockingQueue;
    invoke-static {}, Lcom/tencent/mars/xlog/Xlog;->access$100()Lcom/tencent/mars/xlog/LinkedBlockingQueue;

    move-result-object v4

    invoke-virtual {v4}, Lcom/tencent/mars/xlog/LinkedBlockingQueue;->take()Ljava/lang/Object;

    move-result-object v4

    check-cast v4, Lcom/tencent/mars/xlog/LogInfo;

    if-eqz v4, :cond_18

    .line 3
    iget v5, v4, Lcom/tencent/mars/xlog/LogInfo;->level:I

    iget-object v6, v4, Lcom/tencent/mars/xlog/LogInfo;->tag:Ljava/lang/String;

    iget-object v7, v4, Lcom/tencent/mars/xlog/LogInfo;->filename:Ljava/lang/String;

    iget-object v8, v4, Lcom/tencent/mars/xlog/LogInfo;->funcname:Ljava/lang/String;

    iget v9, v4, Lcom/tencent/mars/xlog/LogInfo;->line:I

    iget v10, v4, Lcom/tencent/mars/xlog/LogInfo;->pid:I

    iget-wide v11, v4, Lcom/tencent/mars/xlog/LogInfo;->tid:J

    iget-wide v13, v4, Lcom/tencent/mars/xlog/LogInfo;->maintid:J

    iget-object v15, v4, Lcom/tencent/mars/xlog/LogInfo;->log:Ljava/lang/String;

    invoke-static/range {v5 .. v15}, Lcom/tencent/mars/xlog/Xlog;->logWrite2(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;IIJJLjava/lang/String;)V
    :try_end_3f
    .catchall {:try_start_1e .. :try_end_3f} :catchall_40

    goto :goto_18

    :catchall_40
    nop

    goto :goto_18

    :cond_42
    if-eqz v0, :cond_47

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

    :cond_47
    return-void
.end method