SpaceCalcHelper.smali

.class public Lcom/cleanmaster/junk/util/SpaceCalcHelper;
.super Ljava/lang/Object;
.source "SpaceCalcHelper.java"


# direct methods
.method public constructor <init>()V
    .registers 1

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

    return-void
.end method

.method public static getSpaceInfo()Lcom/cleanmaster/junk/bean/SpaceInfo;
    .registers 1

    .prologue
    .line 14
    new-instance v0, Lcom/cleanmaster/junk/bean/SpaceInfo;

    invoke-direct {v0}, Lcom/cleanmaster/junk/bean/SpaceInfo;-><init>()V

    .line 16
    invoke-static {v0}, Lcom/cleanmaster/junk/util/SpaceCalcHelper;->initStorageInfo(Lcom/cleanmaster/junk/bean/SpaceInfo;)V

    .line 18
    return-object v0
.end method

.method private static initStorageInfo(Lcom/cleanmaster/junk/bean/SpaceInfo;)V
    .registers 11

    .prologue
    const-wide/16 v8, 0x0

    .line 22
    invoke-static {}, Lcom/cleanmaster/hpsharelib/base/util/io/StorageInfoUtils;->getDeviceStorageInfo()Lcom/cleanmaster/hpsharelib/base/util/io/StorageInfo;

    move-result-object v1

    .line 23
    invoke-static {}, Lcom/cleanmaster/hpsharelib/base/Commons;->getRemovableSdCardsStorageInfo()Lcom/cleanmaster/hpsharelib/base/util/io/StorageInfo;

    move-result-object v2

    .line 24
    const/4 v0, 0x0

    .line 25
    sget-boolean v3, Lcom/cleanmaster/hpsharelib/base/util/io/EmulateSdCardUtils;->s_bSdcardDataSame:Z

    if-nez v3, :cond_13

    .line 26
    invoke-static {}, Lcom/cleanmaster/hpsharelib/base/Commons;->getInternalSdCardsStorageInfo()Lcom/cleanmaster/hpsharelib/base/util/io/StorageInfo;

    move-result-object v0

    .line 29
    :cond_13
    if-eqz v1, :cond_43

    iget-wide v4, v1, Lcom/cleanmaster/hpsharelib/base/util/io/StorageInfo;->allSize:J

    cmp-long v3, v4, v8

    if-eqz v3, :cond_43

    .line 31
    const-string v3, "sys.memory.threshold.low"

    invoke-static {v3, v8, v9}, Landroid/os/SystemProperties;->getLong(Ljava/lang/String;J)J

    move-result-wide v4

    .line 32
    iget-wide v6, v1, Lcom/cleanmaster/hpsharelib/base/util/io/StorageInfo;->freeSize:J

    invoke-static {v6, v7, v4, v5}, Ljava/lang/Math;->min(JJ)J

    move-result-wide v4

    .line 33
    iget-wide v6, v1, Lcom/cleanmaster/hpsharelib/base/util/io/StorageInfo;->freeSize:J

    sub-long v4, v6, v4

    iput-wide v4, v1, Lcom/cleanmaster/hpsharelib/base/util/io/StorageInfo;->freeSize:J

    .line 34
    iget-wide v4, v1, Lcom/cleanmaster/hpsharelib/base/util/io/StorageInfo;->allSize:J

    iput-wide v4, p0, Lcom/cleanmaster/junk/bean/SpaceInfo;->sysTotalSize:J

    .line 35
    iget-wide v4, v1, Lcom/cleanmaster/hpsharelib/base/util/io/StorageInfo;->freeSize:J

    iput-wide v4, p0, Lcom/cleanmaster/junk/bean/SpaceInfo;->sysFreeSize:J

    .line 36
    iget-wide v4, p0, Lcom/cleanmaster/junk/bean/SpaceInfo;->phoneTotalSize:J

    iget-wide v6, v1, Lcom/cleanmaster/hpsharelib/base/util/io/StorageInfo;->allSize:J

    add-long/2addr v4, v6

    iput-wide v4, p0, Lcom/cleanmaster/junk/bean/SpaceInfo;->phoneTotalSize:J

    .line 37
    iget-wide v4, p0, Lcom/cleanmaster/junk/bean/SpaceInfo;->phoneFreeSize:J

    iget-wide v6, v1, Lcom/cleanmaster/hpsharelib/base/util/io/StorageInfo;->freeSize:J

    add-long/2addr v4, v6

    iput-wide v4, p0, Lcom/cleanmaster/junk/bean/SpaceInfo;->phoneFreeSize:J

    .line 40
    :cond_43
    if-eqz v2, :cond_67

    iget-wide v4, v2, Lcom/cleanmaster/hpsharelib/base/util/io/StorageInfo;->allSize:J

    cmp-long v1, v4, v8

    if-eqz v1, :cond_67

    .line 42
    iget-wide v4, p0, Lcom/cleanmaster/junk/bean/SpaceInfo;->sdcardTotalSize:J

    iget-wide v6, v2, Lcom/cleanmaster/hpsharelib/base/util/io/StorageInfo;->allSize:J

    add-long/2addr v4, v6

    iput-wide v4, p0, Lcom/cleanmaster/junk/bean/SpaceInfo;->sdcardTotalSize:J

    .line 43
    iget-wide v4, p0, Lcom/cleanmaster/junk/bean/SpaceInfo;->sdcardFreeSize:J

    iget-wide v6, v2, Lcom/cleanmaster/hpsharelib/base/util/io/StorageInfo;->freeSize:J

    add-long/2addr v4, v6

    iput-wide v4, p0, Lcom/cleanmaster/junk/bean/SpaceInfo;->sdcardFreeSize:J

    .line 44
    iget-wide v4, p0, Lcom/cleanmaster/junk/bean/SpaceInfo;->phoneTotalSize:J

    iget-wide v6, v2, Lcom/cleanmaster/hpsharelib/base/util/io/StorageInfo;->allSize:J

    add-long/2addr v4, v6

    iput-wide v4, p0, Lcom/cleanmaster/junk/bean/SpaceInfo;->phoneTotalSize:J

    .line 45
    iget-wide v4, p0, Lcom/cleanmaster/junk/bean/SpaceInfo;->phoneFreeSize:J

    iget-wide v2, v2, Lcom/cleanmaster/hpsharelib/base/util/io/StorageInfo;->freeSize:J

    add-long/2addr v2, v4

    iput-wide v2, p0, Lcom/cleanmaster/junk/bean/SpaceInfo;->phoneFreeSize:J

    .line 48
    :cond_67
    if-eqz v0, :cond_8b

    iget-wide v2, v0, Lcom/cleanmaster/hpsharelib/base/util/io/StorageInfo;->allSize:J

    cmp-long v1, v2, v8

    if-eqz v1, :cond_8b

    .line 50
    iget-wide v2, p0, Lcom/cleanmaster/junk/bean/SpaceInfo;->sdcardTotalSize:J

    iget-wide v4, v0, Lcom/cleanmaster/hpsharelib/base/util/io/StorageInfo;->allSize:J

    add-long/2addr v2, v4

    iput-wide v2, p0, Lcom/cleanmaster/junk/bean/SpaceInfo;->sdcardTotalSize:J

    .line 51
    iget-wide v2, p0, Lcom/cleanmaster/junk/bean/SpaceInfo;->sdcardFreeSize:J

    iget-wide v4, v0, Lcom/cleanmaster/hpsharelib/base/util/io/StorageInfo;->freeSize:J

    add-long/2addr v2, v4

    iput-wide v2, p0, Lcom/cleanmaster/junk/bean/SpaceInfo;->sdcardFreeSize:J

    .line 52
    iget-wide v2, p0, Lcom/cleanmaster/junk/bean/SpaceInfo;->phoneTotalSize:J

    iget-wide v4, v0, Lcom/cleanmaster/hpsharelib/base/util/io/StorageInfo;->allSize:J

    add-long/2addr v2, v4

    iput-wide v2, p0, Lcom/cleanmaster/junk/bean/SpaceInfo;->phoneTotalSize:J

    .line 53
    iget-wide v2, p0, Lcom/cleanmaster/junk/bean/SpaceInfo;->phoneFreeSize:J

    iget-wide v0, v0, Lcom/cleanmaster/hpsharelib/base/util/io/StorageInfo;->freeSize:J

    add-long/2addr v0, v2

    iput-wide v0, p0, Lcom/cleanmaster/junk/bean/SpaceInfo;->phoneFreeSize:J

    .line 56
    :cond_8b
    iget-wide v0, p0, Lcom/cleanmaster/junk/bean/SpaceInfo;->phoneTotalSize:J

    iget-wide v2, p0, Lcom/cleanmaster/junk/bean/SpaceInfo;->phoneFreeSize:J

    sub-long/2addr v0, v2

    iget-wide v2, p0, Lcom/cleanmaster/junk/bean/SpaceInfo;->phoneTotalSize:J

    invoke-static {v0, v1, v2, v3}, Lcom/cleanmaster/hpsharelib/base/Commons;->calcPercentage(JJ)I

    move-result v0

    iput v0, p0, Lcom/cleanmaster/junk/bean/SpaceInfo;->phoneUsedPercent:I

    .line 58
    return-void
.end method