ScanTimeReporter.smali

.class public Lcom/cleanmaster/junk/report/ScanTimeReporter;
.super Ljava/lang/Object;
.source "ScanTimeReporter.java"

# interfaces
.implements Lcom/cleanmaster/junk/report/IKInfocReporter;


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/cleanmaster/junk/report/ScanTimeReporter$EnumScanPoint;
    }
.end annotation


# instance fields
.field private mEnd0Time:J

.field private mEnd1Time:J

.field private mFirst:Z

.field private final mMutex:Ljava/lang/Object;

.field private mNetTimeCfg:I

.field private mPauseStartTime:J

.field private mPauseTime0:J

.field private mPauseTime1:J

.field private mScanId:I

.field private mScanPoint:Lcom/cleanmaster/junk/report/ScanTimeReporter$EnumScanPoint;

.field private mStartTime:J

.field private mStopped:Z

.field private mStopped2:Z


# direct methods
.method public constructor <init>(Lcom/cleanmaster/junk/report/ScanTimeReporter$EnumScanPoint;)V
    .registers 6

    .prologue
    const/4 v1, 0x0

    const-wide/16 v2, 0x0

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

    .line 182
    new-instance v0, Ljava/lang/Object;

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

    iput-object v0, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mMutex:Ljava/lang/Object;

    .line 183
    iput-wide v2, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mStartTime:J

    .line 184
    iput-wide v2, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mEnd0Time:J

    .line 185
    iput-wide v2, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mEnd1Time:J

    .line 186
    iput-wide v2, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mPauseStartTime:J

    .line 187
    iput-wide v2, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mPauseTime0:J

    .line 188
    iput-wide v2, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mPauseTime1:J

    .line 189
    iput-boolean v1, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mStopped:Z

    .line 190
    iput-boolean v1, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mStopped2:Z

    .line 191
    iput-boolean v1, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mFirst:Z

    .line 192
    iput v1, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mScanId:I

    .line 193
    iput v1, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mNetTimeCfg:I

    .line 28
    iput-object p1, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mScanPoint:Lcom/cleanmaster/junk/report/ScanTimeReporter$EnumScanPoint;

    .line 29
    return-void
.end method

.method private reset()V
    .registers 4

    .prologue
    const/4 v2, 0x0

    const-wide/16 v0, 0x0

    .line 171
    iput-wide v0, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mStartTime:J

    .line 172
    iput-wide v0, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mEnd0Time:J

    .line 173
    iput-wide v0, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mEnd1Time:J

    .line 174
    iput-wide v0, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mPauseStartTime:J

    .line 175
    iput-wide v0, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mPauseTime0:J

    .line 176
    iput-wide v0, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mPauseTime1:J

    .line 177
    iput-boolean v2, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mStopped:Z

    .line 178
    iput-boolean v2, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mFirst:Z

    .line 179
    return-void
.end method


# virtual methods
.method public changeScanPointType(Lcom/cleanmaster/junk/report/ScanTimeReporter$EnumScanPoint;)V
    .registers 2

    .prologue
    .line 32
    iput-object p1, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mScanPoint:Lcom/cleanmaster/junk/report/ScanTimeReporter$EnumScanPoint;

    .line 33
    return-void
.end method

.method public end0()V
    .registers 4

    .prologue
    .line 119
    invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J

    move-result-wide v0

    .line 120
    iget-object v2, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mMutex:Ljava/lang/Object;

    monitor-enter v2

    .line 121
    :try_start_7
    iput-wide v0, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mEnd0Time:J

    .line 122
    monitor-exit v2

    .line 123
    return-void

    .line 122
    :catchall_b
    move-exception v0

    monitor-exit v2
    :try_end_d
    .catchall {:try_start_7 .. :try_end_d} :catchall_b

    throw v0
.end method

.method public end1()V
    .registers 4

    .prologue
    .line 126
    invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J

    move-result-wide v0

    .line 127
    iget-object v2, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mMutex:Ljava/lang/Object;

    monitor-enter v2

    .line 128
    :try_start_7
    iput-wide v0, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mEnd1Time:J

    .line 129
    monitor-exit v2

    .line 130
    return-void

    .line 129
    :catchall_b
    move-exception v0

    monitor-exit v2
    :try_end_d
    .catchall {:try_start_7 .. :try_end_d} :catchall_b

    throw v0
.end method

.method public pause()V
    .registers 4

    .prologue
    .line 144
    invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J

    move-result-wide v0

    .line 145
    iget-object v2, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mMutex:Ljava/lang/Object;

    monitor-enter v2

    .line 146
    :try_start_7
    iput-wide v0, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mPauseStartTime:J

    .line 147
    monitor-exit v2

    .line 148
    return-void

    .line 147
    :catchall_b
    move-exception v0

    monitor-exit v2
    :try_end_d
    .catchall {:try_start_7 .. :try_end_d} :catchall_b

    throw v0
.end method

.method public report()V
    .registers 15

    .prologue
    const-wide/16 v0, 0x0

    .line 52
    .line 53
    iget-object v8, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mMutex:Ljava/lang/Object;

    monitor-enter v8

    .line 54
    :try_start_5
    iget-wide v2, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mStartTime:J

    cmp-long v2, v2, v0

    if-lez v2, :cond_11

    iget-wide v2, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mEnd0Time:J

    cmp-long v2, v2, v0

    if-gtz v2, :cond_13

    .line 55
    :cond_11
    monitor-exit v8

    .line 102
    :goto_12
    return-void

    .line 58
    :cond_13
    iget-wide v2, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mEnd0Time:J

    iget-wide v4, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mStartTime:J

    sub-long v10, v2, v4

    .line 59
    cmp-long v2, v10, v0

    if-gez v2, :cond_22

    .line 60
    monitor-exit v8

    goto :goto_12

    .line 93
    :catchall_1f
    move-exception v0

    monitor-exit v8
    :try_end_21
    .catchall {:try_start_5 .. :try_end_21} :catchall_1f

    throw v0

    .line 64
    :cond_22
    :try_start_22
    iget-wide v2, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mEnd1Time:J

    cmp-long v2, v2, v0

    if-lez v2, :cond_108

    .line 65
    iget-wide v2, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mEnd1Time:J

    iget-wide v4, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mEnd0Time:J

    sub-long/2addr v2, v4

    .line 66
    cmp-long v4, v2, v0

    if-gez v4, :cond_33

    .line 67
    monitor-exit v8

    goto :goto_12

    :cond_33
    move-wide v6, v2

    .line 71
    :goto_34
    iget-wide v2, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mPauseTime0:J

    sub-long v2, v10, v2

    .line 72
    cmp-long v4, v2, v0

    if-gez v4, :cond_105

    move-wide v4, v0

    .line 76
    :goto_3d
    iget-wide v2, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mPauseTime1:J

    sub-long v2, v6, v2

    .line 77
    cmp-long v9, v2, v0

    if-gez v9, :cond_46

    move-wide v2, v0

    .line 81
    :cond_46
    new-instance v1, Ljava/lang/StringBuilder;

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

    .line 82
    const-string/jumbo v0, "p="

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

    move-result-object v0

    iget-object v9, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mScanPoint:Lcom/cleanmaster/junk/report/ScanTimeReporter$EnumScanPoint;

    invoke-virtual {v9}, Lcom/cleanmaster/junk/report/ScanTimeReporter$EnumScanPoint;->getScanPointId()Ljava/lang/String;

    move-result-object v9

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

    move-result-object v0

    const-string v9, "&t="

    .line 83
    invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-wide/16 v12, 0x3e8

    div-long/2addr v10, v12

    invoke-virtual {v0, v10, v11}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v9, "&t2="

    .line 84
    invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-wide/16 v10, 0x3e8

    div-long/2addr v6, v10

    invoke-virtual {v0, v6, v7}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v6, "&s="

    .line 85
    invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v6

    iget-boolean v0, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mStopped:Z

    if-eqz v0, :cond_f2

    const-string v0, "1"

    :goto_82
    invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v6, "&rt="

    .line 86
    invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v4, "&rt2="

    .line 87
    invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v2, "&first="

    .line 88
    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    iget-boolean v0, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mFirst:Z

    if-eqz v0, :cond_f5

    const-string v0, "1"

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

    move-result-object v0

    const-string v2, "&s2="

    .line 89
    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    iget-boolean v0, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mStopped2:Z

    if-eqz v0, :cond_f8

    const-string v0, "1"

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

    move-result-object v0

    const-string v2, "&scanid="

    .line 90
    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    iget v2, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mScanId:I

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

    move-result-object v0

    const-string v2, "&net_time_cfg="

    .line 91
    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    iget v2, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mNetTimeCfg:I

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

    .line 92
    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    .line 93
    monitor-exit v8
    :try_end_d6
    .catchall {:try_start_22 .. :try_end_d6} :catchall_1f

    .line 94
    iget-boolean v1, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mFirst:Z

    const/4 v2, 0x1

    if-ne v1, v2, :cond_fb

    .line 96
    invoke-static {}, Lcom/cm/plugincluster/report/KInfocClientAssistHostProxy;->getInstance()Lcom/cm/plugincluster/common/interfaces/report/IKInfocClientAssist;

    move-result-object v1

    const-string v2, "cm_scan_time"

    const/4 v3, 0x0

    invoke-interface {v1, v2, v0, v3}, Lcom/cm/plugincluster/common/interfaces/report/IKInfocClientAssist;->reportDataWithProbabilityCtrl(Ljava/lang/String;Ljava/lang/String;Z)V

    .line 100
    :goto_e5
    const-string v1, "cm_scan_time"

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

    .line 101
    const-string/jumbo v1, "scanTime"

    invoke-static {v1, v0}, Lcom/cleanmaster/junk/util/OpLog;->x(Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_12

    .line 85
    :cond_f2
    :try_start_f2
    const-string v0, "0"

    goto :goto_82

    .line 88
    :cond_f5
    const-string v0, "0"

    goto :goto_a6

    .line 89
    :cond_f8
    const-string v0, "0"
    :try_end_fa
    .catchall {:try_start_f2 .. :try_end_fa} :catchall_1f

    goto :goto_b6

    .line 98
    :cond_fb
    invoke-static {}, Lcom/cm/plugincluster/report/KInfocClientAssistHostProxy;->getInstance()Lcom/cm/plugincluster/common/interfaces/report/IKInfocClientAssist;

    move-result-object v1

    const-string v2, "cm_scan_time"

    invoke-interface {v1, v2, v0}, Lcom/cm/plugincluster/common/interfaces/report/IKInfocClientAssist;->reportData(Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_e5

    :cond_105
    move-wide v4, v2

    goto/16 :goto_3d

    :cond_108
    move-wide v6, v0

    goto/16 :goto_34
.end method

.method public resumePause()V
    .registers 9

    .prologue
    const-wide/16 v6, 0x0

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

    move-result-wide v0

    .line 152
    iget-object v2, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mMutex:Ljava/lang/Object;

    monitor-enter v2

    .line 153
    :try_start_9
    iget-wide v4, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mPauseStartTime:J

    cmp-long v3, v4, v6

    if-gtz v3, :cond_15

    .line 154
    const-wide/16 v0, 0x0

    iput-wide v0, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mPauseStartTime:J

    .line 155
    monitor-exit v2

    .line 167
    :goto_14
    return-void

    .line 158
    :cond_15
    iget-wide v4, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mPauseStartTime:J

    sub-long/2addr v0, v4

    .line 159
    const-wide/16 v4, 0x0

    iput-wide v4, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mPauseStartTime:J

    .line 161
    iget-wide v4, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mEnd0Time:J

    cmp-long v3, v4, v6

    if-lez v3, :cond_2c

    .line 162
    iget-wide v4, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mPauseTime1:J

    add-long/2addr v0, v4

    iput-wide v0, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mPauseTime1:J

    .line 166
    :goto_27
    monitor-exit v2

    goto :goto_14

    :catchall_29
    move-exception v0

    monitor-exit v2
    :try_end_2b
    .catchall {:try_start_9 .. :try_end_2b} :catchall_29

    throw v0

    .line 164
    :cond_2c
    :try_start_2c
    iget-wide v4, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mPauseTime0:J

    add-long/2addr v0, v4

    iput-wide v0, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mPauseTime0:J
    :try_end_31
    .catchall {:try_start_2c .. :try_end_31} :catchall_29

    goto :goto_27
.end method

.method public setNetTimeCfg(I)V
    .registers 2

    .prologue
    .line 46
    iput p1, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mNetTimeCfg:I

    .line 47
    return-void
.end method

.method public setScanId(I)V
    .registers 2

    .prologue
    .line 39
    iput p1, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mScanId:I

    .line 40
    return-void
.end method

.method public setStopStatus(Z)V
    .registers 8

    .prologue
    .line 133
    iget-object v1, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mMutex:Ljava/lang/Object;

    monitor-enter v1

    .line 134
    :try_start_3
    iget-wide v2, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mEnd0Time:J

    const-wide/16 v4, 0x0

    cmp-long v0, v2, v4

    if-lez v0, :cond_f

    .line 136
    iput-boolean p1, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mStopped2:Z

    .line 137
    monitor-exit v1

    .line 141
    :goto_e
    return-void

    .line 139
    :cond_f
    iput-boolean p1, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mStopped:Z

    .line 140
    monitor-exit v1

    goto :goto_e

    :catchall_13
    move-exception v0

    monitor-exit v1
    :try_end_15
    .catchall {:try_start_3 .. :try_end_15} :catchall_13

    throw v0
.end method

.method public start()V
    .registers 5

    .prologue
    .line 105
    invoke-static {}, Lcom/cleanmaster/junk/util/ServiceConfigManager;->getInstance()Lcom/cleanmaster/junk/util/ServiceConfigManager;

    move-result-object v0

    iget-object v1, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mScanPoint:Lcom/cleanmaster/junk/report/ScanTimeReporter$EnumScanPoint;

    invoke-virtual {v1}, Lcom/cleanmaster/junk/report/ScanTimeReporter$EnumScanPoint;->getScanPointId()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Lcom/cleanmaster/junk/util/ServiceConfigManager;->isFirstScan(Ljava/lang/String;)Z

    move-result v0

    .line 106
    if-eqz v0, :cond_1d

    .line 107
    invoke-static {}, Lcom/cleanmaster/junk/util/ServiceConfigManager;->getInstance()Lcom/cleanmaster/junk/util/ServiceConfigManager;

    move-result-object v1

    iget-object v2, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mScanPoint:Lcom/cleanmaster/junk/report/ScanTimeReporter$EnumScanPoint;

    invoke-virtual {v2}, Lcom/cleanmaster/junk/report/ScanTimeReporter$EnumScanPoint;->getScanPointId()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v1, v2}, Lcom/cleanmaster/junk/util/ServiceConfigManager;->recordFirstScan(Ljava/lang/String;)V

    .line 110
    :cond_1d
    invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J

    move-result-wide v2

    .line 111
    iget-object v1, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mMutex:Ljava/lang/Object;

    monitor-enter v1

    .line 112
    :try_start_24
    invoke-direct {p0}, Lcom/cleanmaster/junk/report/ScanTimeReporter;->reset()V

    .line 113
    iput-boolean v0, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mFirst:Z

    .line 114
    iput-wide v2, p0, Lcom/cleanmaster/junk/report/ScanTimeReporter;->mStartTime:J

    .line 115
    monitor-exit v1

    .line 116
    return-void

    .line 115
    :catchall_2d
    move-exception v0

    monitor-exit v1
    :try_end_2f
    .catchall {:try_start_24 .. :try_end_2f} :catchall_2d

    throw v0
.end method