DiskLruCache$Editor.smali
.class public final Lokhttp3/internal/cache/DiskLruCache$Editor;
.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 = "Editor"
.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$Editor\n*L\n1#1,991:1\n*E\n"
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {
0x1,
0x0,
0x3
}
d1 = {
"\u0000@\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0010\u000b\n\u0002\u0008\u0003\n\u0002\u0010\u0018\n\u0002\u0008\u0003\n\u0002\u0010\u0002\n\u0002\u0008\u0004\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0008\n\u0000\n\u0002\u0018\u0002\n\u0000\u0008\u0086\u0004\u0018\u00002\u00020\u0001B\u0013\u0008\u0000\u0012\n\u0010\u0002\u001a\u00060\u0003R\u00020\u0004\u00a2\u0006\u0002\u0010\u0005J\u0006\u0010\u000e\u001a\u00020\u000fJ\u0006\u0010\u0010\u001a\u00020\u000fJ\r\u0010\u0011\u001a\u00020\u000fH\u0000\u00a2\u0006\u0002\u0008\u0012J\u000e\u0010\u0013\u001a\u00020\u00142\u0006\u0010\u0015\u001a\u00020\u0016J\u0010\u0010\u0017\u001a\u0004\u0018\u00010\u00182\u0006\u0010\u0015\u001a\u00020\u0016R\u000e\u0010\u0006\u001a\u00020\u0007X\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u0018\u0010\u0002\u001a\u00060\u0003R\u00020\u0004X\u0080\u0004\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008\u0008\u0010\tR\u0016\u0010\n\u001a\u0004\u0018\u00010\u000bX\u0080\u0004\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008\u000c\u0010\r\u00a8\u0006\u0019"
}
d2 = {
"Lokhttp3/internal/cache/DiskLruCache$Editor;",
"",
"entry",
"Lokhttp3/internal/cache/DiskLruCache$Entry;",
"Lokhttp3/internal/cache/DiskLruCache;",
"(Lokhttp3/internal/cache/DiskLruCache;Lokhttp3/internal/cache/DiskLruCache$Entry;)V",
"done",
"",
"getEntry$okhttp",
"()Lokhttp3/internal/cache/DiskLruCache$Entry;",
"written",
"",
"getWritten$okhttp",
"()[Z",
"abort",
"",
"commit",
"detach",
"detach$okhttp",
"newSink",
"Lokio/Sink;",
"index",
"",
"newSource",
"Lokio/Source;",
"okhttp"
}
k = 0x1
mv = {
0x1,
0x1,
0x10
}
.end annotation
# instance fields
.field private done:Z
.field private final entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
.field final synthetic this$0:Lokhttp3/internal/cache/DiskLruCache;
.field private final written:[Z
# direct methods
.method public constructor <init>(Lokhttp3/internal/cache/DiskLruCache;Lokhttp3/internal/cache/DiskLruCache$Entry;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lokhttp3/internal/cache/DiskLruCache$Entry;",
")V"
}
.end annotation
const-string v0, "entry"
invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V
.line 785
iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->this$0:Lokhttp3/internal/cache/DiskLruCache;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p2, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
.line 786
invoke-virtual {p2}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getReadable$okhttp()Z
move-result p2
if-eqz p2, :cond_14
const/4 p1, 0x0
goto :goto_1a
:cond_14
invoke-virtual {p1}, Lokhttp3/internal/cache/DiskLruCache;->getValueCount$okhttp()I
move-result p1
new-array p1, p1, [Z
:goto_1a
iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->written:[Z
return-void
.end method
# virtual methods
.method public final abort()V
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 876
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->this$0:Lokhttp3/internal/cache/DiskLruCache;
monitor-enter v0
.line 877
:try_start_3
iget-boolean v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->done:Z
const/4 v2, 0x1
xor-int/2addr v1, v2
if-eqz v1, :cond_24
.line 878
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
invoke-virtual {v1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getCurrentEditor$okhttp()Lokhttp3/internal/cache/DiskLruCache$Editor;
move-result-object v1
move-object v3, p0
check-cast v3, Lokhttp3/internal/cache/DiskLruCache$Editor;
invoke-static {v1, v3}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_1e
.line 879
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->this$0:Lokhttp3/internal/cache/DiskLruCache;
const/4 v3, 0x0
invoke-virtual {v1, p0, v3}, Lokhttp3/internal/cache/DiskLruCache;->completeEdit$okhttp(Lokhttp3/internal/cache/DiskLruCache$Editor;Z)V
.line 881
:cond_1e
iput-boolean v2, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->done:Z
.line 882
sget-object v1, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit;
:try_end_22
.catchall {:try_start_3 .. :try_end_22} :catchall_32
.line 876
monitor-exit v0
return-void
:cond_24
:try_start_24
const-string v1, "Check failed."
.line 877
new-instance v2, Ljava/lang/IllegalStateException;
invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v2, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
check-cast v2, Ljava/lang/Throwable;
throw v2
:try_end_32
.catchall {:try_start_24 .. :try_end_32} :catchall_32
:catchall_32
move-exception v1
.line 876
monitor-exit v0
throw v1
.end method
.method public final commit()V
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 861
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->this$0:Lokhttp3/internal/cache/DiskLruCache;
monitor-enter v0
.line 862
:try_start_3
iget-boolean v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->done:Z
const/4 v2, 0x1
xor-int/2addr v1, v2
if-eqz v1, :cond_23
.line 863
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
invoke-virtual {v1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getCurrentEditor$okhttp()Lokhttp3/internal/cache/DiskLruCache$Editor;
move-result-object v1
move-object v3, p0
check-cast v3, Lokhttp3/internal/cache/DiskLruCache$Editor;
invoke-static {v1, v3}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_1d
.line 864
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->this$0:Lokhttp3/internal/cache/DiskLruCache;
invoke-virtual {v1, p0, v2}, Lokhttp3/internal/cache/DiskLruCache;->completeEdit$okhttp(Lokhttp3/internal/cache/DiskLruCache$Editor;Z)V
.line 866
:cond_1d
iput-boolean v2, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->done:Z
.line 867
sget-object v1, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit;
:try_end_21
.catchall {:try_start_3 .. :try_end_21} :catchall_31
.line 861
monitor-exit v0
return-void
:cond_23
:try_start_23
const-string v1, "Check failed."
.line 862
new-instance v2, Ljava/lang/IllegalStateException;
invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v2, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
check-cast v2, Ljava/lang/Throwable;
throw v2
:try_end_31
.catchall {:try_start_23 .. :try_end_31} :catchall_31
:catchall_31
move-exception v1
.line 861
monitor-exit v0
throw v1
.end method
.method public final detach$okhttp()V
.registers 5
.line 796
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
invoke-virtual {v0}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getCurrentEditor$okhttp()Lokhttp3/internal/cache/DiskLruCache$Editor;
move-result-object v0
move-object v1, p0
check-cast v1, Lokhttp3/internal/cache/DiskLruCache$Editor;
invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_38
const/4 v0, 0x0
.line 797
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->this$0:Lokhttp3/internal/cache/DiskLruCache;
invoke-virtual {v1}, Lokhttp3/internal/cache/DiskLruCache;->getValueCount$okhttp()I
move-result v1
:goto_16
if-ge v0, v1, :cond_30
.line 799
:try_start_18
iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->this$0:Lokhttp3/internal/cache/DiskLruCache;
invoke-virtual {v2}, Lokhttp3/internal/cache/DiskLruCache;->getFileSystem$okhttp()Lokhttp3/internal/io/FileSystem;
move-result-object v2
iget-object v3, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
invoke-virtual {v3}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getDirtyFiles$okhttp()Ljava/util/List;
move-result-object v3
invoke-interface {v3, v0}, 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
:try_end_2d
.catch Ljava/io/IOException; {:try_start_18 .. :try_end_2d} :catch_2d
:catch_2d
add-int/lit8 v0, v0, 0x1
goto :goto_16
.line 804
:cond_30
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
const/4 v1, 0x0
check-cast v1, Lokhttp3/internal/cache/DiskLruCache$Editor;
invoke-virtual {v0, v1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->setCurrentEditor$okhttp(Lokhttp3/internal/cache/DiskLruCache$Editor;)V
:cond_38
return-void
.end method
.method public final getEntry$okhttp()Lokhttp3/internal/cache/DiskLruCache$Entry;
.registers 2
.line 785
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
return-object v0
.end method
.method public final getWritten$okhttp()[Z
.registers 2
.line 786
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->written:[Z
return-object v0
.end method
.method public final newSink(I)Lokio/Sink;
.registers 6
.line 832
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->this$0:Lokhttp3/internal/cache/DiskLruCache;
monitor-enter v0
.line 833
:try_start_3
iget-boolean v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->done:Z
const/4 v2, 0x1
xor-int/2addr v1, v2
if-eqz v1, :cond_5c
.line 834
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
invoke-virtual {v1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getCurrentEditor$okhttp()Lokhttp3/internal/cache/DiskLruCache$Editor;
move-result-object v1
move-object v3, p0
check-cast v3, Lokhttp3/internal/cache/DiskLruCache$Editor;
invoke-static {v1, v3}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v1
xor-int/2addr v1, v2
if-eqz v1, :cond_1f
.line 835
invoke-static {}, Lokio/Okio;->blackhole()Lokio/Sink;
move-result-object p1
:try_end_1d
.catchall {:try_start_3 .. :try_end_1d} :catchall_6a
monitor-exit v0
return-object p1
.line 837
:cond_1f
:try_start_1f
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
invoke-virtual {v1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getReadable$okhttp()Z
move-result v1
if-nez v1, :cond_30
.line 838
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->written:[Z
if-nez v1, :cond_2e
invoke-static {}, Lkotlin/jvm/internal/Intrinsics;->throwNpe()V
:cond_2e
aput-boolean v2, v1, p1
.line 840
:cond_30
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
invoke-virtual {v1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getDirtyFiles$okhttp()Ljava/util/List;
move-result-object v1
invoke-interface {v1, p1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/io/File;
:try_end_3c
.catchall {:try_start_1f .. :try_end_3c} :catchall_6a
.line 843
:try_start_3c
iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->this$0:Lokhttp3/internal/cache/DiskLruCache;
invoke-virtual {v2}, Lokhttp3/internal/cache/DiskLruCache;->getFileSystem$okhttp()Lokhttp3/internal/io/FileSystem;
move-result-object v2
invoke-interface {v2, v1}, Lokhttp3/internal/io/FileSystem;->sink(Ljava/io/File;)Lokio/Sink;
move-result-object v1
:try_end_46
.catch Ljava/io/FileNotFoundException; {:try_start_3c .. :try_end_46} :catch_56
.catchall {:try_start_3c .. :try_end_46} :catchall_6a
.line 847
:try_start_46
new-instance v2, Lokhttp3/internal/cache/FaultHidingSink;
new-instance v3, Lokhttp3/internal/cache/DiskLruCache$Editor$newSink$$inlined$synchronized$lambda$1;
invoke-direct {v3, p0, p1}, Lokhttp3/internal/cache/DiskLruCache$Editor$newSink$$inlined$synchronized$lambda$1;-><init>(Lokhttp3/internal/cache/DiskLruCache$Editor;I)V
check-cast v3, Lkotlin/jvm/functions/Function1;
invoke-direct {v2, v1, v3}, Lokhttp3/internal/cache/FaultHidingSink;-><init>(Lokio/Sink;Lkotlin/jvm/functions/Function1;)V
check-cast v2, Lokio/Sink;
:try_end_54
.catchall {:try_start_46 .. :try_end_54} :catchall_6a
monitor-exit v0
return-object v2
.line 845
:catch_56
:try_start_56
invoke-static {}, Lokio/Okio;->blackhole()Lokio/Sink;
move-result-object p1
:try_end_5a
.catchall {:try_start_56 .. :try_end_5a} :catchall_6a
monitor-exit v0
return-object p1
:cond_5c
:try_start_5c
const-string p1, "Check failed."
.line 833
new-instance v1, Ljava/lang/IllegalStateException;
invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v1, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
check-cast v1, Ljava/lang/Throwable;
throw v1
:try_end_6a
.catchall {:try_start_5c .. :try_end_6a} :catchall_6a
:catchall_6a
move-exception p1
.line 832
monitor-exit v0
throw p1
.end method
.method public final newSource(I)Lokio/Source;
.registers 6
.line 813
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->this$0:Lokhttp3/internal/cache/DiskLruCache;
monitor-enter v0
.line 814
:try_start_3
iget-boolean v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->done:Z
xor-int/lit8 v1, v1, 0x1
if-eqz v1, :cond_3e
.line 815
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
invoke-virtual {v1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getReadable$okhttp()Z
move-result v1
const/4 v2, 0x0
if-eqz v1, :cond_3c
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
invoke-virtual {v1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getCurrentEditor$okhttp()Lokhttp3/internal/cache/DiskLruCache$Editor;
move-result-object v1
move-object v3, p0
check-cast v3, Lokhttp3/internal/cache/DiskLruCache$Editor;
invoke-static {v1, v3}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v1
:try_end_1f
.catchall {:try_start_3 .. :try_end_1f} :catchall_4c
xor-int/lit8 v1, v1, 0x1
if-eqz v1, :cond_24
goto :goto_3c
.line 819
:cond_24
:try_start_24
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->this$0:Lokhttp3/internal/cache/DiskLruCache;
invoke-virtual {v1}, Lokhttp3/internal/cache/DiskLruCache;->getFileSystem$okhttp()Lokhttp3/internal/io/FileSystem;
move-result-object v1
iget-object v3, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
invoke-virtual {v3}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getCleanFiles$okhttp()Ljava/util/List;
move-result-object v3
invoke-interface {v3, p1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/io/File;
invoke-interface {v1, p1}, Lokhttp3/internal/io/FileSystem;->source(Ljava/io/File;)Lokio/Source;
move-result-object v2
:try_end_3a
.catch Ljava/io/FileNotFoundException; {:try_start_24 .. :try_end_3a} :catch_3a
.catchall {:try_start_24 .. :try_end_3a} :catchall_4c
.line 818
:catch_3a
monitor-exit v0
return-object v2
.line 816
:cond_3c
:goto_3c
monitor-exit v0
return-object v2
:cond_3e
:try_start_3e
const-string p1, "Check failed."
.line 814
new-instance v1, Ljava/lang/IllegalStateException;
invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v1, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
check-cast v1, Ljava/lang/Throwable;
throw v1
:try_end_4c
.catchall {:try_start_3e .. :try_end_4c} :catchall_4c
:catchall_4c
move-exception p1
.line 813
monitor-exit v0
throw p1
.end method