TaskQueue.smali
.class public Lim/tpelyyftgw/messenger/utils/TaskQueue;
.super Ljava/lang/Object;
.source "TaskQueue.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# instance fields
.field private miCount:I
.field private pHeader:Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lim/tpelyyftgw/messenger/utils/TaskQueue<",
"TT;>.DataNode;"
}
.end annotation
.end field
.field private pTail:Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lim/tpelyyftgw/messenger/utils/TaskQueue<",
"TT;>.DataNode;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>()V
.registers 2
.line 3
.local p0, "this":Lim/tpelyyftgw/messenger/utils/TaskQueue;, "Lim/tpelyyftgw/messenger/utils/TaskQueue<TT;>;"
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 4
const/4 v0, 0x0
iput-object v0, p0, Lim/tpelyyftgw/messenger/utils/TaskQueue;->pHeader:Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;
iput-object v0, p0, Lim/tpelyyftgw/messenger/utils/TaskQueue;->pTail:Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;
.line 5
const/4 v0, 0x0
iput v0, p0, Lim/tpelyyftgw/messenger/utils/TaskQueue;->miCount:I
return-void
.end method
# virtual methods
.method public declared-synchronized cleanQueue()V
.registers 3
.local p0, "this":Lim/tpelyyftgw/messenger/utils/TaskQueue;, "Lim/tpelyyftgw/messenger/utils/TaskQueue<TT;>;"
monitor-enter p0
.line 38
const/4 v0, 0x0
.line 39
.local v0, "dataNode":Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;, "Lim/tpelyyftgw/messenger/utils/TaskQueue<TT;>.DataNode;"
:goto_2
:try_start_2
iget-object v1, p0, Lim/tpelyyftgw/messenger/utils/TaskQueue;->pHeader:Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;
if-eqz v1, :cond_14
.line 40
iget-object v1, p0, Lim/tpelyyftgw/messenger/utils/TaskQueue;->pHeader:Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;
move-object v0, v1
.line 41
# getter for: Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;->mNextNode:Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;
invoke-static {v0}, Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;->access$000(Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;)Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;
move-result-object v1
iput-object v1, p0, Lim/tpelyyftgw/messenger/utils/TaskQueue;->pHeader:Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;
.line 42
const/4 v1, 0x0
# setter for: Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;->mNextNode:Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;
invoke-static {v0, v1}, Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;->access$002(Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;)Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;
goto :goto_2
.line 44
.end local p0 # "this":Lim/tpelyyftgw/messenger/utils/TaskQueue;, "Lim/tpelyyftgw/messenger/utils/TaskQueue<TT;>;"
:cond_14
const/4 v1, 0x0
iput v1, p0, Lim/tpelyyftgw/messenger/utils/TaskQueue;->miCount:I
:try_end_17
.catchall {:try_start_2 .. :try_end_17} :catchall_19
.line 45
monitor-exit p0
return-void
.line 37
.end local v0 # "dataNode":Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;, "Lim/tpelyyftgw/messenger/utils/TaskQueue<TT;>.DataNode;"
:catchall_19
move-exception v0
monitor-exit p0
goto :goto_1d
:goto_1c
throw v0
:goto_1d
goto :goto_1c
.end method
.method public getQueueSize()I
.registers 2
.line 48
.local p0, "this":Lim/tpelyyftgw/messenger/utils/TaskQueue;, "Lim/tpelyyftgw/messenger/utils/TaskQueue<TT;>;"
iget v0, p0, Lim/tpelyyftgw/messenger/utils/TaskQueue;->miCount:I
return v0
.end method
.method public declared-synchronized getQueueTask()Ljava/lang/Object;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"()TT;"
}
.end annotation
.local p0, "this":Lim/tpelyyftgw/messenger/utils/TaskQueue;, "Lim/tpelyyftgw/messenger/utils/TaskQueue<TT;>;"
monitor-enter p0
.line 24
const/4 v0, 0x0
.line 25
.local v0, "dataNode":Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;, "Lim/tpelyyftgw/messenger/utils/TaskQueue<TT;>.DataNode;"
:try_start_2
iget-object v1, p0, Lim/tpelyyftgw/messenger/utils/TaskQueue;->pHeader:Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;
const/4 v2, 0x0
if-eqz v1, :cond_19
.line 26
iget-object v1, p0, Lim/tpelyyftgw/messenger/utils/TaskQueue;->pHeader:Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;
move-object v0, v1
.line 27
# getter for: Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;->mNextNode:Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;
invoke-static {v0}, Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;->access$000(Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;)Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;
move-result-object v1
iput-object v1, p0, Lim/tpelyyftgw/messenger/utils/TaskQueue;->pHeader:Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;
.line 28
# setter for: Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;->mNextNode:Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;
invoke-static {v0, v2}, Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;->access$002(Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;)Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;
.line 29
iget v1, p0, Lim/tpelyyftgw/messenger/utils/TaskQueue;->miCount:I
add-int/lit8 v1, v1, -0x1
iput v1, p0, Lim/tpelyyftgw/messenger/utils/TaskQueue;->miCount:I
.line 31
.end local p0 # "this":Lim/tpelyyftgw/messenger/utils/TaskQueue;, "Lim/tpelyyftgw/messenger/utils/TaskQueue<TT;>;"
:cond_19
if-eqz v0, :cond_21
.line 32
# getter for: Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;->mData:Ljava/lang/Object;
invoke-static {v0}, Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;->access$100(Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;)Ljava/lang/Object;
move-result-object v1
:try_end_1f
.catchall {:try_start_2 .. :try_end_1f} :catchall_23
monitor-exit p0
return-object v1
.line 34
:cond_21
monitor-exit p0
return-object v2
.line 23
.end local v0 # "dataNode":Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;, "Lim/tpelyyftgw/messenger/utils/TaskQueue<TT;>.DataNode;"
:catchall_23
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized inputQueue(Ljava/lang/Object;)Z
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)Z"
}
.end annotation
.local p0, "this":Lim/tpelyyftgw/messenger/utils/TaskQueue;, "Lim/tpelyyftgw/messenger/utils/TaskQueue<TT;>;"
.local p1, "tMember":Ljava/lang/Object;, "TT;"
monitor-enter p0
.line 8
if-nez p1, :cond_6
.line 9
const/4 v0, 0x0
monitor-exit p0
return v0
.line 11
:cond_6
:try_start_6
new-instance v0, Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;
invoke-direct {v0, p0, p1}, Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;-><init>(Lim/tpelyyftgw/messenger/utils/TaskQueue;Ljava/lang/Object;)V
.line 12
.local v0, "dataNode":Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;, "Lim/tpelyyftgw/messenger/utils/TaskQueue<TT;>.DataNode;"
iget v1, p0, Lim/tpelyyftgw/messenger/utils/TaskQueue;->miCount:I
if-nez v1, :cond_14
.line 13
iput-object v0, p0, Lim/tpelyyftgw/messenger/utils/TaskQueue;->pHeader:Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;
.line 14
iput-object v0, p0, Lim/tpelyyftgw/messenger/utils/TaskQueue;->pTail:Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;
goto :goto_19
.line 16
.end local p0 # "this":Lim/tpelyyftgw/messenger/utils/TaskQueue;, "Lim/tpelyyftgw/messenger/utils/TaskQueue<TT;>;"
:cond_14
iget-object v1, p0, Lim/tpelyyftgw/messenger/utils/TaskQueue;->pTail:Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;
# setter for: Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;->mNextNode:Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;
invoke-static {v1, v0}, Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;->access$002(Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;)Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;
.line 18
:goto_19
iput-object v0, p0, Lim/tpelyyftgw/messenger/utils/TaskQueue;->pTail:Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;
.line 19
iget v1, p0, Lim/tpelyyftgw/messenger/utils/TaskQueue;->miCount:I
const/4 v2, 0x1
add-int/2addr v1, v2
iput v1, p0, Lim/tpelyyftgw/messenger/utils/TaskQueue;->miCount:I
:try_end_21
.catchall {:try_start_6 .. :try_end_21} :catchall_23
.line 20
monitor-exit p0
return v2
.line 7
.end local v0 # "dataNode":Lim/tpelyyftgw/messenger/utils/TaskQueue$DataNode;, "Lim/tpelyyftgw/messenger/utils/TaskQueue<TT;>.DataNode;"
.end local p1 # "tMember":Ljava/lang/Object;, "TT;"
:catchall_23
move-exception p1
monitor-exit p0
throw p1
.end method