.class public final Lokhttp3/internal/cache/DiskLruCache$Entry; .super Ljava/lang/Object; .source "DiskLruCache.kt" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lokhttp3/internal/cache/DiskLruCache; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x11 name = "Entry" .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$Entry\n+ 2 Util.kt\nokhttp3/internal/Util\n*L\n1#1,992:1\n573#2,4:993\n*E\n*S KotlinDebug\n*F\n+ 1 DiskLruCache.kt\nokhttp3/internal/cache/DiskLruCache$Entry\n*L\n953#1,4:993\n*E\n" .end annotation .annotation runtime Lkotlin/Metadata; bv = { 0x1, 0x0, 0x3 } d1 = { "\u0000f\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u000e\n\u0002\u0008\u0002\n\u0002\u0010!\n\u0002\u0018\u0002\n\u0002\u0008\u0003\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0008\t\n\u0002\u0010\u0016\n\u0002\u0008\u0003\n\u0002\u0010\u000b\n\u0002\u0008\u0005\n\u0002\u0010\t\n\u0002\u0008\u0005\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010 \n\u0000\n\u0002\u0010\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0003\n\u0002\u0018\u0002\n\u0002\u0008\u0002\u0008\u0080\u0004\u0018\u00002\u00020\u0001B\u000f\u0008\u0000\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u00a2\u0006\u0002\u0010\u0004J\u0016\u0010%\u001a\u00020&2\u000c\u0010\'\u001a\u0008\u0012\u0004\u0012\u00020\u00030(H\u0002J\u001b\u0010)\u001a\u00020*2\u000c\u0010\'\u001a\u0008\u0012\u0004\u0012\u00020\u00030(H\u0000\u00a2\u0006\u0002\u0008+J\u0013\u0010,\u001a\u0008\u0018\u00010-R\u00020\u000cH\u0000\u00a2\u0006\u0002\u0008.J\u0015\u0010/\u001a\u00020*2\u0006\u00100\u001a\u000201H\u0000\u00a2\u0006\u0002\u00082R\u001a\u0010\u0005\u001a\u0008\u0012\u0004\u0012\u00020\u00070\u0006X\u0080\u0004\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008\u0008\u0010\tR \u0010\n\u001a\u0008\u0018\u00010\u000bR\u00020\u000cX\u0080\u000e\u00a2\u0006\u000e\n\u0000\u001a\u0004\u0008\r\u0010\u000e\"\u0004\u0008\u000f\u0010\u0010R\u001a\u0010\u0011\u001a\u0008\u0012\u0004\u0012\u00020\u00070\u0006X\u0080\u0004\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008\u0012\u0010\tR\u0014\u0010\u0002\u001a\u00020\u0003X\u0080\u0004\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008\u0013\u0010\u0014R\u0014\u0010\u0015\u001a\u00020\u0016X\u0080\u0004\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008\u0017\u0010\u0018R\u001a\u0010\u0019\u001a\u00020\u001aX\u0080\u000e\u00a2\u0006\u000e\n\u0000\u001a\u0004\u0008\u001b\u0010\u001c\"\u0004\u0008\u001d\u0010\u001eR\u001a\u0010\u001f\u001a\u00020 X\u0080\u000e\u00a2\u0006\u000e\n\u0000\u001a\u0004\u0008!\u0010\"\"\u0004\u0008#\u0010$\u00a8\u00063" } d2 = { "Lokhttp3/internal/cache/DiskLruCache$Entry;", "", "key", "", "(Lokhttp3/internal/cache/DiskLruCache;Ljava/lang/String;)V", "cleanFiles", "", "Ljava/io/File;", "getCleanFiles$okhttp", "()Ljava/util/List;", "currentEditor", "Lokhttp3/internal/cache/DiskLruCache$Editor;", "Lokhttp3/internal/cache/DiskLruCache;", "getCurrentEditor$okhttp", "()Lokhttp3/internal/cache/DiskLruCache$Editor;", "setCurrentEditor$okhttp", "(Lokhttp3/internal/cache/DiskLruCache$Editor;)V", "dirtyFiles", "getDirtyFiles$okhttp", "getKey$okhttp", "()Ljava/lang/String;", "lengths", "", "getLengths$okhttp", "()[J", "readable", "", "getReadable$okhttp", "()Z", "setReadable$okhttp", "(Z)V", "sequenceNumber", "", "getSequenceNumber$okhttp", "()J", "setSequenceNumber$okhttp", "(J)V", "invalidLengths", "Ljava/io/IOException;", "strings", "", "setLengths", "", "setLengths$okhttp", "snapshot", "Lokhttp3/internal/cache/DiskLruCache$Snapshot;", "snapshot$okhttp", "writeLengths", "writer", "Lokio/BufferedSink;", "writeLengths$okhttp", "okhttp" } k = 0x1 mv = { 0x1, 0x1, 0x10 } .end annotation # instance fields .field private final cleanFiles:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Ljava/io/File;", ">;" } .end annotation .end field .field private currentEditor:Lokhttp3/internal/cache/DiskLruCache$Editor; .field private final dirtyFiles:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Ljava/io/File;", ">;" } .end annotation .end field .field private final key:Ljava/lang/String; .field private final lengths:[J .field private readable:Z .field private sequenceNumber:J .field final synthetic this$0:Lokhttp3/internal/cache/DiskLruCache; # direct methods .method public constructor (Lokhttp3/internal/cache/DiskLruCache;Ljava/lang/String;)V .registers 10 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", ")V" } .end annotation const-string v0, "key" invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V .line 887 iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->this$0:Lokhttp3/internal/cache/DiskLruCache; invoke-direct {p0}, Ljava/lang/Object;->()V iput-object p2, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->key:Ljava/lang/String; .line 892 invoke-virtual {p1}, Lokhttp3/internal/cache/DiskLruCache;->getValueCount$okhttp()I move-result v0 new-array v0, v0, [J iput-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->lengths:[J .line 893 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V check-cast v0, Ljava/util/List; iput-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->cleanFiles:Ljava/util/List; .line 894 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V check-cast v0, Ljava/util/List; iput-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->dirtyFiles:Ljava/util/List; .line 907 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0, p2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V const/16 p2, 0x2e invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object p2 .line 908 invoke-virtual {p2}, Ljava/lang/StringBuilder;->length()I move-result v0 .line 909 invoke-virtual {p1}, Lokhttp3/internal/cache/DiskLruCache;->getValueCount$okhttp()I move-result v1 const/4 v2, 0x0 :goto_3a if-ge v2, v1, :cond_72 .line 910 invoke-virtual {p2, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; .line 911 iget-object v3, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->cleanFiles:Ljava/util/List; check-cast v3, Ljava/util/Collection; new-instance v4, Ljava/io/File; invoke-virtual {p1}, Lokhttp3/internal/cache/DiskLruCache;->getDirectory()Ljava/io/File; move-result-object v5 invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v6 invoke-direct {v4, v5, v6}, Ljava/io/File;->(Ljava/io/File;Ljava/lang/String;)V invoke-interface {v3, v4}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z .line 912 const-string v3, ".tmp" invoke-virtual {p2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 913 iget-object v3, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->dirtyFiles:Ljava/util/List; check-cast v3, Ljava/util/Collection; new-instance v4, Ljava/io/File; invoke-virtual {p1}, Lokhttp3/internal/cache/DiskLruCache;->getDirectory()Ljava/io/File; move-result-object v5 invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v6 invoke-direct {v4, v5, v6}, Ljava/io/File;->(Ljava/io/File;Ljava/lang/String;)V invoke-interface {v3, v4}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z .line 914 invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->setLength(I)V add-int/lit8 v2, v2, 0x1 goto :goto_3a :cond_72 return-void .end method .method private final invalidLengths(Ljava/util/List;)Ljava/io/IOException; .registers 5 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/List<", "Ljava/lang/String;", ">;)", "Ljava/io/IOException;" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 944 new-instance v0, Ljava/io/IOException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "unexpected journal line: " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Ljava/io/IOException;->(Ljava/lang/String;)V check-cast v0, Ljava/lang/Throwable; throw v0 .end method # virtual methods .method public final getCleanFiles$okhttp()Ljava/util/List; .registers 2 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/List<", "Ljava/io/File;", ">;" } .end annotation .line 893 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->cleanFiles:Ljava/util/List; return-object v0 .end method .method public final getCurrentEditor$okhttp()Lokhttp3/internal/cache/DiskLruCache$Editor; .registers 2 .line 900 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->currentEditor:Lokhttp3/internal/cache/DiskLruCache$Editor; return-object v0 .end method .method public final getDirtyFiles$okhttp()Ljava/util/List; .registers 2 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/List<", "Ljava/io/File;", ">;" } .end annotation .line 894 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->dirtyFiles:Ljava/util/List; return-object v0 .end method .method public final getKey$okhttp()Ljava/lang/String; .registers 2 .line 888 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->key:Ljava/lang/String; return-object v0 .end method .method public final getLengths$okhttp()[J .registers 2 .line 892 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->lengths:[J return-object v0 .end method .method public final getReadable$okhttp()Z .registers 2 .line 897 iget-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->readable:Z return v0 .end method .method public final getSequenceNumber$okhttp()J .registers 3 .line 903 iget-wide v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->sequenceNumber:J return-wide v0 .end method .method public final setCurrentEditor$okhttp(Lokhttp3/internal/cache/DiskLruCache$Editor;)V .registers 2 .line 900 iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->currentEditor:Lokhttp3/internal/cache/DiskLruCache$Editor; return-void .end method .method public final setLengths$okhttp(Ljava/util/List;)V .registers 7 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/List<", "Ljava/lang/String;", ">;)V" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const-string v0, "strings" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V .line 921 invoke-interface {p1}, Ljava/util/List;->size()I move-result v0 iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->this$0:Lokhttp3/internal/cache/DiskLruCache; invoke-virtual {v1}, Lokhttp3/internal/cache/DiskLruCache;->getValueCount$okhttp()I move-result v1 if-ne v0, v1, :cond_34 .line 926 :try_start_11 move-object v0, p1 check-cast v0, Ljava/util/Collection; invoke-interface {v0}, Ljava/util/Collection;->size()I move-result v0 const/4 v1, 0x0 :goto_19 if-ge v1, v0, :cond_2c .line 927 iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->lengths:[J invoke-interface {p1, v1}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Ljava/lang/String; invoke-static {v3}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J move-result-wide v3 aput-wide v3, v2, v1 :try_end_29 .catch Ljava/lang/NumberFormatException; {:try_start_11 .. :try_end_29} :catch_2d add-int/lit8 v1, v1, 0x1 goto :goto_19 :cond_2c return-void .line 930 :catch_2d invoke-direct {p0, p1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->invalidLengths(Ljava/util/List;)Ljava/io/IOException; move-result-object p1 check-cast p1, Ljava/lang/Throwable; throw p1 .line 922 :cond_34 invoke-direct {p0, p1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->invalidLengths(Ljava/util/List;)Ljava/io/IOException; move-result-object p1 check-cast p1, Ljava/lang/Throwable; throw p1 .end method .method public final setReadable$okhttp(Z)V .registers 2 .line 897 iput-boolean p1, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->readable:Z return-void .end method .method public final setSequenceNumber$okhttp(J)V .registers 3 .line 903 iput-wide p1, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->sequenceNumber:J return-void .end method .method public final snapshot$okhttp()Lokhttp3/internal/cache/DiskLruCache$Snapshot; .registers 10 .line 953 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->this$0:Lokhttp3/internal/cache/DiskLruCache; .line 993 sget-boolean v1, Lokhttp3/internal/Util;->assertionsEnabled:Z if-eqz v1, :cond_3b invoke-static {v0}, Ljava/lang/Thread;->holdsLock(Ljava/lang/Object;)Z move-result v1 if-eqz v1, :cond_d goto :goto_3b .line 994 :cond_d new-instance v1, Ljava/lang/AssertionError; new-instance v2, Ljava/lang/StringBuilder; const-string v3, "Thread " invoke-direct {v2, v3}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread; move-result-object v3 const-string v4, "Thread.currentThread()" invoke-static {v3, v4}, Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V invoke-virtual {v3}, Ljava/lang/Thread;->getName()Ljava/lang/String; move-result-object v3 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 const-string v3, " MUST hold lock on " invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {v1, v0}, Ljava/lang/AssertionError;->(Ljava/lang/Object;)V check-cast v1, Ljava/lang/Throwable; throw v1 .line 955 :cond_3b :goto_3b new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V check-cast v0, Ljava/util/List; .line 956 iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->lengths:[J invoke-virtual {v1}, Ljava/lang/Object;->clone()Ljava/lang/Object; move-result-object v1 move-object v7, v1 check-cast v7, [J .line 958 :try_start_4b iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->this$0:Lokhttp3/internal/cache/DiskLruCache; invoke-virtual {v1}, Lokhttp3/internal/cache/DiskLruCache;->getValueCount$okhttp()I move-result v1 const/4 v2, 0x0 :goto_52 if-ge v2, v1, :cond_6f .line 959 move-object v3, v0 check-cast v3, Ljava/util/Collection; iget-object v4, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->this$0:Lokhttp3/internal/cache/DiskLruCache; invoke-virtual {v4}, Lokhttp3/internal/cache/DiskLruCache;->getFileSystem$okhttp()Lokhttp3/internal/io/FileSystem; move-result-object v4 iget-object v5, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->cleanFiles:Ljava/util/List; invoke-interface {v5, v2}, 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;->source(Ljava/io/File;)Lokio/Source; move-result-object v4 invoke-interface {v3, v4}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z add-int/lit8 v2, v2, 0x1 goto :goto_52 .line 961 :cond_6f new-instance v8, Lokhttp3/internal/cache/DiskLruCache$Snapshot; iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->this$0:Lokhttp3/internal/cache/DiskLruCache; iget-object v3, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->key:Ljava/lang/String; iget-wide v4, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->sequenceNumber:J move-object v1, v8 move-object v6, v0 invoke-direct/range {v1 .. v7}, Lokhttp3/internal/cache/DiskLruCache$Snapshot;->(Lokhttp3/internal/cache/DiskLruCache;Ljava/lang/String;JLjava/util/List;[J)V :try_end_7c .catch Ljava/io/FileNotFoundException; {:try_start_4b .. :try_end_7c} :catch_7d return-object v8 .line 964 :catch_7d invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_81 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_93 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lokio/Source; .line 965 check-cast v1, Ljava/io/Closeable; invoke-static {v1}, Lokhttp3/internal/Util;->closeQuietly(Ljava/io/Closeable;)V goto :goto_81 .line 970 :cond_93 :try_start_93 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->this$0:Lokhttp3/internal/cache/DiskLruCache; invoke-virtual {v0, p0}, Lokhttp3/internal/cache/DiskLruCache;->removeEntry$okhttp(Lokhttp3/internal/cache/DiskLruCache$Entry;)Z :try_end_98 .catch Ljava/io/IOException; {:try_start_93 .. :try_end_98} :catch_98 :catch_98 const/4 v0, 0x0 return-object v0 .end method .method public final writeLengths$okhttp(Lokio/BufferedSink;)V .registers 8 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const-string v0, "writer" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V .line 937 iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->lengths:[J array-length v1, v0 const/4 v2, 0x0 :goto_9 if-ge v2, v1, :cond_19 aget-wide v3, v0, v2 const/16 v5, 0x20 .line 938 invoke-interface {p1, v5}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink; move-result-object v5 invoke-interface {v5, v3, v4}, Lokio/BufferedSink;->writeDecimalLong(J)Lokio/BufferedSink; add-int/lit8 v2, v2, 0x1 goto :goto_9 :cond_19 return-void .end method