TaskBus.smali
.class public Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;
.super Ljava/lang/Object;
.source "TaskBus.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$ScanTaskListParams;,
Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$IScanTaskListParams;,
Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$TaskInfo;,
Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$ITaskBusCallback;
}
.end annotation
# static fields
.field private static final TAG:Ljava/lang/String; = "TB"
.field public static final TASK_BUS_STATUS_FINISHED:I = 0x2
.field public static final TASK_BUS_STATUS_READY:I = 0x0
.field public static final TASK_BUS_STATUS_WORKING:I = 0x1
.field public static final TASK_BUS_WAIT_FINISHED:I = 0x0
.field public static final TASK_BUS_WAIT_TIME_UP:I = 0x1
# instance fields
.field private hasTaskPushed:Z
.field private mCallback:Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$ITaskBusCallback;
.field private mMutexForMembers:Ljava/lang/Object;
.field private mTaskBusStatus:I
.field protected mTaskCtrl:Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;
.field private mTaskQueue:Ljava/util/Queue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Queue",
"<",
"Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$TaskInfo;",
">;"
}
.end annotation
.end field
.field private volatile mTaskThread:Ljava/lang/Thread;
.field private mWorkingThreadSemaphore:Ljava/util/concurrent/Semaphore;
.field private volatile mbOnEndingThread:Z
# direct methods
.method public constructor <init>()V
.registers 5
.prologue
const/4 v3, 0x0
const/4 v2, 0x0
.line 16
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 41
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mMutexForMembers:Ljava/lang/Object;
.line 43
iput v2, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskBusStatus:I
.line 45
new-instance v0, Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;
invoke-direct {v0}, Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;-><init>()V
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskCtrl:Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;
.line 47
iput-object v3, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskThread:Ljava/lang/Thread;
.line 48
new-instance v0, Ljava/util/concurrent/Semaphore;
const/4 v1, 0x1
invoke-direct {v0, v1}, Ljava/util/concurrent/Semaphore;-><init>(I)V
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mWorkingThreadSemaphore:Ljava/util/concurrent/Semaphore;
.line 49
iput-boolean v2, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mbOnEndingThread:Z
.line 51
new-instance v0, Ljava/util/LinkedList;
invoke-direct {v0}, Ljava/util/LinkedList;-><init>()V
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskQueue:Ljava/util/Queue;
.line 53
iput-object v3, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mCallback:Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$ITaskBusCallback;
.line 54
iput-boolean v2, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->hasTaskPushed:Z
return-void
.end method
.method static synthetic access$000(Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;)Ljava/util/concurrent/Semaphore;
.registers 2
.prologue
.line 16
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mWorkingThreadSemaphore:Ljava/util/concurrent/Semaphore;
return-object v0
.end method
.method static synthetic access$102(Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;Z)Z
.registers 2
.prologue
.line 16
iput-boolean p1, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mbOnEndingThread:Z
return p1
.end method
.method static synthetic access$300(Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;)Ljava/util/Queue;
.registers 2
.prologue
.line 16
invoke-direct {p0}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->obtainTaskQueue()Ljava/util/Queue;
move-result-object v0
return-object v0
.end method
.method static synthetic access$400(Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;ILcom/cleanmaster/hpsharelib/scanengin/TaskBus$ITaskBusCallback;)V
.registers 3
.prologue
.line 16
invoke-direct {p0, p1, p2}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->changeTaskBusStatus(ILcom/cleanmaster/hpsharelib/scanengin/TaskBus$ITaskBusCallback;)V
return-void
.end method
.method private changeTaskBusStatus(ILcom/cleanmaster/hpsharelib/scanengin/TaskBus$ITaskBusCallback;)V
.registers 5
.prologue
.line 505
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mMutexForMembers:Ljava/lang/Object;
monitor-enter v1
.line 506
:try_start_3
iget v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskBusStatus:I
.line 507
iput p1, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskBusStatus:I
.line 508
monitor-exit v1
:try_end_8
.catchall {:try_start_3 .. :try_end_8} :catchall_e
.line 510
if-eqz p2, :cond_d
.line 511
invoke-interface {p2, v0, p1}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$ITaskBusCallback;->changeTaskBusStatus(II)V
.line 513
:cond_d
return-void
.line 508
:catchall_e
move-exception v0
:try_start_f
monitor-exit v1
:try_end_10
.catchall {:try_start_f .. :try_end_10} :catchall_e
throw v0
.end method
.method private checkAndStartWorking()V
.registers 3
.prologue
.line 332
:try_start_0
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mWorkingThreadSemaphore:Ljava/util/concurrent/Semaphore;
invoke-virtual {v0}, Ljava/util/concurrent/Semaphore;->acquire()V
:try_end_5
.catch Ljava/lang/InterruptedException; {:try_start_0 .. :try_end_5} :catch_f
.catchall {:try_start_0 .. :try_end_5} :catchall_14
.line 337
:goto_5
:try_start_5
iget-boolean v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mbOnEndingThread:Z
:try_end_7
.catchall {:try_start_5 .. :try_end_7} :catchall_14
if-nez v0, :cond_1b
.line 355
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mWorkingThreadSemaphore:Ljava/util/concurrent/Semaphore;
invoke-virtual {v0}, Ljava/util/concurrent/Semaphore;->release()V
.line 357
:goto_e
return-void
.line 333
:catch_f
move-exception v0
.line 334
:try_start_10
invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
:try_end_13
.catchall {:try_start_10 .. :try_end_13} :catchall_14
goto :goto_5
.line 355
:catchall_14
move-exception v0
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mWorkingThreadSemaphore:Ljava/util/concurrent/Semaphore;
invoke-virtual {v1}, Ljava/util/concurrent/Semaphore;->release()V
throw v0
.line 341
:cond_1b
:try_start_1b
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskThread:Ljava/lang/Thread;
:try_end_1d
.catchall {:try_start_1b .. :try_end_1d} :catchall_14
if-eqz v0, :cond_27
.line 343
:try_start_1f
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskThread:Ljava/lang/Thread;
invoke-virtual {v0}, Ljava/lang/Thread;->join()V
:try_end_24
.catch Ljava/lang/InterruptedException; {:try_start_1f .. :try_end_24} :catch_33
.catchall {:try_start_1f .. :try_end_24} :catchall_14
.line 348
:goto_24
const/4 v0, 0x0
:try_start_25
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskThread:Ljava/lang/Thread;
.line 351
:cond_27
invoke-virtual {p0}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->startScan()Z
.line 352
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mbOnEndingThread:Z
:try_end_2d
.catchall {:try_start_25 .. :try_end_2d} :catchall_14
.line 355
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mWorkingThreadSemaphore:Ljava/util/concurrent/Semaphore;
invoke-virtual {v0}, Ljava/util/concurrent/Semaphore;->release()V
goto :goto_e
.line 344
:catch_33
move-exception v0
.line 345
:try_start_34
invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
:try_end_37
.catchall {:try_start_34 .. :try_end_37} :catchall_14
goto :goto_24
.end method
.method private hasBeenStarted()Z
.registers 2
.prologue
.line 188
invoke-virtual {p0}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->getTaskBusStatus()I
move-result v0
if-eqz v0, :cond_8
const/4 v0, 0x1
:goto_7
return v0
:cond_8
const/4 v0, 0x0
goto :goto_7
.end method
.method private obtainTaskQueue()Ljava/util/Queue;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Queue",
"<",
"Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$TaskInfo;",
">;"
}
.end annotation
.prologue
.line 170
const/4 v0, 0x0
.line 171
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mMutexForMembers:Ljava/lang/Object;
monitor-enter v1
.line 172
:try_start_4
iget-object v2, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskQueue:Ljava/util/Queue;
invoke-interface {v2}, Ljava/util/Queue;->isEmpty()Z
move-result v2
if-nez v2, :cond_15
.line 173
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskQueue:Ljava/util/Queue;
.line 174
new-instance v2, Ljava/util/LinkedList;
invoke-direct {v2}, Ljava/util/LinkedList;-><init>()V
iput-object v2, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskQueue:Ljava/util/Queue;
.line 176
:cond_15
monitor-exit v1
.line 178
return-object v0
.line 176
:catchall_17
move-exception v0
monitor-exit v1
:try_end_19
.catchall {:try_start_4 .. :try_end_19} :catchall_17
throw v0
.end method
# virtual methods
.method protected getTaskBusCallback()Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$ITaskBusCallback;
.registers 3
.prologue
.line 182
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mMutexForMembers:Ljava/lang/Object;
monitor-enter v1
.line 183
:try_start_3
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mCallback:Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$ITaskBusCallback;
monitor-exit v1
return-object v0
.line 184
:catchall_7
move-exception v0
monitor-exit v1
:try_end_9
.catchall {:try_start_3 .. :try_end_9} :catchall_7
throw v0
.end method
.method public getTaskBusStatus()I
.registers 3
.prologue
.line 498
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mMutexForMembers:Ljava/lang/Object;
monitor-enter v1
.line 499
:try_start_3
iget v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskBusStatus:I
monitor-exit v1
return v0
.line 500
:catchall_7
move-exception v0
monitor-exit v1
:try_end_9
.catchall {:try_start_3 .. :try_end_9} :catchall_7
throw v0
.end method
.method protected getThreadName()Ljava/lang/String;
.registers 2
.prologue
.line 200
const-string/jumbo v0, "taskbus-thread"
return-object v0
.end method
.method public hasTaskPushed()Z
.registers 3
.prologue
.line 110
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mMutexForMembers:Ljava/lang/Object;
monitor-enter v1
.line 111
:try_start_3
iget-boolean v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->hasTaskPushed:Z
monitor-exit v1
return v0
.line 112
:catchall_7
move-exception v0
monitor-exit v1
:try_end_9
.catchall {:try_start_3 .. :try_end_9} :catchall_7
throw v0
.end method
.method public notifyPause(J)V
.registers 6
.prologue
.line 520
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mMutexForMembers:Ljava/lang/Object;
monitor-enter v1
.line 521
:try_start_3
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskThread:Ljava/lang/Thread;
if-nez v0, :cond_9
.line 522
monitor-exit v1
.line 527
:goto_8
return-void
.line 524
:cond_9
monitor-exit v1
:try_end_a
.catchall {:try_start_3 .. :try_end_a} :catchall_10
.line 526
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskCtrl:Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;
invoke-virtual {v0, p1, p2}, Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;->notifyPause(J)V
goto :goto_8
.line 524
:catchall_10
move-exception v0
:try_start_11
monitor-exit v1
:try_end_12
.catchall {:try_start_11 .. :try_end_12} :catchall_10
throw v0
.end method
.method public notifyStop()Z
.registers 3
.prologue
.line 441
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mMutexForMembers:Ljava/lang/Object;
monitor-enter v1
.line 442
:try_start_3
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskThread:Ljava/lang/Thread;
if-nez v0, :cond_a
.line 443
const/4 v0, 0x0
monitor-exit v1
.line 449
:goto_9
return v0
.line 445
:cond_a
monitor-exit v1
:try_end_b
.catchall {:try_start_3 .. :try_end_b} :catchall_12
.line 447
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskCtrl:Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;
invoke-virtual {v0}, Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;->notifyStop()V
.line 449
const/4 v0, 0x1
goto :goto_9
.line 445
:catchall_12
move-exception v0
:try_start_13
monitor-exit v1
:try_end_14
.catchall {:try_start_13 .. :try_end_14} :catchall_12
throw v0
.end method
.method public pushTask(Lcom/cm/plugincluster/softmgr/interfaces/junk/IScanTask;)Z
.registers 7
.prologue
const/4 v1, 0x1
const/4 v0, 0x0
.line 92
if-nez p1, :cond_5
.line 106
:goto_4
return v0
.line 96
:cond_5
iget-object v2, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mMutexForMembers:Ljava/lang/Object;
monitor-enter v2
.line 97
:try_start_8
iget-object v3, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskThread:Ljava/lang/Thread;
if-eqz v3, :cond_11
.line 98
monitor-exit v2
goto :goto_4
.line 102
:catchall_e
move-exception v0
monitor-exit v2
:try_end_10
.catchall {:try_start_8 .. :try_end_10} :catchall_e
throw v0
.line 100
:cond_11
const/4 v0, 0x1
:try_start_12
iput-boolean v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->hasTaskPushed:Z
.line 101
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskQueue:Ljava/util/Queue;
new-instance v3, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$TaskInfo;
const/4 v4, 0x0
invoke-direct {v3, p1, v4}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$TaskInfo;-><init>(Lcom/cm/plugincluster/softmgr/interfaces/junk/IScanTask;I)V
invoke-interface {v0, v3}, Ljava/util/Queue;->offer(Ljava/lang/Object;)Z
.line 102
monitor-exit v2
:try_end_20
.catchall {:try_start_12 .. :try_end_20} :catchall_e
.line 104
invoke-direct {p0}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->checkAndStartWorking()V
move v0, v1
.line 106
goto :goto_4
.end method
.method public pushTask(Lcom/cm/plugincluster/softmgr/interfaces/junk/IScanTask;I)Z
.registers 7
.prologue
const/4 v1, 0x1
const/4 v0, 0x0
.line 122
if-eqz p1, :cond_6
if-gez p2, :cond_7
.line 136
:cond_6
:goto_6
return v0
.line 126
:cond_7
iget-object v2, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mMutexForMembers:Ljava/lang/Object;
monitor-enter v2
.line 127
:try_start_a
iget-object v3, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskThread:Ljava/lang/Thread;
if-eqz v3, :cond_13
.line 128
monitor-exit v2
goto :goto_6
.line 132
:catchall_10
move-exception v0
monitor-exit v2
:try_end_12
.catchall {:try_start_a .. :try_end_12} :catchall_10
throw v0
.line 130
:cond_13
const/4 v0, 0x1
:try_start_14
iput-boolean v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->hasTaskPushed:Z
.line 131
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskQueue:Ljava/util/Queue;
new-instance v3, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$TaskInfo;
invoke-direct {v3, p1, p2}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$TaskInfo;-><init>(Lcom/cm/plugincluster/softmgr/interfaces/junk/IScanTask;I)V
invoke-interface {v0, v3}, Ljava/util/Queue;->offer(Ljava/lang/Object;)Z
.line 132
monitor-exit v2
:try_end_21
.catchall {:try_start_14 .. :try_end_21} :catchall_10
.line 134
invoke-direct {p0}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->checkAndStartWorking()V
move v0, v1
.line 136
goto :goto_6
.end method
.method public pushTask(Lcom/cm/plugincluster/softmgr/interfaces/junk/IScanTask;IZ)Z
.registers 8
.prologue
const/4 v1, 0x1
const/4 v0, 0x0
.line 147
if-eqz p1, :cond_6
if-gez p2, :cond_7
.line 161
:cond_6
:goto_6
return v0
.line 151
:cond_7
iget-object v2, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mMutexForMembers:Ljava/lang/Object;
monitor-enter v2
.line 152
:try_start_a
iget-object v3, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskThread:Ljava/lang/Thread;
if-eqz v3, :cond_13
.line 153
monitor-exit v2
goto :goto_6
.line 157
:catchall_10
move-exception v0
monitor-exit v2
:try_end_12
.catchall {:try_start_a .. :try_end_12} :catchall_10
throw v0
.line 155
:cond_13
const/4 v0, 0x1
:try_start_14
iput-boolean v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->hasTaskPushed:Z
.line 156
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskQueue:Ljava/util/Queue;
new-instance v3, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$TaskInfo;
invoke-direct {v3, p1, p2, p3}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$TaskInfo;-><init>(Lcom/cm/plugincluster/softmgr/interfaces/junk/IScanTask;IZ)V
invoke-interface {v0, v3}, Ljava/util/Queue;->offer(Ljava/lang/Object;)Z
.line 157
monitor-exit v2
:try_end_21
.catchall {:try_start_14 .. :try_end_21} :catchall_10
.line 159
invoke-direct {p0}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->checkAndStartWorking()V
move v0, v1
.line 161
goto :goto_6
.end method
.method public resumePause()V
.registers 3
.prologue
.line 533
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mMutexForMembers:Ljava/lang/Object;
monitor-enter v1
.line 534
:try_start_3
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskThread:Ljava/lang/Thread;
if-nez v0, :cond_9
.line 535
monitor-exit v1
.line 540
:goto_8
return-void
.line 537
:cond_9
monitor-exit v1
:try_end_a
.catchall {:try_start_3 .. :try_end_a} :catchall_10
.line 539
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskCtrl:Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;
invoke-virtual {v0}, Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;->resumePause()V
goto :goto_8
.line 537
:catchall_10
move-exception v0
:try_start_11
monitor-exit v1
:try_end_12
.catchall {:try_start_11 .. :try_end_12} :catchall_10
throw v0
.end method
.method protected scanTaskList(Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$IScanTaskListParams;)V
.registers 16
.prologue
.line 205
if-nez p1, :cond_3
.line 299
:cond_2
:goto_2
return-void
.line 209
:cond_3
invoke-interface {p1}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$IScanTaskListParams;->getTaskQueue()Ljava/util/Queue;
move-result-object v4
.line 210
if-eqz v4, :cond_2
invoke-interface {v4}, Ljava/util/Queue;->isEmpty()Z
move-result v0
if-nez v0, :cond_2
.line 214
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Thread;->getId()J
move-result-wide v6
.line 215
invoke-interface {v4}, Ljava/util/Queue;->poll()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$TaskInfo;
move-object v1, v0
:goto_1e
if-eqz v1, :cond_2
.line 216
iget-object v0, v1, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$TaskInfo;->mTask:Lcom/cm/plugincluster/softmgr/interfaces/junk/IScanTask;
if-nez v0, :cond_2c
.line 215
:goto_24
invoke-interface {v4}, Ljava/util/Queue;->poll()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$TaskInfo;
move-object v1, v0
goto :goto_1e
.line 220
:cond_2c
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskCtrl:Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;
invoke-virtual {v0}, Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;->checkStop()Z
move-result v0
if-eqz v0, :cond_40
.line 221
invoke-virtual {p0}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->getTaskBusCallback()Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$ITaskBusCallback;
move-result-object v0
.line 222
if-eqz v0, :cond_2
.line 223
iget-object v1, v1, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$TaskInfo;->mTask:Lcom/cm/plugincluster/softmgr/interfaces/junk/IScanTask;
invoke-interface {v0, v1}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$ITaskBusCallback;->notifySkipScan(Lcom/cm/plugincluster/softmgr/interfaces/junk/IScanTask;)V
goto :goto_2
.line 228
:cond_40
iget v0, v1, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$TaskInfo;->mTaskTime:I
if-gtz v0, :cond_ab
.line 229
iget-object v0, v1, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$TaskInfo;->mTask:Lcom/cm/plugincluster/softmgr/interfaces/junk/IScanTask;
invoke-interface {v0}, Lcom/cm/plugincluster/softmgr/interfaces/junk/IScanTask;->getTaskDesc()Ljava/lang/String;
move-result-object v0
.line 230
const-string v2, "TB"
new-instance v3, Ljava/lang/StringBuilder;
const-string v5, "("
invoke-direct {v3, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v3, v6, v7}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v3
const-string v5, ")start: "
invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
const-string v5, " Time : "
invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v8
invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v2, v3}, Lcom/cleanmaster/hpsharelib/utils/OpLog;->x(Ljava/lang/String;Ljava/lang/String;)V
.line 231
iget-object v1, v1, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$TaskInfo;->mTask:Lcom/cm/plugincluster/softmgr/interfaces/junk/IScanTask;
iget-object v2, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskCtrl:Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;
invoke-interface {v1, v2}, Lcom/cm/plugincluster/softmgr/interfaces/junk/IScanTask;->scan(Lcom/cleanmaster/bitloader/task/IScanTaskController;)Z
.line 232
const-string v1, "TB"
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "("
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v6, v7}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, ")end: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v2, " Time : "
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v2
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v1, v0}, Lcom/cleanmaster/hpsharelib/utils/OpLog;->x(Ljava/lang/String;Ljava/lang/String;)V
goto/16 :goto_24
.line 234
:cond_ab
new-instance v5, Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;
invoke-direct {v5}, Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;-><init>()V
.line 235
iget-object v8, v1, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$TaskInfo;->mTask:Lcom/cm/plugincluster/softmgr/interfaces/junk/IScanTask;
.line 236
new-instance v0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$1;
invoke-direct {v0, p0, v8, v5}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$1;-><init>(Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;Lcom/cm/plugincluster/softmgr/interfaces/junk/IScanTask;Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;)V
.line 248
iget-object v2, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskCtrl:Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;
new-instance v3, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$2;
invoke-direct {v3, p0, v5}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$2;-><init>(Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;)V
invoke-virtual {v2, v3}, Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;->addObserver(Lcom/cleanmaster/bitloader/task/IScanTaskControllerObserver;)I
move-result v9
.line 276
invoke-virtual {v0}, Ljava/lang/Thread;->start()V
.line 278
const-wide/16 v2, 0x0
.line 280
:try_start_c7
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v2
.line 281
iget v10, v1, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$TaskInfo;->mTaskTime:I
int-to-long v10, v10
invoke-interface {p1}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$IScanTaskListParams;->getLeftTime()J
move-result-wide v12
add-long/2addr v10, v12
invoke-virtual {v0, v10, v11}, Ljava/lang/Thread;->join(J)V
.line 282
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
:try_end_d9
.catch Ljava/lang/InterruptedException; {:try_start_c7 .. :try_end_d9} :catch_12b
.catchall {:try_start_c7 .. :try_end_d9} :catchall_17e
move-result-wide v10
sub-long v2, v10, v2
.line 286
iget v0, v1, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$TaskInfo;->mTaskTime:I
int-to-long v0, v0
invoke-interface {p1}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$IScanTaskListParams;->getLeftTime()J
move-result-wide v10
add-long/2addr v0, v10
sub-long/2addr v0, v2
invoke-interface {p1, v0, v1}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$IScanTaskListParams;->setLeftTime(J)V
.line 288
invoke-interface {p1}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$IScanTaskListParams;->getLeftTime()J
move-result-wide v0
const-wide/16 v2, 0x0
cmp-long v0, v0, v2
if-gtz v0, :cond_124
.line 290
invoke-virtual {v5}, Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;->notifyTimeOut()V
.line 291
const-wide/16 v0, 0x0
invoke-interface {p1, v0, v1}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$IScanTaskListParams;->setLeftTime(J)V
.line 292
const-string v0, "TB"
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "("
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Thread;->getId()J
move-result-wide v2
invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, ")(A)timeout: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-interface {v8}, Lcom/cm/plugincluster/softmgr/interfaces/junk/IScanTask;->getTaskDesc()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcom/cleanmaster/hpsharelib/utils/OpLog;->x(Ljava/lang/String;Ljava/lang/String;)V
.line 295
:cond_124
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskCtrl:Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;
invoke-virtual {v0, v9}, Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;->removeObserver(I)V
goto/16 :goto_24
.line 283
:catch_12b
move-exception v0
.line 284
:try_start_12c
invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
:try_end_12f
.catchall {:try_start_12c .. :try_end_12f} :catchall_17e
.line 286
iget v0, v1, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$TaskInfo;->mTaskTime:I
int-to-long v0, v0
invoke-interface {p1}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$IScanTaskListParams;->getLeftTime()J
move-result-wide v10
add-long/2addr v0, v10
sub-long/2addr v0, v2
invoke-interface {p1, v0, v1}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$IScanTaskListParams;->setLeftTime(J)V
.line 288
invoke-interface {p1}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$IScanTaskListParams;->getLeftTime()J
move-result-wide v0
const-wide/16 v2, 0x0
cmp-long v0, v0, v2
if-gtz v0, :cond_177
.line 290
invoke-virtual {v5}, Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;->notifyTimeOut()V
.line 291
const-wide/16 v0, 0x0
invoke-interface {p1, v0, v1}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$IScanTaskListParams;->setLeftTime(J)V
.line 292
const-string v0, "TB"
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "("
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Thread;->getId()J
move-result-wide v2
invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, ")(A)timeout: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-interface {v8}, Lcom/cm/plugincluster/softmgr/interfaces/junk/IScanTask;->getTaskDesc()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcom/cleanmaster/hpsharelib/utils/OpLog;->x(Ljava/lang/String;Ljava/lang/String;)V
.line 295
:cond_177
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskCtrl:Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;
invoke-virtual {v0, v9}, Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;->removeObserver(I)V
goto/16 :goto_24
.line 286
:catchall_17e
move-exception v0
iget v1, v1, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$TaskInfo;->mTaskTime:I
int-to-long v6, v1
invoke-interface {p1}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$IScanTaskListParams;->getLeftTime()J
move-result-wide v10
add-long/2addr v6, v10
sub-long v2, v6, v2
invoke-interface {p1, v2, v3}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$IScanTaskListParams;->setLeftTime(J)V
.line 288
invoke-interface {p1}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$IScanTaskListParams;->getLeftTime()J
move-result-wide v2
const-wide/16 v6, 0x0
cmp-long v1, v2, v6
if-gtz v1, :cond_1c8
.line 290
invoke-virtual {v5}, Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;->notifyTimeOut()V
.line 291
const-wide/16 v2, 0x0
invoke-interface {p1, v2, v3}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$IScanTaskListParams;->setLeftTime(J)V
.line 292
const-string v1, "TB"
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "("
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/Thread;->getId()J
move-result-wide v4
invoke-virtual {v2, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, ")(A)timeout: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-interface {v8}, Lcom/cm/plugincluster/softmgr/interfaces/junk/IScanTask;->getTaskDesc()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v1, v2}, Lcom/cleanmaster/hpsharelib/utils/OpLog;->x(Ljava/lang/String;Ljava/lang/String;)V
.line 295
:cond_1c8
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskCtrl:Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;
invoke-virtual {v1, v9}, Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;->removeObserver(I)V
throw v0
.end method
.method public setCallback(Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$ITaskBusCallback;)V
.registers 4
.prologue
.line 81
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mMutexForMembers:Ljava/lang/Object;
monitor-enter v1
.line 82
:try_start_3
iput-object p1, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mCallback:Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$ITaskBusCallback;
.line 83
monitor-exit v1
.line 84
return-void
.line 83
:catchall_7
move-exception v0
monitor-exit v1
:try_end_9
.catchall {:try_start_3 .. :try_end_9} :catchall_7
throw v0
.end method
.method public startScan()Z
.registers 5
.prologue
const/4 v0, 0x1
.line 364
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mMutexForMembers:Ljava/lang/Object;
monitor-enter v1
.line 365
:try_start_4
iget-object v2, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskThread:Ljava/lang/Thread;
if-eqz v2, :cond_b
.line 366
const/4 v0, 0x0
monitor-exit v1
.line 433
:goto_a
return v0
.line 369
:cond_b
invoke-direct {p0}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->hasBeenStarted()Z
move-result v2
if-nez v2, :cond_16
.line 370
iget-object v2, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskCtrl:Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;
invoke-virtual {v2}, Lcom/cleanmaster/bitloader/task/TaskCtrlImpl;->reset()V
.line 373
:cond_16
new-instance v2, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$3;
invoke-direct {v2, p0}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$3;-><init>(Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;)V
iput-object v2, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskThread:Ljava/lang/Thread;
.line 428
const/4 v2, 0x1
invoke-virtual {p0}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->getTaskBusCallback()Lcom/cleanmaster/hpsharelib/scanengin/TaskBus$ITaskBusCallback;
move-result-object v3
invoke-direct {p0, v2, v3}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->changeTaskBusStatus(ILcom/cleanmaster/hpsharelib/scanengin/TaskBus$ITaskBusCallback;)V
.line 429
iget-object v2, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskThread:Ljava/lang/Thread;
invoke-virtual {p0}, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->getThreadName()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/Thread;->setName(Ljava/lang/String;)V
.line 430
iget-object v2, p0, Lcom/cleanmaster/hpsharelib/scanengin/TaskBus;->mTaskThread:Ljava/lang/Thread;
invoke-virtual {v2}, Ljava/lang/Thread;->start()V
.line 431
monitor-exit v1
goto :goto_a
:catchall_35
move-exception v0
monitor-exit v1
:try_end_37
.catchall {:try_start_4 .. :try_end_37} :catchall_35
throw v0
.end method