SceneTriggerManager.smali
.class public Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;
.super Ljava/lang/Object;
.source "SceneTriggerManager.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager$BootTrigger;,
Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager$TriggerHandler;
}
.end annotation
# instance fields
.field private mBootTrigger:Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager$BootTrigger;
.field private final mTriggerEvents:Ljava/util/concurrent/ArrayBlockingQueue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/ArrayBlockingQueue",
"<",
"Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/TriggerEvent;",
">;"
}
.end annotation
.end field
.field private mTriggerHandler:Landroid/os/Handler;
.field private final mTriggerThread:Lcom/cleanmaster/boost/sceneengine/mainengine/data/SceneHandlerThread;
.field private mTriggercallback:Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/ISceneTrigger$ISceneTriggerCallback;
.field private final mTriggers:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList",
"<",
"Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/ISceneTrigger;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.registers 4
.prologue
.line 30
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 23
new-instance v0, Lcom/cleanmaster/boost/sceneengine/mainengine/data/SceneHandlerThread;
const-string v1, "SceneTriggerManager"
invoke-direct {v0, v1}, Lcom/cleanmaster/boost/sceneengine/mainengine/data/SceneHandlerThread;-><init>(Ljava/lang/String;)V
iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;->mTriggerThread:Lcom/cleanmaster/boost/sceneengine/mainengine/data/SceneHandlerThread;
.line 24
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;->mTriggers:Ljava/util/ArrayList;
.line 25
new-instance v0, Ljava/util/concurrent/ArrayBlockingQueue;
const/16 v1, 0xa
invoke-direct {v0, v1}, Ljava/util/concurrent/ArrayBlockingQueue;-><init>(I)V
iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;->mTriggerEvents:Ljava/util/concurrent/ArrayBlockingQueue;
.line 31
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;->mTriggerThread:Lcom/cleanmaster/boost/sceneengine/mainengine/data/SceneHandlerThread;
invoke-virtual {v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/data/SceneHandlerThread;->start()V
.line 32
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;->mTriggerThread:Lcom/cleanmaster/boost/sceneengine/mainengine/data/SceneHandlerThread;
invoke-virtual {v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/data/SceneHandlerThread;->getHandler()Landroid/os/Handler;
move-result-object v0
iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;->mTriggerHandler:Landroid/os/Handler;
.line 33
new-instance v0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager$BootTrigger;
const/4 v1, 0x0
invoke-direct {v0, p0, v1}, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager$BootTrigger;-><init>(Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager$1;)V
iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;->mBootTrigger:Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager$BootTrigger;
.line 34
if-eqz p1, :cond_42
.line 35
new-instance v0, Landroid/content/IntentFilter;
invoke-direct {v0}, Landroid/content/IntentFilter;-><init>()V
.line 36
const-string v1, "android.intent.action.BATTERY_CHANGED"
invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
.line 37
iget-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;->mBootTrigger:Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager$BootTrigger;
invoke-virtual {p1, v1, v0}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
.line 39
:cond_42
return-void
.end method
.method static synthetic access$100(Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;)Ljava/util/concurrent/ArrayBlockingQueue;
.registers 2
.prologue
.line 21
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;->mTriggerEvents:Ljava/util/concurrent/ArrayBlockingQueue;
return-object v0
.end method
.method static synthetic access$200(Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;)Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/ISceneTrigger$ISceneTriggerCallback;
.registers 2
.prologue
.line 21
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;->mTriggercallback:Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/ISceneTrigger$ISceneTriggerCallback;
return-object v0
.end method
.method static synthetic access$300(Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;)Ljava/util/ArrayList;
.registers 2
.prologue
.line 21
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;->mTriggers:Ljava/util/ArrayList;
return-object v0
.end method
# virtual methods
.method public addTriggerEvent(Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/TriggerEvent;)V
.registers 5
.prologue
.line 70
if-nez p1, :cond_3
.line 77
:goto_2
return-void
.line 73
:cond_3
sget-boolean v0, Lcom/cleanmaster/boost/sceneengine/mainengine/scene/SceneDefine;->DEBUG:Z
if-eqz v0, :cond_21
.line 74
const-string v0, "cm_scene_detect"
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "add event Type = "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
iget v2, p1, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/TriggerEvent;->eventType:I
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)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}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 76
:cond_21
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;->mTriggerEvents:Ljava/util/concurrent/ArrayBlockingQueue;
invoke-virtual {v0, p1}, Ljava/util/concurrent/ArrayBlockingQueue;->offer(Ljava/lang/Object;)Z
goto :goto_2
.end method
.method public registerTrigger(Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/ISceneTrigger;)V
.registers 4
.prologue
.line 62
iget-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;->mTriggers:Ljava/util/ArrayList;
monitor-enter v1
.line 63
:try_start_3
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;->mTriggers:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_10
.line 64
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;->mTriggers:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 66
:cond_10
monitor-exit v1
.line 67
return-void
.line 66
:catchall_12
move-exception v0
monitor-exit v1
:try_end_14
.catchall {:try_start_3 .. :try_end_14} :catchall_12
throw v0
.end method
.method public setTriggerCallback(Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/ISceneTrigger$ISceneTriggerCallback;)V
.registers 4
.prologue
.line 55
iput-object p1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;->mTriggercallback:Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/ISceneTrigger$ISceneTriggerCallback;
.line 56
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;->mTriggerHandler:Landroid/os/Handler;
new-instance v1, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager$TriggerHandler;
invoke-direct {v1, p0}, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager$TriggerHandler;-><init>(Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;)V
invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
.line 58
return-void
.end method
.method public startTrigger()V
.registers 6
.prologue
.line 42
iget-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;->mTriggers:Ljava/util/ArrayList;
monitor-enter v1
.line 43
:try_start_3
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;->mTriggers:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v2
:cond_9
:goto_9
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_25
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/ISceneTrigger;
.line 44
if-eqz v0, :cond_9
.line 47
invoke-interface {v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/ISceneTrigger;->getSwitcher()I
move-result v3
const/4 v4, 0x1
if-ne v3, v4, :cond_9
.line 48
invoke-interface {v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/ISceneTrigger;->startTrigger()V
goto :goto_9
.line 51
:catchall_22
move-exception v0
monitor-exit v1
:try_end_24
.catchall {:try_start_3 .. :try_end_24} :catchall_22
throw v0
:cond_25
:try_start_25
monitor-exit v1
:try_end_26
.catchall {:try_start_25 .. :try_end_26} :catchall_22
.line 52
return-void
.end method
.method public unregisterTrigger(Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/ISceneTrigger;)V
.registers 4
.prologue
.line 80
iget-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;->mTriggers:Ljava/util/ArrayList;
monitor-enter v1
.line 81
:try_start_3
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;->mTriggers:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_10
.line 82
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;->mTriggers:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
.line 84
:cond_10
monitor-exit v1
.line 85
return-void
.line 84
:catchall_12
move-exception v0
monitor-exit v1
:try_end_14
.catchall {:try_start_3 .. :try_end_14} :catchall_12
throw v0
.end method