DispatchQueue.smali
.class public Lim/tpelyyftgw/messenger/DispatchQueue;
.super Ljava/lang/Thread;
.source "DispatchQueue.java"
# instance fields
.field private volatile handler:Landroid/os/Handler;
.field private syncLatch:Ljava/util/concurrent/CountDownLatch;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Ljava/lang/String;)V
.registers 4
.param p1, "threadName" # Ljava/lang/String;
.line 14
invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
.line 11
const/4 v0, 0x0
iput-object v0, p0, Lim/tpelyyftgw/messenger/DispatchQueue;->handler:Landroid/os/Handler;
.line 12
new-instance v0, Ljava/util/concurrent/CountDownLatch;
const/4 v1, 0x1
invoke-direct {v0, v1}, Ljava/util/concurrent/CountDownLatch;-><init>(I)V
iput-object v0, p0, Lim/tpelyyftgw/messenger/DispatchQueue;->syncLatch:Ljava/util/concurrent/CountDownLatch;
.line 15
invoke-virtual {p0, p1}, Lim/tpelyyftgw/messenger/DispatchQueue;->setName(Ljava/lang/String;)V
.line 16
invoke-virtual {p0}, Lim/tpelyyftgw/messenger/DispatchQueue;->start()V
.line 17
return-void
.end method
# virtual methods
.method public cancelRunnable(Ljava/lang/Runnable;)V
.registers 3
.param p1, "runnable" # Ljava/lang/Runnable;
.line 34
:try_start_0
iget-object v0, p0, Lim/tpelyyftgw/messenger/DispatchQueue;->syncLatch:Ljava/util/concurrent/CountDownLatch;
invoke-virtual {v0}, Ljava/util/concurrent/CountDownLatch;->await()V
.line 35
iget-object v0, p0, Lim/tpelyyftgw/messenger/DispatchQueue;->handler:Landroid/os/Handler;
invoke-virtual {v0, p1}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
:try_end_a
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_a} :catch_b
.line 38
goto :goto_f
.line 36
:catch_b
move-exception v0
.line 37
.local v0, "e":Ljava/lang/Exception;
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 39
.end local v0 # "e":Ljava/lang/Exception;
:goto_f
return-void
.end method
.method public cleanupQueue()V
.registers 3
.line 60
:try_start_0
iget-object v0, p0, Lim/tpelyyftgw/messenger/DispatchQueue;->syncLatch:Ljava/util/concurrent/CountDownLatch;
invoke-virtual {v0}, Ljava/util/concurrent/CountDownLatch;->await()V
.line 61
iget-object v0, p0, Lim/tpelyyftgw/messenger/DispatchQueue;->handler:Landroid/os/Handler;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroid/os/Handler;->removeCallbacksAndMessages(Ljava/lang/Object;)V
:try_end_b
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_b} :catch_c
.line 64
goto :goto_10
.line 62
:catch_c
move-exception v0
.line 63
.local v0, "e":Ljava/lang/Exception;
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 65
.end local v0 # "e":Ljava/lang/Exception;
:goto_10
return-void
.end method
.method public handleMessage(Landroid/os/Message;)V
.registers 2
.param p1, "inputMessage" # Landroid/os/Message;
.line 69
return-void
.end method
.method public postRunnable(Ljava/lang/Runnable;)V
.registers 4
.param p1, "runnable" # Ljava/lang/Runnable;
.line 42
const-wide/16 v0, 0x0
invoke-virtual {p0, p1, v0, v1}, Lim/tpelyyftgw/messenger/DispatchQueue;->postRunnable(Ljava/lang/Runnable;J)V
.line 43
return-void
.end method
.method public postRunnable(Ljava/lang/Runnable;J)V
.registers 7
.param p1, "runnable" # Ljava/lang/Runnable;
.param p2, "delay" # J
.line 47
:try_start_0
iget-object v0, p0, Lim/tpelyyftgw/messenger/DispatchQueue;->syncLatch:Ljava/util/concurrent/CountDownLatch;
invoke-virtual {v0}, Ljava/util/concurrent/CountDownLatch;->await()V
:try_end_5
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_5} :catch_6
.line 50
goto :goto_a
.line 48
:catch_6
move-exception v0
.line 49
.local v0, "e":Ljava/lang/Exception;
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 51
.end local v0 # "e":Ljava/lang/Exception;
:goto_a
const-wide/16 v0, 0x0
cmp-long v2, p2, v0
if-gtz v2, :cond_16
.line 52
iget-object v0, p0, Lim/tpelyyftgw/messenger/DispatchQueue;->handler:Landroid/os/Handler;
invoke-virtual {v0, p1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
goto :goto_1b
.line 54
:cond_16
iget-object v0, p0, Lim/tpelyyftgw/messenger/DispatchQueue;->handler:Landroid/os/Handler;
invoke-virtual {v0, p1, p2, p3}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z
.line 56
:goto_1b
return-void
.end method
.method public recycle()V
.registers 2
.line 72
iget-object v0, p0, Lim/tpelyyftgw/messenger/DispatchQueue;->handler:Landroid/os/Handler;
invoke-virtual {v0}, Landroid/os/Handler;->getLooper()Landroid/os/Looper;
move-result-object v0
invoke-virtual {v0}, Landroid/os/Looper;->quit()V
.line 73
return-void
.end method
.method public run()V
.registers 2
.line 77
invoke-static {}, Landroid/os/Looper;->prepare()V
.line 78
new-instance v0, Lim/tpelyyftgw/messenger/DispatchQueue$1;
invoke-direct {v0, p0}, Lim/tpelyyftgw/messenger/DispatchQueue$1;-><init>(Lim/tpelyyftgw/messenger/DispatchQueue;)V
iput-object v0, p0, Lim/tpelyyftgw/messenger/DispatchQueue;->handler:Landroid/os/Handler;
.line 84
iget-object v0, p0, Lim/tpelyyftgw/messenger/DispatchQueue;->syncLatch:Ljava/util/concurrent/CountDownLatch;
invoke-virtual {v0}, Ljava/util/concurrent/CountDownLatch;->countDown()V
.line 86
:try_start_f
invoke-static {}, Landroid/os/Looper;->loop()V
:try_end_12
.catch Ljava/lang/Exception; {:try_start_f .. :try_end_12} :catch_13
.line 89
goto :goto_17
.line 87
:catch_13
move-exception v0
.line 88
.local v0, "e":Ljava/lang/Exception;
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 90
.end local v0 # "e":Ljava/lang/Exception;
:goto_17
return-void
.end method
.method public sendMessage(Landroid/os/Message;I)V
.registers 6
.param p1, "msg" # Landroid/os/Message;
.param p2, "delay" # I
.line 21
:try_start_0
iget-object v0, p0, Lim/tpelyyftgw/messenger/DispatchQueue;->syncLatch:Ljava/util/concurrent/CountDownLatch;
invoke-virtual {v0}, Ljava/util/concurrent/CountDownLatch;->await()V
.line 22
if-gtz p2, :cond_d
.line 23
iget-object v0, p0, Lim/tpelyyftgw/messenger/DispatchQueue;->handler:Landroid/os/Handler;
invoke-virtual {v0, p1}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
goto :goto_13
.line 25
:cond_d
iget-object v0, p0, Lim/tpelyyftgw/messenger/DispatchQueue;->handler:Landroid/os/Handler;
int-to-long v1, p2
invoke-virtual {v0, p1, v1, v2}, Landroid/os/Handler;->sendMessageDelayed(Landroid/os/Message;J)Z
:try_end_13
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_13} :catch_14
.line 29
:goto_13
goto :goto_18
.line 27
:catch_14
move-exception v0
.line 28
.local v0, "e":Ljava/lang/Exception;
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 30
.end local v0 # "e":Ljava/lang/Exception;
:goto_18
return-void
.end method