SceneNightModeDetector.smali
.class public Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;
.super Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/BaseSceneDetector;
.source "SceneNightModeDetector.java"
# interfaces
.implements Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/BaseSceneDetector$ISceneDependency;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;
}
.end annotation
# instance fields
.field private mContext:Landroid/content/Context;
.field private mHelper:Lcom/cleanmaster/boost/sceneengine/mainengine/deps/ISceneHelper;
.field private mKeyguardManager:Landroid/app/KeyguardManager;
.field private mNightModeReceiver:Landroid/content/BroadcastReceiver;
.field private mResultManager:Lcom/cleanmaster/boost/sceneengine/mainengine/scene/SceneResultManager;
.field private mSetting:Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/DetectorSetting;
# direct methods
.method public constructor <init>(Landroid/content/Context;Lcom/cleanmaster/boost/sceneengine/mainengine/SceneSetting;Lcom/cleanmaster/boost/sceneengine/mainengine/scene/SceneResultManager;Lcom/cleanmaster/boost/sceneengine/mainengine/deps/ISceneHelper;)V
.registers 6
.param p1 # Landroid/content/Context;
.annotation build Landroid/support/annotation/NonNull;
.end annotation
.end param
.param p2 # Lcom/cleanmaster/boost/sceneengine/mainengine/SceneSetting;
.annotation build Landroid/support/annotation/NonNull;
.end annotation
.end param
.param p3 # Lcom/cleanmaster/boost/sceneengine/mainengine/scene/SceneResultManager;
.annotation build Landroid/support/annotation/NonNull;
.end annotation
.end param
.param p4 # Lcom/cleanmaster/boost/sceneengine/mainengine/deps/ISceneHelper;
.annotation build Landroid/support/annotation/NonNull;
.end annotation
.end param
.prologue
.line 68
invoke-direct {p0}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/BaseSceneDetector;-><init>()V
.line 360
new-instance v0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$1;
invoke-direct {v0, p0}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$1;-><init>(Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;)V
iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->mNightModeReceiver:Landroid/content/BroadcastReceiver;
.line 69
iput-object p4, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->mHelper:Lcom/cleanmaster/boost/sceneengine/mainengine/deps/ISceneHelper;
.line 70
iput-object p1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->mContext:Landroid/content/Context;
.line 71
iget-object v0, p2, Lcom/cleanmaster/boost/sceneengine/mainengine/SceneSetting;->mDetectorSetting:Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/DetectorSetting;
iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->mSetting:Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/DetectorSetting;
.line 72
iput-object p3, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->mResultManager:Lcom/cleanmaster/boost/sceneengine/mainengine/scene/SceneResultManager;
.line 73
const-string v0, "keyguard"
invoke-virtual {p1, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/KeyguardManager;
iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->mKeyguardManager:Landroid/app/KeyguardManager;
.line 74
return-void
.end method
.method static synthetic access$100(Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;)Z
.registers 2
.prologue
.line 54
invoke-direct {p0}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->isWatchAllowed()Z
move-result v0
return v0
.end method
.method static synthetic access$200(Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;)V
.registers 1
.prologue
.line 54
invoke-direct {p0}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->recordNightData()V
return-void
.end method
.method static synthetic access$300(Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;)Landroid/app/KeyguardManager;
.registers 2
.prologue
.line 54
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->mKeyguardManager:Landroid/app/KeyguardManager;
return-object v0
.end method
.method static synthetic access$400(Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;)Z
.registers 2
.prologue
.line 54
invoke-direct {p0}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->isTimeFit()Z
move-result v0
return v0
.end method
.method static synthetic access$500(Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;)V
.registers 1
.prologue
.line 54
invoke-direct {p0}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->updatePopupTag()V
return-void
.end method
.method static synthetic access$600(Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;)Lcom/cleanmaster/boost/sceneengine/mainengine/scene/SceneResultManager;
.registers 2
.prologue
.line 54
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->mResultManager:Lcom/cleanmaster/boost/sceneengine/mainengine/scene/SceneResultManager;
return-object v0
.end method
.method private cleanCache(Landroid/util/SparseArray;)V
.registers 4
.annotation build Landroid/annotation/TargetApi;
value = 0xb
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/util/SparseArray",
"<",
"Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;",
">;)V"
}
.end annotation
.prologue
.line 179
invoke-virtual {p1}, Landroid/util/SparseArray;->size()I
move-result v0
const/4 v1, 0x5
if-lt v0, v1, :cond_b
.line 180
const/4 v0, 0x0
invoke-virtual {p1, v0}, Landroid/util/SparseArray;->removeAt(I)V
.line 182
:cond_b
return-void
.end method
.method private filterInvalidData(Landroid/util/SparseArray;)V
.registers 4
.annotation build Landroid/annotation/TargetApi;
value = 0xb
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/util/SparseArray",
"<",
"Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;",
">;)V"
}
.end annotation
.prologue
.line 164
invoke-virtual {p1}, Landroid/util/SparseArray;->size()I
move-result v1
.line 165
const/4 v0, 0x3
if-le v1, v0, :cond_1a
.line 166
add-int/lit8 v0, v1, -0x1
invoke-virtual {p1, v0}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;
.line 167
if-eqz v0, :cond_1a
iget-boolean v0, v0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->IS_POPUP:Z
if-nez v0, :cond_1a
.line 169
add-int/lit8 v0, v1, -0x1
invoke-virtual {p1, v0}, Landroid/util/SparseArray;->removeAt(I)V
.line 172
:cond_1a
return-void
.end method
.method private getCalculateTime()[I
.registers 11
.prologue
const/4 v0, 0x0
const/4 v5, 0x0
.line 263
iget-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->mHelper:Lcom/cleanmaster/boost/sceneengine/mainengine/deps/ISceneHelper;
if-nez v1, :cond_7
.line 292
:cond_6
:goto_6
return-object v0
.line 266
:cond_7
const/4 v1, 0x2
new-array v2, v1, [I
.line 267
iget-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->mHelper:Lcom/cleanmaster/boost/sceneengine/mainengine/deps/ISceneHelper;
.line 268
invoke-virtual {v1}, Lcom/cleanmaster/boost/sceneengine/mainengine/deps/ISceneHelper;->getNightModeTag()Ljava/lang/String;
move-result-object v1
invoke-direct {p0, v1}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->getNightDataHistoricEntries(Ljava/lang/String;)Landroid/util/SparseArray;
move-result-object v6
.line 269
invoke-virtual {v6}, Landroid/util/SparseArray;->size()I
move-result v1
const/4 v3, 0x4
if-lt v1, v3, :cond_6
.line 272
invoke-virtual {v6}, Landroid/util/SparseArray;->size()I
move-result v7
.line 274
add-int/lit8 v0, v7, -0x1
move v3, v0
move v4, v5
:goto_23
add-int/lit8 v0, v7, -0x3
if-lt v3, v0, :cond_44
.line 275
invoke-virtual {v6, v3}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;
.line 276
iget v1, v0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->HOUR_OF_DAY:I
.line 277
iget v8, v0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->HOUR_OF_DAY:I
const/16 v9, 0x12
if-ge v8, v9, :cond_39
.line 278
iget v1, v0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->HOUR_OF_DAY:I
add-int/lit8 v1, v1, 0x18
.line 280
:cond_39
mul-int/lit8 v1, v1, 0x3c
add-int/2addr v1, v4
.line 281
iget v0, v0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->MINUTE_OF_HOUR:I
add-int/2addr v1, v0
.line 274
add-int/lit8 v0, v3, -0x1
move v3, v0
move v4, v1
goto :goto_23
.line 283
:cond_44
div-int/lit8 v1, v4, 0x3
.line 284
div-int/lit8 v0, v1, 0x3c
.line 285
rem-int/lit8 v1, v1, 0x3c
.line 286
const/16 v3, 0x18
if-lt v0, v3, :cond_50
.line 287
add-int/lit8 v0, v0, -0x18
.line 289
:cond_50
aput v0, v2, v5
.line 290
const/4 v0, 0x1
aput v1, v2, v0
move-object v0, v2
.line 292
goto :goto_6
.end method
.method private getCalendarOf(I)I
.registers 3
.prologue
.line 88
invoke-static {}, Ljava/util/Calendar;->getInstance()Ljava/util/Calendar;
move-result-object v0
.line 89
invoke-virtual {v0, p1}, Ljava/util/Calendar;->get(I)I
move-result v0
return v0
.end method
.method private getNightDataHistoricEntries(Ljava/lang/String;)Landroid/util/SparseArray;
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Landroid/util/SparseArray",
"<",
"Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;",
">;"
}
.end annotation
.prologue
const/4 v1, 0x0
.line 111
new-instance v0, Landroid/util/SparseArray;
invoke-direct {v0}, Landroid/util/SparseArray;-><init>()V
.line 112
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v2
if-eqz v2, :cond_d
.line 138
:cond_c
return-object v0
.line 115
:cond_d
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v2
if-nez v2, :cond_c
.line 116
const-string v2, ";"
invoke-virtual {p1, v2}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v3
.line 117
array-length v4, v3
move v2, v1
:goto_1b
if-ge v2, v4, :cond_c
aget-object v1, v3, v2
.line 118
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v5
if-eqz v5, :cond_29
.line 117
:cond_25
:goto_25
add-int/lit8 v1, v2, 0x1
move v2, v1
goto :goto_1b
.line 121
:cond_29
const-string v5, ":"
invoke-virtual {v1, v5}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v1
.line 122
if-eqz v1, :cond_25
array-length v5, v1
const/4 v6, 0x5
if-ne v5, v6, :cond_25
.line 125
:try_start_35
new-instance v5, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;
const/4 v6, 0x0
invoke-direct {v5, p0, v6}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;-><init>(Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$1;)V
.line 126
const/4 v6, 0x0
aget-object v6, v1, v6
invoke-static {v6}, Ljava/lang/Integer;->valueOf(Ljava/lang/String;)Ljava/lang/Integer;
move-result-object v6
invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
move-result v6
iput v6, v5, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->DAY_INDEX:I
.line 127
const/4 v6, 0x1
aget-object v6, v1, v6
invoke-static {v6}, Ljava/lang/Integer;->valueOf(Ljava/lang/String;)Ljava/lang/Integer;
move-result-object v6
invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
move-result v6
iput v6, v5, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->MINUTE_OF_HOUR:I
.line 128
const/4 v6, 0x2
aget-object v6, v1, v6
invoke-static {v6}, Ljava/lang/Integer;->valueOf(Ljava/lang/String;)Ljava/lang/Integer;
move-result-object v6
invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
move-result v6
iput v6, v5, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->HOUR_OF_DAY:I
.line 129
const/4 v6, 0x3
aget-object v6, v1, v6
invoke-static {v6}, Ljava/lang/Integer;->valueOf(Ljava/lang/String;)Ljava/lang/Integer;
move-result-object v6
invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
move-result v6
iput v6, v5, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->DAY_OF_WEEK:I
.line 130
const/4 v6, 0x4
aget-object v1, v1, v6
invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Ljava/lang/String;)Ljava/lang/Boolean;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Boolean;->booleanValue()Z
move-result v1
iput-boolean v1, v5, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->IS_POPUP:Z
.line 131
iget v1, v5, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->DAY_INDEX:I
invoke-virtual {v0, v1, v5}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
:try_end_81
.catch Ljava/lang/Exception; {:try_start_35 .. :try_end_81} :catch_82
goto :goto_25
.line 132
:catch_82
move-exception v1
.line 133
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
goto :goto_25
.end method
.method private getPopupTime()[I
.registers 7
.prologue
const/4 v5, 0x2
const/4 v4, 0x0
const/4 v3, 0x1
.line 299
invoke-direct {p0}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->getCalculateTime()[I
move-result-object v1
.line 300
if-eqz v1, :cond_c
array-length v0, v1
if-ge v0, v5, :cond_e
.line 302
:cond_c
const/4 v0, 0x0
.line 320
:goto_d
return-object v0
.line 304
:cond_e
aget v0, v1, v4
.line 305
aget v2, v1, v3
.line 306
if-gt v0, v3, :cond_16
.line 307
add-int/lit8 v0, v0, 0x18
.line 310
:cond_16
add-int/lit8 v1, v0, -0x1
.line 311
add-int/lit8 v0, v2, 0x3c
.line 312
add-int/lit8 v0, v0, -0x1e
.line 313
const/16 v2, 0x3c
if-lt v0, v2, :cond_34
.line 314
add-int/lit8 v0, v0, -0x3c
.line 315
add-int/lit8 v1, v1, 0x1
move v2, v0
move v0, v1
.line 317
:goto_26
const/16 v1, 0x18
if-lt v0, v1, :cond_2c
.line 318
add-int/lit8 v0, v0, -0x18
.line 320
:cond_2c
new-array v1, v5, [I
aput v0, v1, v4
aput v2, v1, v3
move-object v0, v1
goto :goto_d
:cond_34
move v2, v0
move v0, v1
goto :goto_26
.end method
.method private isTimeFit()Z
.registers 8
.prologue
const/4 v2, 0x1
const/4 v1, 0x0
.line 328
invoke-direct {p0}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->getPopupTime()[I
move-result-object v3
.line 329
sget-boolean v0, Lcom/cleanmaster/boost/sceneengine/mainengine/scene/SceneDefine;->DEBUG:Z
if-eqz v0, :cond_25
.line 330
const-string v4, "cm_scene_detect"
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "popupTime \uff1d "
invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
if-nez v3, :cond_29
const/4 v0, 0x0
:goto_1a
invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v4, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 332
:cond_25
if-nez v3, :cond_4b
move v0, v1
.line 354
:goto_28
return v0
.line 330
:cond_29
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "popupTime[0] = "
invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
aget v6, v3, v1
invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
const-string v6, " , popupTime[1] = "
invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
aget v6, v3, v2
invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
goto :goto_1a
.line 335
:cond_4b
const/16 v0, 0xb
invoke-direct {p0, v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->getCalendarOf(I)I
move-result v0
.line 336
const/16 v4, 0xc
invoke-direct {p0, v4}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->getCalendarOf(I)I
move-result v4
.line 337
const/4 v5, 0x3
if-ge v0, v5, :cond_5c
.line 338
add-int/lit8 v0, v0, 0x18
.line 341
:cond_5c
aget v5, v3, v1
if-lt v0, v5, :cond_72
const/16 v5, 0x1b
if-ge v0, v5, :cond_72
.line 343
aget v5, v3, v1
if-le v0, v5, :cond_6a
move v0, v2
.line 344
goto :goto_28
.line 347
:cond_6a
aget v0, v3, v2
if-lt v4, v0, :cond_70
move v0, v2
.line 348
goto :goto_28
:cond_70
move v0, v1
.line 350
goto :goto_28
:cond_72
move v0, v1
.line 354
goto :goto_28
.end method
.method private isWatchAllowed()Z
.registers 3
.prologue
.line 81
invoke-static {}, Ljava/util/Calendar;->getInstance()Ljava/util/Calendar;
move-result-object v0
.line 82
const/16 v1, 0xb
invoke-virtual {v0, v1}, Ljava/util/Calendar;->get(I)I
move-result v0
.line 83
const/16 v1, 0x12
if-ge v0, v1, :cond_11
const/4 v1, 0x3
if-ge v0, v1, :cond_13
:cond_11
const/4 v0, 0x1
:goto_12
return v0
:cond_13
const/4 v0, 0x0
goto :goto_12
.end method
.method private persistentData(Landroid/util/SparseArray;)V
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/util/SparseArray",
"<",
"Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;",
">;)V"
}
.end annotation
.prologue
.line 189
new-instance v2, Ljava/lang/StringBuffer;
invoke-direct {v2}, Ljava/lang/StringBuffer;-><init>()V
.line 190
invoke-virtual {p1}, Landroid/util/SparseArray;->size()I
move-result v3
.line 191
const/4 v0, 0x0
move v1, v0
:goto_b
if-ge v1, v3, :cond_1e
.line 192
invoke-virtual {p1, v1}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;
.line 193
invoke-virtual {v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 191
add-int/lit8 v0, v1, 0x1
move v1, v0
goto :goto_b
.line 195
:cond_1e
sget-boolean v0, Lcom/cleanmaster/boost/sceneengine/mainengine/scene/SceneDefine;->DEBUG:Z
if-eqz v0, :cond_3f
.line 196
const-string v0, "cm_scene_detect"
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo v3, "\u6301\u4e45\u5316\u6570\u636e \uff1d "
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v2}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v3}, 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}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 198
:cond_3f
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->mHelper:Lcom/cleanmaster/boost/sceneengine/mainengine/deps/ISceneHelper;
invoke-virtual {v2}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Lcom/cleanmaster/boost/sceneengine/mainengine/deps/ISceneHelper;->setNightModeTag(Ljava/lang/String;)Z
.line 199
return-void
.end method
.method private recordCore(Landroid/util/SparseArray;)V
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/util/SparseArray",
"<",
"Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;",
">;)V"
}
.end annotation
.prologue
const/4 v6, 0x7
const/4 v5, 0x0
const/4 v4, 0x1
.line 206
new-instance v1, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;
const/4 v0, 0x0
invoke-direct {v1, p0, v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;-><init>(Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$1;)V
.line 207
const/16 v0, 0xc
invoke-direct {p0, v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->getCalendarOf(I)I
move-result v0
iput v0, v1, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->MINUTE_OF_HOUR:I
.line 208
const/16 v0, 0xb
invoke-direct {p0, v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->getCalendarOf(I)I
move-result v0
iput v0, v1, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->HOUR_OF_DAY:I
.line 209
invoke-direct {p0, v6}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->getCalendarOf(I)I
move-result v0
iput v0, v1, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->DAY_OF_WEEK:I
.line 210
invoke-virtual {p1}, Landroid/util/SparseArray;->size()I
move-result v0
.line 211
if-ge v0, v4, :cond_29
.line 212
invoke-virtual {p1, v5, v1}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
.line 247
:goto_28
return-void
.line 214
:cond_29
add-int/lit8 v0, v0, -0x1
invoke-virtual {p1, v0}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;
.line 215
if-eqz v0, :cond_4e
.line 217
iget v2, v0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->DAY_OF_WEEK:I
iget v3, v1, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->DAY_OF_WEEK:I
if-ne v2, v3, :cond_63
.line 218
iget v2, v0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->HOUR_OF_DAY:I
iget v3, v1, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->HOUR_OF_DAY:I
sub-int/2addr v2, v3
invoke-static {v2}, Ljava/lang/Math;->abs(I)I
move-result v2
const/16 v3, 0xf
if-ge v2, v3, :cond_5c
.line 219
iget v2, v0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->DAY_INDEX:I
iput v2, v1, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->DAY_INDEX:I
.line 220
iget-boolean v0, v0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->IS_POPUP:Z
iput-boolean v0, v1, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->IS_POPUP:Z
.line 242
:cond_4e
:goto_4e
iget v0, v1, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->DAY_INDEX:I
const/16 v2, 0xa
if-le v0, v2, :cond_56
.line 243
iput v5, v1, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->DAY_INDEX:I
.line 245
:cond_56
iget v0, v1, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->DAY_INDEX:I
invoke-virtual {p1, v0, v1}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
goto :goto_28
.line 222
:cond_5c
iget v0, v0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->DAY_INDEX:I
add-int/lit8 v0, v0, 0x1
iput v0, v1, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->DAY_INDEX:I
goto :goto_4e
.line 225
:cond_63
iget v2, v0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->DAY_OF_WEEK:I
iget v3, v1, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->DAY_OF_WEEK:I
sub-int/2addr v2, v3
invoke-static {v2}, Ljava/lang/Math;->abs(I)I
move-result v2
if-eq v2, v4, :cond_76
iget v2, v0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->DAY_OF_WEEK:I
if-ne v2, v6, :cond_95
iget v2, v1, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->DAY_OF_WEEK:I
if-ne v2, v4, :cond_95
.line 228
:cond_76
iget v2, v1, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->HOUR_OF_DAY:I
const/4 v3, 0x3
if-ge v2, v3, :cond_8e
iget v2, v0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->HOUR_OF_DAY:I
const/16 v3, 0x12
if-ge v2, v3, :cond_85
iget v2, v0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->HOUR_OF_DAY:I
if-nez v2, :cond_8e
.line 231
:cond_85
iget v2, v0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->DAY_INDEX:I
iput v2, v1, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->DAY_INDEX:I
.line 232
iget-boolean v0, v0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->IS_POPUP:Z
iput-boolean v0, v1, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->IS_POPUP:Z
goto :goto_4e
.line 234
:cond_8e
iget v0, v0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->DAY_INDEX:I
add-int/lit8 v0, v0, 0x1
iput v0, v1, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->DAY_INDEX:I
goto :goto_4e
.line 237
:cond_95
iget v0, v0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->DAY_INDEX:I
add-int/lit8 v0, v0, 0x1
iput v0, v1, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->DAY_INDEX:I
goto :goto_4e
.end method
.method private declared-synchronized recordNightData()V
.registers 2
.annotation build Landroid/annotation/TargetApi;
value = 0xb
.end annotation
.prologue
.line 251
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->mHelper:Lcom/cleanmaster/boost/sceneengine/mainengine/deps/ISceneHelper;
.line 252
invoke-virtual {v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/deps/ISceneHelper;->getNightModeTag()Ljava/lang/String;
move-result-object v0
invoke-direct {p0, v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->getNightDataHistoricEntries(Ljava/lang/String;)Landroid/util/SparseArray;
move-result-object v0
.line 253
invoke-direct {p0, v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->filterInvalidData(Landroid/util/SparseArray;)V
.line 254
invoke-direct {p0, v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->recordCore(Landroid/util/SparseArray;)V
.line 255
invoke-direct {p0, v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->cleanCache(Landroid/util/SparseArray;)V
.line 256
invoke-direct {p0, v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->persistentData(Landroid/util/SparseArray;)V
:try_end_17
.catchall {:try_start_1 .. :try_end_17} :catchall_19
.line 257
monitor-exit p0
return-void
.line 251
:catchall_19
move-exception v0
monitor-exit p0
throw v0
.end method
.method private updatePopupTag()V
.registers 4
.prologue
const/4 v2, 0x1
.line 145
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->mHelper:Lcom/cleanmaster/boost/sceneengine/mainengine/deps/ISceneHelper;
.line 146
invoke-virtual {v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/deps/ISceneHelper;->getNightModeTag()Ljava/lang/String;
move-result-object v0
invoke-direct {p0, v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->getNightDataHistoricEntries(Ljava/lang/String;)Landroid/util/SparseArray;
move-result-object v1
.line 147
invoke-virtual {v1}, Landroid/util/SparseArray;->size()I
move-result v0
.line 148
if-ge v0, v2, :cond_12
.line 156
:cond_11
:goto_11
return-void
.line 151
:cond_12
add-int/lit8 v0, v0, -0x1
invoke-virtual {v1, v0}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;
.line 152
if-eqz v0, :cond_11
.line 153
iput-boolean v2, v0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector$NightDataEntry;->IS_POPUP:Z
.line 154
invoke-direct {p0, v1}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->persistentData(Landroid/util/SparseArray;)V
goto :goto_11
.end method
# virtual methods
.method public getSceneResult(Lcom/cleanmaster/boost/sceneengine/mainengine/triggers/TriggerEvent;)V
.registers 5
.prologue
.line 394
new-instance v0, Landroid/content/IntentFilter;
invoke-direct {v0}, Landroid/content/IntentFilter;-><init>()V
.line 395
const-string v1, "android.intent.action.SCREEN_OFF"
invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
.line 396
const-string v1, "android.intent.action.SCREEN_ON"
invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
.line 397
const-string v1, "android.intent.action.USER_PRESENT"
invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
.line 398
iget-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->mContext:Landroid/content/Context;
iget-object v2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->mNightModeReceiver:Landroid/content/BroadcastReceiver;
invoke-virtual {v1, v2, v0}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
.line 399
return-void
.end method
.method public getSwitcher()I
.registers 2
.prologue
.line 408
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->mSetting:Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/DetectorSetting;
if-eqz v0, :cond_b
.line 409
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/userstate/SceneNightModeDetector;->mSetting:Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/DetectorSetting;
invoke-virtual {v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/detectors/DetectorSetting;->getNightNotifySwitcher()I
move-result v0
.line 411
:goto_a
return v0
:cond_b
const/4 v0, 0x0
goto :goto_a
.end method
.method public getTriggerType()I
.registers 2
.prologue
.line 403
const/high16 v0, 0x40000000 # 2.0f
return v0
.end method
.method public isOutOfDependency()Z
.registers 2
.prologue
.line 416
const/4 v0, 0x1
return v0
.end method
.method public isReturnToScene()Z
.registers 2
.prologue
.line 426
const/4 v0, 0x0
return v0
.end method
.method public isSupportInvokeDirect()Z
.registers 2
.prologue
.line 421
const/4 v0, 0x0
return v0
.end method