TaskCustomerThread.smali
.class public Lcn/rongcloud/rtc/webrtc/task/TaskCustomerThread;
.super Ljava/lang/Thread;
.source "TaskCustomerThread.java"
# static fields
.field private static final TAG:Ljava/lang/String; = "TaskCustomerThread"
# instance fields
.field private mRunning:Z
.field private mTaskQueue:Lcn/rongcloud/rtc/webrtc/task/PubSubTaskQueue;
# direct methods
.method public constructor <init>(Lcn/rongcloud/rtc/webrtc/task/PubSubTaskQueue;)V
.registers 3
const-string v0, "TaskCustomerThread"
.line 1
invoke-direct {p0, v0}, Ljava/lang/Thread;-><init>(Ljava/lang/String;)V
.line 2
iput-object p1, p0, Lcn/rongcloud/rtc/webrtc/task/TaskCustomerThread;->mTaskQueue:Lcn/rongcloud/rtc/webrtc/task/PubSubTaskQueue;
const/4 p1, 0x1
.line 3
iput-boolean p1, p0, Lcn/rongcloud/rtc/webrtc/task/TaskCustomerThread;->mRunning:Z
return-void
.end method
# virtual methods
.method public notifyTask()V
.registers 3
const-string v0, "TaskCustomerThread"
const-string v1, "notifyTask()"
.line 1
invoke-static {v0, v1}, Lcn/rongcloud/rtc/utils/FinLog;->v(Ljava/lang/String;Ljava/lang/String;)V
.line 2
invoke-static {p0}, Ljava/util/concurrent/locks/LockSupport;->unpark(Ljava/lang/Thread;)V
return-void
.end method
.method onStop()V
.registers 2
const/4 v0, 0x0
.line 1
iput-boolean v0, p0, Lcn/rongcloud/rtc/webrtc/task/TaskCustomerThread;->mRunning:Z
return-void
.end method
.method public run()V
.registers 5
.line 1
:cond_0
:goto_0
iget-boolean v0, p0, Lcn/rongcloud/rtc/webrtc/task/TaskCustomerThread;->mRunning:Z
if-eqz v0, :cond_5c
const-string v0, "TaskCustomerThread"
const-string v1, "run()"
.line 2
invoke-static {v0, v1}, Lcn/rongcloud/rtc/utils/FinLog;->i(Ljava/lang/String;Ljava/lang/String;)V
.line 3
iget-object v1, p0, Lcn/rongcloud/rtc/webrtc/task/TaskCustomerThread;->mTaskQueue:Lcn/rongcloud/rtc/webrtc/task/PubSubTaskQueue;
invoke-virtual {v1}, Lcn/rongcloud/rtc/webrtc/task/PubSubTaskQueue;->takeTask()Lcn/rongcloud/rtc/webrtc/task/PubSubTask;
move-result-object v1
if-nez v1, :cond_19
const-string v1, "takeTask return null"
.line 4
invoke-static {v0, v1}, Lcn/rongcloud/rtc/utils/FinLog;->e(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_0
.line 5
:cond_19
:try_start_19
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "task-->"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v0, v2}, Lcn/rongcloud/rtc/utils/FinLog;->i(Ljava/lang/String;Ljava/lang/String;)V
.line 6
invoke-virtual {v1}, Lcn/rongcloud/rtc/webrtc/task/PubSubTask;->run()V
const-string v2, "lockTask wait()"
.line 7
invoke-static {v0, v2}, Lcn/rongcloud/rtc/utils/FinLog;->i(Ljava/lang/String;Ljava/lang/String;)V
.line 8
invoke-virtual {v1}, Lcn/rongcloud/rtc/webrtc/task/PubSubTask;->isSync()Z
move-result v1
if-nez v1, :cond_0
.line 9
invoke-static {}, Ljava/util/concurrent/locks/LockSupport;->park()V
:try_end_3e
.catch Ljava/lang/Exception; {:try_start_19 .. :try_end_3e} :catch_3f
goto :goto_0
:catch_3f
move-exception v1
.line 10
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
.line 11
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "PubSubTask run Exception: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v1
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcn/rongcloud/rtc/utils/FinLog;->e(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_0
:cond_5c
return-void
.end method