SceneAlarmTrigger.smali

.class public Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;
.super Ljava/lang/Object;
.source "SceneAlarmTrigger.java"

# interfaces
.implements Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/ISceneTrigger;


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger$AlarmWorker;
    }
.end annotation


# static fields
.field private static final TRIGGER_ACTION:Ljava/lang/String; = "android.scenetrigger.workeralarm"

.field private static final TRIGGER_PERIOD:J = 0x1b7740L


# instance fields
.field private mAlarmManager:Landroid/app/AlarmManager;

.field private mAlarmWorker:Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger$AlarmWorker;

.field private mContext:Landroid/content/Context;

.field private mTriggerIntent:Landroid/app/PendingIntent;

.field private mTriggerManager:Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;

.field private mTriggerSetting:Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/TriggerSetting;

.field private mnTriggerWorkState:I


# direct methods
.method public constructor <init>(Landroid/content/Context;Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;Lcom/cleanmaster/boost/sceneengine/mainengine/SceneSetting;)V
    .registers 6

    .prologue
    .line 38
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 34
    const/4 v0, 0x0

    iput v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mnTriggerWorkState:I

    .line 39
    if-eqz p3, :cond_c

    .line 40
    iget-object v0, p3, Lcom/cleanmaster/boost/sceneengine/mainengine/SceneSetting;->mTriggerSetting:Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/TriggerSetting;

    iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mTriggerSetting:Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/TriggerSetting;

    .line 42
    :cond_c
    iput-object p1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mContext:Landroid/content/Context;

    .line 43
    iput-object p2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mTriggerManager:Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;

    .line 44
    new-instance v0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger$AlarmWorker;

    const/4 v1, 0x0

    invoke-direct {v0, p0, v1}, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger$AlarmWorker;-><init>(Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger$1;)V

    iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mAlarmWorker:Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger$AlarmWorker;

    .line 45
    return-void
.end method

.method static synthetic access$100(Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;)Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;
    .registers 2

    .prologue
    .line 18
    iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mTriggerManager:Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneTriggerManager;

    return-object v0
.end method

.method static synthetic access$200(Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;)Landroid/app/AlarmManager;
    .registers 2

    .prologue
    .line 18
    iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mAlarmManager:Landroid/app/AlarmManager;

    return-object v0
.end method


# virtual methods
.method public getSwitcher()I
    .registers 2

    .prologue
    .line 92
    iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mTriggerSetting:Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/TriggerSetting;

    if-eqz v0, :cond_b

    .line 93
    iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mTriggerSetting:Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/TriggerSetting;

    invoke-virtual {v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/TriggerSetting;->getAlarmTriggerSwitcher()I

    move-result v0

    .line 95
    :goto_a
    return v0

    :cond_b
    const/4 v0, 0x0

    goto :goto_a
.end method

.method public getTriggerWorkState()I
    .registers 2

    .prologue
    .line 101
    iget v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mnTriggerWorkState:I

    return v0
.end method

.method public startTrigger()V
    .registers 8

    .prologue
    const/4 v1, 0x1

    .line 49
    iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mContext:Landroid/content/Context;

    if-eqz v0, :cond_9

    iget v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mnTriggerWorkState:I

    if-ne v0, v1, :cond_a

    .line 69
    :cond_9
    :goto_9
    return-void

    .line 53
    :cond_a
    iput v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mnTriggerWorkState:I

    .line 56
    new-instance v0, Landroid/content/IntentFilter;

    invoke-direct {v0}, Landroid/content/IntentFilter;-><init>()V

    .line 57
    const-string v1, "android.scenetrigger.workeralarm"

    invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V

    .line 58
    iget-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mContext:Landroid/content/Context;

    iget-object v2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mAlarmWorker:Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger$AlarmWorker;

    invoke-virtual {v1, v2, v0}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;

    .line 61
    iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mContext:Landroid/content/Context;

    const/4 v1, 0x0

    new-instance v2, Landroid/content/Intent;

    const-string v3, "android.scenetrigger.workeralarm"

    invoke-direct {v2, v3}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V

    const/high16 v3, 0x8000000

    invoke-static {v0, v1, v2, v3}, Landroid/app/PendingIntent;->getBroadcast(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;

    move-result-object v0

    iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mTriggerIntent:Landroid/app/PendingIntent;

    .line 63
    iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mContext:Landroid/content/Context;

    const-string v1, "alarm"

    invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/app/AlarmManager;

    iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mAlarmManager:Landroid/app/AlarmManager;

    .line 64
    iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mAlarmManager:Landroid/app/AlarmManager;

    const/4 v1, 0x3

    .line 65
    invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J

    move-result-wide v2

    const-wide/32 v4, 0x1b7740

    iget-object v6, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mTriggerIntent:Landroid/app/PendingIntent;

    .line 64
    invoke-virtual/range {v0 .. v6}, Landroid/app/AlarmManager;->setRepeating(IJJLandroid/app/PendingIntent;)V

    .line 66
    sget-boolean v0, Lcom/cleanmaster/boost/sceneengine/mainengine/scene/SceneDefine;->DEBUG:Z

    if-eqz v0, :cond_9

    .line 67
    const-string v0, "cm_scene_detect"

    const-string v1, "SceneAlarmTrigger , enter startTrigger"

    invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

    goto :goto_9
.end method

.method public stopTrigger()V
    .registers 3

    .prologue
    .line 73
    iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mContext:Landroid/content/Context;

    if-eqz v0, :cond_8

    iget v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mnTriggerWorkState:I

    if-nez v0, :cond_9

    .line 88
    :cond_8
    :goto_8
    return-void

    .line 77
    :cond_9
    const/4 v0, 0x0

    iput v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mnTriggerWorkState:I

    .line 79
    iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mAlarmWorker:Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger$AlarmWorker;

    if-eqz v0, :cond_17

    .line 80
    iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mContext:Landroid/content/Context;

    iget-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mAlarmWorker:Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger$AlarmWorker;

    invoke-virtual {v0, v1}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V

    .line 82
    :cond_17
    iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mAlarmManager:Landroid/app/AlarmManager;

    if-eqz v0, :cond_22

    .line 83
    iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mAlarmManager:Landroid/app/AlarmManager;

    iget-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/SceneAlarmTrigger;->mTriggerIntent:Landroid/app/PendingIntent;

    invoke-virtual {v0, v1}, Landroid/app/AlarmManager;->cancel(Landroid/app/PendingIntent;)V

    .line 85
    :cond_22
    sget-boolean v0, Lcom/cleanmaster/boost/sceneengine/mainengine/scene/SceneDefine;->DEBUG:Z

    if-eqz v0, :cond_8

    .line 86
    const-string v0, "cm_scene_detect"

    const-string v1, "SceneAlarmTrigger , enter stopTrigger"

    invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

    goto :goto_8
.end method