DiskLruCache$Editor.smali
.class public final Lokhttp3/internal/cache/DiskLruCache$Editor;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lokhttp3/internal/cache/DiskLruCache;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "Editor"
.end annotation
# instance fields
.field private done:Z
.field public final entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
.field public final synthetic this$0:Lokhttp3/internal/cache/DiskLruCache;
.field public final written:[Z
# direct methods
.method public constructor <init>(Lokhttp3/internal/cache/DiskLruCache;Lokhttp3/internal/cache/DiskLruCache$Entry;)V
.registers 3
.line 1
iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->this$0:Lokhttp3/internal/cache/DiskLruCache;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p2, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
.line 3
iget-boolean p2, p2, Lokhttp3/internal/cache/DiskLruCache$Entry;->readable:Z
if-eqz p2, :cond_d
const/4 p1, 0x0
goto :goto_11
:cond_d
iget p1, p1, Lokhttp3/internal/cache/DiskLruCache;->valueCount:I
new-array p1, p1, [Z
:goto_11
iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->written:[Z
return-void
.end method
# virtual methods
.method public abort()V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->this$0:Lokhttp3/internal/cache/DiskLruCache;
monitor-enter v0
.line 2
:try_start_3
iget-boolean v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->done:Z
if-nez v1, :cond_18
.line 3
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
iget-object v1, v1, Lokhttp3/internal/cache/DiskLruCache$Entry;->currentEditor:Lokhttp3/internal/cache/DiskLruCache$Editor;
if-ne v1, p0, :cond_13
.line 4
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->this$0:Lokhttp3/internal/cache/DiskLruCache;
const/4 v2, 0x0
invoke-virtual {v1, p0, v2}, Lokhttp3/internal/cache/DiskLruCache;->completeEdit(Lokhttp3/internal/cache/DiskLruCache$Editor;Z)V
:cond_13
const/4 v1, 0x1
.line 5
iput-boolean v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->done:Z
.line 6
monitor-exit v0
return-void
.line 7
:cond_18
new-instance v1, Ljava/lang/IllegalStateException;
invoke-direct {v1}, Ljava/lang/IllegalStateException;-><init>()V
throw v1
:catchall_1e
move-exception v1
.line 8
monitor-exit v0
:try_end_20
.catchall {:try_start_3 .. :try_end_20} :catchall_1e
throw v1
.end method
.method public abortUnlessCommitted()V
.registers 4
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->this$0:Lokhttp3/internal/cache/DiskLruCache;
monitor-enter v0
.line 2
:try_start_3
iget-boolean v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->done:Z
if-nez v1, :cond_13
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
iget-object v1, v1, Lokhttp3/internal/cache/DiskLruCache$Entry;->currentEditor:Lokhttp3/internal/cache/DiskLruCache$Editor;
:try_end_b
.catchall {:try_start_3 .. :try_end_b} :catchall_15
if-ne v1, p0, :cond_13
.line 3
:try_start_d
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->this$0:Lokhttp3/internal/cache/DiskLruCache;
const/4 v2, 0x0
invoke-virtual {v1, p0, v2}, Lokhttp3/internal/cache/DiskLruCache;->completeEdit(Lokhttp3/internal/cache/DiskLruCache$Editor;Z)V
:try_end_13
.catch Ljava/io/IOException; {:try_start_d .. :try_end_13} :catch_13
.catchall {:try_start_d .. :try_end_13} :catchall_15
.line 4
:catch_13
:cond_13
:try_start_13
monitor-exit v0
return-void
:catchall_15
move-exception v1
monitor-exit v0
:try_end_17
.catchall {:try_start_13 .. :try_end_17} :catchall_15
throw v1
.end method
.method public commit()V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->this$0:Lokhttp3/internal/cache/DiskLruCache;
monitor-enter v0
.line 2
:try_start_3
iget-boolean v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->done:Z
if-nez v1, :cond_17
.line 3
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
iget-object v1, v1, Lokhttp3/internal/cache/DiskLruCache$Entry;->currentEditor:Lokhttp3/internal/cache/DiskLruCache$Editor;
const/4 v2, 0x1
if-ne v1, p0, :cond_13
.line 4
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(Lokhttp3/internal/cache/DiskLruCache$Editor;Z)V
.line 5
:cond_13
iput-boolean v2, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->done:Z
.line 6
monitor-exit v0
return-void
.line 7
:cond_17
new-instance v1, Ljava/lang/IllegalStateException;
invoke-direct {v1}, Ljava/lang/IllegalStateException;-><init>()V
throw v1
:catchall_1d
move-exception v1
.line 8
monitor-exit v0
:try_end_1f
.catchall {:try_start_3 .. :try_end_1f} :catchall_1d
throw v1
.end method
.method public detach()V
.registers 4
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
iget-object v0, v0, Lokhttp3/internal/cache/DiskLruCache$Entry;->currentEditor:Lokhttp3/internal/cache/DiskLruCache$Editor;
if-ne v0, p0, :cond_20
const/4 v0, 0x0
.line 2
:goto_7
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->this$0:Lokhttp3/internal/cache/DiskLruCache;
iget v2, v1, Lokhttp3/internal/cache/DiskLruCache;->valueCount:I
if-ge v0, v2, :cond_1b
.line 3
:try_start_d
iget-object v1, v1, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem;
iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
iget-object v2, v2, Lokhttp3/internal/cache/DiskLruCache$Entry;->dirtyFiles:[Ljava/io/File;
aget-object v2, v2, v0
invoke-interface {v1, v2}, Lokhttp3/internal/io/FileSystem;->delete(Ljava/io/File;)V
:try_end_18
.catch Ljava/io/IOException; {:try_start_d .. :try_end_18} :catch_18
:catch_18
add-int/lit8 v0, v0, 0x1
goto :goto_7
.line 4
:cond_1b
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
const/4 v1, 0x0
iput-object v1, v0, Lokhttp3/internal/cache/DiskLruCache$Entry;->currentEditor:Lokhttp3/internal/cache/DiskLruCache$Editor;
:cond_20
return-void
.end method
.method public newSink(I)Lokio/v;
.registers 6
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->this$0:Lokhttp3/internal/cache/DiskLruCache;
monitor-enter v0
.line 2
:try_start_3
iget-boolean v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->done:Z
if-nez v1, :cond_3b
.line 3
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
iget-object v2, v1, Lokhttp3/internal/cache/DiskLruCache$Entry;->currentEditor:Lokhttp3/internal/cache/DiskLruCache$Editor;
if-eq v2, p0, :cond_16
.line 4
sget-object p1, Lokio/k;->a:Ljava/util/logging/Logger;
.line 5
new-instance p1, Lokio/l;
invoke-direct {p1}, Lokio/l;-><init>()V
.line 6
monitor-exit v0
return-object p1
.line 7
:cond_16
iget-boolean v2, v1, Lokhttp3/internal/cache/DiskLruCache$Entry;->readable:Z
if-nez v2, :cond_1f
.line 8
iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->written:[Z
const/4 v3, 0x1
aput-boolean v3, v2, p1
.line 9
:cond_1f
iget-object v1, v1, Lokhttp3/internal/cache/DiskLruCache$Entry;->dirtyFiles:[Ljava/io/File;
aget-object p1, v1, p1
:try_end_23
.catchall {:try_start_3 .. :try_end_23} :catchall_41
.line 10
:try_start_23
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->this$0:Lokhttp3/internal/cache/DiskLruCache;
iget-object v1, v1, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem;
invoke-interface {v1, p1}, Lokhttp3/internal/io/FileSystem;->sink(Ljava/io/File;)Lokio/v;
move-result-object p1
:try_end_2b
.catch Ljava/io/FileNotFoundException; {:try_start_23 .. :try_end_2b} :catch_32
.catchall {:try_start_23 .. :try_end_2b} :catchall_41
.line 11
:try_start_2b
new-instance v1, Lokhttp3/internal/cache/DiskLruCache$Editor$1;
invoke-direct {v1, p0, p1}, Lokhttp3/internal/cache/DiskLruCache$Editor$1;-><init>(Lokhttp3/internal/cache/DiskLruCache$Editor;Lokio/v;)V
monitor-exit v0
return-object v1
.line 12
:catch_32
sget-object p1, Lokio/k;->a:Ljava/util/logging/Logger;
.line 13
new-instance p1, Lokio/l;
invoke-direct {p1}, Lokio/l;-><init>()V
.line 14
monitor-exit v0
return-object p1
.line 15
:cond_3b
new-instance p1, Ljava/lang/IllegalStateException;
invoke-direct {p1}, Ljava/lang/IllegalStateException;-><init>()V
throw p1
:catchall_41
move-exception p1
.line 16
monitor-exit v0
:try_end_43
.catchall {:try_start_2b .. :try_end_43} :catchall_41
throw p1
.end method
.method public newSource(I)Lokio/w;
.registers 6
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->this$0:Lokhttp3/internal/cache/DiskLruCache;
monitor-enter v0
.line 2
:try_start_3
iget-boolean v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->done:Z
if-nez v1, :cond_25
.line 3
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
iget-boolean v2, v1, Lokhttp3/internal/cache/DiskLruCache$Entry;->readable:Z
const/4 v3, 0x0
if-eqz v2, :cond_23
iget-object v2, v1, Lokhttp3/internal/cache/DiskLruCache$Entry;->currentEditor:Lokhttp3/internal/cache/DiskLruCache$Editor;
:try_end_10
.catchall {:try_start_3 .. :try_end_10} :catchall_2b
if-eq v2, p0, :cond_13
goto :goto_23
.line 4
:cond_13
:try_start_13
iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->this$0:Lokhttp3/internal/cache/DiskLruCache;
iget-object v2, v2, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem;
iget-object v1, v1, Lokhttp3/internal/cache/DiskLruCache$Entry;->cleanFiles:[Ljava/io/File;
aget-object p1, v1, p1
invoke-interface {v2, p1}, Lokhttp3/internal/io/FileSystem;->source(Ljava/io/File;)Lokio/w;
move-result-object p1
:try_end_1f
.catch Ljava/io/FileNotFoundException; {:try_start_13 .. :try_end_1f} :catch_21
.catchall {:try_start_13 .. :try_end_1f} :catchall_2b
:try_start_1f
monitor-exit v0
return-object p1
.line 5
:catch_21
monitor-exit v0
return-object v3
.line 6
:cond_23
:goto_23
monitor-exit v0
return-object v3
.line 7
:cond_25
new-instance p1, Ljava/lang/IllegalStateException;
invoke-direct {p1}, Ljava/lang/IllegalStateException;-><init>()V
throw p1
:catchall_2b
move-exception p1
.line 8
monitor-exit v0
:try_end_2d
.catchall {:try_start_1f .. :try_end_2d} :catchall_2b
throw p1
.end method