CacheDiskUtils$DiskCacheManager.smali
.class final Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;
.super Ljava/lang/Object;
.source "CacheDiskUtils.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/blankj/utilcode/util/CacheDiskUtils;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1a
name = "DiskCacheManager"
.end annotation
# instance fields
.field private final cacheCount:Ljava/util/concurrent/atomic/AtomicInteger;
.field private final cacheDir:Ljava/io/File;
.field private final cacheSize:Ljava/util/concurrent/atomic/AtomicLong;
.field private final countLimit:I
.field private final lastUsageDates:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/io/File;",
"Ljava/lang/Long;",
">;"
}
.end annotation
.end field
.field private final mThread:Ljava/lang/Thread;
.field private final sizeLimit:J
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method private constructor <init>(Ljava/io/File;JI)V
.registers 7
.param p1, "cacheDir" # Ljava/io/File;
.param p2, "sizeLimit" # J
.param p4, "countLimit" # I
.line 674
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 669
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
.line 670
invoke-static {v0}, Ljava/util/Collections;->synchronizedMap(Ljava/util/Map;)Ljava/util/Map;
move-result-object v0
iput-object v0, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->lastUsageDates:Ljava/util/Map;
.line 675
iput-object p1, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->cacheDir:Ljava/io/File;
.line 676
iput-wide p2, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->sizeLimit:J
.line 677
iput p4, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->countLimit:I
.line 678
new-instance v0, Ljava/util/concurrent/atomic/AtomicLong;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicLong;-><init>()V
iput-object v0, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->cacheSize:Ljava/util/concurrent/atomic/AtomicLong;
.line 679
new-instance v0, Ljava/util/concurrent/atomic/AtomicInteger;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicInteger;-><init>()V
iput-object v0, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->cacheCount:Ljava/util/concurrent/atomic/AtomicInteger;
.line 680
new-instance v0, Ljava/lang/Thread;
new-instance v1, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager$1;
invoke-direct {v1, p0, p1}, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager$1;-><init>(Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;Ljava/io/File;)V
invoke-direct {v0, v1}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
iput-object v0, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->mThread:Ljava/lang/Thread;
.line 702
invoke-virtual {v0}, Ljava/lang/Thread;->start()V
.line 703
return-void
.end method
.method synthetic constructor <init>(Ljava/io/File;JILcom/blankj/utilcode/util/CacheDiskUtils$1;)V
.registers 6
.param p1, "x0" # Ljava/io/File;
.param p2, "x1" # J
.param p4, "x2" # I
.param p5, "x3" # Lcom/blankj/utilcode/util/CacheDiskUtils$1;
.line 664
invoke-direct {p0, p1, p2, p3, p4}, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;-><init>(Ljava/io/File;JI)V
return-void
.end method
.method static synthetic access$1000(Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;)I
.registers 2
.param p0, "x0" # Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;
.line 664
invoke-direct {p0}, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->getCacheCount()I
move-result v0
return v0
.end method
.method static synthetic access$1100(Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;)Z
.registers 2
.param p0, "x0" # Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;
.line 664
invoke-direct {p0}, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->clear()Z
move-result v0
return v0
.end method
.method static synthetic access$1200(Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;)Ljava/util/Map;
.registers 2
.param p0, "x0" # Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;
.line 664
iget-object v0, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->lastUsageDates:Ljava/util/Map;
return-object v0
.end method
.method static synthetic access$1300(Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;)Ljava/util/concurrent/atomic/AtomicLong;
.registers 2
.param p0, "x0" # Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;
.line 664
iget-object v0, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->cacheSize:Ljava/util/concurrent/atomic/AtomicLong;
return-object v0
.end method
.method static synthetic access$1400(Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;)Ljava/util/concurrent/atomic/AtomicInteger;
.registers 2
.param p0, "x0" # Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;
.line 664
iget-object v0, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->cacheCount:Ljava/util/concurrent/atomic/AtomicInteger;
return-object v0
.end method
.method static synthetic access$200(Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;Ljava/lang/String;)Ljava/io/File;
.registers 3
.param p0, "x0" # Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;
.param p1, "x1" # Ljava/lang/String;
.line 664
invoke-direct {p0, p1}, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->getFileBeforePut(Ljava/lang/String;)Ljava/io/File;
move-result-object v0
return-object v0
.end method
.method static synthetic access$300(Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;Ljava/io/File;)V
.registers 2
.param p0, "x0" # Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;
.param p1, "x1" # Ljava/io/File;
.line 664
invoke-direct {p0, p1}, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->updateModify(Ljava/io/File;)V
return-void
.end method
.method static synthetic access$400(Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;Ljava/io/File;)V
.registers 2
.param p0, "x0" # Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;
.param p1, "x1" # Ljava/io/File;
.line 664
invoke-direct {p0, p1}, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->put(Ljava/io/File;)V
return-void
.end method
.method static synthetic access$500(Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;Ljava/lang/String;)Ljava/io/File;
.registers 3
.param p0, "x0" # Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;
.param p1, "x1" # Ljava/lang/String;
.line 664
invoke-direct {p0, p1}, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->getFileIfExists(Ljava/lang/String;)Ljava/io/File;
move-result-object v0
return-object v0
.end method
.method static synthetic access$700(Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;Ljava/lang/String;)Z
.registers 3
.param p0, "x0" # Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;
.param p1, "x1" # Ljava/lang/String;
.line 664
invoke-direct {p0, p1}, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->removeByKey(Ljava/lang/String;)Z
move-result v0
return v0
.end method
.method static synthetic access$900(Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;)J
.registers 3
.param p0, "x0" # Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;
.line 664
invoke-direct {p0}, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->getCacheSize()J
move-result-wide v0
return-wide v0
.end method
.method private clear()Z
.registers 10
.line 769
iget-object v0, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->cacheDir:Ljava/io/File;
new-instance v1, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager$2;
invoke-direct {v1, p0}, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager$2;-><init>(Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;)V
invoke-virtual {v0, v1}, Ljava/io/File;->listFiles(Ljava/io/FilenameFilter;)[Ljava/io/File;
move-result-object v0
.line 775
.local v0, "files":[Ljava/io/File;
if-eqz v0, :cond_4d
array-length v1, v0
if-gtz v1, :cond_11
goto :goto_4d
.line 776
:cond_11
const/4 v1, 0x1
.line 777
.local v1, "flag":Z
array-length v2, v0
const/4 v3, 0x0
const/4 v4, 0x0
:goto_15
if-ge v4, v2, :cond_39
aget-object v5, v0, v4
.line 778
.local v5, "file":Ljava/io/File;
invoke-virtual {v5}, Ljava/io/File;->delete()Z
move-result v6
if-nez v6, :cond_21
.line 779
const/4 v1, 0x0
.line 780
goto :goto_36
.line 782
:cond_21
iget-object v6, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->cacheSize:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v5}, Ljava/io/File;->length()J
move-result-wide v7
neg-long v7, v7
invoke-virtual {v6, v7, v8}, Ljava/util/concurrent/atomic/AtomicLong;->addAndGet(J)J
.line 783
iget-object v6, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->cacheCount:Ljava/util/concurrent/atomic/AtomicInteger;
const/4 v7, -0x1
invoke-virtual {v6, v7}, Ljava/util/concurrent/atomic/AtomicInteger;->addAndGet(I)I
.line 784
iget-object v6, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->lastUsageDates:Ljava/util/Map;
invoke-interface {v6, v5}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
.line 777
.end local v5 # "file":Ljava/io/File;
:goto_36
add-int/lit8 v4, v4, 0x1
goto :goto_15
.line 786
:cond_39
if-eqz v1, :cond_4c
.line 787
iget-object v2, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->lastUsageDates:Ljava/util/Map;
invoke-interface {v2}, Ljava/util/Map;->clear()V
.line 788
iget-object v2, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->cacheSize:Ljava/util/concurrent/atomic/AtomicLong;
const-wide/16 v4, 0x0
invoke-virtual {v2, v4, v5}, Ljava/util/concurrent/atomic/AtomicLong;->set(J)V
.line 789
iget-object v2, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->cacheCount:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {v2, v3}, Ljava/util/concurrent/atomic/AtomicInteger;->set(I)V
.line 791
:cond_4c
return v1
.line 775
.end local v1 # "flag":Z
:cond_4d
:goto_4d
const/4 v1, 0x1
return v1
.end method
.method private getCacheCount()I
.registers 2
.line 711
invoke-direct {p0}, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->wait2InitOk()V
.line 712
iget-object v0, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->cacheCount:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result v0
return v0
.end method
.method private getCacheNameByKey(Ljava/lang/String;)Ljava/lang/String;
.registers 5
.param p1, "key" # Ljava/lang/String;
.line 740
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "cdu_"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/4 v1, 0x3
const/4 v2, 0x0
invoke-virtual {p1, v2, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, v1}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/String;->hashCode()I
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method private getCacheSize()J
.registers 3
.line 706
invoke-direct {p0}, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->wait2InitOk()V
.line 707
iget-object v0, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->cacheSize:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;->get()J
move-result-wide v0
return-wide v0
.end method
.method private getFileBeforePut(Ljava/lang/String;)Ljava/io/File;
.registers 6
.param p1, "key" # Ljava/lang/String;
.line 716
invoke-direct {p0}, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->wait2InitOk()V
.line 717
new-instance v0, Ljava/io/File;
iget-object v1, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->cacheDir:Ljava/io/File;
invoke-direct {p0, p1}, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->getCacheNameByKey(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-direct {v0, v1, v2}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 718
.local v0, "file":Ljava/io/File;
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v1
if-eqz v1, :cond_24
.line 719
iget-object v1, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->cacheCount:Ljava/util/concurrent/atomic/AtomicInteger;
const/4 v2, -0x1
invoke-virtual {v1, v2}, Ljava/util/concurrent/atomic/AtomicInteger;->addAndGet(I)I
.line 720
iget-object v1, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->cacheSize:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v0}, Ljava/io/File;->length()J
move-result-wide v2
neg-long v2, v2
invoke-virtual {v1, v2, v3}, Ljava/util/concurrent/atomic/AtomicLong;->addAndGet(J)J
.line 722
:cond_24
return-object v0
.end method
.method private getFileIfExists(Ljava/lang/String;)Ljava/io/File;
.registers 5
.param p1, "key" # Ljava/lang/String;
.line 734
new-instance v0, Ljava/io/File;
iget-object v1, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->cacheDir:Ljava/io/File;
invoke-direct {p0, p1}, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->getCacheNameByKey(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-direct {v0, v1, v2}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 735
.local v0, "file":Ljava/io/File;
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v1
if-nez v1, :cond_13
const/4 v1, 0x0
return-object v1
.line 736
:cond_13
return-object v0
.end method
.method private put(Ljava/io/File;)V
.registers 7
.param p1, "file" # Ljava/io/File;
.line 744
iget-object v0, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->cacheCount:Ljava/util/concurrent/atomic/AtomicInteger;
const/4 v1, 0x1
invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicInteger;->addAndGet(I)I
.line 745
iget-object v0, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->cacheSize:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {p1}, Ljava/io/File;->length()J
move-result-wide v1
invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;->addAndGet(J)J
.line 746
:goto_f
iget-object v0, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->cacheCount:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result v0
iget v1, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->countLimit:I
if-gt v0, v1, :cond_27
iget-object v0, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->cacheSize:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;->get()J
move-result-wide v0
iget-wide v2, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->sizeLimit:J
cmp-long v4, v0, v2
if-lez v4, :cond_26
goto :goto_27
.line 750
:cond_26
return-void
.line 747
:cond_27
:goto_27
iget-object v0, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->cacheSize:Ljava/util/concurrent/atomic/AtomicLong;
invoke-direct {p0}, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->removeOldest()J
move-result-wide v1
neg-long v1, v1
invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;->addAndGet(J)J
.line 748
iget-object v0, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->cacheCount:Ljava/util/concurrent/atomic/AtomicInteger;
const/4 v1, -0x1
invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicInteger;->addAndGet(I)I
goto :goto_f
.end method
.method private removeByKey(Ljava/lang/String;)Z
.registers 7
.param p1, "key" # Ljava/lang/String;
.line 759
invoke-direct {p0, p1}, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->getFileIfExists(Ljava/lang/String;)Ljava/io/File;
move-result-object v0
.line 760
.local v0, "file":Ljava/io/File;
const/4 v1, 0x1
if-nez v0, :cond_8
return v1
.line 761
:cond_8
invoke-virtual {v0}, Ljava/io/File;->delete()Z
move-result v2
if-nez v2, :cond_10
const/4 v1, 0x0
return v1
.line 762
:cond_10
iget-object v2, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->cacheSize:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v0}, Ljava/io/File;->length()J
move-result-wide v3
neg-long v3, v3
invoke-virtual {v2, v3, v4}, Ljava/util/concurrent/atomic/AtomicLong;->addAndGet(J)J
.line 763
iget-object v2, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->cacheCount:Ljava/util/concurrent/atomic/AtomicInteger;
const/4 v3, -0x1
invoke-virtual {v2, v3}, Ljava/util/concurrent/atomic/AtomicInteger;->addAndGet(I)I
.line 764
iget-object v2, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->lastUsageDates:Ljava/util/Map;
invoke-interface {v2, v0}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
.line 765
return v1
.end method
.method private removeOldest()J
.registers 15
.line 800
iget-object v0, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->lastUsageDates:Ljava/util/Map;
invoke-interface {v0}, Ljava/util/Map;->isEmpty()Z
move-result v0
const-wide/16 v1, 0x0
if-eqz v0, :cond_b
return-wide v1
.line 801
:cond_b
const-wide v3, 0x7fffffffffffffffL
invoke-static {v3, v4}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
.line 802
.local v0, "oldestUsage":Ljava/lang/Long;
const/4 v3, 0x0
.line 803
.local v3, "oldestFile":Ljava/io/File;
iget-object v4, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->lastUsageDates:Ljava/util/Map;
invoke-interface {v4}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object v4
.line 804
.local v4, "entries":Ljava/util/Set;, "Ljava/util/Set<Ljava/util/Map$Entry<Ljava/io/File;Ljava/lang/Long;>;>;"
iget-object v5, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->lastUsageDates:Ljava/util/Map;
monitor-enter v5
.line 805
:try_start_1e
invoke-interface {v4}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v6
:goto_22
invoke-interface {v6}, Ljava/util/Iterator;->hasNext()Z
move-result v7
if-eqz v7, :cond_49
invoke-interface {v6}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v7
check-cast v7, Ljava/util/Map$Entry;
.line 806
.local v7, "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Ljava/io/File;Ljava/lang/Long;>;"
invoke-interface {v7}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v8
check-cast v8, Ljava/lang/Long;
.line 807
.local v8, "lastValueUsage":Ljava/lang/Long;
invoke-virtual {v8}, Ljava/lang/Long;->longValue()J
move-result-wide v9
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v11
cmp-long v13, v9, v11
if-gez v13, :cond_48
.line 808
move-object v0, v8
.line 809
invoke-interface {v7}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v9
check-cast v9, Ljava/io/File;
move-object v3, v9
.line 811
.end local v7 # "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Ljava/io/File;Ljava/lang/Long;>;"
.end local v8 # "lastValueUsage":Ljava/lang/Long;
:cond_48
goto :goto_22
.line 812
:cond_49
monitor-exit v5
:try_end_4a
.catchall {:try_start_1e .. :try_end_4a} :catchall_5e
.line 813
if-nez v3, :cond_4d
return-wide v1
.line 814
:cond_4d
invoke-virtual {v3}, Ljava/io/File;->length()J
move-result-wide v5
.line 815
.local v5, "fileSize":J
invoke-virtual {v3}, Ljava/io/File;->delete()Z
move-result v7
if-eqz v7, :cond_5d
.line 816
iget-object v1, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->lastUsageDates:Ljava/util/Map;
invoke-interface {v1, v3}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
.line 817
return-wide v5
.line 819
:cond_5d
return-wide v1
.line 812
.end local v5 # "fileSize":J
:catchall_5e
move-exception v1
:try_start_5f
monitor-exit v5
:try_end_60
.catchall {:try_start_5f .. :try_end_60} :catchall_5e
goto :goto_62
:goto_61
throw v1
:goto_62
goto :goto_61
.end method
.method private updateModify(Ljava/io/File;)V
.registers 5
.param p1, "file" # Ljava/io/File;
.line 753
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
.line 754
.local v0, "millis":Ljava/lang/Long;
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v1
invoke-virtual {p1, v1, v2}, Ljava/io/File;->setLastModified(J)Z
.line 755
iget-object v1, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->lastUsageDates:Ljava/util/Map;
invoke-interface {v1, p1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 756
return-void
.end method
.method private wait2InitOk()V
.registers 2
.line 727
:try_start_0
iget-object v0, p0, Lcom/blankj/utilcode/util/CacheDiskUtils$DiskCacheManager;->mThread:Ljava/lang/Thread;
invoke-virtual {v0}, Ljava/lang/Thread;->join()V
:try_end_5
.catch Ljava/lang/InterruptedException; {:try_start_0 .. :try_end_5} :catch_6
.line 730
goto :goto_a
.line 728
:catch_6
move-exception v0
.line 729
.local v0, "e":Ljava/lang/InterruptedException;
invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
.line 731
.end local v0 # "e":Ljava/lang/InterruptedException;
:goto_a
return-void
.end method