SceneChargingDetectMonitor$WorkHandler.smali

.class Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;
.super Landroid/os/Handler;
.source "SceneChargingDetectMonitor.java"


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x2
    name = "WorkHandler"
.end annotation


# instance fields
.field badChargeCount:I

.field nCounts:I

.field final synthetic this$0:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;


# direct methods
.method public constructor <init>(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;Landroid/os/Looper;)V
    .registers 4

    .prologue
    const/4 v0, 0x0

    .line 149
    iput-object p1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->this$0:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;

    .line 150
    invoke-direct {p0, p2}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V

    .line 152
    iput v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->nCounts:I

    .line 153
    iput v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->badChargeCount:I

    .line 151
    return-void
.end method


# virtual methods
.method public handleMessage(Landroid/os/Message;)V
    .registers 15

    .prologue
    const/4 v12, 0x1

    const-wide/16 v4, 0x0

    const/4 v11, 0x2

    const/4 v10, 0x0

    .line 158
    iget v0, p1, Landroid/os/Message;->what:I

    packed-switch v0, :pswitch_data_162

    .line 231
    :goto_a
    return-void

    .line 160
    :pswitch_b
    invoke-virtual {p0, v11}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->sendEmptyMessage(I)Z

    goto :goto_a

    .line 163
    :pswitch_f
    iget v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->nCounts:I

    add-int/lit8 v0, v0, 0x1

    iput v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->nCounts:I

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

    if-eqz v0, :cond_33

    .line 165
    const-string v0, "cm_scene_detect"

    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "SceneChargingDetectMonitor ,nCounts = "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    iget v2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->nCounts: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 167
    :cond_33
    iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->this$0:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;

    invoke-virtual {v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;->isNeedInterupted()Z

    move-result v0

    if-eqz v0, :cond_3f

    .line 168
    invoke-virtual {p0, v10}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->sendEmptyMessage(I)Z

    goto :goto_a

    .line 171
    :cond_3f
    invoke-static {}, Lcom/cleanmaster/boost/sceneengine/mainengine/deps/Commons;->getCurrentElec()J

    move-result-wide v6

    .line 172
    cmp-long v0, v6, v4

    if-nez v0, :cond_4a

    .line 173
    invoke-virtual {p0, v10}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->sendEmptyMessage(I)Z

    .line 175
    :cond_4a
    iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->this$0:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;

    # getter for: Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;->mHistoryQueue:Ljava/util/Queue;
    invoke-static {v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;->access$600(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;)Ljava/util/Queue;

    move-result-object v8

    monitor-enter v8

    .line 176
    :try_start_51
    iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->this$0:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;

    # getter for: Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;->mHistoryQueue:Ljava/util/Queue;
    invoke-static {v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;->access$600(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;)Ljava/util/Queue;

    move-result-object v0

    invoke-interface {v0}, Ljava/util/Queue;->size()I

    move-result v0

    const/16 v1, 0xa

    if-ge v0, v1, :cond_cf

    .line 177
    iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->this$0:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;

    # getter for: Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;->mHistoryQueue:Ljava/util/Queue;
    invoke-static {v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;->access$600(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;)Ljava/util/Queue;

    move-result-object v0

    invoke-static {v6, v7}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object v1

    invoke-interface {v0, v1}, Ljava/util/Queue;->offer(Ljava/lang/Object;)Z

    .line 197
    :cond_6c
    monitor-exit v8
    :try_end_6d
    .catchall {:try_start_51 .. :try_end_6d} :catchall_125

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

    if-eqz v0, :cond_89

    .line 199
    const-string v0, "cm_scene_detect"

    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "SceneChargingDetectMonitor , currentElec = "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1, v6, v7}, Ljava/lang/StringBuilder;->append(J)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 201
    :cond_89
    cmp-long v0, v6, v4

    if-lez v0, :cond_b1

    .line 202
    iget v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->badChargeCount:I

    add-int/lit8 v0, v0, 0x1

    iput v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->badChargeCount:I

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

    if-eqz v0, :cond_b1

    .line 204
    const-string v0, "cm_scene_detect"

    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "SceneChargingDetectMonitor , badChargeCount = "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    iget v2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->badChargeCount: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 207
    :cond_b1
    iget v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->badChargeCount:I

    int-to-float v0, v0

    const/high16 v1, 0x3f800000    # 1.0f

    mul-float/2addr v0, v1

    iget-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->this$0:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;

    # getter for: Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;->LOOP_TIMES:I
    invoke-static {v1}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;->access$700(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;)I

    move-result v1

    int-to-float v1, v1

    div-float/2addr v0, v1

    const/high16 v1, 0x3f000000    # 0.5f

    cmpl-float v0, v0, v1

    if-lez v0, :cond_128

    .line 208
    iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->this$0:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;

    # setter for: Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;->mbIsElecAbnormal:Z
    invoke-static {v0, v12}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;->access$302(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;Z)Z

    .line 209
    invoke-virtual {p0, v10}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->sendEmptyMessage(I)Z

    goto/16 :goto_a

    .line 181
    :cond_cf
    :try_start_cf
    iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->this$0:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;

    # getter for: Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;->mHistoryQueue:Ljava/util/Queue;
    invoke-static {v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;->access$600(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;)Ljava/util/Queue;

    move-result-object v0

    invoke-interface {v0}, Ljava/util/Queue;->iterator()Ljava/util/Iterator;

    move-result-object v9

    move-wide v2, v4

    :goto_da
    invoke-interface {v9}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_ed

    invoke-interface {v9}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/Long;

    .line 182
    invoke-virtual {v0}, Ljava/lang/Long;->longValue()J

    move-result-wide v0

    add-long/2addr v0, v2

    move-wide v2, v0

    .line 183
    goto :goto_da

    .line 184
    :cond_ed
    iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->this$0:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;

    # getter for: Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;->mHistoryQueue:Ljava/util/Queue;
    invoke-static {v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;->access$600(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;)Ljava/util/Queue;

    move-result-object v0

    invoke-interface {v0}, Ljava/util/Queue;->size()I

    move-result v0

    int-to-long v0, v0

    div-long/2addr v2, v0

    .line 186
    iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->this$0:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;

    # getter for: Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;->mHistoryQueue:Ljava/util/Queue;
    invoke-static {v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;->access$600(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;)Ljava/util/Queue;

    move-result-object v0

    invoke-interface {v0}, Ljava/util/Queue;->peek()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/Long;

    invoke-virtual {v0}, Ljava/lang/Long;->longValue()J

    move-result-wide v0

    cmp-long v0, v2, v0

    if-nez v0, :cond_6c

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

    if-eqz v0, :cond_118

    .line 190
    const-string v0, "cm_scene_detect"

    const-string v1, "SceneChargingDetectMonitor ,\u7eed\u91c7\u96c610\u6b21\uff0c\u6bcf\u6b21\u6570\u636e\u90fd\u662f\u76f8\u540c\u7684\uff0c\u4e3a\u65e0\u6548\u6570\u636e"

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

    .line 192
    :cond_118
    iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->this$0:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;

    const/4 v1, 0x0

    # setter for: Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;->mbIsElecAbnormal:Z
    invoke-static {v0, v1}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;->access$302(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;Z)Z

    .line 193
    const/4 v0, 0x0

    invoke-virtual {p0, v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->sendEmptyMessage(I)Z

    .line 194
    monitor-exit v8

    goto/16 :goto_a

    .line 197
    :catchall_125
    move-exception v0

    monitor-exit v8
    :try_end_127
    .catchall {:try_start_cf .. :try_end_127} :catchall_125

    throw v0

    .line 211
    :cond_128
    iget v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->nCounts:I

    iget-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->this$0:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;

    # getter for: Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;->LOOP_TIMES:I
    invoke-static {v1}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;->access$700(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;)I

    move-result v1

    if-lt v0, v1, :cond_142

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

    if-eqz v0, :cond_13d

    .line 213
    const-string v0, "cm_scene_detect"

    const-string v1, "SceneChargingDetectMonitor , badChargeCount finish not fit scene"

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

    .line 215
    :cond_13d
    invoke-virtual {p0, v10}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->sendEmptyMessage(I)Z

    goto/16 :goto_a

    .line 218
    :cond_142
    iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->this$0:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;

    # setter for: Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;->mbIsElecAbnormal:Z
    invoke-static {v0, v10}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;->access$302(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;Z)Z

    .line 219
    iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->this$0:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;

    # getter for: Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;->LOOP_PERIOD:J
    invoke-static {v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;->access$800(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor;)J

    move-result-wide v0

    invoke-virtual {p0, v11, v0, v1}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->sendEmptyMessageDelayed(IJ)Z

    goto/16 :goto_a

    .line 223
    :pswitch_152
    iput v10, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->nCounts:I

    .line 224
    iput v10, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->badChargeCount:I

    .line 226
    invoke-virtual {p0, v12}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->removeMessages(I)V

    .line 227
    invoke-virtual {p0, v11}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->removeMessages(I)V

    .line 228
    invoke-virtual {p0, v10}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneChargingDetectMonitor$WorkHandler;->removeMessages(I)V

    goto/16 :goto_a

    .line 158
    nop

    :pswitch_data_162
    .packed-switch 0x0
        :pswitch_152
        :pswitch_b
        :pswitch_f
    .end packed-switch
.end method