PubSubTaskQueue.smali
.class public Lcn/rongcloud/rtc/webrtc/task/PubSubTaskQueue;
.super Ljava/lang/Object;
.source "PubSubTaskQueue.java"
# static fields
.field private static final TAG:Ljava/lang/String; = "PubSubTaskQueue"
# instance fields
.field private mTaskCustomer:Lcn/rongcloud/rtc/webrtc/task/TaskCustomerThread;
.field private mTasks:Ljava/util/concurrent/LinkedBlockingQueue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/LinkedBlockingQueue<",
"Lcn/rongcloud/rtc/webrtc/task/PubSubTask;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 0
return-void
.end method
.method public constructor <init>()V
.registers 2
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Ljava/util/concurrent/LinkedBlockingQueue;
invoke-direct {v0}, Ljava/util/concurrent/LinkedBlockingQueue;-><init>()V
iput-object v0, p0, Lcn/rongcloud/rtc/webrtc/task/PubSubTaskQueue;->mTasks:Ljava/util/concurrent/LinkedBlockingQueue;
.line 3
new-instance v0, Lcn/rongcloud/rtc/webrtc/task/TaskCustomerThread;
invoke-direct {v0, p0}, Lcn/rongcloud/rtc/webrtc/task/TaskCustomerThread;-><init>(Lcn/rongcloud/rtc/webrtc/task/PubSubTaskQueue;)V
iput-object v0, p0, Lcn/rongcloud/rtc/webrtc/task/PubSubTaskQueue;->mTaskCustomer:Lcn/rongcloud/rtc/webrtc/task/TaskCustomerThread;
.line 4
iget-object v0, p0, Lcn/rongcloud/rtc/webrtc/task/PubSubTaskQueue;->mTaskCustomer:Lcn/rongcloud/rtc/webrtc/task/TaskCustomerThread;
invoke-virtual {v0}, Ljava/lang/Thread;->start()V
return-void
.end method
.method static synthetic access$000(Lcn/rongcloud/rtc/webrtc/task/PubSubTaskQueue;)Lcn/rongcloud/rtc/webrtc/task/TaskCustomerThread;
.registers 1
.line 1
iget-object p0, p0, Lcn/rongcloud/rtc/webrtc/task/PubSubTaskQueue;->mTaskCustomer:Lcn/rongcloud/rtc/webrtc/task/TaskCustomerThread;
return-object p0
.end method
# virtual methods
.method public clearTask()V
.registers 2
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/webrtc/task/PubSubTaskQueue;->mTasks:Ljava/util/concurrent/LinkedBlockingQueue;
invoke-virtual {v0}, Ljava/util/concurrent/LinkedBlockingQueue;->clear()V
.line 2
iget-object v0, p0, Lcn/rongcloud/rtc/webrtc/task/PubSubTaskQueue;->mTaskCustomer:Lcn/rongcloud/rtc/webrtc/task/TaskCustomerThread;
invoke-virtual {v0}, Lcn/rongcloud/rtc/webrtc/task/TaskCustomerThread;->notifyTask()V
return-void
.end method
.method public init()V
.registers 1
return-void
.end method
.method public offerTask(Lcn/rongcloud/rtc/webrtc/task/PubSubTask;)V
.registers 3
.line 1
iget-object v0, p0, Lcn/rongcloud/rtc/webrtc/task/PubSubTaskQueue;->mTaskCustomer:Lcn/rongcloud/rtc/webrtc/task/TaskCustomerThread;
invoke-virtual {p1, v0}, Lcn/rongcloud/rtc/webrtc/task/PubSubTask;->setCustomer(Lcn/rongcloud/rtc/webrtc/task/TaskCustomerThread;)V
.line 2
iget-object v0, p0, Lcn/rongcloud/rtc/webrtc/task/PubSubTaskQueue;->mTasks:Ljava/util/concurrent/LinkedBlockingQueue;
invoke-virtual {v0, p1}, Ljava/util/concurrent/LinkedBlockingQueue;->offer(Ljava/lang/Object;)Z
return-void
.end method
.method public stop(Ljava/lang/Runnable;)V
.registers 4
.line 1
sget-object v0, Lcn/rongcloud/rtc/webrtc/task/PubSubTaskQueue;->TAG:Ljava/lang/String;
const-string v1, "stop PubSubTaskQueue"
invoke-static {v0, v1}, Lcn/rongcloud/rtc/utils/FinLog;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 2
invoke-virtual {p0}, Lcn/rongcloud/rtc/webrtc/task/PubSubTaskQueue;->clearTask()V
.line 3
new-instance v0, Lcn/rongcloud/rtc/webrtc/task/PubSubTaskQueue$1;
const/4 v1, 0x0
invoke-direct {v0, p0, v1, p1}, Lcn/rongcloud/rtc/webrtc/task/PubSubTaskQueue$1;-><init>(Lcn/rongcloud/rtc/webrtc/task/PubSubTaskQueue;Lcn/rongcloud/rtc/api/callback/IRCRTCFailedCallback;Ljava/lang/Runnable;)V
invoke-virtual {p0, v0}, Lcn/rongcloud/rtc/webrtc/task/PubS