.class public final Lokhttp3/internal/cache/DiskLruCache; .super Ljava/lang/Object; .source "DiskLruCache.kt" # interfaces .implements Ljava/io/Closeable; .implements Ljava/io/Flushable; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lokhttp3/internal/cache/DiskLruCache$Snapshot;, Lokhttp3/internal/cache/DiskLruCache$Editor;, Lokhttp3/internal/cache/DiskLruCache$Entry;, Lokhttp3/internal/cache/DiskLruCache$Companion; } .end annotation .annotation system Ldalvik/annotation/SourceDebugExtension; value = "SMAP\nDiskLruCache.kt\nKotlin\n*S Kotlin\n*F\n+ 1 DiskLruCache.kt\nokhttp3/internal/cache/DiskLruCache\n+ 2 Util.kt\nokhttp3/internal/Util\n+ 3 ArraysJVM.kt\nkotlin/collections/ArraysKt__ArraysJVMKt\n*L\n1#1,992:1\n573#2,4:993\n37#3,2:997\n37#3,2:999\n*E\n*S KotlinDebug\n*F\n+ 1 DiskLruCache.kt\nokhttp3/internal/cache/DiskLruCache\n*L\n212#1,4:993\n638#1,2:997\n677#1,2:999\n*E\n" .end annotation .annotation runtime Lkotlin/Metadata; bv = { 0x1, 0x0, 0x3 } d1 = { "\u0000{\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0008\n\u0002\u0008\u0002\n\u0002\u0010\t\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0008\u0003\n\u0002\u0010\u000b\n\u0002\u0008\u000e\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0010\u000e\n\u0002\u0018\u0002\n\u0002\u0008\u000f\n\u0002\u0010\u0002\n\u0002\u0008\u0003\n\u0002\u0018\u0002\n\u0002\u0008\t\n\u0002\u0018\u0002\n\u0002\u0008\u000f\n\u0002\u0010)\n\u0002\u0008\u0007*\u0001\u0012\u0018\u0000 Y2\u00020\u00012\u00020\u0002:\u0004YZ[\\B7\u0008\u0000\u0012\u0006\u0010\u0003\u001a\u00020\u0004\u0012\u0006\u0010\u0005\u001a\u00020\u0006\u0012\u0006\u0010\u0007\u001a\u00020\u0008\u0012\u0006\u0010\t\u001a\u00020\u0008\u0012\u0006\u0010\n\u001a\u00020\u000b\u0012\u0006\u0010\u000c\u001a\u00020\r\u00a2\u0006\u0002\u0010\u000eJ\u0008\u00107\u001a\u000208H\u0002J\u0008\u00109\u001a\u000208H\u0016J!\u0010:\u001a\u0002082\n\u0010;\u001a\u00060J\u0006\u0010?\u001a\u000208J \u0010@\u001a\u0008\u0018\u00010;" } .end annotation .end field .field private maxSize:J .field private mostRecentRebuildFailed:Z .field private mostRecentTrimFailed:Z .field private nextSequenceNumber:J .field private redundantOpCount:I .field private size:J .field private final valueCount:I # direct methods .method static constructor ()V .registers 2 new-instance v0, Lokhttp3/internal/cache/DiskLruCache$Companion; const/4 v1, 0x0 invoke-direct {v0, v1}, Lokhttp3/internal/cache/DiskLruCache$Companion;->(Lkotlin/jvm/internal/DefaultConstructorMarker;)V sput-object v0, Lokhttp3/internal/cache/DiskLruCache;->Companion:Lokhttp3/internal/cache/DiskLruCache$Companion; .line 979 const-string v0, "journal" sput-object v0, Lokhttp3/internal/cache/DiskLruCache;->JOURNAL_FILE:Ljava/lang/String; .line 980 const-string v0, "journal.tmp" sput-object v0, Lokhttp3/internal/cache/DiskLruCache;->JOURNAL_FILE_TEMP:Ljava/lang/String; .line 981 const-string v0, "journal.bkp" sput-object v0, Lokhttp3/internal/cache/DiskLruCache;->JOURNAL_FILE_BACKUP:Ljava/lang/String; .line 982 const-string v0, "libcore.io.DiskLruCache" sput-object v0, Lokhttp3/internal/cache/DiskLruCache;->MAGIC:Ljava/lang/String; .line 983 const-string v0, "1" sput-object v0, Lokhttp3/internal/cache/DiskLruCache;->VERSION_1:Ljava/lang/String; const-wide/16 v0, -0x1 .line 984 sput-wide v0, Lokhttp3/internal/cache/DiskLruCache;->ANY_SEQUENCE_NUMBER:J .line 985 new-instance v0, Lkotlin/text/Regex; const-string v1, "[a-z0-9_-]{1,120}" invoke-direct {v0, v1}, Lkotlin/text/Regex;->(Ljava/lang/String;)V sput-object v0, Lokhttp3/internal/cache/DiskLruCache;->LEGAL_KEY_PATTERN:Lkotlin/text/Regex; .line 986 const-string v0, "CLEAN" sput-object v0, Lokhttp3/internal/cache/DiskLruCache;->CLEAN:Ljava/lang/String; .line 987 const-string v0, "DIRTY" sput-object v0, Lokhttp3/internal/cache/DiskLruCache;->DIRTY:Ljava/lang/String; .line 988 const-string v0, "REMOVE" sput-object v0, Lokhttp3/internal/cache/DiskLruCache;->REMOVE:Ljava/lang/String; .line 989 const-string v0, "READ" sput-object v0, Lokhttp3/internal/cache/DiskLruCache;->READ:Ljava/lang/String; return-void .end method .method public constructor (Lokhttp3/internal/io/FileSystem;Ljava/io/File;IIJLokhttp3/internal/concurrent/TaskRunner;)V .registers 12 const-string v0, "fileSystem" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "directory" invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "taskRunner" invoke-static {p7, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V .line 85 invoke-direct {p0}, Ljava/lang/Object;->()V iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem; iput-object p2, p0, Lokhttp3/internal/cache/DiskLruCache;->directory:Ljava/io/File; iput p3, p0, Lokhttp3/internal/cache/DiskLruCache;->appVersion:I iput p4, p0, Lokhttp3/internal/cache/DiskLruCache;->valueCount:I .line 102 iput-wide p5, p0, Lokhttp3/internal/cache/DiskLruCache;->maxSize:J .line 155 new-instance p1, Ljava/util/LinkedHashMap; const/4 p3, 0x0 const/high16 v0, 0x3f400000 # 0.75f const/4 v1, 0x1 invoke-direct {p1, p3, v0, v1}, Ljava/util/LinkedHashMap;->(IFZ)V iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap; .line 172 invoke-virtual {p7}, Lokhttp3/internal/concurrent/TaskRunner;->newQueue()Lokhttp3/internal/concurrent/TaskQueue; move-result-object p1 iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->cleanupQueue:Lokhttp3/internal/concurrent/TaskQueue; .line 173 new-instance p1, Lokhttp3/internal/cache/DiskLruCache$cleanupTask$1; new-instance p7, Ljava/lang/StringBuilder; invoke-direct {p7}, Ljava/lang/StringBuilder;->()V sget-object v0, Lokhttp3/internal/Util;->okHttpName:Ljava/lang/String; invoke-virtual {p7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p7 const-string v0, " Cache" invoke-virtual {p7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p7 invoke-virtual {p7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p7 invoke-direct {p1, p0, p7}, Lokhttp3/internal/cache/DiskLruCache$cleanupTask$1;->(Lokhttp3/internal/cache/DiskLruCache;Ljava/lang/String;)V iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->cleanupTask:Lokhttp3/internal/cache/DiskLruCache$cleanupTask$1; const-wide/16 v2, 0x0 cmp-long p1, p5, v2 if-lez p1, :cond_51 move p1, v1 goto :goto_52 :cond_51 move p1, p3 :goto_52 if-eqz p1, :cond_83 if-lez p4, :cond_57 move p3, v1 :cond_57 if-eqz p3, :cond_75 .line 205 new-instance p1, Ljava/io/File; sget-object p3, Lokhttp3/internal/cache/DiskLruCache;->JOURNAL_FILE:Ljava/lang/String; invoke-direct {p1, p2, p3}, Ljava/io/File;->(Ljava/io/File;Ljava/lang/String;)V iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFile:Ljava/io/File; .line 206 new-instance p1, Ljava/io/File; sget-object p3, Lokhttp3/internal/cache/DiskLruCache;->JOURNAL_FILE_TEMP:Ljava/lang/String; invoke-direct {p1, p2, p3}, Ljava/io/File;->(Ljava/io/File;Ljava/lang/String;)V iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFileTmp:Ljava/io/File; .line 207 new-instance p1, Ljava/io/File; sget-object p3, Lokhttp3/internal/cache/DiskLruCache;->JOURNAL_FILE_BACKUP:Ljava/lang/String; invoke-direct {p1, p2, p3}, Ljava/io/File;->(Ljava/io/File;Ljava/lang/String;)V iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFileBackup:Ljava/io/File; return-void .line 203 :cond_75 new-instance p1, Ljava/lang/IllegalArgumentException; const-string p2, "valueCount <= 0" invoke-virtual {p2}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V check-cast p1, Ljava/lang/Throwable; throw p1 .line 202 :cond_83 new-instance p1, Ljava/lang/IllegalArgumentException; const-string p2, "maxSize <= 0" invoke-virtual {p2}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V check-cast p1, Ljava/lang/Throwable; throw p1 .end method .method public static final synthetic access$getHasJournalErrors$p(Lokhttp3/internal/cache/DiskLruCache;)Z .registers 1 .line 85 iget-boolean p0, p0, Lokhttp3/internal/cache/DiskLruCache;->hasJournalErrors:Z return p0 .end method .method public static final synthetic access$getInitialized$p(Lokhttp3/internal/cache/DiskLruCache;)Z .registers 1 .line 85 iget-boolean p0, p0, Lokhttp3/internal/cache/DiskLruCache;->initialized:Z return p0 .end method .method public static final synthetic access$getJournalWriter$p(Lokhttp3/internal/cache/DiskLruCache;)Lokio/BufferedSink; .registers 1 .line 85 iget-object p0, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink; return-object p0 .end method .method public static final synthetic access$getMostRecentRebuildFailed$p(Lokhttp3/internal/cache/DiskLruCache;)Z .registers 1 .line 85 iget-boolean p0, p0, Lokhttp3/internal/cache/DiskLruCache;->mostRecentRebuildFailed:Z return p0 .end method .method public static final synthetic access$getMostRecentTrimFailed$p(Lokhttp3/internal/cache/DiskLruCache;)Z .registers 1 .line 85 iget-boolean p0, p0, Lokhttp3/internal/cache/DiskLruCache;->mostRecentTrimFailed:Z return p0 .end method .method public static final synthetic access$getRedundantOpCount$p(Lokhttp3/internal/cache/DiskLruCache;)I .registers 1 .line 85 iget p0, p0, Lokhttp3/internal/cache/DiskLruCache;->redundantOpCount:I return p0 .end method .method public static final synthetic access$journalRebuildRequired(Lokhttp3/internal/cache/DiskLruCache;)Z .registers 1 .line 85 invoke-direct {p0}, Lokhttp3/internal/cache/DiskLruCache;->journalRebuildRequired()Z move-result p0 return p0 .end method .method public static final synthetic access$setHasJournalErrors$p(Lokhttp3/internal/cache/DiskLruCache;Z)V .registers 2 .line 85 iput-boolean p1, p0, Lokhttp3/internal/cache/DiskLruCache;->hasJournalErrors:Z return-void .end method .method public static final synthetic access$setInitialized$p(Lokhttp3/internal/cache/DiskLruCache;Z)V .registers 2 .line 85 iput-boolean p1, p0, Lokhttp3/internal/cache/DiskLruCache;->initialized:Z return-void .end method .method public static final synthetic access$setJournalWriter$p(Lokhttp3/internal/cache/DiskLruCache;Lokio/BufferedSink;)V .registers 2 .line 85 iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink; return-void .end method .method public static final synthetic access$setMostRecentRebuildFailed$p(Lokhttp3/internal/cache/DiskLruCache;Z)V .registers 2 .line 85 iput-boolean p1, p0, Lokhttp3/internal/cache/DiskLruCache;->mostRecentRebuildFailed:Z return-void .end method .method public static final synthetic access$setMostRecentTrimFailed$p(Lokhttp3/internal/cache/DiskLruCache;Z)V .registers 2 .line 85 iput-boolean p1, p0, Lokhttp3/internal/cache/DiskLruCache;->mostRecentTrimFailed:Z return-void .end method .method public static final synthetic access$setRedundantOpCount$p(Lokhttp3/internal/cache/DiskLruCache;I)V .registers 2 .line 85 iput p1, p0, Lokhttp3/internal/cache/DiskLruCache;->redundantOpCount:I return-void .end method .method private final declared-synchronized checkNotClosed()V .registers 3 monitor-enter p0 .line 614 :try_start_1 iget-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache;->closed:Z :try_end_3 .catchall {:try_start_1 .. :try_end_3} :catchall_15 if-nez v0, :cond_7 .line 615 monitor-exit p0 return-void .line 614 :cond_7 :try_start_7 const-string v0, "cache is closed" new-instance v1, Ljava/lang/IllegalStateException; invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V check-cast v1, Ljava/lang/Throwable; throw v1 :catchall_15 move-exception v0 monitor-exit p0 :try_end_17 .catchall {:try_start_7 .. :try_end_17} :catchall_15 throw v0 .end method .method public static synthetic edit$default(Lokhttp3/internal/cache/DiskLruCache;Ljava/lang/String;JILjava/lang/Object;)Lokhttp3/internal/cache/DiskLruCache$Editor; .registers 6 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation and-int/lit8 p4, p4, 0x2 if-eqz p4, :cond_6 .line 444 sget-wide p2, Lokhttp3/internal/cache/DiskLruCache;->ANY_SEQUENCE_NUMBER:J :cond_6 invoke-virtual {p0, p1, p2, p3}, Lokhttp3/internal/cache/DiskLruCache;->edit(Ljava/lang/String;J)Lokhttp3/internal/cache/DiskLruCache$Editor; move-result-object p0 return-object p0 .end method .method private final journalRebuildRequired()Z .registers 3 .line 568 iget v0, p0, Lokhttp3/internal/cache/DiskLruCache;->redundantOpCount:I const/16 v1, 0x7d0 if-lt v0, v1, :cond_10 iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap; invoke-virtual {v1}, Ljava/util/LinkedHashMap;->size()I move-result v1 if-lt v0, v1, :cond_10 const/4 v0, 0x1 goto :goto_11 :cond_10 const/4 v0, 0x0 :goto_11 return v0 .end method .method private final newJournalWriter()Lokio/BufferedSink; .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/FileNotFoundException; } .end annotation .line 297 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem; iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFile:Ljava/io/File; invoke-interface {v0, v1}, Lokhttp3/internal/io/FileSystem;->appendingSink(Ljava/io/File;)Lokio/Sink; move-result-object v0 .line 298 new-instance v1, Lokhttp3/internal/cache/FaultHidingSink; new-instance v2, Lokhttp3/internal/cache/DiskLruCache$newJournalWriter$faultHidingSink$1; invoke-direct {v2, p0}, Lokhttp3/internal/cache/DiskLruCache$newJournalWriter$faultHidingSink$1;->(Lokhttp3/internal/cache/DiskLruCache;)V check-cast v2, Lkotlin/jvm/functions/Function1; invoke-direct {v1, v0, v2}, Lokhttp3/internal/cache/FaultHidingSink;->(Lokio/Sink;Lkotlin/jvm/functions/Function1;)V .line 302 check-cast v1, Lokio/Sink; invoke-static {v1}, Lokio/Okio;->buffer(Lokio/Sink;)Lokio/BufferedSink; move-result-object v0 return-object v0 .end method .method private final processJournal()V .registers 10 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 356 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem; iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFileTmp:Ljava/io/File; invoke-interface {v0, v1}, Lokhttp3/internal/io/FileSystem;->delete(Ljava/io/File;)V .line 357 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap; invoke-virtual {v0}, Ljava/util/LinkedHashMap;->values()Ljava/util/Collection; move-result-object v0 invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; move-result-object v0 .line 358 :cond_11 :goto_11 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_6b .line 359 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 const-string v2, "i.next()" invoke-static {v1, v2}, Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V check-cast v1, Lokhttp3/internal/cache/DiskLruCache$Entry; .line 360 invoke-virtual {v1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getCurrentEditor$okhttp()Lokhttp3/internal/cache/DiskLruCache$Editor; move-result-object v2 const/4 v3, 0x0 if-nez v2, :cond_3b .line 361 iget v2, p0, Lokhttp3/internal/cache/DiskLruCache;->valueCount:I :goto_2b if-ge v3, v2, :cond_11 .line 362 iget-wide v4, p0, Lokhttp3/internal/cache/DiskLruCache;->size:J invoke-virtual {v1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getLengths$okhttp()[J move-result-object v6 aget-wide v7, v6, v3 add-long/2addr v4, v7 iput-wide v4, p0, Lokhttp3/internal/cache/DiskLruCache;->size:J add-int/lit8 v3, v3, 0x1 goto :goto_2b :cond_3b const/4 v2, 0x0 .line 365 move-object v4, v2 check-cast v4, Lokhttp3/internal/cache/DiskLruCache$Editor; invoke-virtual {v1, v2}, Lokhttp3/internal/cache/DiskLruCache$Entry;->setCurrentEditor$okhttp(Lokhttp3/internal/cache/DiskLruCache$Editor;)V .line 366 iget v2, p0, Lokhttp3/internal/cache/DiskLruCache;->valueCount:I :goto_44 if-ge v3, v2, :cond_67 .line 367 iget-object v4, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem; invoke-virtual {v1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getCleanFiles$okhttp()Ljava/util/List; move-result-object v5 invoke-interface {v5, v3}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v5 check-cast v5, Ljava/io/File; invoke-interface {v4, v5}, Lokhttp3/internal/io/FileSystem;->delete(Ljava/io/File;)V .line 368 iget-object v4, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem; invoke-virtual {v1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getDirtyFiles$okhttp()Ljava/util/List; move-result-object v5 invoke-interface {v5, v3}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v5 check-cast v5, Ljava/io/File; invoke-interface {v4, v5}, Lokhttp3/internal/io/FileSystem;->delete(Ljava/io/File;)V add-int/lit8 v3, v3, 0x1 goto :goto_44 .line 370 :cond_67 invoke-interface {v0}, Ljava/util/Iterator;->remove()V goto :goto_11 :cond_6b return-void .end method .method private final readJournal()V .registers 12 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 258 const-string v0, ", " .line 0 const-string v1, "unexpected journal header: [" .line 258 iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem; iget-object v3, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFile:Ljava/io/File; invoke-interface {v2, v3}, Lokhttp3/internal/io/FileSystem;->source(Ljava/io/File;)Lokio/Source; move-result-object v2 invoke-static {v2}, Lokio/Okio;->buffer(Lokio/Source;)Lokio/BufferedSource; move-result-object v2 check-cast v2, Ljava/io/Closeable; const/4 v3, 0x0 move-object v4, v3 check-cast v4, Ljava/lang/Throwable; :try_start_16 move-object v4, v2 check-cast v4, Lokio/BufferedSource; .line 259 invoke-interface {v4}, Lokio/BufferedSource;->readUtf8LineStrict()Ljava/lang/String; move-result-object v5 .line 260 invoke-interface {v4}, Lokio/BufferedSource;->readUtf8LineStrict()Ljava/lang/String; move-result-object v6 .line 261 invoke-interface {v4}, Lokio/BufferedSource;->readUtf8LineStrict()Ljava/lang/String; move-result-object v7 .line 262 invoke-interface {v4}, Lokio/BufferedSource;->readUtf8LineStrict()Ljava/lang/String; move-result-object v8 .line 263 invoke-interface {v4}, Lokio/BufferedSource;->readUtf8LineStrict()Ljava/lang/String; move-result-object v9 .line 269 sget-object v10, Lokhttp3/internal/cache/DiskLruCache;->MAGIC:Ljava/lang/String; invoke-static {v10, v5}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v10 if-eqz v10, :cond_88 sget-object v10, Lokhttp3/internal/cache/DiskLruCache;->VERSION_1:Ljava/lang/String; invoke-static {v10, v6}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v10 if-eqz v10, :cond_88 .line 267 iget v10, p0, Lokhttp3/internal/cache/DiskLruCache;->appVersion:I invoke-static {v10}, Ljava/lang/String;->valueOf(I)Ljava/lang/String; move-result-object v10 invoke-static {v10, v7}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v7 if-eqz v7, :cond_88 .line 268 iget v7, p0, Lokhttp3/internal/cache/DiskLruCache;->valueCount:I invoke-static {v7}, Ljava/lang/String;->valueOf(I)Ljava/lang/String; move-result-object v7 invoke-static {v7, v8}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v7 if-eqz v7, :cond_88 .line 269 move-object v7, v9 check-cast v7, Ljava/lang/CharSequence; invoke-interface {v7}, Ljava/lang/CharSequence;->length()I move-result v7 :try_end_5c .catchall {:try_start_16 .. :try_end_5c} :catchall_bb if-gtz v7, :cond_88 const/4 v0, 0x0 .line 277 :goto_5f :try_start_5f invoke-interface {v4}, Lokio/BufferedSource;->readUtf8LineStrict()Ljava/lang/String; move-result-object v1 invoke-direct {p0, v1}, Lokhttp3/internal/cache/DiskLruCache;->readJournalLine(Ljava/lang/String;)V :try_end_66 .catch Ljava/io/EOFException; {:try_start_5f .. :try_end_66} :catch_69 .catchall {:try_start_5f .. :try_end_66} :catchall_bb add-int/lit8 v0, v0, 0x1 goto :goto_5f .line 284 :catch_69 :try_start_69 iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap; invoke-virtual {v1}, Ljava/util/LinkedHashMap;->size()I move-result v1 sub-int/2addr v0, v1 iput v0, p0, Lokhttp3/internal/cache/DiskLruCache;->redundantOpCount:I .line 287 invoke-interface {v4}, Lokio/BufferedSource;->exhausted()Z move-result v0 if-nez v0, :cond_7c .line 288 invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->rebuildJournal$okhttp()V goto :goto_82 .line 290 :cond_7c invoke-direct {p0}, Lokhttp3/internal/cache/DiskLruCache;->newJournalWriter()Lokio/BufferedSink; move-result-object v0 iput-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink; .line 292 :goto_82 sget-object v0, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; :try_end_84 .catchall {:try_start_69 .. :try_end_84} :catchall_bb .line 258 invoke-static {v2, v3}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V return-void .line 270 :cond_88 :try_start_88 new-instance v3, Ljava/io/IOException; .line 271 new-instance v4, Ljava/lang/StringBuilder; invoke-direct {v4, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 const/16 v1, 0x5d invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 .line 270 invoke-direct {v3, v0}, Ljava/io/IOException;->(Ljava/lang/String;)V check-cast v3, Ljava/lang/Throwable; throw v3 :try_end_bb .catchall {:try_start_88 .. :try_end_bb} :catchall_bb :catchall_bb move-exception v0 .line 258 :try_start_bc throw v0 :try_end_bd .catchall {:try_start_bc .. :try_end_bd} :catchall_bd :catchall_bd move-exception v1 invoke-static {v2, v0}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V throw v1 .end method .method private final readJournalLine(Ljava/lang/String;)V .registers 21 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation move-object/from16 v0, p0 move-object/from16 v1, p1 .line 307 move-object v8, v1 check-cast v8, Ljava/lang/CharSequence; const/4 v6, 0x6 const/4 v7, 0x0 const/16 v3, 0x20 const/4 v4, 0x0 const/4 v5, 0x0 move-object v2, v8 invoke-static/range {v2 .. v7}, Lkotlin/text/StringsKt;->indexOf$default(Ljava/lang/CharSequence;CIZILjava/lang/Object;)I move-result v9 .line 308 const-string v10, "unexpected journal line: " const/4 v11, -0x1 if-eq v9, v11, :cond_f8 add-int/lit8 v12, v9, 0x1 const/4 v6, 0x4 const/4 v7, 0x0 const/16 v3, 0x20 const/4 v5, 0x0 move-object v2, v8 move v4, v12 .line 311 invoke-static/range {v2 .. v7}, Lkotlin/text/StringsKt;->indexOf$default(Ljava/lang/CharSequence;CIZILjava/lang/Object;)I move-result v2 .line 313 const-string v3, "(this as java.lang.String).substring(startIndex)" const-string v4, "null cannot be cast to non-null type java.lang.String" const/4 v5, 0x2 const/4 v6, 0x0 const/4 v7, 0x0 if-ne v2, v11, :cond_50 if-eqz v1, :cond_4a .line 314 invoke-virtual {v1, v12}, Ljava/lang/String;->substring(I)Ljava/lang/String; move-result-object v8 invoke-static {v8, v3}, Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V .line 315 sget-object v12, Lokhttp3/internal/cache/DiskLruCache;->REMOVE:Ljava/lang/String; invoke-virtual {v12}, Ljava/lang/String;->length()I move-result v13 if-ne v9, v13, :cond_5b invoke-static {v1, v12, v7, v5, v6}, Lkotlin/text/StringsKt;->startsWith$default(Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Z move-result v12 if-eqz v12, :cond_5b .line 316 iget-object v1, v0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap; invoke-virtual {v1, v8}, Ljava/util/LinkedHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; return-void .line 314 :cond_4a new-instance v1, Lkotlin/TypeCastException; invoke-direct {v1, v4}, Lkotlin/TypeCastException;->(Ljava/lang/String;)V throw v1 :cond_50 if-eqz v1, :cond_f2 .line 320 invoke-virtual {v1, v12, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String; move-result-object v8 const-string v12, "(this as java.lang.Strin\u2026ing(startIndex, endIndex)" invoke-static {v8, v12}, Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V .line 323 :cond_5b iget-object v12, v0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap; invoke-virtual {v12, v8}, Ljava/util/LinkedHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v12 check-cast v12, Lokhttp3/internal/cache/DiskLruCache$Entry; if-nez v12, :cond_71 .line 325 new-instance v12, Lokhttp3/internal/cache/DiskLruCache$Entry; invoke-direct {v12, v0, v8}, Lokhttp3/internal/cache/DiskLruCache$Entry;->(Lokhttp3/internal/cache/DiskLruCache;Ljava/lang/String;)V .line 326 iget-object v13, v0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap; check-cast v13, Ljava/util/Map; invoke-interface {v13, v8, v12}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; :cond_71 if-eq v2, v11, :cond_b3 .line 330 sget-object v8, Lokhttp3/internal/cache/DiskLruCache;->CLEAN:Ljava/lang/String; invoke-virtual {v8}, Ljava/lang/String;->length()I move-result v13 if-ne v9, v13, :cond_b3 invoke-static {v1, v8, v7, v5, v6}, Lkotlin/text/StringsKt;->startsWith$default(Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Z move-result v8 if-eqz v8, :cond_b3 const/4 v5, 0x1 add-int/2addr v2, v5 if-eqz v1, :cond_ad .line 331 invoke-virtual {v1, v2}, Ljava/lang/String;->substring(I)Ljava/lang/String; move-result-object v1 invoke-static {v1, v3}, Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V move-object v13, v1 check-cast v13, Ljava/lang/CharSequence; .line 332 new-array v14, v5, [C const/16 v1, 0x20 aput-char v1, v14, v7 const/16 v17, 0x6 const/16 v18, 0x0 const/4 v15, 0x0 const/16 v16, 0x0 invoke-static/range {v13 .. v18}, Lkotlin/text/StringsKt;->split$default(Ljava/lang/CharSequence;[CZIILjava/lang/Object;)Ljava/util/List; move-result-object v1 .line 333 invoke-virtual {v12, v5}, Lokhttp3/internal/cache/DiskLruCache$Entry;->setReadable$okhttp(Z)V .line 334 move-object v2, v6 check-cast v2, Lokhttp3/internal/cache/DiskLruCache$Editor; invoke-virtual {v12, v6}, Lokhttp3/internal/cache/DiskLruCache$Entry;->setCurrentEditor$okhttp(Lokhttp3/internal/cache/DiskLruCache$Editor;)V .line 335 invoke-virtual {v12, v1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->setLengths$okhttp(Ljava/util/List;)V goto :goto_dc .line 331 :cond_ad new-instance v1, Lkotlin/TypeCastException; invoke-direct {v1, v4}, Lkotlin/TypeCastException;->(Ljava/lang/String;)V throw v1 :cond_b3 if-ne v2, v11, :cond_cc .line 338 sget-object v3, Lokhttp3/internal/cache/DiskLruCache;->DIRTY:Ljava/lang/String; invoke-virtual {v3}, Ljava/lang/String;->length()I move-result v4 if-ne v9, v4, :cond_cc invoke-static {v1, v3, v7, v5, v6}, Lkotlin/text/StringsKt;->startsWith$default(Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Z move-result v3 if-eqz v3, :cond_cc .line 339 new-instance v1, Lokhttp3/internal/cache/DiskLruCache$Editor; invoke-direct {v1, v0, v12}, Lokhttp3/internal/cache/DiskLruCache$Editor;->(Lokhttp3/internal/cache/DiskLruCache;Lokhttp3/internal/cache/DiskLruCache$Entry;)V invoke-virtual {v12, v1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->setCurrentEditor$okhttp(Lokhttp3/internal/cache/DiskLruCache$Editor;)V goto :goto_dc :cond_cc if-ne v2, v11, :cond_dd .line 342 sget-object v2, Lokhttp3/internal/cache/DiskLruCache;->READ:Ljava/lang/String; invoke-virtual {v2}, Ljava/lang/String;->length()I move-result v3 if-ne v9, v3, :cond_dd invoke-static {v1, v2, v7, v5, v6}, Lkotlin/text/StringsKt;->startsWith$default(Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Z move-result v2 if-eqz v2, :cond_dd :goto_dc return-void .line 346 :cond_dd new-instance v2, Ljava/io/IOException; new-instance v3, Ljava/lang/StringBuilder; invoke-direct {v3, v10}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v2, v1}, Ljava/io/IOException;->(Ljava/lang/String;)V check-cast v2, Ljava/lang/Throwable; throw v2 .line 320 :cond_f2 new-instance v1, Lkotlin/TypeCastException; invoke-direct {v1, v4}, Lkotlin/TypeCastException;->(Ljava/lang/String;)V throw v1 .line 308 :cond_f8 new-instance v2, Ljava/io/IOException; new-instance v3, Ljava/lang/StringBuilder; invoke-direct {v3, v10}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v2, v1}, Ljava/io/IOException;->(Ljava/lang/String;)V check-cast v2, Ljava/lang/Throwable; throw v2 .end method .method private final validateKey(Ljava/lang/String;)V .registers 4 .line 684 sget-object v0, Lokhttp3/internal/cache/DiskLruCache;->LEGAL_KEY_PATTERN:Lkotlin/text/Regex; move-object v1, p1 check-cast v1, Ljava/lang/CharSequence; invoke-virtual {v0, v1}, Lkotlin/text/Regex;->matches(Ljava/lang/CharSequence;)Z move-result v0 if-eqz v0, :cond_c return-void :cond_c new-instance v0, Ljava/lang/StringBuilder; const-string v1, "keys must match regex [a-z0-9_-]{1,120}: \"" invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 const/16 v0, 0x22 invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 new-instance v0, Ljava/lang/IllegalArgumentException; invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V check-cast v0, Ljava/lang/Throwable; throw v0 .end method # virtual methods .method public declared-synchronized close()V .registers 7 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation monitor-enter p0 .line 632 :try_start_1 iget-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache;->initialized:Z const/4 v1, 0x1 if-eqz v0, :cond_5a iget-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache;->closed:Z if-eqz v0, :cond_b goto :goto_5a .line 638 :cond_b iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap; invoke-virtual {v0}, Ljava/util/LinkedHashMap;->values()Ljava/util/Collection; move-result-object v0 const-string v2, "lruEntries.values" invoke-static {v0, v2}, Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const/4 v2, 0x0 .line 998 new-array v3, v2, [Lokhttp3/internal/cache/DiskLruCache$Entry; invoke-interface {v0, v3}, Ljava/util/Collection;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; move-result-object v0 if-eqz v0, :cond_52 check-cast v0, [Lokhttp3/internal/cache/DiskLruCache$Entry; array-length v3, v0 :goto_22 if-ge v2, v3, :cond_3b aget-object v4, v0, v2 .line 639 invoke-virtual {v4}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getCurrentEditor$okhttp()Lokhttp3/internal/cache/DiskLruCache$Editor; move-result-object v5 if-eqz v5, :cond_38 .line 640 invoke-virtual {v4}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getCurrentEditor$okhttp()Lokhttp3/internal/cache/DiskLruCache$Editor; move-result-object v4 if-nez v4, :cond_35 invoke-static {}, Lkotlin/jvm/internal/Intrinsics;->throwNpe()V :cond_35 invoke-virtual {v4}, Lokhttp3/internal/cache/DiskLruCache$Editor;->abort()V :cond_38 add-int/lit8 v2, v2, 0x1 goto :goto_22 .line 644 :cond_3b invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->trimToSize()V .line 645 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink; if-nez v0, :cond_45 invoke-static {}, Lkotlin/jvm/internal/Intrinsics;->throwNpe()V :cond_45 invoke-interface {v0}, Lokio/BufferedSink;->close()V const/4 v0, 0x0 .line 646 move-object v2, v0 check-cast v2, Lokio/BufferedSink; iput-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink; .line 647 iput-boolean v1, p0, Lokhttp3/internal/cache/DiskLruCache;->closed:Z :try_end_50 .catchall {:try_start_1 .. :try_end_50} :catchall_5e .line 648 monitor-exit p0 return-void .line 998 :cond_52 :try_start_52 new-instance v0, Lkotlin/TypeCastException; const-string v1, "null cannot be cast to non-null type kotlin.Array" invoke-direct {v0, v1}, Lkotlin/TypeCastException;->(Ljava/lang/String;)V throw v0 .line 633 :cond_5a :goto_5a iput-boolean v1, p0, Lokhttp3/internal/cache/DiskLruCache;->closed:Z :try_end_5c .catchall {:try_start_52 .. :try_end_5c} :catchall_5e .line 634 monitor-exit p0 return-void :catchall_5e move-exception v0 :try_start_5f monitor-exit p0 :try_end_60 .catchall {:try_start_5f .. :try_end_60} :catchall_5e throw v0 .end method .method public final declared-synchronized completeEdit$okhttp(Lokhttp3/internal/cache/DiskLruCache$Editor;Z)V .registers 11 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation monitor-enter p0 :try_start_1 const-string v0, "editor" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V .line 502 invoke-virtual {p1}, Lokhttp3/internal/cache/DiskLruCache$Editor;->getEntry$okhttp()Lokhttp3/internal/cache/DiskLruCache$Entry; move-result-object v0 .line 503 invoke-virtual {v0}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getCurrentEditor$okhttp()Lokhttp3/internal/cache/DiskLruCache$Editor; move-result-object v1 invoke-static {v1, p1}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v1 if-eqz v1, :cond_133 const/4 v1, 0x0 if-eqz p2, :cond_67 .line 506 invoke-virtual {v0}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getReadable$okhttp()Z move-result v2 if-nez v2, :cond_67 .line 507 iget v2, p0, Lokhttp3/internal/cache/DiskLruCache;->valueCount:I move v3, v1 :goto_20 if-ge v3, v2, :cond_67 .line 508 invoke-virtual {p1}, Lokhttp3/internal/cache/DiskLruCache$Editor;->getWritten$okhttp()[Z move-result-object v4 if-nez v4, :cond_2b invoke-static {}, Lkotlin/jvm/internal/Intrinsics;->throwNpe()V :cond_2b aget-boolean v4, v4, v3 if-eqz v4, :cond_49 .line 512 iget-object v4, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem; invoke-virtual {v0}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getDirtyFiles$okhttp()Ljava/util/List; move-result-object v5 invoke-interface {v5, v3}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v5 check-cast v5, Ljava/io/File; invoke-interface {v4, v5}, Lokhttp3/internal/io/FileSystem;->exists(Ljava/io/File;)Z move-result v4 if-nez v4, :cond_46 .line 513 invoke-virtual {p1}, Lokhttp3/internal/cache/DiskLruCache$Editor;->abort()V :try_end_44 .catchall {:try_start_1 .. :try_end_44} :catchall_141 .line 514 monitor-exit p0 return-void :cond_46 add-int/lit8 v3, v3, 0x1 goto :goto_20 .line 509 :cond_49 :try_start_49 invoke-virtual {p1}, Lokhttp3/internal/cache/DiskLruCache$Editor;->abort()V .line 510 new-instance p1, Ljava/lang/IllegalStateException; new-instance p2, Ljava/lang/StringBuilder; invoke-direct {p2}, Ljava/lang/StringBuilder;->()V const-string v0, "Newly created entry didn\'t create value for index " invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V check-cast p1, Ljava/lang/Throwable; throw p1 .line 519 :cond_67 iget p1, p0, Lokhttp3/internal/cache/DiskLruCache;->valueCount:I :goto_69 if-ge v1, p1, :cond_af .line 520 invoke-virtual {v0}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getDirtyFiles$okhttp()Ljava/util/List; move-result-object v2 invoke-interface {v2, v1}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Ljava/io/File; if-eqz p2, :cond_a7 .line 522 iget-object v3, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem; invoke-interface {v3, v2}, Lokhttp3/internal/io/FileSystem;->exists(Ljava/io/File;)Z move-result v3 if-eqz v3, :cond_ac .line 523 invoke-virtual {v0}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getCleanFiles$okhttp()Ljava/util/List; move-result-object v3 invoke-interface {v3, v1}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Ljava/io/File; .line 524 iget-object v4, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem; invoke-interface {v4, v2, v3}, Lokhttp3/internal/io/FileSystem;->rename(Ljava/io/File;Ljava/io/File;)V .line 525 invoke-virtual {v0}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getLengths$okhttp()[J move-result-object v2 aget-wide v4, v2, v1 .line 526 iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem; invoke-interface {v2, v3}, Lokhttp3/internal/io/FileSystem;->size(Ljava/io/File;)J move-result-wide v2 .line 527 invoke-virtual {v0}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getLengths$okhttp()[J move-result-object v6 aput-wide v2, v6, v1 .line 528 iget-wide v6, p0, Lokhttp3/internal/cache/DiskLruCache;->size:J sub-long/2addr v6, v4 add-long/2addr v6, v2 iput-wide v6, p0, Lokhttp3/internal/cache/DiskLruCache;->size:J goto :goto_ac .line 531 :cond_a7 iget-object v3, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem; invoke-interface {v3, v2}, Lokhttp3/internal/io/FileSystem;->delete(Ljava/io/File;)V :cond_ac :goto_ac add-int/lit8 v1, v1, 0x1 goto :goto_69 .line 535 :cond_af iget p1, p0, Lokhttp3/internal/cache/DiskLruCache;->redundantOpCount:I const/4 v1, 0x1 add-int/2addr p1, v1 iput p1, p0, Lokhttp3/internal/cache/DiskLruCache;->redundantOpCount:I const/4 p1, 0x0 .line 536 move-object v2, p1 check-cast v2, Lokhttp3/internal/cache/DiskLruCache$Editor; invoke-virtual {v0, p1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->setCurrentEditor$okhttp(Lokhttp3/internal/cache/DiskLruCache$Editor;)V .line 537 iget-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink; if-nez p1, :cond_c3 invoke-static {}, Lkotlin/jvm/internal/Intrinsics;->throwNpe()V .line 538 :cond_c3 invoke-virtual {v0}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getReadable$okhttp()Z move-result v2 const/16 v3, 0xa const/16 v4, 0x20 if-nez v2, :cond_ed if-eqz p2, :cond_d0 goto :goto_ed .line 548 :cond_d0 iget-object p2, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap; invoke-virtual {v0}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getKey$okhttp()Ljava/lang/String; move-result-object v1 invoke-virtual {p2, v1}, Ljava/util/LinkedHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; .line 549 sget-object p2, Lokhttp3/internal/cache/DiskLruCache;->REMOVE:Ljava/lang/String; invoke-interface {p1, p2}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink; move-result-object p2 invoke-interface {p2, v4}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink; .line 550 invoke-virtual {v0}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getKey$okhttp()Ljava/lang/String; move-result-object p2 invoke-interface {p1, p2}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink; .line 551 invoke-interface {p1, v3}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink; goto :goto_112 .line 539 :cond_ed :goto_ed invoke-virtual {v0, v1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->setReadable$okhttp(Z)V .line 540 sget-object v1, Lokhttp3/internal/cache/DiskLruCache;->CLEAN:Ljava/lang/String; invoke-interface {p1, v1}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink; move-result-object v1 invoke-interface {v1, v4}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink; .line 541 invoke-virtual {v0}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getKey$okhttp()Ljava/lang/String; move-result-object v1 invoke-interface {p1, v1}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink; .line 542 invoke-virtual {v0, p1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->writeLengths$okhttp(Lokio/BufferedSink;)V .line 543 invoke-interface {p1, v3}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink; if-eqz p2, :cond_112 .line 545 iget-wide v1, p0, Lokhttp3/internal/cache/DiskLruCache;->nextSequenceNumber:J const-wide/16 v3, 0x1 add-long/2addr v3, v1 iput-wide v3, p0, Lokhttp3/internal/cache/DiskLruCache;->nextSequenceNumber:J invoke-virtual {v0, v1, v2}, Lokhttp3/internal/cache/DiskLruCache$Entry;->setSequenceNumber$okhttp(J)V .line 553 :cond_112 :goto_112 invoke-interface {p1}, Lokio/BufferedSink;->flush()V .line 556 iget-wide p1, p0, Lokhttp3/internal/cache/DiskLruCache;->size:J iget-wide v0, p0, Lokhttp3/internal/cache/DiskLruCache;->maxSize:J cmp-long p1, p1, v0 if-gtz p1, :cond_123 invoke-direct {p0}, Lokhttp3/internal/cache/DiskLruCache;->journalRebuildRequired()Z move-result p1 if-eqz p1, :cond_131 .line 557 :cond_123 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->cleanupQueue:Lokhttp3/internal/concurrent/TaskQueue; iget-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->cleanupTask:Lokhttp3/internal/cache/DiskLruCache$cleanupTask$1; move-object v1, p1 check-cast v1, Lokhttp3/internal/concurrent/Task; const/4 v4, 0x2 const/4 v5, 0x0 const-wide/16 v2, 0x0 invoke-static/range {v0 .. v5}, Lokhttp3/internal/concurrent/TaskQueue;->schedule$default(Lokhttp3/internal/concurrent/TaskQueue;Lokhttp3/internal/concurrent/Task;JILjava/lang/Object;)V :try_end_131 .catchall {:try_start_49 .. :try_end_131} :catchall_141 .line 559 :cond_131 monitor-exit p0 return-void .line 503 :cond_133 :try_start_133 const-string p1, "Check failed." new-instance p2, Ljava/lang/IllegalStateException; invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {p2, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V check-cast p2, Ljava/lang/Throwable; throw p2 :catchall_141 move-exception p1 monitor-exit p0 :try_end_143 .catchall {:try_start_133 .. :try_end_143} :catchall_141 throw p1 .end method .method public final delete()V .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 665 invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->close()V .line 666 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem; iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->directory:Ljava/io/File; invoke-interface {v0, v1}, Lokhttp3/internal/io/FileSystem;->deleteContents(Ljava/io/File;)V return-void .end method .method public final edit(Ljava/lang/String;)Lokhttp3/internal/cache/DiskLruCache$Editor; .registers 8 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const/4 v4, 0x2 const/4 v5, 0x0 const-wide/16 v2, 0x0 move-object v0, p0 move-object v1, p1 invoke-static/range {v0 .. v5}, Lokhttp3/internal/cache/DiskLruCache;->edit$default(Lokhttp3/internal/cache/DiskLruCache;Ljava/lang/String;JILjava/lang/Object;)Lokhttp3/internal/cache/DiskLruCache$Editor; move-result-object p1 return-object p1 .end method .method public final declared-synchronized edit(Ljava/lang/String;J)Lokhttp3/internal/cache/DiskLruCache$Editor; .registers 13 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation monitor-enter p0 :try_start_1 const-string v0, "key" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V .line 445 invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->initialize()V .line 447 invoke-direct {p0}, Lokhttp3/internal/cache/DiskLruCache;->checkNotClosed()V .line 448 invoke-direct {p0, p1}, Lokhttp3/internal/cache/DiskLruCache;->validateKey(Ljava/lang/String;)V .line 449 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap; invoke-virtual {v0, p1}, Ljava/util/LinkedHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Lokhttp3/internal/cache/DiskLruCache$Entry; .line 451 sget-wide v1, Lokhttp3/internal/cache/DiskLruCache;->ANY_SEQUENCE_NUMBER:J cmp-long v1, p2, v1 const/4 v2, 0x0 if-eqz v1, :cond_2a if-eqz v0, :cond_28 invoke-virtual {v0}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getSequenceNumber$okhttp()J move-result-wide v3 :try_end_24 .catchall {:try_start_1 .. :try_end_24} :catchall_8c cmp-long p2, v3, p2 if-eqz p2, :cond_2a .line 452 :cond_28 monitor-exit p0 return-object v2 :cond_2a if-eqz v0, :cond_31 .line 455 :try_start_2c invoke-virtual {v0}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getCurrentEditor$okhttp()Lokhttp3/internal/cache/DiskLruCache$Editor; move-result-object p2 :try_end_30 .catchall {:try_start_2c .. :try_end_30} :catchall_8c goto :goto_32 :cond_31 move-object p2, v2 :goto_32 if-eqz p2, :cond_36 .line 456 monitor-exit p0 return-object v2 .line 459 :cond_36 :try_start_36 iget-boolean p2, p0, Lokhttp3/internal/cache/DiskLruCache;->mostRecentTrimFailed:Z if-nez p2, :cond_7c iget-boolean p2, p0, Lokhttp3/internal/cache/DiskLruCache;->mostRecentRebuildFailed:Z if-eqz p2, :cond_3f goto :goto_7c .line 470 :cond_3f iget-object p2, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink; if-nez p2, :cond_46 invoke-static {}, Lkotlin/jvm/internal/Intrinsics;->throwNpe()V .line 471 :cond_46 sget-object p3, Lokhttp3/internal/cache/DiskLruCache;->DIRTY:Ljava/lang/String; invoke-interface {p2, p3}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink; move-result-object p3 const/16 v1, 0x20 .line 472 invoke-interface {p3, v1}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink; move-result-object p3 .line 473 invoke-interface {p3, p1}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink; move-result-object p3 const/16 v1, 0xa .line 474 invoke-interface {p3, v1}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink; .line 475 invoke-interface {p2}, Lokio/BufferedSink;->flush()V .line 477 iget-boolean p2, p0, Lokhttp3/internal/cache/DiskLruCache;->hasJournalErrors:Z :try_end_60 .catchall {:try_start_36 .. :try_end_60} :catchall_8c if-eqz p2, :cond_64 .line 478 monitor-exit p0 return-object v2 :cond_64 if-nez v0, :cond_72 .line 482 :try_start_66 new-instance v0, Lokhttp3/internal/cache/DiskLruCache$Entry; invoke-direct {v0, p0, p1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->(Lokhttp3/internal/cache/DiskLruCache;Ljava/lang/String;)V .line 483 iget-object p2, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap; check-cast p2, Ljava/util/Map; invoke-interface {p2, p1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 485 :cond_72 new-instance p1, Lokhttp3/internal/cache/DiskLruCache$Editor; invoke-direct {p1, p0, v0}, Lokhttp3/internal/cache/DiskLruCache$Editor;->(Lokhttp3/internal/cache/DiskLruCache;Lokhttp3/internal/cache/DiskLruCache$Entry;)V .line 486 invoke-virtual {v0, p1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->setCurrentEditor$okhttp(Lokhttp3/internal/cache/DiskLruCache$Editor;)V :try_end_7a .catchall {:try_start_66 .. :try_end_7a} :catchall_8c .line 487 monitor-exit p0 return-object p1 .line 465 :cond_7c :goto_7c :try_start_7c iget-object v3, p0, Lokhttp3/internal/cache/DiskLruCache;->cleanupQueue:Lokhttp3/internal/concurrent/TaskQueue; iget-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->cleanupTask:Lokhttp3/internal/cache/DiskLruCache$cleanupTask$1; move-object v4, p1 check-cast v4, Lokhttp3/internal/concurrent/Task; const/4 v7, 0x2 const/4 v8, 0x0 const-wide/16 v5, 0x0 invoke-static/range {v3 .. v8}, Lokhttp3/internal/concurrent/TaskQueue;->schedule$default(Lokhttp3/internal/concurrent/TaskQueue;Lokhttp3/internal/concurrent/Task;JILjava/lang/Object;)V :try_end_8a .catchall {:try_start_7c .. :try_end_8a} :catchall_8c .line 466 monitor-exit p0 return-object v2 :catchall_8c move-exception p1 :try_start_8d monitor-exit p0 :try_end_8e .catchall {:try_start_8d .. :try_end_8e} :catchall_8c throw p1 .end method .method public final declared-synchronized evictAll()V .registers 7 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation monitor-enter p0 .line 675 :try_start_1 invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->initialize()V .line 677 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap; invoke-virtual {v0}, Ljava/util/LinkedHashMap;->values()Ljava/util/Collection; move-result-object v0 const-string v1, "lruEntries.values" invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const/4 v1, 0x0 .line 1000 new-array v2, v1, [Lokhttp3/internal/cache/DiskLruCache$Entry; invoke-interface {v0, v2}, Ljava/util/Collection;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; move-result-object v0 if-eqz v0, :cond_2f check-cast v0, [Lokhttp3/internal/cache/DiskLruCache$Entry; array-length v2, v0 move v3, v1 :goto_1c if-ge v3, v2, :cond_2b aget-object v4, v0, v3 .line 678 const-string v5, "entry" invoke-static {v4, v5}, Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V invoke-virtual {p0, v4}, Lokhttp3/internal/cache/DiskLruCache;->removeEntry$okhttp(Lokhttp3/internal/cache/DiskLruCache$Entry;)Z add-int/lit8 v3, v3, 0x1 goto :goto_1c .line 680 :cond_2b iput-boolean v1, p0, Lokhttp3/internal/cache/DiskLruCache;->mostRecentTrimFailed:Z :try_end_2d .catchall {:try_start_1 .. :try_end_2d} :catchall_37 .line 681 monitor-exit p0 return-void .line 1000 :cond_2f :try_start_2f new-instance v0, Lkotlin/TypeCastException; const-string v1, "null cannot be cast to non-null type kotlin.Array" invoke-direct {v0, v1}, Lkotlin/TypeCastException;->(Ljava/lang/String;)V throw v0 :catchall_37 move-exception v0 monitor-exit p0 :try_end_39 .catchall {:try_start_2f .. :try_end_39} :catchall_37 throw v0 .end method .method public declared-synchronized flush()V .registers 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation monitor-enter p0 .line 620 :try_start_1 iget-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache;->initialized:Z :try_end_3 .catchall {:try_start_1 .. :try_end_3} :catchall_19 if-nez v0, :cond_7 monitor-exit p0 return-void .line 622 :cond_7 :try_start_7 invoke-direct {p0}, Lokhttp3/internal/cache/DiskLruCache;->checkNotClosed()V .line 623 invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->trimToSize()V .line 624 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink; if-nez v0, :cond_14 invoke-static {}, Lkotlin/jvm/internal/Intrinsics;->throwNpe()V :cond_14 invoke-interface {v0}, Lokio/BufferedSink;->flush()V :try_end_17 .catchall {:try_start_7 .. :try_end_17} :catchall_19 .line 625 monitor-exit p0 return-void :catchall_19 move-exception v0 :try_start_1a monitor-exit p0 :try_end_1b .catchall {:try_start_1a .. :try_end_1b} :catchall_19 throw v0 .end method .method public final declared-synchronized get(Ljava/lang/String;)Lokhttp3/internal/cache/DiskLruCache$Snapshot; .registers 9 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation monitor-enter p0 :try_start_1 const-string v0, "key" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V .line 421 invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->initialize()V .line 423 invoke-direct {p0}, Lokhttp3/internal/cache/DiskLruCache;->checkNotClosed()V .line 424 invoke-direct {p0, p1}, Lokhttp3/internal/cache/DiskLruCache;->validateKey(Ljava/lang/String;)V .line 425 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap; invoke-virtual {v0, p1}, Ljava/util/LinkedHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Lokhttp3/internal/cache/DiskLruCache$Entry; const/4 v1, 0x0 if-eqz v0, :cond_67 const-string v2, "lruEntries[key] ?: return null" invoke-static {v0, v2}, Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V .line 426 invoke-virtual {v0}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getReadable$okhttp()Z move-result v2 :try_end_23 .catchall {:try_start_1 .. :try_end_23} :catchall_69 if-nez v2, :cond_27 monitor-exit p0 return-object v1 .line 427 :cond_27 :try_start_27 invoke-virtual {v0}, Lokhttp3/internal/cache/DiskLruCache$Entry;->snapshot$okhttp()Lokhttp3/internal/cache/DiskLruCache$Snapshot; move-result-object v0 if-eqz v0, :cond_65 .line 429 iget v1, p0, Lokhttp3/internal/cache/DiskLruCache;->redundantOpCount:I add-int/lit8 v1, v1, 0x1 iput v1, p0, Lokhttp3/internal/cache/DiskLruCache;->redundantOpCount:I .line 430 iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink; if-nez v1, :cond_3a invoke-static {}, Lkotlin/jvm/internal/Intrinsics;->throwNpe()V :cond_3a sget-object v2, Lokhttp3/internal/cache/DiskLruCache;->READ:Ljava/lang/String; invoke-interface {v1, v2}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink; move-result-object v1 const/16 v2, 0x20 .line 431 invoke-interface {v1, v2}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink; move-result-object v1 .line 432 invoke-interface {v1, p1}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink; move-result-object p1 const/16 v1, 0xa .line 433 invoke-interface {p1, v1}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink; .line 434 invoke-direct {p0}, Lokhttp3/internal/cache/DiskLruCache;->journalRebuildRequired()Z move-result p1 if-eqz p1, :cond_63 .line 435 iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->cleanupQueue:Lokhttp3/internal/concurrent/TaskQueue; iget-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->cleanupTask:Lokhttp3/internal/cache/DiskLruCache$cleanupTask$1; move-object v2, p1 check-cast v2, Lokhttp3/internal/concurrent/Task; const/4 v5, 0x2 const/4 v6, 0x0 const-wide/16 v3, 0x0 invoke-static/range {v1 .. v6}, Lokhttp3/internal/concurrent/TaskQueue;->schedule$default(Lokhttp3/internal/concurrent/TaskQueue;Lokhttp3/internal/concurrent/Task;JILjava/lang/Object;)V :try_end_63 .catchall {:try_start_27 .. :try_end_63} :catchall_69 .line 438 :cond_63 monitor-exit p0 return-object v0 .line 427 :cond_65 monitor-exit p0 return-object v1 .line 425 :cond_67 monitor-exit p0 return-object v1 :catchall_69 move-exception p1 :try_start_6a monitor-exit p0 :try_end_6b .catchall {:try_start_6a .. :try_end_6b} :catchall_69 throw p1 .end method .method public final getClosed$okhttp()Z .registers 2 .line 161 iget-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache;->closed:Z return v0 .end method .method public final getDirectory()Ljava/io/File; .registers 2 .line 89 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->directory:Ljava/io/File; return-object v0 .end method .method public final getFileSystem$okhttp()Lokhttp3/internal/io/FileSystem; .registers 2 .line 86 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem; return-object v0 .end method .method public final getLruEntries$okhttp()Ljava/util/LinkedHashMap; .registers 2 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/LinkedHashMap<", "Ljava/lang/String;", "Lokhttp3/internal/cache/DiskLruCache$Entry;", ">;" } .end annotation .line 155 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap; return-object v0 .end method .method public final declared-synchronized getMaxSize()J .registers 3 monitor-enter p0 .line 102 :try_start_1 iget-wide v0, p0, Lokhttp3/internal/cache/DiskLruCache;->maxSize:J :try_end_3 .catchall {:try_start_1 .. :try_end_3} :catchall_5 monitor-exit p0 return-wide v0 :catchall_5 move-exception v0 :try_start_6 monitor-exit p0 :try_end_7 .catchall {:try_start_6 .. :try_end_7} :catchall_5 throw v0 .end method .method public final getValueCount$okhttp()I .registers 2 .line 93 iget v0, p0, Lokhttp3/internal/cache/DiskLruCache;->valueCount:I return v0 .end method .method public final declared-synchronized initialize()V .registers 6 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const-string v0, "DiskLruCache " const-string v1, "Thread " monitor-enter p0 .line 993 :try_start_5 sget-boolean v2, Lokhttp3/internal/Util;->assertionsEnabled:Z if-eqz v2, :cond_3c invoke-static {p0}, Ljava/lang/Thread;->holdsLock(Ljava/lang/Object;)Z move-result v2 if-eqz v2, :cond_10 goto :goto_3c .line 994 :cond_10 new-instance v0, Ljava/lang/AssertionError; new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread; move-result-object v1 const-string v3, "Thread.currentThread()" invoke-static {v1, v3}, Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V invoke-virtual {v1}, Ljava/lang/Thread;->getName()Ljava/lang/String; move-result-object v1 invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 const-string v2, " MUST hold lock on " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/AssertionError;->(Ljava/lang/Object;)V check-cast v0, Ljava/lang/Throwable; throw v0 .line 214 :cond_3c :goto_3c iget-boolean v1, p0, Lokhttp3/internal/cache/DiskLruCache;->initialized:Z :try_end_3e .catchall {:try_start_5 .. :try_end_3e} :catchall_be if-eqz v1, :cond_42 .line 215 monitor-exit p0 return-void .line 219 :cond_42 :try_start_42 iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem; iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFileBackup:Ljava/io/File; invoke-interface {v1, v2}, Lokhttp3/internal/io/FileSystem;->exists(Ljava/io/File;)Z move-result v1 if-eqz v1, :cond_67 .line 221 iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem; iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFile:Ljava/io/File; invoke-interface {v1, v2}, Lokhttp3/internal/io/FileSystem;->exists(Ljava/io/File;)Z move-result v1 if-eqz v1, :cond_5e .line 222 iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem; iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFileBackup:Ljava/io/File; invoke-interface {v1, v2}, Lokhttp3/internal/io/FileSystem;->delete(Ljava/io/File;)V goto :goto_67 .line 224 :cond_5e iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem; iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFileBackup:Ljava/io/File; iget-object v3, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFile:Ljava/io/File; invoke-interface {v1, v2, v3}, Lokhttp3/internal/io/FileSystem;->rename(Ljava/io/File;Ljava/io/File;)V .line 229 :cond_67 :goto_67 iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem; iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFile:Ljava/io/File; invoke-interface {v1, v2}, Lokhttp3/internal/io/FileSystem;->exists(Ljava/io/File;)Z move-result v1 :try_end_6f .catchall {:try_start_42 .. :try_end_6f} :catchall_be const/4 v2, 0x1 if-eqz v1, :cond_b7 .line 231 :try_start_72 invoke-direct {p0}, Lokhttp3/internal/cache/DiskLruCache;->readJournal()V .line 232 invoke-direct {p0}, Lokhttp3/internal/cache/DiskLruCache;->processJournal()V .line 233 iput-boolean v2, p0, Lokhttp3/internal/cache/DiskLruCache;->initialized:Z :try_end_7a .catch Ljava/io/IOException; {:try_start_72 .. :try_end_7a} :catch_7c .catchall {:try_start_72 .. :try_end_7a} :catchall_be .line 234 monitor-exit p0 return-void :catch_7c move-exception v1 .line 236 :try_start_7d sget-object v3, Lokhttp3/internal/platform/Platform;->Companion:Lokhttp3/internal/platform/Platform$Companion; invoke-virtual {v3}, Lokhttp3/internal/platform/Platform$Companion;->get()Lokhttp3/internal/platform/Platform; move-result-object v3 .line 237 new-instance v4, Ljava/lang/StringBuilder; invoke-direct {v4, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->directory:Ljava/io/File; invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v0 const-string v4, " is corrupt: " invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v1}, Ljava/io/IOException;->getMessage()Ljava/lang/String; move-result-object v4 invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 const-string v4, ", removing" invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 .line 239 check-cast v1, Ljava/lang/Throwable; const/4 v4, 0x5 .line 236 invoke-virtual {v3, v0, v4, v1}, Lokhttp3/internal/platform/Platform;->log(Ljava/lang/String;ILjava/lang/Throwable;)V :try_end_ac .catchall {:try_start_7d .. :try_end_ac} :catchall_be const/4 v0, 0x0 .line 245 :try_start_ad invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->delete()V :try_end_b0 .catchall {:try_start_ad .. :try_end_b0} :catchall_b3 .line 247 :try_start_b0 iput-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache;->closed:Z goto :goto_b7 :catchall_b3 move-exception v1 iput-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache;->closed:Z throw v1 .line 251 :cond_b7 :goto_b7 invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->rebuildJournal$okhttp()V .line 253 iput-boolean v2, p0, Lokhttp3/internal/cache/DiskLruCache;->initialized:Z :try_end_bc .catchall {:try_start_b0 .. :try_end_bc} :catchall_be .line 254 monitor-exit p0 return-void :catchall_be move-exception v0 :try_start_bf monitor-exit p0 :try_end_c0 .catchall {:try_start_bf .. :try_end_c0} :catchall_be throw v0 .end method .method public final declared-synchronized isClosed()Z .registers 2 monitor-enter p0 .line 627 :try_start_1 iget-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache;->closed:Z :try_end_3 .catchall {:try_start_1 .. :try_end_3} :catchall_5 monitor-exit p0 return v0 :catchall_5 move-exception v0 :try_start_6 monitor-exit p0 :try_end_7 .catchall {:try_start_6 .. :try_end_7} :catchall_5 throw v0 .end method .method public final declared-synchronized rebuildJournal$okhttp()V .registers 9 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation monitor-enter p0 .line 381 :try_start_1 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink; if-eqz v0, :cond_8 invoke-interface {v0}, Lokio/BufferedSink;->close()V .line 383 :cond_8 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem; iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFileTmp:Ljava/io/File; invoke-interface {v0, v1}, Lokhttp3/internal/io/FileSystem;->sink(Ljava/io/File;)Lokio/Sink; move-result-object v0 invoke-static {v0}, Lokio/Okio;->buffer(Lokio/Sink;)Lokio/BufferedSink; move-result-object v0 check-cast v0, Ljava/io/Closeable; const/4 v1, 0x0 move-object v2, v1 check-cast v2, Ljava/lang/Throwable; :try_end_1a .catchall {:try_start_1 .. :try_end_1a} :catchall_cd :try_start_1a move-object v2, v0 check-cast v2, Lokio/BufferedSink; .line 384 sget-object v3, Lokhttp3/internal/cache/DiskLruCache;->MAGIC:Ljava/lang/String; invoke-interface {v2, v3}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink; move-result-object v3 const/16 v4, 0xa invoke-interface {v3, v4}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink; .line 385 sget-object v3, Lokhttp3/internal/cache/DiskLruCache;->VERSION_1:Ljava/lang/String; invoke-interface {v2, v3}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink; move-result-object v3 invoke-interface {v3, v4}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink; .line 386 iget v3, p0, Lokhttp3/internal/cache/DiskLruCache;->appVersion:I int-to-long v5, v3 invoke-interface {v2, v5, v6}, Lokio/BufferedSink;->writeDecimalLong(J)Lokio/BufferedSink; move-result-object v3 invoke-interface {v3, v4}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink; .line 387 iget v3, p0, Lokhttp3/internal/cache/DiskLruCache;->valueCount:I int-to-long v5, v3 invoke-interface {v2, v5, v6}, Lokio/BufferedSink;->writeDecimalLong(J)Lokio/BufferedSink; move-result-object v3 invoke-interface {v3, v4}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink; .line 388 invoke-interface {v2, v4}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink; .line 390 iget-object v3, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap; invoke-virtual {v3}, Ljava/util/LinkedHashMap;->values()Ljava/util/Collection; move-result-object v3 invoke-interface {v3}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; move-result-object v3 :goto_52 invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z move-result v5 if-eqz v5, :cond_91 invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v5 check-cast v5, Lokhttp3/internal/cache/DiskLruCache$Entry; .line 391 invoke-virtual {v5}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getCurrentEditor$okhttp()Lokhttp3/internal/cache/DiskLruCache$Editor; move-result-object v6 const/16 v7, 0x20 if-eqz v6, :cond_7a .line 392 sget-object v6, Lokhttp3/internal/cache/DiskLruCache;->DIRTY:Ljava/lang/String; invoke-interface {v2, v6}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink; move-result-object v6 invoke-interface {v6, v7}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink; .line 393 invoke-virtual {v5}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getKey$okhttp()Ljava/lang/String; move-result-object v5 invoke-interface {v2, v5}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink; .line 394 invoke-interface {v2, v4}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink; goto :goto_52 .line 396 :cond_7a sget-object v6, Lokhttp3/internal/cache/DiskLruCache;->CLEAN:Ljava/lang/String; invoke-interface {v2, v6}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink; move-result-object v6 invoke-interface {v6, v7}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink; .line 397 invoke-virtual {v5}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getKey$okhttp()Ljava/lang/String; move-result-object v6 invoke-interface {v2, v6}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink; .line 398 invoke-virtual {v5, v2}, Lokhttp3/internal/cache/DiskLruCache$Entry;->writeLengths$okhttp(Lokio/BufferedSink;)V .line 399 invoke-interface {v2, v4}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink; goto :goto_52 .line 402 :cond_91 sget-object v2, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; :try_end_93 .catchall {:try_start_1a .. :try_end_93} :catchall_c6 .line 383 :try_start_93 invoke-static {v0, v1}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V .line 404 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem; iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFile:Ljava/io/File; invoke-interface {v0, v1}, Lokhttp3/internal/io/FileSystem;->exists(Ljava/io/File;)Z move-result v0 if-eqz v0, :cond_a9 .line 405 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem; iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFile:Ljava/io/File; iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFileBackup:Ljava/io/File; invoke-interface {v0, v1, v2}, Lokhttp3/internal/io/FileSystem;->rename(Ljava/io/File;Ljava/io/File;)V .line 407 :cond_a9 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem; iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFileTmp:Ljava/io/File; iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFile:Ljava/io/File; invoke-interface {v0, v1, v2}, Lokhttp3/internal/io/FileSystem;->rename(Ljava/io/File;Ljava/io/File;)V .line 408 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem; iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFileBackup:Ljava/io/File; invoke-interface {v0, v1}, Lokhttp3/internal/io/FileSystem;->delete(Ljava/io/File;)V .line 410 invoke-direct {p0}, Lokhttp3/internal/cache/DiskLruCache;->newJournalWriter()Lokio/BufferedSink; move-result-object v0 iput-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink; const/4 v0, 0x0 .line 411 iput-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache;->hasJournalErrors:Z .line 412 iput-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache;->mostRecentRebuildFailed:Z :try_end_c4 .catchall {:try_start_93 .. :try_end_c4} :catchall_cd .line 413 monitor-exit p0 return-void :catchall_c6 move-exception v1 .line 383 :try_start_c7 throw v1 :try_end_c8 .catchall {:try_start_c7 .. :try_end_c8} :catchall_c8 :catchall_c8 move-exception v2 :try_start_c9 invoke-static {v0, v1}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V throw v2 :catchall_cd move-exception v0 monitor-exit p0 :try_end_cf .catchall {:try_start_c9 .. :try_end_cf} :catchall_cd throw v0 .end method .method public final declared-synchronized remove(Ljava/lang/String;)Z .registers 7 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation monitor-enter p0 :try_start_1 const-string v0, "key" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V .line 579 invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->initialize()V .line 581 invoke-direct {p0}, Lokhttp3/internal/cache/DiskLruCache;->checkNotClosed()V .line 582 invoke-direct {p0, p1}, Lokhttp3/internal/cache/DiskLruCache;->validateKey(Ljava/lang/String;)V .line 583 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap; invoke-virtual {v0, p1}, Ljava/util/LinkedHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, Lokhttp3/internal/cache/DiskLruCache$Entry; const/4 v0, 0x0 if-eqz p1, :cond_31 const-string v1, "lruEntries[key] ?: return false" invoke-static {p1, v1}, Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V .line 584 invoke-virtual {p0, p1}, Lokhttp3/internal/cache/DiskLruCache;->removeEntry$okhttp(Lokhttp3/internal/cache/DiskLruCache$Entry;)Z move-result p1 if-eqz p1, :cond_2f .line 585 iget-wide v1, p0, Lokhttp3/internal/cache/DiskLruCache;->size:J iget-wide v3, p0, Lokhttp3/internal/cache/DiskLruCache;->maxSize:J cmp-long v1, v1, v3 if-gtz v1, :cond_2f iput-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache;->mostRecentTrimFailed:Z :try_end_2f .catchall {:try_start_1 .. :try_end_2f} :catchall_33 .line 586 :cond_2f monitor-exit p0 return p1 .line 583 :cond_31 monitor-exit p0 return v0 :catchall_33 move-exception p1 :try_start_34 monitor-exit p0 :try_end_35 .catchall {:try_start_34 .. :try_end_35} :catchall_33 throw p1 .end method .method public final removeEntry$okhttp(Lokhttp3/internal/cache/DiskLruCache$Entry;)Z .registers 10 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const-string v0, "entry" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V .line 591 invoke-virtual {p1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getCurrentEditor$okhttp()Lokhttp3/internal/cache/DiskLruCache$Editor; move-result-object v0 if-eqz v0, :cond_e invoke-virtual {v0}, Lokhttp3/internal/cache/DiskLruCache$Editor;->detach$okhttp()V .line 593 :cond_e iget v0, p0, Lokhttp3/internal/cache/DiskLruCache;->valueCount:I const/4 v1, 0x0 :goto_11 if-ge v1, v0, :cond_38 .line 594 iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem; invoke-virtual {p1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getCleanFiles$okhttp()Ljava/util/List; move-result-object v3 invoke-interface {v3, v1}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Ljava/io/File; invoke-interface {v2, v3}, Lokhttp3/internal/io/FileSystem;->delete(Ljava/io/File;)V .line 595 iget-wide v2, p0, Lokhttp3/internal/cache/DiskLruCache;->size:J invoke-virtual {p1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getLengths$okhttp()[J move-result-object v4 aget-wide v5, v4, v1 sub-long/2addr v2, v5 iput-wide v2, p0, Lokhttp3/internal/cache/DiskLruCache;->size:J .line 596 invoke-virtual {p1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getLengths$okhttp()[J move-result-object v2 const-wide/16 v3, 0x0 aput-wide v3, v2, v1 add-int/lit8 v1, v1, 0x1 goto :goto_11 .line 599 :cond_38 iget v0, p0, Lokhttp3/internal/cache/DiskLruCache;->redundantOpCount:I const/4 v1, 0x1 add-int/2addr v0, v1 iput v0, p0, Lokhttp3/internal/cache/DiskLruCache;->redundantOpCount:I .line 600 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink; if-nez v0, :cond_45 invoke-static {}, Lkotlin/jvm/internal/Intrinsics;->throwNpe()V :cond_45 sget-object v2, Lokhttp3/internal/cache/DiskLruCache;->REMOVE:Ljava/lang/String; invoke-interface {v0, v2}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink; move-result-object v0 const/16 v2, 0x20 .line 601 invoke-interface {v0, v2}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink; move-result-object v0 .line 602 invoke-virtual {p1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getKey$okhttp()Ljava/lang/String; move-result-object v2 invoke-interface {v0, v2}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink; move-result-object v0 const/16 v2, 0xa .line 603 invoke-interface {v0, v2}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink; .line 604 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap; invoke-virtual {p1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getKey$okhttp()Ljava/lang/String; move-result-object p1 invoke-virtual {v0, p1}, Ljava/util/LinkedHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; .line 606 invoke-direct {p0}, Lokhttp3/internal/cache/DiskLruCache;->journalRebuildRequired()Z move-result p1 if-eqz p1, :cond_7b .line 607 iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache;->cleanupQueue:Lokhttp3/internal/concurrent/TaskQueue; iget-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->cleanupTask:Lokhttp3/internal/cache/DiskLruCache$cleanupTask$1; move-object v3, p1 check-cast v3, Lokhttp3/internal/concurrent/Task; const/4 v6, 0x2 const/4 v7, 0x0 const-wide/16 v4, 0x0 invoke-static/range {v2 .. v7}, Lokhttp3/internal/concurrent/TaskQueue;->schedule$default(Lokhttp3/internal/concurrent/TaskQueue;Lokhttp3/internal/concurrent/Task;JILjava/lang/Object;)V :cond_7b return v1 .end method .method public final setClosed$okhttp(Z)V .registers 2 .line 161 iput-boolean p1, p0, Lokhttp3/internal/cache/DiskLruCache;->closed:Z return-void .end method .method public final declared-synchronized setMaxSize(J)V .registers 9 monitor-enter p0 .line 104 :try_start_1 iput-wide p1, p0, Lokhttp3/internal/cache/DiskLruCache;->maxSize:J .line 105 iget-boolean p1, p0, Lokhttp3/internal/cache/DiskLruCache;->initialized:Z if-eqz p1, :cond_15 .line 106 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->cleanupQueue:Lokhttp3/internal/concurrent/TaskQueue; iget-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->cleanupTask:Lokhttp3/internal/cache/DiskLruCache$cleanupTask$1; move-object v1, p1 check-cast v1, Lokhttp3/internal/concurrent/Task; const/4 v4, 0x2 const/4 v5, 0x0 const-wide/16 v2, 0x0 invoke-static/range {v0 .. v5}, Lokhttp3/internal/concurrent/TaskQueue;->schedule$default(Lokhttp3/internal/concurrent/TaskQueue;Lokhttp3/internal/concurrent/Task;JILjava/lang/Object;)V :try_end_15 .catchall {:try_start_1 .. :try_end_15} :catchall_17 .line 108 :cond_15 monitor-exit p0 return-void :catchall_17 move-exception p1 :try_start_18 monitor-exit p0 :try_end_19 .catchall {:try_start_18 .. :try_end_19} :catchall_17 throw p1 .end method .method public final declared-synchronized size()J .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation monitor-enter p0 .line 496 :try_start_1 invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->initialize()V .line 497 iget-wide v0, p0, Lokhttp3/internal/cache/DiskLruCache;->size:J :try_end_6 .catchall {:try_start_1 .. :try_end_6} :catchall_8 monitor-exit p0 return-wide v0 :catchall_8 move-exception v0 :try_start_9 monitor-exit p0 :try_end_a .catchall {:try_start_9 .. :try_end_a} :catchall_8 throw v0 .end method .method public final declared-synchronized snapshots()Ljava/util/Iterator; .registers 2 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Iterator<", "Lokhttp3/internal/cache/DiskLruCache$Snapshot;", ">;" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation monitor-enter p0 .line 702 :try_start_1 invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->initialize()V .line 703 new-instance v0, Lokhttp3/internal/cache/DiskLruCache$snapshots$1; invoke-direct {v0, p0}, Lokhttp3/internal/cache/DiskLruCache$snapshots$1;->(Lokhttp3/internal/cache/DiskLruCache;)V check-cast v0, Ljava/util/Iterator; :try_end_b .catchall {:try_start_1 .. :try_end_b} :catchall_d monitor-exit p0 return-object v0 :catchall_d move-exception v0 :try_start_e monitor-exit p0 :try_end_f .catchall {:try_start_e .. :try_end_f} :catchall_d throw v0 .end method .method public final trimToSize()V .registers 5 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 652 :goto_0 iget-wide v0, p0, Lokhttp3/internal/cache/DiskLruCache;->size:J iget-wide v2, p0, Lokhttp3/internal/cache/DiskLruCache;->maxSize:J cmp-long v0, v0, v2 if-lez v0, :cond_21 .line 653 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap; invoke-virtual {v0}, Ljava/util/LinkedHashMap;->values()Ljava/util/Collection; move-result-object v0 invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; move-result-object v0 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v0 const-string v1, "lruEntries.values.iterator().next()" invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V check-cast v0, Lokhttp3/internal/cache/DiskLruCache$Entry; .line 654 invoke-virtual {p0, v0}, Lokhttp3/internal/cache/DiskLruCache;->removeEntry$okhttp(Lokhttp3/internal/cache/DiskLruCache$Entry;)Z goto :goto_0 :cond_21 const/4 v0, 0x0 .line 656 iput-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache;->mostRecentTrimFailed:Z return-void .end method