j.smali
.class public Lcom/cleanmaster/service/b/j;
.super Lcom/cleanmaster/hpsharelib/report/BaseTracer;
.source "cm_si_cmoc.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/cleanmaster/service/b/j$a;
}
.end annotation
# direct methods
.method public constructor <init>()V
.registers 2
.prologue
.line 29
const-string v0, "cm_si_cmoc"
invoke-direct {p0, v0}, Lcom/cleanmaster/hpsharelib/report/BaseTracer;-><init>(Ljava/lang/String;)V
.line 30
return-void
.end method
.method public static a(Landroid/content/Context;Ljava/lang/String;)J
.registers 11
.prologue
const/4 v8, 0x0
const/4 v3, 0x1
.line 125
new-array v1, v3, [J
.line 126
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
.line 127
new-instance v2, Ljava/util/concurrent/CountDownLatch;
invoke-direct {v2, v3}, Ljava/util/concurrent/CountDownLatch;-><init>(I)V
.line 129
:try_start_d
invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v3
const-string v4, "getPackageSizeInfo"
const/4 v5, 0x2
new-array v5, v5, [Ljava/lang/Class;
const/4 v6, 0x0
const-class v7, Ljava/lang/String;
aput-object v7, v5, v6
const/4 v6, 0x1
const-class v7, Landroid/content/pm/IPackageStatsObserver;
aput-object v7, v5, v6
invoke-virtual {v3, v4, v5}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v3
.line 130
const/4 v4, 0x2
new-array v4, v4, [Ljava/lang/Object;
const/4 v5, 0x0
aput-object p1, v4, v5
const/4 v5, 0x1
new-instance v6, Lcom/cleanmaster/service/b/k;
invoke-direct {v6, v1, v2}, Lcom/cleanmaster/service/b/k;-><init>([JLjava/util/concurrent/CountDownLatch;)V
aput-object v6, v4, v5
invoke-virtual {v3, v0, v4}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
:try_end_35
.catch Ljava/lang/Exception; {:try_start_d .. :try_end_35} :catch_3f
.line 142
:goto_35
const-wide/16 v4, 0x1
:try_start_37
sget-object v0, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v2, v4, v5, v0}, Ljava/util/concurrent/CountDownLatch;->await(JLjava/util/concurrent/TimeUnit;)Z
:try_end_3c
.catch Ljava/lang/InterruptedException; {:try_start_37 .. :try_end_3c} :catch_44
.line 146
:goto_3c
aget-wide v0, v1, v8
return-wide v0
.line 137
:catch_3f
move-exception v0
.line 138
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
goto :goto_35
.line 143
:catch_44
move-exception v0
.line 144
invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
goto :goto_3c
.end method
.method public static a()V
.registers 13
.prologue
const/4 v12, 0x1
const-wide/16 v10, 0x0
const/4 v1, 0x0
const/4 v9, 0x2
const/4 v8, 0x0
.line 33
const-string v0, "android.permission.WRITE_EXTERNAL_STORAGE"
invoke-static {v0}, Lcom/cleanmaster/hpsharelib/base/util/system/SystemUtils;->simpleCheckSelfPermission(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_f
.line 82
:cond_e
:goto_e
return-void
.line 37
:cond_f
new-instance v0, Landroid/os/StatFs;
const-string v2, "/data/data"
invoke-direct {v0, v2}, Landroid/os/StatFs;-><init>(Ljava/lang/String;)V
.line 39
const/4 v2, 0x3
new-array v2, v2, [J
.line 41
new-instance v3, Lcom/cleanmaster/service/b/j;
invoke-direct {v3}, Lcom/cleanmaster/service/b/j;-><init>()V
.line 42
invoke-virtual {v3, v12}, Lcom/cleanmaster/service/b/j;->a(I)Lcom/cleanmaster/service/b/j;
move-result-object v3
.line 43
invoke-virtual {v0}, Landroid/os/StatFs;->getBlockCount()I
move-result v4
int-to-long v4, v4
invoke-virtual {v0}, Landroid/os/StatFs;->getBlockSize()I
move-result v6
int-to-long v6, v6
mul-long/2addr v4, v6
invoke-static {v4, v5}, Lcom/cleanmaster/service/b/j;->K(J)J
move-result-wide v4
invoke-virtual {v3, v4, v5}, Lcom/cleanmaster/service/b/j;->a(J)Lcom/cleanmaster/service/b/j;
move-result-object v3
.line 44
invoke-virtual {v0}, Landroid/os/StatFs;->getBlockCount()I
move-result v4
invoke-virtual {v0}, Landroid/os/StatFs;->getFreeBlocks()I
move-result v5
sub-int/2addr v4, v5
int-to-long v4, v4
invoke-virtual {v0}, Landroid/os/StatFs;->getBlockSize()I
move-result v0
int-to-long v6, v0
mul-long/2addr v4, v6
invoke-static {v4, v5}, Lcom/cleanmaster/service/b/j;->K(J)J
move-result-wide v4
invoke-virtual {v3, v4, v5}, Lcom/cleanmaster/service/b/j;->b(J)Lcom/cleanmaster/service/b/j;
move-result-object v0
.line 45
invoke-static {}, Lcom/keniu/security/m;->d()Landroid/content/Context;
move-result-object v3
invoke-static {}, Lcom/keniu/security/m;->d()Landroid/content/Context;
move-result-object v4
invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v4
invoke-static {v3, v4}, Lcom/cleanmaster/service/b/j;->a(Landroid/content/Context;Ljava/lang/String;)J
move-result-wide v4
invoke-static {v4, v5}, Lcom/cleanmaster/service/b/j;->K(J)J
move-result-wide v4
invoke-virtual {v0, v4, v5}, Lcom/cleanmaster/service/b/j;->c(J)Lcom/cleanmaster/service/b/j;
move-result-object v0
invoke-virtual {v0}, Lcom/cleanmaster/service/b/j;->report()V
.line 50
:try_start_68
new-instance v3, Landroid/os/StatFs;
invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
move-result-object v0
invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v0
invoke-direct {v3, v0}, Landroid/os/StatFs;-><init>(Ljava/lang/String;)V
:try_end_75
.catch Ljava/lang/Exception; {:try_start_68 .. :try_end_75} :catch_119
.line 55
invoke-static {}, Landroid/os/Environment;->getExternalStorageState()Ljava/lang/String;
move-result-object v0
invoke-static {v0, v2, v1}, Lcom/cleanmaster/util/path/PathOperFunc;->computeFileSize(Ljava/lang/String;[JLcom/cleanmaster/util/IProgressCtrl;)V
.line 56
new-instance v0, Lcom/cleanmaster/service/b/j;
invoke-direct {v0}, Lcom/cleanmaster/service/b/j;-><init>()V
.line 57
invoke-virtual {v0, v9}, Lcom/cleanmaster/service/b/j;->a(I)Lcom/cleanmaster/service/b/j;
move-result-object v0
.line 58
invoke-virtual {v3}, Landroid/os/StatFs;->getBlockCount()I
move-result v4
int-to-long v4, v4
invoke-virtual {v3}, Landroid/os/StatFs;->getBlockSize()I
move-result v6
int-to-long v6, v6
mul-long/2addr v4, v6
invoke-static {v4, v5}, Lcom/cleanmaster/service/b/j;->K(J)J
move-result-wide v4
invoke-virtual {v0, v4, v5}, Lcom/cleanmaster/service/b/j;->a(J)Lcom/cleanmaster/service/b/j;
move-result-object v0
.line 59
invoke-virtual {v3}, Landroid/os/StatFs;->getBlockCount()I
move-result v4
invoke-virtual {v3}, Landroid/os/StatFs;->getFreeBlocks()I
move-result v5
sub-int/2addr v4, v5
int-to-long v4, v4
invoke-virtual {v3}, Landroid/os/StatFs;->getBlockSize()I
move-result v6
int-to-long v6, v6
mul-long/2addr v4, v6
invoke-static {v4, v5}, Lcom/cleanmaster/service/b/j;->K(J)J
move-result-wide v4
invoke-virtual {v0, v4, v5}, Lcom/cleanmaster/service/b/j;->b(J)Lcom/cleanmaster/service/b/j;
move-result-object v0
aget-wide v4, v2, v8
.line 60
invoke-static {v4, v5}, Lcom/cleanmaster/service/b/j;->K(J)J
move-result-wide v4
invoke-virtual {v0, v4, v5}, Lcom/cleanmaster/service/b/j;->c(J)Lcom/cleanmaster/service/b/j;
move-result-object v0
.line 61
invoke-virtual {v0}, Lcom/cleanmaster/service/b/j;->report()V
.line 63
invoke-static {}, Lcom/keniu/security/h;->h()Ljava/io/File;
move-result-object v0
.line 65
if-eqz v0, :cond_11c
.line 66
invoke-virtual {v0}, Ljava/io/File;->getParent()Ljava/lang/String;
move-result-object v0
.line 69
:goto_c7
aput-wide v10, v2, v8
.line 70
aput-wide v10, v2, v12
.line 71
aput-wide v10, v2, v9
.line 73
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v4
if-nez v4, :cond_e
.line 74
invoke-static {v0, v2, v1}, Lcom/cleanmaster/util/path/PathOperFunc;->computeFileSize(Ljava/lang/String;[JLcom/cleanmaster/util/IProgressCtrl;)V
.line 75
new-instance v0, Lcom/cleanmaster/service/b/j;
invoke-direct {v0}, Lcom/cleanmaster/service/b/j;-><init>()V
.line 76
invoke-virtual {v0, v9}, Lcom/cleanmaster/service/b/j;->a(I)Lcom/cleanmaster/service/b/j;
move-result-object v0
.line 77
invoke-virtual {v3}, Landroid/os/StatFs;->getBlockCount()I
move-result v1
int-to-long v4, v1
invoke-virtual {v3}, Landroid/os/StatFs;->getBlockSize()I
move-result v1
int-to-long v6, v1
mul-long/2addr v4, v6
invoke-static {v4, v5}, Lcom/cleanmaster/service/b/j;->K(J)J
move-result-wide v4
invoke-virtual {v0, v4, v5}, Lcom/cleanmaster/service/b/j;->a(J)Lcom/cleanmaster/service/b/j;
move-result-object v0
.line 78
invoke-virtual {v3}, Landroid/os/StatFs;->getBlockCount()I
move-result v1
invoke-virtual {v3}, Landroid/os/StatFs;->getFreeBlocks()I
move-result v4
sub-int/2addr v1, v4
int-to-long v4, v1
invoke-virtual {v3}, Landroid/os/StatFs;->getBlockSize()I
move-result v1
int-to-long v6, v1
mul-long/2addr v4, v6
invoke-static {v4, v5}, Lcom/cleanmaster/service/b/j;->K(J)J
move-result-wide v4
invoke-virtual {v0, v4, v5}, Lcom/cleanmaster/service/b/j;->b(J)Lcom/cleanmaster/service/b/j;
move-result-object v0
aget-wide v2, v2, v8
.line 79
invoke-static {v2, v3}, Lcom/cleanmaster/service/b/j;->K(J)J
move-result-wide v2
invoke-virtual {v0, v2, v3}, Lcom/cleanmaster/service/b/j;->c(J)Lcom/cleanmaster/service/b/j;
move-result-object v0
.line 80
invoke-virtual {v0}, Lcom/cleanmaster/service/b/j;->report()V
goto/16 :goto_e
.line 51
:catch_119
move-exception v0
goto/16 :goto_e
:cond_11c
move-object v0, v1
goto :goto_c7
.end method
# virtual methods
.method public a(I)Lcom/cleanmaster/service/b/j;
.registers 3
.prologue
.line 96
const-string/jumbo v0, "rtype"
invoke-virtual {p0, v0, p1}, Lcom/cleanmaster/service/b/j;->set(Ljava/lang/String;I)V
.line 97
return-object p0
.end method
.method public a(J)Lcom/cleanmaster/service/b/j;
.registers 4
.prologue
.line 104
const-string/jumbo v0, "rsize"
invoke-virtual {p0, v0, p1, p2}, Lcom/cleanmaster/service/b/j;->set(Ljava/lang/String;J)V
.line 105
return-object p0
.end method
.method public b(J)Lcom/cleanmaster/service/b/j;
.registers 4
.prologue
.line 112
const-string/jumbo v0, "usedsize"
invoke-virtual {p0, v0, p1, p2}, Lcom/cleanmaster/service/b/j;->set(Ljava/lang/String;J)V
.line 113
return-object p0
.end method
.method public c(J)Lcom/cleanmaster/service/b/j;
.registers 4
.prologue
.line 120
const-string v0, "cmused"
invoke-virtual {p0, v0, p1, p2}, Lcom/cleanmaster/service/b/j;->set(Ljava/lang/String;J)V
.line 121
return-object p0
.end method
.method public reset()V
.registers 5
.prologue
const-wide/16 v2, 0x0
.line 86
const/4 v0, 0x0
invoke-virtual {p0, v0}, Lcom/cleanmaster/service/b/j;->a(I)Lcom/cleanmaster/service/b/j;
.line 87
invoke-virtual {p0, v2, v3}, Lcom/cleanmaster/service/b/j;->a(J)Lcom/cleanmaster/service/b/j;
.line 88
invoke-virtual {p0, v2, v3}, Lcom/cleanmaster/service/b/j;->b(J)Lcom/cleanmaster/service/b/j;
.line 89
invoke-virtual {p0, v2, v3}, Lcom/cleanmaster/service/b/j;->c(J)Lcom/cleanmaster/service/b/j;
.line 90
return-void
.end method