Cache.smali
.class public final Lokhttp3/Cache;
.super Ljava/lang/Object;
# interfaces
.implements Ljava/io/Closeable;
.implements Ljava/io/Flushable;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lokhttp3/Cache$RealCacheRequest;,
Lokhttp3/Cache$Entry;,
Lokhttp3/Cache$CacheResponseBody;,
Lokhttp3/Cache$Companion;
}
.end annotation
# static fields
.field public static final l:Lokhttp3/Cache$Companion;
# instance fields
.field private final f:Lokhttp3/internal/cache/DiskLruCache;
.field private g:I
.field private h:I
.field private i:I
.field private j:I
.field private k:I
# direct methods
.method static constructor <clinit>()V
.registers 2
new-instance v0, Lokhttp3/Cache$Companion;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lokhttp3/Cache$Companion;-><init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
sput-object v0, Lokhttp3/Cache;->l:Lokhttp3/Cache$Companion;
return-void
.end method
.method public constructor <init>(Ljava/io/File;J)V
.registers 5
const-string v0, "directory"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->c(Ljava/lang/Object;Ljava/lang/String;)V
sget-object v0, Lokhttp3/internal/io/FileSystem;->a:Lokhttp3/internal/io/FileSystem;
invoke-direct {p0, p1, p2, p3, v0}, Lokhttp3/Cache;-><init>(Ljava/io/File;JLokhttp3/internal/io/FileSystem;)V
return-void
.end method
.method public constructor <init>(Ljava/io/File;JLokhttp3/internal/io/FileSystem;)V
.registers 14
const-string v0, "directory"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->c(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "fileSystem"
invoke-static {p4, v0}, Lkotlin/jvm/internal/Intrinsics;->c(Ljava/lang/Object;Ljava/lang/String;)V
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Lokhttp3/internal/cache/DiskLruCache;
sget-object v8, Lokhttp3/internal/concurrent/TaskRunner;->h:Lokhttp3/internal/concurrent/TaskRunner;
const v4, 0x31191
const/4 v5, 0x2
move-object v1, v0
move-object v2, p4
move-object v3, p1
move-wide v6, p2
invoke-direct/range {v1 .. v8}, Lokhttp3/internal/cache/DiskLruCache;-><init>(Lokhttp3/internal/io/FileSystem;Ljava/io/File;IIJLokhttp3/internal/concurrent/TaskRunner;)V
iput-object v0, p0, Lokhttp3/Cache;->f:Lokhttp3/internal/cache/DiskLruCache;
return-void
.end method
.method private final a(Lokhttp3/internal/cache/DiskLruCache$Editor;)V
.registers 2
if-eqz p1, :cond_5
:try_start_2
invoke-virtual {p1}, Lokhttp3/internal/cache/DiskLruCache$Editor;->a()V
:try_end_5
.catch Ljava/io/IOException; {:try_start_2 .. :try_end_5} :catch_5
:catch_5
:cond_5
return-void
.end method
# virtual methods
.method public final b(Lokhttp3/Request;)Lokhttp3/Response;
.registers 6
const-string v0, "request"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->c(Ljava/lang/Object;Ljava/lang/String;)V
sget-object v0, Lokhttp3/Cache;->l:Lokhttp3/Cache$Companion;
invoke-virtual {p1}, Lokhttp3/Request;->k()Lokhttp3/HttpUrl;
move-result-object v1
invoke-virtual {v0, v1}, Lokhttp3/Cache$Companion;->b(Lokhttp3/HttpUrl;)Ljava/lang/String;
move-result-object v0
const/4 v1, 0x0
:try_start_10
iget-object v2, p0, Lokhttp3/Cache;->f:Lokhttp3/internal/cache/DiskLruCache;
invoke-virtual {v2, v0}, Lokhttp3/internal/cache/DiskLruCache;->t(Ljava/lang/String;)Lokhttp3/internal/cache/DiskLruCache$Snapshot;
move-result-object v0
:try_end_16
.catch Ljava/io/IOException; {:try_start_10 .. :try_end_16} :catch_3a
if-eqz v0, :cond_3a
:try_start_18
new-instance v2, Lokhttp3/Cache$Entry;
const/4 v3, 0x0
invoke-virtual {v0, v3}, Lokhttp3/internal/cache/DiskLruCache$Snapshot;->b(I)Lokio/Source;
move-result-object v3
invoke-direct {v2, v3}, Lokhttp3/Cache$Entry;-><init>(Lokio/Source;)V
:try_end_22
.catch Ljava/io/IOException; {:try_start_18 .. :try_end_22} :catch_37
invoke-virtual {v2, v0}, Lokhttp3/Cache$Entry;->d(Lokhttp3/internal/cache/DiskLruCache$Snapshot;)Lokhttp3/Response;
move-result-object v0
invoke-virtual {v2, p1, v0}, Lokhttp3/Cache$Entry;->b(Lokhttp3/Request;Lokhttp3/Response;)Z
move-result p1
if-nez p1, :cond_36
invoke-virtual {v0}, Lokhttp3/Response;->a()Lokhttp3/ResponseBody;
move-result-object p1
if-eqz p1, :cond_35
invoke-static {p1}, Lokhttp3/internal/Util;->j(Ljava/io/Closeable;)V
:cond_35
return-object v1
:cond_36
return-object v0
:catch_37
invoke-static {v0}, Lokhttp3/internal/Util;->j(Ljava/io/Closeable;)V
:catch_3a
:cond_3a
return-object v1
.end method
.method public close()V
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object v0, p0, Lokhttp3/Cache;->f:Lokhttp3/internal/cache/DiskLruCache;
invoke-virtual {v0}, Lokhttp3/internal/cache/DiskLruCache;->close()V
return-void
.end method
.method public final d()I
.registers 2
iget v0, p0, Lokhttp3/Cache;->h:I
return v0
.end method
.method public final e()I
.registers 2
iget v0, p0, Lokhttp3/Cache;->g:I
return v0
.end method
.method public final f()J
.registers 3
iget-object v0, p0, Lokhttp3/Cache;->f:Lokhttp3/internal/cache/DiskLruCache;
invoke-virtual {v0}, Lokhttp3/internal/cache/DiskLruCache;->C()J
move-result-wide v0
return-wide v0
.end method
.method public flush()V
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object v0, p0, Lokhttp3/Cache;->f:Lokhttp3/internal/cache/DiskLruCache;
invoke-virtual {v0}, Lokhttp3/internal/cache/DiskLruCache;->flush()V
return-void
.end method
.method public final g(Lokhttp3/Response;)Lokhttp3/internal/cache/CacheRequest;
.registers 11
const-string v0, "response"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->c(Ljava/lang/Object;Ljava/lang/String;)V
invoke-virtual {p1}, Lokhttp3/Response;->E()Lokhttp3/Request;
move-result-object v0
invoke-virtual {v0}, Lokhttp3/Request;->h()Ljava/lang/String;
move-result-object v0
sget-object v1, Lokhttp3/internal/http/HttpMethod;->a:Lokhttp3/internal/http/HttpMethod;
invoke-virtual {p1}, Lokhttp3/Response;->E()Lokhttp3/Request;
move-result-object v2
invoke-virtual {v2}, Lokhttp3/Request;->h()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Lokhttp3/internal/http/HttpMethod;->a(Ljava/lang/String;)Z
move-result v1
const/4 v2, 0x0
if-eqz v1, :cond_26
:try_start_1e
invoke-virtual {p1}, Lokhttp3/Response;->E()Lokhttp3/Request;
move-result-object p1
invoke-virtual {p0, p1}, Lokhttp3/Cache;->j(Lokhttp3/Request;)V
:try_end_25
.catch Ljava/io/IOException; {:try_start_1e .. :try_end_25} :catch_25
:catch_25
return-object v2
:cond_26
const-string v1, "GET"
invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
xor-int/lit8 v0, v0, 0x1
if-eqz v0, :cond_31
return-object v2
:cond_31
sget-object v0, Lokhttp3/Cache;->l:Lokhttp3/Cache$Companion;
invoke-virtual {v0, p1}, Lokhttp3/Cache$Companion;->a(Lokhttp3/Response;)Z
move-result v0
if-eqz v0, :cond_3a
return-object v2
:cond_3a
new-instance v0, Lokhttp3/Cache$Entry;
invoke-direct {v0, p1}, Lokhttp3/Cache$Entry;-><init>(Lokhttp3/Response;)V
:try_start_3f
iget-object v3, p0, Lokhttp3/Cache;->f:Lokhttp3/internal/cache/DiskLruCache;
sget-object v1, Lokhttp3/Cache;->l:Lokhttp3/Cache$Companion;
invoke-virtual {p1}, Lokhttp3/Response;->E()Lokhttp3/Request;
move-result-object p1
invoke-virtual {p1}, Lokhttp3/Request;->k()Lokhttp3/HttpUrl;
move-result-object p1
invoke-virtual {v1, p1}, Lokhttp3/Cache$Companion;->b(Lokhttp3/HttpUrl;)Ljava/lang/String;
move-result-object v4
const-wide/16 v5, 0x0
const/4 v7, 0x2
const/4 v8, 0x0
invoke-static/range {v3 .. v8}, Lokhttp3/internal/cache/DiskLruCache;->s(Lokhttp3/internal/cache/DiskLruCache;Ljava/lang/String;JILjava/lang/Object;)Lokhttp3/internal/cache/DiskLruCache$Editor;
move-result-object p1
:try_end_57
.catch Ljava/io/IOException; {:try_start_3f .. :try_end_57} :catch_63
if-eqz p1, :cond_62
:try_start_59
invoke-virtual {v0, p1}, Lokhttp3/Cache$Entry;->f(Lokhttp3/internal/cache/DiskLruCache$Editor;)V
new-instance v0, Lokhttp3/Cache$RealCacheRequest;
invoke-direct {v0, p0, p1}, Lokhttp3/Cache$RealCacheRequest;-><init>(Lokhttp3/Cache;Lokhttp3/internal/cache/DiskLruCache$Editor;)V
:try_end_61
.catch Ljava/io/IOException; {:try_start_59 .. :try_end_61} :catch_64
return-object v0
:cond_62
return-object v2
:catch_63
move-object p1, v2
:catch_64
invoke-direct {p0, p1}, Lokhttp3/Cache;->a(Lokhttp3/internal/cache/DiskLruCache$Editor;)V
return-object v2
.end method
.method public final j(Lokhttp3/Request;)V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const-string v0, "request"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->c(Ljava/lang/Object;Ljava/lang/String;)V
iget-object v0, p0, Lokhttp3/Cache;->f:Lokhttp3/internal/cache/DiskLruCache;
sget-object v1, Lokhttp3/Cache;->l:Lokhttp3/Cache$Companion;
invoke-virtual {p1}, Lokhttp3/Request;->k()Lokhttp3/HttpUrl;
move-result-object p1
invoke-virtual {v1, p1}, Lokhttp3/Cache$Companion;->b(Lokhttp3/HttpUrl;)Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, p1}, Lokhttp3/internal/cache/DiskLruCache;->S(Ljava/lang/String;)Z
return-void
.end method
.method public final k(I)V
.registers 2
iput p1, p0, Lokhttp3/Cache;->h:I
return-void
.end method
.method public final n(I)V
.registers 2
iput p1, p0, Lokhttp3/Cache;->g:I
return-void
.end method
.method public final declared-synchronized o()V
.registers 2
monitor-enter p0
:try_start_1
iget v0, p0, Lokhttp3/Cache;->j:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lokhttp3/Cache;->j:I
:try_end_7
.catchall {:try_start_1 .. :try_end_7} :catchall_9
monitor-exit p0
return-void
:catchall_9
move-exception v0
monitor-exit p0
throw v0
.end method
.method public final declared-synchronized p(Lokhttp3/internal/cache/CacheStrategy;)V
.registers 3
monitor-enter p0
:try_start_1
const-string v0, "cacheStrategy"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->c(Ljava/lang/Object;Ljava/lang/String;)V
iget v0, p0, Lokhttp3/Cache;->k:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lokhttp3/Cache;->k:I
invoke-virtual {p1}, Lokhttp3/internal/cache/CacheStrategy;->b()Lokhttp3/Request;
move-result-object v0
if-eqz v0, :cond_19
iget p1, p0, Lokhttp3/Cache;->i:I
add-int/lit8 p1, p1, 0x1
iput p1, p0, Lokhttp3/Cache;->i:I
goto :goto_25
:cond_19
invoke-virtual {p1}, Lokhttp3/internal/cache/CacheStrategy;->a()Lokhttp3/Response;
move-result-object p1
if-eqz p1, :cond_25
iget p1, p0, Lokhttp3/Cache;->j:I
add-int/lit8 p1, p1, 0x1
iput p1, p0, Lokhttp3/Cache;->j:I
:try_end_25
.catchall {:try_start_1 .. :try_end_25} :catchall_27
:cond_25
:goto_25
monitor-exit p0
return-void
:catchall_27
move-exception p1
monitor-exit p0
throw p1
.end method
.method public final r(Lokhttp3/Response;Lokhttp3/Response;)V
.registers 4
const-string v0, "cached"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->c(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "network"
invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->c(Ljava/lang/Object;Ljava/lang/String;)V
new-instance v0, Lokhttp3/Cache$Entry;
invoke-direct {v0, p2}, Lokhttp3/Cache$Entry;-><init>(Lokhttp3/Response;)V
invoke-virtual {p1}, Lokhttp3/Response;->a()Lokhttp3/ResponseBody;
move-result-object p1
if-eqz p1, :cond_2e
check-cast p1, Lokhttp3/Cache$CacheResponseBody;
invoke-virtual {p1}, Lokhttp3/Cache$CacheResponseBody;->o()Lokhttp3/internal/cache/DiskLruCache$Snapshot;
move-result-object p1
const/4 p2, 0x0
:try_start_1c
invoke-virtual {p1}, Lokhttp3/internal/cache/DiskLruCache$Snapshot;->a()Lokhttp3/internal/cache/DiskLruCache$Editor;
move-result-object p2
if-eqz p2, :cond_29
invoke-virtual {v0, p2}, Lokhttp3/Cache$Entry;->f(Lokhttp3/internal/cache/DiskLruCache$Editor;)V
invoke-virtual {p2}, Lokhttp3/internal/cache/DiskLruCache$Editor;->b()V
:try_end_28
.catch Ljava/io/IOException; {:try_start_1c .. :try_end_28} :catch_2a
goto :goto_2d
:cond_29
return-void
:catch_2a
invoke-direct {p0, p2}, Lokhttp3/Cache;->a(Lokhttp3/internal/cache/DiskLruCache$Editor;)V
:goto_2d
return-void
:cond_2e
new-instance p1, Lkotlin/TypeCastException;
const-string p2, "null cannot be cast to non-null type okhttp3.Cache.CacheResponseBody"
invoke-direct {p1, p2}, Lkotlin/TypeCastException;-><init>(Ljava/lang/String;)V
throw p1
.end method