SceneDetectorManager.smali
.class public Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/SceneDetectorManager;
.super Ljava/lang/Object;
.source "SceneDetectorManager.java"
# instance fields
.field private final mlistDetectors:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList",
"<",
"Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/BaseSceneDetector;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.registers 2
.prologue
.line 14
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 16
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/SceneDetectorManager;->mlistDetectors:Ljava/util/ArrayList;
return-void
.end method
# virtual methods
.method public dispatchEvent(Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/TriggerEvent;)V
.registers 7
.prologue
.line 35
if-nez p1, :cond_3
.line 47
:goto_2
return-void
.line 38
:cond_3
iget-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/SceneDetectorManager;->mlistDetectors:Ljava/util/ArrayList;
monitor-enter v1
.line 39
:try_start_6
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/SceneDetectorManager;->mlistDetectors:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v2
:cond_c
:goto_c
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_2f
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/BaseSceneDetector;
.line 40
iget v3, p1, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/TriggerEvent;->eventType:I
invoke-virtual {v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/BaseSceneDetector;->getTriggerType()I
move-result v4
and-int/2addr v3, v4
if-eqz v3, :cond_c
.line 41
invoke-virtual {v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/BaseSceneDetector;->getSwitcher()I
move-result v3
const/4 v4, 0x1
if-ne v3, v4, :cond_c
.line 42
invoke-virtual {v0, p1}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/BaseSceneDetector;->getSceneResult(Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/TriggerEvent;)V
goto :goto_c
.line 46
:catchall_2c
move-exception v0
monitor-exit v1
:try_end_2e
.catchall {:try_start_6 .. :try_end_2e} :catchall_2c
throw v0
:cond_2f
:try_start_2f
monitor-exit v1
:try_end_30
.catchall {:try_start_2f .. :try_end_30} :catchall_2c
goto :goto_2
.end method
.method public registerDetector(Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/BaseSceneDetector;)V
.registers 4
.prologue
.line 19
iget-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/SceneDetectorManager;->mlistDetectors:Ljava/util/ArrayList;
monitor-enter v1
.line 20
if-eqz p1, :cond_12
:try_start_5
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/SceneDetectorManager;->mlistDetectors:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_12
.line 21
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/SceneDetectorManager;->mlistDetectors:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 23
:cond_12
monitor-exit v1
.line 24
return-void
.line 23
:catchall_14
move-exception v0
monitor-exit v1
:try_end_16
.catchall {:try_start_5 .. :try_end_16} :catchall_14
throw v0
.end method
.method public unregisterDetectors(Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/BaseSceneDetector;)V
.registers 4
.prologue
.line 27
iget-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/SceneDetectorManager;->mlistDetectors:Ljava/util/ArrayList;
monitor-enter v1
.line 28
if-eqz p1, :cond_12
:try_start_5
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/SceneDetectorManager;->mlistDetectors:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_12
.line 29
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/SceneDetectorManager;->mlistDetectors:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
.line 31
:cond_12
monitor-exit v1
.line 32
return-void
.line 31
:catchall_14
move-exception v0
monitor-exit v1
:try_end_16
.catchall {:try_start_5 .. :try_end_16} :catchall_14
throw v0
.end method