This commit is contained in:
2022-06-10 21:38:30 +09:00
commit 27f5152838
51323 changed files with 12934539 additions and 0 deletions
@@ -0,0 +1,391 @@
.class public final Lokhttp3/internal/cache/CacheInterceptor$Companion;
.super Ljava/lang/Object;
.source "CacheInterceptor.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lokhttp3/internal/cache/CacheInterceptor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Companion"
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {
0x1,
0x0,
0x3
}
d1 = {
"\u0000*\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0003\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u000e\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\u0008\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\u0008\u0002\u00a2\u0006\u0002\u0010\u0002J\u0018\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u00042\u0006\u0010\u0006\u001a\u00020\u0004H\u0002J\u0010\u0010\u0007\u001a\u00020\u00082\u0006\u0010\t\u001a\u00020\nH\u0002J\u0010\u0010\u000b\u001a\u00020\u00082\u0006\u0010\t\u001a\u00020\nH\u0002J\u0014\u0010\u000c\u001a\u0004\u0018\u00010\r2\u0008\u0010\u000e\u001a\u0004\u0018\u00010\rH\u0002\u00a8\u0006\u000f"
}
d2 = {
"Lokhttp3/internal/cache/CacheInterceptor$Companion;",
"",
"()V",
"combine",
"Lokhttp3/Headers;",
"cachedHeaders",
"networkHeaders",
"isContentSpecificHeader",
"",
"fieldName",
"",
"isEndToEnd",
"stripBody",
"Lokhttp3/Response;",
"response",
"okhttp"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public synthetic constructor <init>(Lkotlin/jvm/internal/u;)V
.locals 0
.line 2
invoke-direct {p0}, Lokhttp3/internal/cache/CacheInterceptor$Companion;-><init>()V
return-void
.end method
.method public static final synthetic access$combine(Lokhttp3/internal/cache/CacheInterceptor$Companion;Lokhttp3/Headers;Lokhttp3/Headers;)Lokhttp3/Headers;
.locals 0
.line 1
invoke-direct {p0, p1, p2}, Lokhttp3/internal/cache/CacheInterceptor$Companion;->combine(Lokhttp3/Headers;Lokhttp3/Headers;)Lokhttp3/Headers;
move-result-object p0
return-object p0
.end method
.method public static final synthetic access$stripBody(Lokhttp3/internal/cache/CacheInterceptor$Companion;Lokhttp3/Response;)Lokhttp3/Response;
.locals 0
.line 1
invoke-direct {p0, p1}, Lokhttp3/internal/cache/CacheInterceptor$Companion;->stripBody(Lokhttp3/Response;)Lokhttp3/Response;
move-result-object p0
return-object p0
.end method
.method private final combine(Lokhttp3/Headers;Lokhttp3/Headers;)Lokhttp3/Headers;
.locals 9
.line 1
new-instance v0, Lokhttp3/Headers$Builder;
invoke-direct {v0}, Lokhttp3/Headers$Builder;-><init>()V
.line 2
invoke-virtual {p1}, Lokhttp3/Headers;->size()I
move-result v1
const/4 v2, 0x0
move v3, v2
:goto_0
if-ge v3, v1, :cond_3
.line 3
invoke-virtual {p1, v3}, Lokhttp3/Headers;->name(I)Ljava/lang/String;
move-result-object v4
.line 4
invoke-virtual {p1, v3}, Lokhttp3/Headers;->value(I)Ljava/lang/String;
move-result-object v5
const-string v6, "Warning"
const/4 v7, 0x1
.line 5
invoke-static {v6, v4, v7}, Lkotlin/text/u;->K1(Ljava/lang/String;Ljava/lang/String;Z)Z
move-result v6
if-eqz v6, :cond_0
const/4 v6, 0x2
const/4 v7, 0x0
const-string v8, "1"
invoke-static {v5, v8, v2, v6, v7}, Lkotlin/text/u;->u2(Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Z
move-result v6
if-eqz v6, :cond_0
goto :goto_1
.line 6
:cond_0
invoke-direct {p0, v4}, Lokhttp3/internal/cache/CacheInterceptor$Companion;->isContentSpecificHeader(Ljava/lang/String;)Z
move-result v6
if-nez v6, :cond_1
.line 7
invoke-direct {p0, v4}, Lokhttp3/internal/cache/CacheInterceptor$Companion;->isEndToEnd(Ljava/lang/String;)Z
move-result v6
if-eqz v6, :cond_1
.line 8
invoke-virtual {p2, v4}, Lokhttp3/Headers;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v6
if-nez v6, :cond_2
.line 9
:cond_1
invoke-virtual {v0, v4, v5}, Lokhttp3/Headers$Builder;->addLenient$okhttp(Ljava/lang/String;Ljava/lang/String;)Lokhttp3/Headers$Builder;
:cond_2
:goto_1
add-int/lit8 v3, v3, 0x1
goto :goto_0
.line 10
:cond_3
invoke-virtual {p2}, Lokhttp3/Headers;->size()I
move-result p1
:goto_2
if-ge v2, p1, :cond_5
.line 11
invoke-virtual {p2, v2}, Lokhttp3/Headers;->name(I)Ljava/lang/String;
move-result-object v1
.line 12
invoke-direct {p0, v1}, Lokhttp3/internal/cache/CacheInterceptor$Companion;->isContentSpecificHeader(Ljava/lang/String;)Z
move-result v3
if-nez v3, :cond_4
invoke-direct {p0, v1}, Lokhttp3/internal/cache/CacheInterceptor$Companion;->isEndToEnd(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_4
.line 13
invoke-virtual {p2, v2}, Lokhttp3/Headers;->value(I)Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v1, v3}, Lokhttp3/Headers$Builder;->addLenient$okhttp(Ljava/lang/String;Ljava/lang/String;)Lokhttp3/Headers$Builder;
:cond_4
add-int/lit8 v2, v2, 0x1
goto :goto_2
.line 14
:cond_5
invoke-virtual {v0}, Lokhttp3/Headers$Builder;->build()Lokhttp3/Headers;
move-result-object p1
return-object p1
.end method
.method private final isContentSpecificHeader(Ljava/lang/String;)Z
.locals 2
const-string v0, "Content-Length"
const/4 v1, 0x1
.line 1
invoke-static {v0, p1, v1}, Lkotlin/text/u;->K1(Ljava/lang/String;Ljava/lang/String;Z)Z
move-result v0
if-nez v0, :cond_1
const-string v0, "Content-Encoding"
.line 2
invoke-static {v0, p1, v1}, Lkotlin/text/u;->K1(Ljava/lang/String;Ljava/lang/String;Z)Z
move-result v0
if-nez v0, :cond_1
const-string v0, "Content-Type"
.line 3
invoke-static {v0, p1, v1}, Lkotlin/text/u;->K1(Ljava/lang/String;Ljava/lang/String;Z)Z
move-result p1
if-eqz p1, :cond_0
goto :goto_0
:cond_0
const/4 v1, 0x0
:cond_1
:goto_0
return v1
.end method
.method private final isEndToEnd(Ljava/lang/String;)Z
.locals 2
const-string v0, "Connection"
const/4 v1, 0x1
.line 1
invoke-static {v0, p1, v1}, Lkotlin/text/u;->K1(Ljava/lang/String;Ljava/lang/String;Z)Z
move-result v0
if-nez v0, :cond_0
const-string v0, "Keep-Alive"
.line 2
invoke-static {v0, p1, v1}, Lkotlin/text/u;->K1(Ljava/lang/String;Ljava/lang/String;Z)Z
move-result v0
if-nez v0, :cond_0
const-string v0, "Proxy-Authenticate"
.line 3
invoke-static {v0, p1, v1}, Lkotlin/text/u;->K1(Ljava/lang/String;Ljava/lang/String;Z)Z
move-result v0
if-nez v0, :cond_0
const-string v0, "Proxy-Authorization"
.line 4
invoke-static {v0, p1, v1}, Lkotlin/text/u;->K1(Ljava/lang/String;Ljava/lang/String;Z)Z
move-result v0
if-nez v0, :cond_0
const-string v0, "TE"
.line 5
invoke-static {v0, p1, v1}, Lkotlin/text/u;->K1(Ljava/lang/String;Ljava/lang/String;Z)Z
move-result v0
if-nez v0, :cond_0
const-string v0, "Trailers"
.line 6
invoke-static {v0, p1, v1}, Lkotlin/text/u;->K1(Ljava/lang/String;Ljava/lang/String;Z)Z
move-result v0
if-nez v0, :cond_0
const-string v0, "Transfer-Encoding"
.line 7
invoke-static {v0, p1, v1}, Lkotlin/text/u;->K1(Ljava/lang/String;Ljava/lang/String;Z)Z
move-result v0
if-nez v0, :cond_0
const-string v0, "Upgrade"
.line 8
invoke-static {v0, p1, v1}, Lkotlin/text/u;->K1(Ljava/lang/String;Ljava/lang/String;Z)Z
move-result p1
if-nez p1, :cond_0
goto :goto_0
:cond_0
const/4 v1, 0x0
:goto_0
return v1
.end method
.method private final stripBody(Lokhttp3/Response;)Lokhttp3/Response;
.locals 2
const/4 v0, 0x0
if-eqz p1, :cond_0
.line 1
invoke-virtual {p1}, Lokhttp3/Response;->body()Lokhttp3/ResponseBody;
move-result-object v1
goto :goto_0
:cond_0
move-object v1, v0
:goto_0
if-eqz v1, :cond_1
.line 2
invoke-virtual {p1}, Lokhttp3/Response;->newBuilder()Lokhttp3/Response$Builder;
move-result-object p1
invoke-virtual {p1, v0}, Lokhttp3/Response$Builder;->body(Lokhttp3/ResponseBody;)Lokhttp3/Response$Builder;
move-result-object p1
invoke-virtual {p1}, Lokhttp3/Response$Builder;->build()Lokhttp3/Response;
move-result-object p1
:cond_1
return-object p1
.end method
@@ -0,0 +1,231 @@
.class public final Lokhttp3/internal/cache/CacheInterceptor$cacheWritingResponse$cacheWritingSource$1;
.super Ljava/lang/Object;
.source "CacheInterceptor.kt"
# interfaces
.implements Lzj/m0;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lokhttp3/internal/cache/CacheInterceptor;->cacheWritingResponse(Lokhttp3/internal/cache/CacheRequest;Lokhttp3/Response;)Lokhttp3/Response;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = null
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000+\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\t\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0002\u0008\u0003*\u0001\u0000\u0008\n\u0018\u00002\u00020\u0001J\u0018\u0010\u0006\u001a\u00020\u00042\u0006\u0010\u0003\u001a\u00020\u00022\u0006\u0010\u0005\u001a\u00020\u0004H\u0016J\u0008\u0010\u0008\u001a\u00020\u0007H\u0016J\u0008\u0010\n\u001a\u00020\tH\u0016R\u0016\u0010\u000c\u001a\u00020\u000b8\u0002@\u0002X\u0082\u000e\u00a2\u0006\u0006\n\u0004\u0008\u000c\u0010\r\u00a8\u0006\u000e"
}
d2 = {
"okhttp3/internal/cache/CacheInterceptor$cacheWritingResponse$cacheWritingSource$1",
"Lzj/m0;",
"Lzj/m;",
"sink",
"",
"byteCount",
"read",
"Lzj/o0;",
"timeout",
"Lkotlin/d1;",
"close",
"",
"cacheRequestClosed",
"Z",
"okhttp"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field public final synthetic $cacheBody:Lzj/n;
.field public final synthetic $cacheRequest:Lokhttp3/internal/cache/CacheRequest;
.field public final synthetic $source:Lzj/o;
.field private cacheRequestClosed:Z
# direct methods
.method public constructor <init>(Lzj/o;Lokhttp3/internal/cache/CacheRequest;Lzj/n;)V
.locals 0
.line 1
iput-object p1, p0, Lokhttp3/internal/cache/CacheInterceptor$cacheWritingResponse$cacheWritingSource$1;->$source:Lzj/o;
iput-object p2, p0, Lokhttp3/internal/cache/CacheInterceptor$cacheWritingResponse$cacheWritingSource$1;->$cacheRequest:Lokhttp3/internal/cache/CacheRequest;
iput-object p3, p0, Lokhttp3/internal/cache/CacheInterceptor$cacheWritingResponse$cacheWritingSource$1;->$cacheBody:Lzj/n;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public close()V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-boolean v0, p0, Lokhttp3/internal/cache/CacheInterceptor$cacheWritingResponse$cacheWritingSource$1;->cacheRequestClosed:Z
if-nez v0, :cond_0
const/16 v0, 0x64
sget-object v1, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invoke-static {p0, v0, v1}, Lokhttp3/internal/Util;->discard(Lzj/m0;ILjava/util/concurrent/TimeUnit;)Z
move-result v0
if-nez v0, :cond_0
const/4 v0, 0x1
.line 2
iput-boolean v0, p0, Lokhttp3/internal/cache/CacheInterceptor$cacheWritingResponse$cacheWritingSource$1;->cacheRequestClosed:Z
.line 3
iget-object v0, p0, Lokhttp3/internal/cache/CacheInterceptor$cacheWritingResponse$cacheWritingSource$1;->$cacheRequest:Lokhttp3/internal/cache/CacheRequest;
invoke-interface {v0}, Lokhttp3/internal/cache/CacheRequest;->abort()V
.line 4
:cond_0
iget-object v0, p0, Lokhttp3/internal/cache/CacheInterceptor$cacheWritingResponse$cacheWritingSource$1;->$source:Lzj/o;
invoke-interface {v0}, Lzj/m0;->close()V
return-void
.end method
.method public read(Lzj/m;J)J
.locals 8
.param p1 # Lzj/m;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const-string v0, "sink"
invoke-static {p1, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V
const/4 v0, 0x1
.line 1
:try_start_0
iget-object v1, p0, Lokhttp3/internal/cache/CacheInterceptor$cacheWritingResponse$cacheWritingSource$1;->$source:Lzj/o;
invoke-interface {v1, p1, p2, p3}, Lzj/m0;->read(Lzj/m;J)J
move-result-wide p2
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
const-wide/16 v1, -0x1
cmp-long v3, p2, v1
if-nez v3, :cond_1
.line 2
iget-boolean p1, p0, Lokhttp3/internal/cache/CacheInterceptor$cacheWritingResponse$cacheWritingSource$1;->cacheRequestClosed:Z
if-nez p1, :cond_0
.line 3
iput-boolean v0, p0, Lokhttp3/internal/cache/CacheInterceptor$cacheWritingResponse$cacheWritingSource$1;->cacheRequestClosed:Z
.line 4
iget-object p1, p0, Lokhttp3/internal/cache/CacheInterceptor$cacheWritingResponse$cacheWritingSource$1;->$cacheBody:Lzj/n;
invoke-interface {p1}, Lzj/k0;->close()V
:cond_0
return-wide v1
.line 5
:cond_1
iget-object v0, p0, Lokhttp3/internal/cache/CacheInterceptor$cacheWritingResponse$cacheWritingSource$1;->$cacheBody:Lzj/n;
invoke-interface {v0}, Lzj/n;->getBuffer()Lzj/m;
move-result-object v3
invoke-virtual {p1}, Lzj/m;->size()J
move-result-wide v0
sub-long v4, v0, p2
move-object v2, p1
move-wide v6, p2
invoke-virtual/range {v2 .. v7}, Lzj/m;->N(Lzj/m;JJ)Lzj/m;
.line 6
iget-object p1, p0, Lokhttp3/internal/cache/CacheInterceptor$cacheWritingResponse$cacheWritingSource$1;->$cacheBody:Lzj/n;
invoke-interface {p1}, Lzj/n;->F()Lzj/n;
return-wide p2
:catch_0
move-exception p1
.line 7
iget-boolean p2, p0, Lokhttp3/internal/cache/CacheInterceptor$cacheWritingResponse$cacheWritingSource$1;->cacheRequestClosed:Z
if-nez p2, :cond_2
.line 8
iput-boolean v0, p0, Lokhttp3/internal/cache/CacheInterceptor$cacheWritingResponse$cacheWritingSource$1;->cacheRequestClosed:Z
.line 9
iget-object p2, p0, Lokhttp3/internal/cache/CacheInterceptor$cacheWritingResponse$cacheWritingSource$1;->$cacheRequest:Lokhttp3/internal/cache/CacheRequest;
invoke-interface {p2}, Lokhttp3/internal/cache/CacheRequest;->abort()V
.line 10
:cond_2
throw p1
.end method
.method public timeout()Lzj/o0;
.locals 1
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/CacheInterceptor$cacheWritingResponse$cacheWritingSource$1;->$source:Lzj/o;
invoke-interface {v0}, Lzj/m0;->timeout()Lzj/o0;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,687 @@
.class public final Lokhttp3/internal/cache/CacheInterceptor;
.super Ljava/lang/Object;
.source "CacheInterceptor.kt"
# interfaces
.implements Lokhttp3/Interceptor;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lokhttp3/internal/cache/CacheInterceptor$Companion;
}
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {
0x1,
0x0,
0x3
}
d1 = {
"\u0000(\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0004\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0003\n\u0002\u0018\u0002\n\u0002\u0008\u0002\u0018\u0000 \u000f2\u00020\u0001:\u0001\u000fB\u000f\u0012\u0008\u0010\u0002\u001a\u0004\u0018\u00010\u0003\u00a2\u0006\u0002\u0010\u0004J\u001a\u0010\u0007\u001a\u00020\u00082\u0008\u0010\t\u001a\u0004\u0018\u00010\n2\u0006\u0010\u000b\u001a\u00020\u0008H\u0002J\u0010\u0010\u000c\u001a\u00020\u00082\u0006\u0010\r\u001a\u00020\u000eH\u0016R\u0016\u0010\u0002\u001a\u0004\u0018\u00010\u0003X\u0080\u0004\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008\u0005\u0010\u0006\u00a8\u0006\u0010"
}
d2 = {
"Lokhttp3/internal/cache/CacheInterceptor;",
"Lokhttp3/Interceptor;",
"cache",
"Lokhttp3/Cache;",
"(Lokhttp3/Cache;)V",
"getCache$okhttp",
"()Lokhttp3/Cache;",
"cacheWritingResponse",
"Lokhttp3/Response;",
"cacheRequest",
"Lokhttp3/internal/cache/CacheRequest;",
"response",
"intercept",
"chain",
"Lokhttp3/Interceptor$Chain;",
"Companion",
"okhttp"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# static fields
.field public static final Companion:Lokhttp3/internal/cache/CacheInterceptor$Companion;
# instance fields
.field private final cache:Lokhttp3/Cache;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end field
# direct methods
.method public static constructor <clinit>()V
.locals 2
new-instance v0, Lokhttp3/internal/cache/CacheInterceptor$Companion;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lokhttp3/internal/cache/CacheInterceptor$Companion;-><init>(Lkotlin/jvm/internal/u;)V
sput-object v0, Lokhttp3/internal/cache/CacheInterceptor;->Companion:Lokhttp3/internal/cache/CacheInterceptor$Companion;
return-void
.end method
.method public constructor <init>(Lokhttp3/Cache;)V
.locals 0
.param p1 # Lokhttp3/Cache;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end param
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lokhttp3/internal/cache/CacheInterceptor;->cache:Lokhttp3/Cache;
return-void
.end method
.method private final cacheWritingResponse(Lokhttp3/internal/cache/CacheRequest;Lokhttp3/Response;)Lokhttp3/Response;
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-nez p1, :cond_0
return-object p2
.line 1
:cond_0
invoke-interface {p1}, Lokhttp3/internal/cache/CacheRequest;->body()Lzj/k0;
move-result-object v0
.line 2
invoke-virtual {p2}, Lokhttp3/Response;->body()Lokhttp3/ResponseBody;
move-result-object v1
invoke-static {v1}, Lkotlin/jvm/internal/f0;->m(Ljava/lang/Object;)V
invoke-virtual {v1}, Lokhttp3/ResponseBody;->source()Lzj/o;
move-result-object v1
.line 3
invoke-static {v0}, Lzj/z;->c(Lzj/k0;)Lzj/n;
move-result-object v0
.line 4
new-instance v2, Lokhttp3/internal/cache/CacheInterceptor$cacheWritingResponse$cacheWritingSource$1;
invoke-direct {v2, v1, p1, v0}, Lokhttp3/internal/cache/CacheInterceptor$cacheWritingResponse$cacheWritingSource$1;-><init>(Lzj/o;Lokhttp3/internal/cache/CacheRequest;Lzj/n;)V
const/4 p1, 0x2
const-string v0, "Content-Type"
const/4 v1, 0x0
.line 5
invoke-static {p2, v0, v1, p1, v1}, Lokhttp3/Response;->header$default(Lokhttp3/Response;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String;
move-result-object p1
.line 6
invoke-virtual {p2}, Lokhttp3/Response;->body()Lokhttp3/ResponseBody;
move-result-object v0
invoke-virtual {v0}, Lokhttp3/ResponseBody;->contentLength()J
move-result-wide v0
.line 7
invoke-virtual {p2}, Lokhttp3/Response;->newBuilder()Lokhttp3/Response$Builder;
move-result-object p2
.line 8
new-instance v3, Lokhttp3/internal/http/RealResponseBody;
invoke-static {v2}, Lzj/z;->d(Lzj/m0;)Lzj/o;
move-result-object v2
invoke-direct {v3, p1, v0, v1, v2}, Lokhttp3/internal/http/RealResponseBody;-><init>(Ljava/lang/String;JLzj/o;)V
invoke-virtual {p2, v3}, Lokhttp3/Response$Builder;->body(Lokhttp3/ResponseBody;)Lokhttp3/Response$Builder;
move-result-object p1
.line 9
invoke-virtual {p1}, Lokhttp3/Response$Builder;->build()Lokhttp3/Response;
move-result-object p1
return-object p1
.end method
# virtual methods
.method public final getCache$okhttp()Lokhttp3/Cache;
.locals 1
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/CacheInterceptor;->cache:Lokhttp3/Cache;
return-object v0
.end method
.method public intercept(Lokhttp3/Interceptor$Chain;)Lokhttp3/Response;
.locals 8
.param p1 # Lokhttp3/Interceptor$Chain;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
const-string v0, "chain"
invoke-static {p1, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V
.line 1
invoke-interface {p1}, Lokhttp3/Interceptor$Chain;->call()Lokhttp3/Call;
move-result-object v0
.line 2
iget-object v1, p0, Lokhttp3/internal/cache/CacheInterceptor;->cache:Lokhttp3/Cache;
const/4 v2, 0x0
if-eqz v1, :cond_0
invoke-interface {p1}, Lokhttp3/Interceptor$Chain;->request()Lokhttp3/Request;
move-result-object v3
invoke-virtual {v1, v3}, Lokhttp3/Cache;->get$okhttp(Lokhttp3/Request;)Lokhttp3/Response;
move-result-object v1
goto :goto_0
:cond_0
move-object v1, v2
.line 3
:goto_0
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v3
.line 4
new-instance v5, Lokhttp3/internal/cache/CacheStrategy$Factory;
invoke-interface {p1}, Lokhttp3/Interceptor$Chain;->request()Lokhttp3/Request;
move-result-object v6
invoke-direct {v5, v3, v4, v6, v1}, Lokhttp3/internal/cache/CacheStrategy$Factory;-><init>(JLokhttp3/Request;Lokhttp3/Response;)V
invoke-virtual {v5}, Lokhttp3/internal/cache/CacheStrategy$Factory;->compute()Lokhttp3/internal/cache/CacheStrategy;
move-result-object v3
.line 5
invoke-virtual {v3}, Lokhttp3/internal/cache/CacheStrategy;->getNetworkRequest()Lokhttp3/Request;
move-result-object v4
.line 6
invoke-virtual {v3}, Lokhttp3/internal/cache/CacheStrategy;->getCacheResponse()Lokhttp3/Response;
move-result-object v5
.line 7
iget-object v6, p0, Lokhttp3/internal/cache/CacheInterceptor;->cache:Lokhttp3/Cache;
if-eqz v6, :cond_1
invoke-virtual {v6, v3}, Lokhttp3/Cache;->trackResponse$okhttp(Lokhttp3/internal/cache/CacheStrategy;)V
.line 8
:cond_1
instance-of v3, v0, Lokhttp3/internal/connection/RealCall;
if-nez v3, :cond_2
goto :goto_1
:cond_2
move-object v2, v0
:goto_1
check-cast v2, Lokhttp3/internal/connection/RealCall;
if-eqz v2, :cond_3
invoke-virtual {v2}, Lokhttp3/internal/connection/RealCall;->getEventListener$okhttp()Lokhttp3/EventListener;
move-result-object v2
if-eqz v2, :cond_3
goto :goto_2
:cond_3
sget-object v2, Lokhttp3/EventListener;->NONE:Lokhttp3/EventListener;
:goto_2
if-eqz v1, :cond_4
if-nez v5, :cond_4
.line 9
invoke-virtual {v1}, Lokhttp3/Response;->body()Lokhttp3/ResponseBody;
move-result-object v3
if-eqz v3, :cond_4
invoke-static {v3}, Lokhttp3/internal/Util;->closeQuietly(Ljava/io/Closeable;)V
:cond_4
if-nez v4, :cond_5
if-nez v5, :cond_5
.line 10
new-instance v1, Lokhttp3/Response$Builder;
invoke-direct {v1}, Lokhttp3/Response$Builder;-><init>()V
.line 11
invoke-interface {p1}, Lokhttp3/Interceptor$Chain;->request()Lokhttp3/Request;
move-result-object p1
invoke-virtual {v1, p1}, Lokhttp3/Response$Builder;->request(Lokhttp3/Request;)Lokhttp3/Response$Builder;
move-result-object p1
.line 12
sget-object v1, Lokhttp3/Protocol;->HTTP_1_1:Lokhttp3/Protocol;
invoke-virtual {p1, v1}, Lokhttp3/Response$Builder;->protocol(Lokhttp3/Protocol;)Lokhttp3/Response$Builder;
move-result-object p1
const/16 v1, 0x1f8
.line 13
invoke-virtual {p1, v1}, Lokhttp3/Response$Builder;->code(I)Lokhttp3/Response$Builder;
move-result-object p1
const-string v1, "Unsatisfiable Request (only-if-cached)"
.line 14
invoke-virtual {p1, v1}, Lokhttp3/Response$Builder;->message(Ljava/lang/String;)Lokhttp3/Response$Builder;
move-result-object p1
.line 15
sget-object v1, Lokhttp3/internal/Util;->EMPTY_RESPONSE:Lokhttp3/ResponseBody;
invoke-virtual {p1, v1}, Lokhttp3/Response$Builder;->body(Lokhttp3/ResponseBody;)Lokhttp3/Response$Builder;
move-result-object p1
const-wide/16 v3, -0x1
.line 16
invoke-virtual {p1, v3, v4}, Lokhttp3/Response$Builder;->sentRequestAtMillis(J)Lokhttp3/Response$Builder;
move-result-object p1
.line 17
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v3
invoke-virtual {p1, v3, v4}, Lokhttp3/Response$Builder;->receivedResponseAtMillis(J)Lokhttp3/Response$Builder;
move-result-object p1
.line 18
invoke-virtual {p1}, Lokhttp3/Response$Builder;->build()Lokhttp3/Response;
move-result-object p1
.line 19
invoke-virtual {v2, v0, p1}, Lokhttp3/EventListener;->satisfactionFailure(Lokhttp3/Call;Lokhttp3/Response;)V
return-object p1
:cond_5
if-nez v4, :cond_6
.line 20
invoke-static {v5}, Lkotlin/jvm/internal/f0;->m(Ljava/lang/Object;)V
invoke-virtual {v5}, Lokhttp3/Response;->newBuilder()Lokhttp3/Response$Builder;
move-result-object p1
.line 21
sget-object v1, Lokhttp3/internal/cache/CacheInterceptor;->Companion:Lokhttp3/internal/cache/CacheInterceptor$Companion;
invoke-static {v1, v5}, Lokhttp3/internal/cache/CacheInterceptor$Companion;->access$stripBody(Lokhttp3/internal/cache/CacheInterceptor$Companion;Lokhttp3/Response;)Lokhttp3/Response;
move-result-object v1
invoke-virtual {p1, v1}, Lokhttp3/Response$Builder;->cacheResponse(Lokhttp3/Response;)Lokhttp3/Response$Builder;
move-result-object p1
.line 22
invoke-virtual {p1}, Lokhttp3/Response$Builder;->build()Lokhttp3/Response;
move-result-object p1
.line 23
invoke-virtual {v2, v0, p1}, Lokhttp3/EventListener;->cacheHit(Lokhttp3/Call;Lokhttp3/Response;)V
return-object p1
:cond_6
if-eqz v5, :cond_7
.line 24
invoke-virtual {v2, v0, v5}, Lokhttp3/EventListener;->cacheConditionalHit(Lokhttp3/Call;Lokhttp3/Response;)V
goto :goto_3
.line 25
:cond_7
iget-object v3, p0, Lokhttp3/internal/cache/CacheInterceptor;->cache:Lokhttp3/Cache;
if-eqz v3, :cond_8
.line 26
invoke-virtual {v2, v0}, Lokhttp3/EventListener;->cacheMiss(Lokhttp3/Call;)V
.line 27
:cond_8
:goto_3
:try_start_0
invoke-interface {p1, v4}, Lokhttp3/Interceptor$Chain;->proceed(Lokhttp3/Request;)Lokhttp3/Response;
move-result-object p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-nez p1, :cond_9
if-eqz v1, :cond_9
.line 28
invoke-virtual {v1}, Lokhttp3/Response;->body()Lokhttp3/ResponseBody;
move-result-object v1
if-eqz v1, :cond_9
invoke-static {v1}, Lokhttp3/internal/Util;->closeQuietly(Ljava/io/Closeable;)V
:cond_9
if-eqz v5, :cond_b
if-eqz p1, :cond_a
.line 29
invoke-virtual {p1}, Lokhttp3/Response;->code()I
move-result v1
const/16 v3, 0x130
if-ne v1, v3, :cond_a
.line 30
invoke-virtual {v5}, Lokhttp3/Response;->newBuilder()Lokhttp3/Response$Builder;
move-result-object v1
.line 31
sget-object v3, Lokhttp3/internal/cache/CacheInterceptor;->Companion:Lokhttp3/internal/cache/CacheInterceptor$Companion;
invoke-virtual {v5}, Lokhttp3/Response;->headers()Lokhttp3/Headers;
move-result-object v4
invoke-virtual {p1}, Lokhttp3/Response;->headers()Lokhttp3/Headers;
move-result-object v6
invoke-static {v3, v4, v6}, Lokhttp3/internal/cache/CacheInterceptor$Companion;->access$combine(Lokhttp3/internal/cache/CacheInterceptor$Companion;Lokhttp3/Headers;Lokhttp3/Headers;)Lokhttp3/Headers;
move-result-object v4
invoke-virtual {v1, v4}, Lokhttp3/Response$Builder;->headers(Lokhttp3/Headers;)Lokhttp3/Response$Builder;
move-result-object v1
.line 32
invoke-virtual {p1}, Lokhttp3/Response;->sentRequestAtMillis()J
move-result-wide v6
invoke-virtual {v1, v6, v7}, Lokhttp3/Response$Builder;->sentRequestAtMillis(J)Lokhttp3/Response$Builder;
move-result-object v1
.line 33
invoke-virtual {p1}, Lokhttp3/Response;->receivedResponseAtMillis()J
move-result-wide v6
invoke-virtual {v1, v6, v7}, Lokhttp3/Response$Builder;->receivedResponseAtMillis(J)Lokhttp3/Response$Builder;
move-result-object v1
.line 34
invoke-static {v3, v5}, Lokhttp3/internal/cache/CacheInterceptor$Companion;->access$stripBody(Lokhttp3/internal/cache/CacheInterceptor$Companion;Lokhttp3/Response;)Lokhttp3/Response;
move-result-object v4
invoke-virtual {v1, v4}, Lokhttp3/Response$Builder;->cacheResponse(Lokhttp3/Response;)Lokhttp3/Response$Builder;
move-result-object v1
.line 35
invoke-static {v3, p1}, Lokhttp3/internal/cache/CacheInterceptor$Companion;->access$stripBody(Lokhttp3/internal/cache/CacheInterceptor$Companion;Lokhttp3/Response;)Lokhttp3/Response;
move-result-object v3
invoke-virtual {v1, v3}, Lokhttp3/Response$Builder;->networkResponse(Lokhttp3/Response;)Lokhttp3/Response$Builder;
move-result-object v1
.line 36
invoke-virtual {v1}, Lokhttp3/Response$Builder;->build()Lokhttp3/Response;
move-result-object v1
.line 37
invoke-virtual {p1}, Lokhttp3/Response;->body()Lokhttp3/ResponseBody;
move-result-object p1
invoke-static {p1}, Lkotlin/jvm/internal/f0;->m(Ljava/lang/Object;)V
invoke-virtual {p1}, Lokhttp3/ResponseBody;->close()V
.line 38
iget-object p1, p0, Lokhttp3/internal/cache/CacheInterceptor;->cache:Lokhttp3/Cache;
invoke-static {p1}, Lkotlin/jvm/internal/f0;->m(Ljava/lang/Object;)V
invoke-virtual {p1}, Lokhttp3/Cache;->trackConditionalCacheHit$okhttp()V
.line 39
iget-object p1, p0, Lokhttp3/internal/cache/CacheInterceptor;->cache:Lokhttp3/Cache;
invoke-virtual {p1, v5, v1}, Lokhttp3/Cache;->update$okhttp(Lokhttp3/Response;Lokhttp3/Response;)V
.line 40
invoke-virtual {v2, v0, v1}, Lokhttp3/EventListener;->cacheHit(Lokhttp3/Call;Lokhttp3/Response;)V
return-object v1
.line 41
:cond_a
invoke-virtual {v5}, Lokhttp3/Response;->body()Lokhttp3/ResponseBody;
move-result-object v1
if-eqz v1, :cond_b
invoke-static {v1}, Lokhttp3/internal/Util;->closeQuietly(Ljava/io/Closeable;)V
.line 42
:cond_b
invoke-static {p1}, Lkotlin/jvm/internal/f0;->m(Ljava/lang/Object;)V
invoke-virtual {p1}, Lokhttp3/Response;->newBuilder()Lokhttp3/Response$Builder;
move-result-object v1
.line 43
sget-object v3, Lokhttp3/internal/cache/CacheInterceptor;->Companion:Lokhttp3/internal/cache/CacheInterceptor$Companion;
invoke-static {v3, v5}, Lokhttp3/internal/cache/CacheInterceptor$Companion;->access$stripBody(Lokhttp3/internal/cache/CacheInterceptor$Companion;Lokhttp3/Response;)Lokhttp3/Response;
move-result-object v6
invoke-virtual {v1, v6}, Lokhttp3/Response$Builder;->cacheResponse(Lokhttp3/Response;)Lokhttp3/Response$Builder;
move-result-object v1
.line 44
invoke-static {v3, p1}, Lokhttp3/internal/cache/CacheInterceptor$Companion;->access$stripBody(Lokhttp3/internal/cache/CacheInterceptor$Companion;Lokhttp3/Response;)Lokhttp3/Response;
move-result-object p1
invoke-virtual {v1, p1}, Lokhttp3/Response$Builder;->networkResponse(Lokhttp3/Response;)Lokhttp3/Response$Builder;
move-result-object p1
.line 45
invoke-virtual {p1}, Lokhttp3/Response$Builder;->build()Lokhttp3/Response;
move-result-object p1
.line 46
iget-object v1, p0, Lokhttp3/internal/cache/CacheInterceptor;->cache:Lokhttp3/Cache;
if-eqz v1, :cond_e
.line 47
invoke-static {p1}, Lokhttp3/internal/http/HttpHeaders;->promisesBody(Lokhttp3/Response;)Z
move-result v1
if-eqz v1, :cond_d
sget-object v1, Lokhttp3/internal/cache/CacheStrategy;->Companion:Lokhttp3/internal/cache/CacheStrategy$Companion;
invoke-virtual {v1, p1, v4}, Lokhttp3/internal/cache/CacheStrategy$Companion;->isCacheable(Lokhttp3/Response;Lokhttp3/Request;)Z
move-result v1
if-eqz v1, :cond_d
.line 48
iget-object v1, p0, Lokhttp3/internal/cache/CacheInterceptor;->cache:Lokhttp3/Cache;
invoke-virtual {v1, p1}, Lokhttp3/Cache;->put$okhttp(Lokhttp3/Response;)Lokhttp3/internal/cache/CacheRequest;
move-result-object v1
.line 49
invoke-direct {p0, v1, p1}, Lokhttp3/internal/cache/CacheInterceptor;->cacheWritingResponse(Lokhttp3/internal/cache/CacheRequest;Lokhttp3/Response;)Lokhttp3/Response;
move-result-object p1
if-eqz v5, :cond_c
.line 50
invoke-virtual {v2, v0}, Lokhttp3/EventListener;->cacheMiss(Lokhttp3/Call;)V
:cond_c
return-object p1
.line 51
:cond_d
sget-object v0, Lokhttp3/internal/http/HttpMethod;->INSTANCE:Lokhttp3/internal/http/HttpMethod;
invoke-virtual {v4}, Lokhttp3/Request;->method()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Lokhttp3/internal/http/HttpMethod;->invalidatesCache(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_e
.line 52
:try_start_1
iget-object v0, p0, Lokhttp3/internal/cache/CacheInterceptor;->cache:Lokhttp3/Cache;
invoke-virtual {v0, v4}, Lokhttp3/Cache;->remove$okhttp(Lokhttp3/Request;)V
:try_end_1
.catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_0
:catch_0
:cond_e
return-object p1
:catchall_0
move-exception p1
if-eqz v1, :cond_f
.line 53
invoke-virtual {v1}, Lokhttp3/Response;->body()Lokhttp3/ResponseBody;
move-result-object v0
if-eqz v0, :cond_f
invoke-static {v0}, Lokhttp3/internal/Util;->closeQuietly(Ljava/io/Closeable;)V
:cond_f
throw p1
.end method
@@ -0,0 +1,43 @@
.class public interface abstract Lokhttp3/internal/cache/CacheRequest;
.super Ljava/lang/Object;
.source "CacheRequest.kt"
# annotations
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000\u0016\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0002\u0008f\u0018\u00002\u00020\u0001J\u0008\u0010\u0003\u001a\u00020\u0002H&J\u0008\u0010\u0005\u001a\u00020\u0004H&\u00a8\u0006\u0006"
}
d2 = {
"Lokhttp3/internal/cache/CacheRequest;",
"",
"Lzj/k0;",
"body",
"Lkotlin/d1;",
"abort",
"okhttp"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# virtual methods
.method public abstract abort()V
.end method
.method public abstract body()Lzj/k0;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end method
@@ -0,0 +1,222 @@
.class public final Lokhttp3/internal/cache/CacheStrategy$Companion;
.super Ljava/lang/Object;
.source "CacheStrategy.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lokhttp3/internal/cache/CacheStrategy;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Companion"
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {
0x1,
0x0,
0x3
}
d1 = {
"\u0000\u001e\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0008\u0002\n\u0002\u0010\u000b\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\u0008\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\u0008\u0002\u00a2\u0006\u0002\u0010\u0002J\u0016\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\u0008\u00a8\u0006\t"
}
d2 = {
"Lokhttp3/internal/cache/CacheStrategy$Companion;",
"",
"()V",
"isCacheable",
"",
"response",
"Lokhttp3/Response;",
"request",
"Lokhttp3/Request;",
"okhttp"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public synthetic constructor <init>(Lkotlin/jvm/internal/u;)V
.locals 0
.line 2
invoke-direct {p0}, Lokhttp3/internal/cache/CacheStrategy$Companion;-><init>()V
return-void
.end method
# virtual methods
.method public final isCacheable(Lokhttp3/Response;Lokhttp3/Request;)Z
.locals 4
.param p1 # Lokhttp3/Response;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.param p2 # Lokhttp3/Request;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
const-string v0, "response"
invoke-static {p1, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "request"
invoke-static {p2, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V
.line 1
invoke-virtual {p1}, Lokhttp3/Response;->code()I
move-result v0
const/16 v1, 0xc8
const/4 v2, 0x0
if-eq v0, v1, :cond_1
const/16 v1, 0x19a
if-eq v0, v1, :cond_1
const/16 v1, 0x19e
if-eq v0, v1, :cond_1
const/16 v1, 0x1f5
if-eq v0, v1, :cond_1
const/16 v1, 0xcb
if-eq v0, v1, :cond_1
const/16 v1, 0xcc
if-eq v0, v1, :cond_1
const/16 v1, 0x133
if-eq v0, v1, :cond_0
const/16 v1, 0x134
if-eq v0, v1, :cond_1
const/16 v1, 0x194
if-eq v0, v1, :cond_1
const/16 v1, 0x195
if-eq v0, v1, :cond_1
packed-switch v0, :pswitch_data_0
return v2
:cond_0
:pswitch_0
const/4 v0, 0x2
const-string v1, "Expires"
const/4 v3, 0x0
.line 2
invoke-static {p1, v1, v3, v0, v3}, Lokhttp3/Response;->header$default(Lokhttp3/Response;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String;
move-result-object v0
if-nez v0, :cond_1
invoke-virtual {p1}, Lokhttp3/Response;->cacheControl()Lokhttp3/CacheControl;
move-result-object v0
invoke-virtual {v0}, Lokhttp3/CacheControl;->maxAgeSeconds()I
move-result v0
const/4 v1, -0x1
if-ne v0, v1, :cond_1
invoke-virtual {p1}, Lokhttp3/Response;->cacheControl()Lokhttp3/CacheControl;
move-result-object v0
invoke-virtual {v0}, Lokhttp3/CacheControl;->isPublic()Z
move-result v0
if-nez v0, :cond_1
invoke-virtual {p1}, Lokhttp3/Response;->cacheControl()Lokhttp3/CacheControl;
move-result-object v0
invoke-virtual {v0}, Lokhttp3/CacheControl;->isPrivate()Z
move-result v0
if-nez v0, :cond_1
return v2
.line 3
:cond_1
:pswitch_1
invoke-virtual {p1}, Lokhttp3/Response;->cacheControl()Lokhttp3/CacheControl;
move-result-object p1
invoke-virtual {p1}, Lokhttp3/CacheControl;->noStore()Z
move-result p1
if-nez p1, :cond_2
invoke-virtual {p2}, Lokhttp3/Request;->cacheControl()Lokhttp3/CacheControl;
move-result-object p1
invoke-virtual {p1}, Lokhttp3/CacheControl;->noStore()Z
move-result p1
if-nez p1, :cond_2
const/4 v2, 0x1
:cond_2
return v2
nop
:pswitch_data_0
.packed-switch 0x12c
:pswitch_1
:pswitch_1
:pswitch_0
.end packed-switch
.end method
@@ -0,0 +1,956 @@
.class public final Lokhttp3/internal/cache/CacheStrategy$Factory;
.super Ljava/lang/Object;
.source "CacheStrategy.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lokhttp3/internal/cache/CacheStrategy;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Factory"
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {
0x1,
0x0,
0x3
}
d1 = {
"\u0000B\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\t\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0010\u0008\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\n\n\u0002\u0018\u0002\n\u0002\u0008\u0003\n\u0002\u0010\u000b\n\u0002\u0008\u0002\u0018\u00002\u00020\u0001B\u001f\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0005\u0012\u0008\u0010\u0006\u001a\u0004\u0018\u00010\u0007\u00a2\u0006\u0002\u0010\u0008J\u0008\u0010\u0017\u001a\u00020\u0003H\u0002J\u0006\u0010\u0018\u001a\u00020\u0019J\u0008\u0010\u001a\u001a\u00020\u0019H\u0002J\u0008\u0010\u001b\u001a\u00020\u0003H\u0002J\u0010\u0010\u001c\u001a\u00020\u001d2\u0006\u0010\u0004\u001a\u00020\u0005H\u0002J\u0008\u0010\u001e\u001a\u00020\u001dH\u0002R\u000e\u0010\t\u001a\u00020\nX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u0010\u0010\u0006\u001a\u0004\u0018\u00010\u0007X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u0010\u0010\u000b\u001a\u0004\u0018\u00010\u000cX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u0010\u0010\r\u001a\u0004\u0018\u00010\u000eX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u0010\u0010\u000f\u001a\u0004\u0018\u00010\u000eX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u0010\u0010\u0010\u001a\u0004\u0018\u00010\u000cX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0011\u001a\u00020\u0003X\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u0014\u0010\u0004\u001a\u00020\u0005X\u0080\u0004\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008\u0012\u0010\u0013R\u000e\u0010\u0014\u001a\u00020\u0003X\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u0010\u0010\u0015\u001a\u0004\u0018\u00010\u000eX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u0010\u0010\u0016\u001a\u0004\u0018\u00010\u000cX\u0082\u000e\u00a2\u0006\u0002\n\u0000\u00a8\u0006\u001f"
}
d2 = {
"Lokhttp3/internal/cache/CacheStrategy$Factory;",
"",
"nowMillis",
"",
"request",
"Lokhttp3/Request;",
"cacheResponse",
"Lokhttp3/Response;",
"(JLokhttp3/Request;Lokhttp3/Response;)V",
"ageSeconds",
"",
"etag",
"",
"expires",
"Ljava/util/Date;",
"lastModified",
"lastModifiedString",
"receivedResponseMillis",
"getRequest$okhttp",
"()Lokhttp3/Request;",
"sentRequestMillis",
"servedDate",
"servedDateString",
"cacheResponseAge",
"compute",
"Lokhttp3/internal/cache/CacheStrategy;",
"computeCandidate",
"computeFreshnessLifetime",
"hasConditions",
"",
"isFreshnessLifetimeHeuristic",
"okhttp"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field private ageSeconds:I
.field private final cacheResponse:Lokhttp3/Response;
.field private etag:Ljava/lang/String;
.field private expires:Ljava/util/Date;
.field private lastModified:Ljava/util/Date;
.field private lastModifiedString:Ljava/lang/String;
.field private final nowMillis:J
.field private receivedResponseMillis:J
.field private final request:Lokhttp3/Request;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end field
.field private sentRequestMillis:J
.field private servedDate:Ljava/util/Date;
.field private servedDateString:Ljava/lang/String;
# direct methods
.method public constructor <init>(JLokhttp3/Request;Lokhttp3/Response;)V
.locals 4
.param p3 # Lokhttp3/Request;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.param p4 # Lokhttp3/Response;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end param
const-string v0, "request"
invoke-static {p3, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-wide p1, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->nowMillis:J
iput-object p3, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->request:Lokhttp3/Request;
iput-object p4, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->cacheResponse:Lokhttp3/Response;
const/4 p1, -0x1
.line 2
iput p1, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->ageSeconds:I
if-eqz p4, :cond_5
.line 3
invoke-virtual {p4}, Lokhttp3/Response;->sentRequestAtMillis()J
move-result-wide p2
iput-wide p2, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->sentRequestMillis:J
.line 4
invoke-virtual {p4}, Lokhttp3/Response;->receivedResponseAtMillis()J
move-result-wide p2
iput-wide p2, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->receivedResponseMillis:J
.line 5
invoke-virtual {p4}, Lokhttp3/Response;->headers()Lokhttp3/Headers;
move-result-object p2
const/4 p3, 0x0
.line 6
invoke-virtual {p2}, Lokhttp3/Headers;->size()I
move-result p4
:goto_0
if-ge p3, p4, :cond_5
.line 7
invoke-virtual {p2, p3}, Lokhttp3/Headers;->name(I)Ljava/lang/String;
move-result-object v0
.line 8
invoke-virtual {p2, p3}, Lokhttp3/Headers;->value(I)Ljava/lang/String;
move-result-object v1
const-string v2, "Date"
const/4 v3, 0x1
.line 9
invoke-static {v0, v2, v3}, Lkotlin/text/u;->K1(Ljava/lang/String;Ljava/lang/String;Z)Z
move-result v2
if-eqz v2, :cond_0
.line 10
invoke-static {v1}, Lokhttp3/internal/http/DatesKt;->toHttpDateOrNull(Ljava/lang/String;)Ljava/util/Date;
move-result-object v0
iput-object v0, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->servedDate:Ljava/util/Date;
.line 11
iput-object v1, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->servedDateString:Ljava/lang/String;
goto :goto_1
:cond_0
const-string v2, "Expires"
.line 12
invoke-static {v0, v2, v3}, Lkotlin/text/u;->K1(Ljava/lang/String;Ljava/lang/String;Z)Z
move-result v2
if-eqz v2, :cond_1
.line 13
invoke-static {v1}, Lokhttp3/internal/http/DatesKt;->toHttpDateOrNull(Ljava/lang/String;)Ljava/util/Date;
move-result-object v0
iput-object v0, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->expires:Ljava/util/Date;
goto :goto_1
:cond_1
const-string v2, "Last-Modified"
.line 14
invoke-static {v0, v2, v3}, Lkotlin/text/u;->K1(Ljava/lang/String;Ljava/lang/String;Z)Z
move-result v2
if-eqz v2, :cond_2
.line 15
invoke-static {v1}, Lokhttp3/internal/http/DatesKt;->toHttpDateOrNull(Ljava/lang/String;)Ljava/util/Date;
move-result-object v0
iput-object v0, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->lastModified:Ljava/util/Date;
.line 16
iput-object v1, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->lastModifiedString:Ljava/lang/String;
goto :goto_1
:cond_2
const-string v2, "ETag"
.line 17
invoke-static {v0, v2, v3}, Lkotlin/text/u;->K1(Ljava/lang/String;Ljava/lang/String;Z)Z
move-result v2
if-eqz v2, :cond_3
.line 18
iput-object v1, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->etag:Ljava/lang/String;
goto :goto_1
:cond_3
const-string v2, "Age"
.line 19
invoke-static {v0, v2, v3}, Lkotlin/text/u;->K1(Ljava/lang/String;Ljava/lang/String;Z)Z
move-result v0
if-eqz v0, :cond_4
.line 20
invoke-static {v1, p1}, Lokhttp3/internal/Util;->toNonNegativeInt(Ljava/lang/String;I)I
move-result v0
iput v0, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->ageSeconds:I
:cond_4
:goto_1
add-int/lit8 p3, p3, 0x1
goto :goto_0
:cond_5
return-void
.end method
.method private final cacheResponseAge()J
.locals 9
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->servedDate:Ljava/util/Date;
const-wide/16 v1, 0x0
if-eqz v0, :cond_0
.line 2
iget-wide v3, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->receivedResponseMillis:J
invoke-virtual {v0}, Ljava/util/Date;->getTime()J
move-result-wide v5
sub-long/2addr v3, v5
invoke-static {v1, v2, v3, v4}, Ljava/lang/Math;->max(JJ)J
move-result-wide v1
.line 3
:cond_0
iget v0, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->ageSeconds:I
const/4 v3, -0x1
if-eq v0, v3, :cond_1
.line 4
sget-object v3, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
int-to-long v4, v0
invoke-virtual {v3, v4, v5}, Ljava/util/concurrent/TimeUnit;->toMillis(J)J
move-result-wide v3
invoke-static {v1, v2, v3, v4}, Ljava/lang/Math;->max(JJ)J
move-result-wide v1
.line 5
:cond_1
iget-wide v3, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->receivedResponseMillis:J
iget-wide v5, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->sentRequestMillis:J
sub-long v5, v3, v5
.line 6
iget-wide v7, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->nowMillis:J
sub-long/2addr v7, v3
add-long/2addr v1, v5
add-long/2addr v1, v7
return-wide v1
.end method
.method private final computeCandidate()Lokhttp3/internal/cache/CacheStrategy;
.locals 13
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->cacheResponse:Lokhttp3/Response;
const/4 v1, 0x0
if-nez v0, :cond_0
.line 2
new-instance v0, Lokhttp3/internal/cache/CacheStrategy;
iget-object v2, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->request:Lokhttp3/Request;
invoke-direct {v0, v2, v1}, Lokhttp3/internal/cache/CacheStrategy;-><init>(Lokhttp3/Request;Lokhttp3/Response;)V
return-object v0
.line 3
:cond_0
iget-object v0, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->request:Lokhttp3/Request;
invoke-virtual {v0}, Lokhttp3/Request;->isHttps()Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->cacheResponse:Lokhttp3/Response;
invoke-virtual {v0}, Lokhttp3/Response;->handshake()Lokhttp3/Handshake;
move-result-object v0
if-nez v0, :cond_1
.line 4
new-instance v0, Lokhttp3/internal/cache/CacheStrategy;
iget-object v2, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->request:Lokhttp3/Request;
invoke-direct {v0, v2, v1}, Lokhttp3/internal/cache/CacheStrategy;-><init>(Lokhttp3/Request;Lokhttp3/Response;)V
return-object v0
.line 5
:cond_1
sget-object v0, Lokhttp3/internal/cache/CacheStrategy;->Companion:Lokhttp3/internal/cache/CacheStrategy$Companion;
iget-object v2, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->cacheResponse:Lokhttp3/Response;
iget-object v3, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->request:Lokhttp3/Request;
invoke-virtual {v0, v2, v3}, Lokhttp3/internal/cache/CacheStrategy$Companion;->isCacheable(Lokhttp3/Response;Lokhttp3/Request;)Z
move-result v0
if-nez v0, :cond_2
.line 6
new-instance v0, Lokhttp3/internal/cache/CacheStrategy;
iget-object v2, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->request:Lokhttp3/Request;
invoke-direct {v0, v2, v1}, Lokhttp3/internal/cache/CacheStrategy;-><init>(Lokhttp3/Request;Lokhttp3/Response;)V
return-object v0
.line 7
:cond_2
iget-object v0, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->request:Lokhttp3/Request;
invoke-virtual {v0}, Lokhttp3/Request;->cacheControl()Lokhttp3/CacheControl;
move-result-object v0
.line 8
invoke-virtual {v0}, Lokhttp3/CacheControl;->noCache()Z
move-result v2
if-nez v2, :cond_d
iget-object v2, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->request:Lokhttp3/Request;
invoke-direct {p0, v2}, Lokhttp3/internal/cache/CacheStrategy$Factory;->hasConditions(Lokhttp3/Request;)Z
move-result v2
if-eqz v2, :cond_3
goto/16 :goto_2
.line 9
:cond_3
iget-object v2, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->cacheResponse:Lokhttp3/Response;
invoke-virtual {v2}, Lokhttp3/Response;->cacheControl()Lokhttp3/CacheControl;
move-result-object v2
.line 10
invoke-direct {p0}, Lokhttp3/internal/cache/CacheStrategy$Factory;->cacheResponseAge()J
move-result-wide v3
.line 11
invoke-direct {p0}, Lokhttp3/internal/cache/CacheStrategy$Factory;->computeFreshnessLifetime()J
move-result-wide v5
.line 12
invoke-virtual {v0}, Lokhttp3/CacheControl;->maxAgeSeconds()I
move-result v7
const/4 v8, -0x1
if-eq v7, v8, :cond_4
.line 13
sget-object v7, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v0}, Lokhttp3/CacheControl;->maxAgeSeconds()I
move-result v9
int-to-long v9, v9
invoke-virtual {v7, v9, v10}, Ljava/util/concurrent/TimeUnit;->toMillis(J)J
move-result-wide v9
invoke-static {v5, v6, v9, v10}, Ljava/lang/Math;->min(JJ)J
move-result-wide v5
.line 14
:cond_4
invoke-virtual {v0}, Lokhttp3/CacheControl;->minFreshSeconds()I
move-result v7
const-wide/16 v9, 0x0
if-eq v7, v8, :cond_5
.line 15
sget-object v7, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v0}, Lokhttp3/CacheControl;->minFreshSeconds()I
move-result v11
int-to-long v11, v11
invoke-virtual {v7, v11, v12}, Ljava/util/concurrent/TimeUnit;->toMillis(J)J
move-result-wide v11
goto :goto_0
:cond_5
move-wide v11, v9
.line 16
:goto_0
invoke-virtual {v2}, Lokhttp3/CacheControl;->mustRevalidate()Z
move-result v7
if-nez v7, :cond_6
invoke-virtual {v0}, Lokhttp3/CacheControl;->maxStaleSeconds()I
move-result v7
if-eq v7, v8, :cond_6
.line 17
sget-object v7, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v0}, Lokhttp3/CacheControl;->maxStaleSeconds()I
move-result v0
int-to-long v8, v0
invoke-virtual {v7, v8, v9}, Ljava/util/concurrent/TimeUnit;->toMillis(J)J
move-result-wide v9
.line 18
:cond_6
invoke-virtual {v2}, Lokhttp3/CacheControl;->noCache()Z
move-result v0
if-nez v0, :cond_9
add-long/2addr v11, v3
add-long/2addr v9, v5
cmp-long v0, v11, v9
if-gez v0, :cond_9
.line 19
iget-object v0, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->cacheResponse:Lokhttp3/Response;
invoke-virtual {v0}, Lokhttp3/Response;->newBuilder()Lokhttp3/Response$Builder;
move-result-object v0
cmp-long v2, v11, v5
const-string v5, "Warning"
if-ltz v2, :cond_7
const-string v2, "110 HttpURLConnection \"Response is stale\""
.line 20
invoke-virtual {v0, v5, v2}, Lokhttp3/Response$Builder;->addHeader(Ljava/lang/String;Ljava/lang/String;)Lokhttp3/Response$Builder;
:cond_7
const-wide/32 v6, 0x5265c00
cmp-long v2, v3, v6
if-lez v2, :cond_8
.line 21
invoke-direct {p0}, Lokhttp3/internal/cache/CacheStrategy$Factory;->isFreshnessLifetimeHeuristic()Z
move-result v2
if-eqz v2, :cond_8
const-string v2, "113 HttpURLConnection \"Heuristic expiration\""
.line 22
invoke-virtual {v0, v5, v2}, Lokhttp3/Response$Builder;->addHeader(Ljava/lang/String;Ljava/lang/String;)Lokhttp3/Response$Builder;
.line 23
:cond_8
new-instance v2, Lokhttp3/internal/cache/CacheStrategy;
invoke-virtual {v0}, Lokhttp3/Response$Builder;->build()Lokhttp3/Response;
move-result-object v0
invoke-direct {v2, v1, v0}, Lokhttp3/internal/cache/CacheStrategy;-><init>(Lokhttp3/Request;Lokhttp3/Response;)V
return-object v2
.line 24
:cond_9
iget-object v0, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->etag:Ljava/lang/String;
const-string v2, "If-Modified-Since"
if-eqz v0, :cond_a
const-string v2, "If-None-Match"
goto :goto_1
.line 25
:cond_a
iget-object v0, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->lastModified:Ljava/util/Date;
if-eqz v0, :cond_b
.line 26
iget-object v0, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->lastModifiedString:Ljava/lang/String;
goto :goto_1
.line 27
:cond_b
iget-object v0, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->servedDate:Ljava/util/Date;
if-eqz v0, :cond_c
.line 28
iget-object v0, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->servedDateString:Ljava/lang/String;
.line 29
:goto_1
iget-object v1, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->request:Lokhttp3/Request;
invoke-virtual {v1}, Lokhttp3/Request;->headers()Lokhttp3/Headers;
move-result-object v1
invoke-virtual {v1}, Lokhttp3/Headers;->newBuilder()Lokhttp3/Headers$Builder;
move-result-object v1
.line 30
invoke-static {v0}, Lkotlin/jvm/internal/f0;->m(Ljava/lang/Object;)V
invoke-virtual {v1, v2, v0}, Lokhttp3/Headers$Builder;->addLenient$okhttp(Ljava/lang/String;Ljava/lang/String;)Lokhttp3/Headers$Builder;
.line 31
iget-object v0, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->request:Lokhttp3/Request;
invoke-virtual {v0}, Lokhttp3/Request;->newBuilder()Lokhttp3/Request$Builder;
move-result-object v0
.line 32
invoke-virtual {v1}, Lokhttp3/Headers$Builder;->build()Lokhttp3/Headers;
move-result-object v1
invoke-virtual {v0, v1}, Lokhttp3/Request$Builder;->headers(Lokhttp3/Headers;)Lokhttp3/Request$Builder;
move-result-object v0
.line 33
invoke-virtual {v0}, Lokhttp3/Request$Builder;->build()Lokhttp3/Request;
move-result-object v0
.line 34
new-instance v1, Lokhttp3/internal/cache/CacheStrategy;
iget-object v2, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->cacheResponse:Lokhttp3/Response;
invoke-direct {v1, v0, v2}, Lokhttp3/internal/cache/CacheStrategy;-><init>(Lokhttp3/Request;Lokhttp3/Response;)V
return-object v1
.line 35
:cond_c
new-instance v0, Lokhttp3/internal/cache/CacheStrategy;
iget-object v2, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->request:Lokhttp3/Request;
invoke-direct {v0, v2, v1}, Lokhttp3/internal/cache/CacheStrategy;-><init>(Lokhttp3/Request;Lokhttp3/Response;)V
return-object v0
.line 36
:cond_d
:goto_2
new-instance v0, Lokhttp3/internal/cache/CacheStrategy;
iget-object v2, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->request:Lokhttp3/Request;
invoke-direct {v0, v2, v1}, Lokhttp3/internal/cache/CacheStrategy;-><init>(Lokhttp3/Request;Lokhttp3/Response;)V
return-object v0
.end method
.method private final computeFreshnessLifetime()J
.locals 7
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->cacheResponse:Lokhttp3/Response;
invoke-static {v0}, Lkotlin/jvm/internal/f0;->m(Ljava/lang/Object;)V
invoke-virtual {v0}, Lokhttp3/Response;->cacheControl()Lokhttp3/CacheControl;
move-result-object v0
.line 2
invoke-virtual {v0}, Lokhttp3/CacheControl;->maxAgeSeconds()I
move-result v1
const/4 v2, -0x1
if-eq v1, v2, :cond_0
.line 3
sget-object v1, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v0}, Lokhttp3/CacheControl;->maxAgeSeconds()I
move-result v0
int-to-long v2, v0
invoke-virtual {v1, v2, v3}, Ljava/util/concurrent/TimeUnit;->toMillis(J)J
move-result-wide v0
return-wide v0
.line 4
:cond_0
iget-object v0, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->expires:Ljava/util/Date;
const-wide/16 v1, 0x0
if-eqz v0, :cond_3
.line 5
iget-object v3, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->servedDate:Ljava/util/Date;
if-eqz v3, :cond_1
invoke-virtual {v3}, Ljava/util/Date;->getTime()J
move-result-wide v3
goto :goto_0
:cond_1
iget-wide v3, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->receivedResponseMillis:J
.line 6
:goto_0
invoke-virtual {v0}, Ljava/util/Date;->getTime()J
move-result-wide v5
sub-long/2addr v5, v3
cmp-long v0, v5, v1
if-lez v0, :cond_2
move-wide v1, v5
:cond_2
return-wide v1
.line 7
:cond_3
iget-object v0, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->lastModified:Ljava/util/Date;
if-eqz v0, :cond_5
iget-object v0, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->cacheResponse:Lokhttp3/Response;
invoke-virtual {v0}, Lokhttp3/Response;->request()Lokhttp3/Request;
move-result-object v0
invoke-virtual {v0}, Lokhttp3/Request;->url()Lokhttp3/HttpUrl;
move-result-object v0
invoke-virtual {v0}, Lokhttp3/HttpUrl;->query()Ljava/lang/String;
move-result-object v0
if-nez v0, :cond_5
.line 8
iget-object v0, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->servedDate:Ljava/util/Date;
if-eqz v0, :cond_4
invoke-virtual {v0}, Ljava/util/Date;->getTime()J
move-result-wide v3
goto :goto_1
:cond_4
iget-wide v3, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->sentRequestMillis:J
.line 9
:goto_1
iget-object v0, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->lastModified:Ljava/util/Date;
invoke-static {v0}, Lkotlin/jvm/internal/f0;->m(Ljava/lang/Object;)V
invoke-virtual {v0}, Ljava/util/Date;->getTime()J
move-result-wide v5
sub-long/2addr v3, v5
cmp-long v0, v3, v1
if-lez v0, :cond_5
const/16 v0, 0xa
int-to-long v0, v0
.line 10
div-long v1, v3, v0
:cond_5
return-wide v1
.end method
.method private final hasConditions(Lokhttp3/Request;)Z
.locals 1
const-string v0, "If-Modified-Since"
.line 1
invoke-virtual {p1, v0}, Lokhttp3/Request;->header(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
if-nez v0, :cond_1
const-string v0, "If-None-Match"
invoke-virtual {p1, v0}, Lokhttp3/Request;->header(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
if-eqz p1, :cond_0
goto :goto_0
:cond_0
const/4 p1, 0x0
goto :goto_1
:cond_1
:goto_0
const/4 p1, 0x1
:goto_1
return p1
.end method
.method private final isFreshnessLifetimeHeuristic()Z
.locals 2
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->cacheResponse:Lokhttp3/Response;
invoke-static {v0}, Lkotlin/jvm/internal/f0;->m(Ljava/lang/Object;)V
invoke-virtual {v0}, Lokhttp3/Response;->cacheControl()Lokhttp3/CacheControl;
move-result-object v0
invoke-virtual {v0}, Lokhttp3/CacheControl;->maxAgeSeconds()I
move-result v0
const/4 v1, -0x1
if-ne v0, v1, :cond_0
iget-object v0, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->expires:Ljava/util/Date;
if-nez v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
# virtual methods
.method public final compute()Lokhttp3/internal/cache/CacheStrategy;
.locals 2
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.line 1
invoke-direct {p0}, Lokhttp3/internal/cache/CacheStrategy$Factory;->computeCandidate()Lokhttp3/internal/cache/CacheStrategy;
move-result-object v0
.line 2
invoke-virtual {v0}, Lokhttp3/internal/cache/CacheStrategy;->getNetworkRequest()Lokhttp3/Request;
move-result-object v1
if-eqz v1, :cond_0
iget-object v1, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->request:Lokhttp3/Request;
invoke-virtual {v1}, Lokhttp3/Request;->cacheControl()Lokhttp3/CacheControl;
move-result-object v1
invoke-virtual {v1}, Lokhttp3/CacheControl;->onlyIfCached()Z
move-result v1
if-eqz v1, :cond_0
.line 3
new-instance v0, Lokhttp3/internal/cache/CacheStrategy;
const/4 v1, 0x0
invoke-direct {v0, v1, v1}, Lokhttp3/internal/cache/CacheStrategy;-><init>(Lokhttp3/Request;Lokhttp3/Response;)V
:cond_0
return-object v0
.end method
.method public final getRequest$okhttp()Lokhttp3/Request;
.locals 1
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/CacheStrategy$Factory;->request:Lokhttp3/Request;
return-object v0
.end method
@@ -0,0 +1,122 @@
.class public final Lokhttp3/internal/cache/CacheStrategy;
.super Ljava/lang/Object;
.source "CacheStrategy.kt"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lokhttp3/internal/cache/CacheStrategy$Factory;,
Lokhttp3/internal/cache/CacheStrategy$Companion;
}
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {
0x1,
0x0,
0x3
}
d1 = {
"\u0000\u0018\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0008\u0018\u0000 \u000b2\u00020\u0001:\u0002\u000b\u000cB\u001b\u0008\u0000\u0012\u0008\u0010\u0002\u001a\u0004\u0018\u00010\u0003\u0012\u0008\u0010\u0004\u001a\u0004\u0018\u00010\u0005\u00a2\u0006\u0002\u0010\u0006R\u0013\u0010\u0004\u001a\u0004\u0018\u00010\u0005\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008\u0007\u0010\u0008R\u0013\u0010\u0002\u001a\u0004\u0018\u00010\u0003\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008\t\u0010\n\u00a8\u0006\r"
}
d2 = {
"Lokhttp3/internal/cache/CacheStrategy;",
"",
"networkRequest",
"Lokhttp3/Request;",
"cacheResponse",
"Lokhttp3/Response;",
"(Lokhttp3/Request;Lokhttp3/Response;)V",
"getCacheResponse",
"()Lokhttp3/Response;",
"getNetworkRequest",
"()Lokhttp3/Request;",
"Companion",
"Factory",
"okhttp"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# static fields
.field public static final Companion:Lokhttp3/internal/cache/CacheStrategy$Companion;
# instance fields
.field private final cacheResponse:Lokhttp3/Response;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end field
.field private final networkRequest:Lokhttp3/Request;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end field
# direct methods
.method public static constructor <clinit>()V
.locals 2
new-instance v0, Lokhttp3/internal/cache/CacheStrategy$Companion;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lokhttp3/internal/cache/CacheStrategy$Companion;-><init>(Lkotlin/jvm/internal/u;)V
sput-object v0, Lokhttp3/internal/cache/CacheStrategy;->Companion:Lokhttp3/internal/cache/CacheStrategy$Companion;
return-void
.end method
.method public constructor <init>(Lokhttp3/Request;Lokhttp3/Response;)V
.locals 0
.param p1 # Lokhttp3/Request;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end param
.param p2 # Lokhttp3/Response;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end param
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lokhttp3/internal/cache/CacheStrategy;->networkRequest:Lokhttp3/Request;
iput-object p2, p0, Lokhttp3/internal/cache/CacheStrategy;->cacheResponse:Lokhttp3/Response;
return-void
.end method
# virtual methods
.method public final getCacheResponse()Lokhttp3/Response;
.locals 1
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/CacheStrategy;->cacheResponse:Lokhttp3/Response;
return-object v0
.end method
.method public final getNetworkRequest()Lokhttp3/Request;
.locals 1
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/CacheStrategy;->networkRequest:Lokhttp3/Request;
return-object v0
.end method
@@ -0,0 +1,71 @@
.class public final Lokhttp3/internal/cache/DiskLruCache$Companion;
.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 = 0x19
name = "Companion"
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {
0x1,
0x0,
0x3
}
d1 = {
"\u0000\"\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0008\u0002\n\u0002\u0010\t\n\u0000\n\u0002\u0010\u000e\n\u0002\u0008\u0005\n\u0002\u0018\u0002\n\u0002\u0008\u0005\u0008\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\u0008\u0002\u00a2\u0006\u0002\u0010\u0002R\u0010\u0010\u0003\u001a\u00020\u00048\u0006X\u0087D\u00a2\u0006\u0002\n\u0000R\u0010\u0010\u0005\u001a\u00020\u00068\u0006X\u0087D\u00a2\u0006\u0002\n\u0000R\u0010\u0010\u0007\u001a\u00020\u00068\u0006X\u0087D\u00a2\u0006\u0002\n\u0000R\u0010\u0010\u0008\u001a\u00020\u00068\u0006X\u0087D\u00a2\u0006\u0002\n\u0000R\u0010\u0010\t\u001a\u00020\u00068\u0006X\u0087D\u00a2\u0006\u0002\n\u0000R\u0010\u0010\n\u001a\u00020\u00068\u0006X\u0087D\u00a2\u0006\u0002\n\u0000R\u0010\u0010\u000b\u001a\u00020\u000c8\u0006X\u0087\u0004\u00a2\u0006\u0002\n\u0000R\u0010\u0010\r\u001a\u00020\u00068\u0006X\u0087D\u00a2\u0006\u0002\n\u0000R\u0010\u0010\u000e\u001a\u00020\u00068\u0006X\u0087D\u00a2\u0006\u0002\n\u0000R\u0010\u0010\u000f\u001a\u00020\u00068\u0006X\u0087D\u00a2\u0006\u0002\n\u0000R\u0010\u0010\u0010\u001a\u00020\u00068\u0006X\u0087D\u00a2\u0006\u0002\n\u0000\u00a8\u0006\u0011"
}
d2 = {
"Lokhttp3/internal/cache/DiskLruCache$Companion;",
"",
"()V",
"ANY_SEQUENCE_NUMBER",
"",
"CLEAN",
"",
"DIRTY",
"JOURNAL_FILE",
"JOURNAL_FILE_BACKUP",
"JOURNAL_FILE_TEMP",
"LEGAL_KEY_PATTERN",
"Lkotlin/text/Regex;",
"MAGIC",
"READ",
"REMOVE",
"VERSION_1",
"okhttp"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public synthetic constructor <init>(Lkotlin/jvm/internal/u;)V
.locals 0
.line 2
invoke-direct {p0}, Lokhttp3/internal/cache/DiskLruCache$Companion;-><init>()V
return-void
.end method
@@ -0,0 +1,128 @@
.class final Lokhttp3/internal/cache/DiskLruCache$Editor$newSink$$inlined$synchronized$lambda$1;
.super Lkotlin/jvm/internal/Lambda;
.source "DiskLruCache.kt"
# interfaces
.implements Lej/l;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lokhttp3/internal/cache/DiskLruCache$Editor;->newSink(I)Lzj/k0;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlin/jvm/internal/Lambda;",
"Lej/l<",
"Ljava/io/IOException;",
"Lkotlin/d1;",
">;"
}
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000\u000e\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0004\u0010\u0006\u001a\u00020\u00022\u0006\u0010\u0001\u001a\u00020\u0000H\n\u00a2\u0006\u0004\u0008\u0003\u0010\u0004\u00a8\u0006\u0005"
}
d2 = {
"Ljava/io/IOException;",
"it",
"Lkotlin/d1;",
"invoke",
"(Ljava/io/IOException;)V",
"okhttp3/internal/cache/DiskLruCache$Editor$newSink$1$1",
"<anonymous>"
}
k = 0x3
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field public final synthetic $index$inlined:I
.field public final synthetic this$0:Lokhttp3/internal/cache/DiskLruCache$Editor;
# direct methods
.method public constructor <init>(Lokhttp3/internal/cache/DiskLruCache$Editor;I)V
.locals 0
iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor$newSink$$inlined$synchronized$lambda$1;->this$0:Lokhttp3/internal/cache/DiskLruCache$Editor;
iput p2, p0, Lokhttp3/internal/cache/DiskLruCache$Editor$newSink$$inlined$synchronized$lambda$1;->$index$inlined:I
const/4 p1, 0x1
invoke-direct {p0, p1}, Lkotlin/jvm/internal/Lambda;-><init>(I)V
return-void
.end method
# virtual methods
.method public bridge synthetic invoke(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p1, Ljava/io/IOException;
invoke-virtual {p0, p1}, Lokhttp3/internal/cache/DiskLruCache$Editor$newSink$$inlined$synchronized$lambda$1;->invoke(Ljava/io/IOException;)V
sget-object p1, Lkotlin/d1;->a:Lkotlin/d1;
return-object p1
.end method
.method public final invoke(Ljava/io/IOException;)V
.locals 1
.param p1 # Ljava/io/IOException;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
const-string v0, "it"
invoke-static {p1, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V
.line 2
iget-object p1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor$newSink$$inlined$synchronized$lambda$1;->this$0:Lokhttp3/internal/cache/DiskLruCache$Editor;
iget-object p1, p1, Lokhttp3/internal/cache/DiskLruCache$Editor;->this$0:Lokhttp3/internal/cache/DiskLruCache;
monitor-enter p1
.line 3
:try_start_0
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Editor$newSink$$inlined$synchronized$lambda$1;->this$0:Lokhttp3/internal/cache/DiskLruCache$Editor;
invoke-virtual {v0}, Lokhttp3/internal/cache/DiskLruCache$Editor;->detach$okhttp()V
.line 4
sget-object v0, Lkotlin/d1;->a:Lkotlin/d1;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 5
monitor-exit p1
return-void
:catchall_0
move-exception v0
monitor-exit p1
throw v0
.end method
@@ -0,0 +1,634 @@
.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 runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000@\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0003\n\u0002\u0010\u0008\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0003\n\u0002\u0010\u0018\n\u0002\u0008\u0004\n\u0002\u0010\u000b\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0007\u0008\u0086\u0004\u0018\u00002\u00020\u0001B\u0015\u0008\u0000\u0012\n\u0010\u0018\u001a\u00060\u0016R\u00020\u0017\u00a2\u0006\u0004\u0008\u001c\u0010\u001dJ\u000f\u0010\u0005\u001a\u00020\u0002H\u0000\u00a2\u0006\u0004\u0008\u0003\u0010\u0004J\u0010\u0010\t\u001a\u0004\u0018\u00010\u00082\u0006\u0010\u0007\u001a\u00020\u0006J\u000e\u0010\u000b\u001a\u00020\n2\u0006\u0010\u0007\u001a\u00020\u0006J\u0006\u0010\u000c\u001a\u00020\u0002J\u0006\u0010\r\u001a\u00020\u0002R\u001c\u0010\u000f\u001a\u0004\u0018\u00010\u000e8\u0000X\u0080\u0004\u00a2\u0006\u000c\n\u0004\u0008\u000f\u0010\u0010\u001a\u0004\u0008\u0011\u0010\u0012R\u0016\u0010\u0014\u001a\u00020\u00138\u0002@\u0002X\u0082\u000e\u00a2\u0006\u0006\n\u0004\u0008\u0014\u0010\u0015R\u001e\u0010\u0018\u001a\u00060\u0016R\u00020\u00178\u0000X\u0080\u0004\u00a2\u0006\u000c\n\u0004\u0008\u0018\u0010\u0019\u001a\u0004\u0008\u001a\u0010\u001b\u00a8\u0006\u001e"
}
d2 = {
"Lokhttp3/internal/cache/DiskLruCache$Editor;",
"",
"Lkotlin/d1;",
"detach$okhttp",
"()V",
"detach",
"",
"index",
"Lzj/m0;",
"newSource",
"Lzj/k0;",
"newSink",
"commit",
"abort",
"",
"written",
"[Z",
"getWritten$okhttp",
"()[Z",
"",
"done",
"Z",
"Lokhttp3/internal/cache/DiskLruCache$Entry;",
"Lokhttp3/internal/cache/DiskLruCache;",
"entry",
"Lokhttp3/internal/cache/DiskLruCache$Entry;",
"getEntry$okhttp",
"()Lokhttp3/internal/cache/DiskLruCache$Entry;",
"<init>",
"(Lokhttp3/internal/cache/DiskLruCache;Lokhttp3/internal/cache/DiskLruCache$Entry;)V",
"okhttp"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field private done:Z
.field private final entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end field
.field public final synthetic this$0:Lokhttp3/internal/cache/DiskLruCache;
.field private final written:[Z
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end field
# direct methods
.method public constructor <init>(Lokhttp3/internal/cache/DiskLruCache;Lokhttp3/internal/cache/DiskLruCache$Entry;)V
.locals 1
.param p1 # Lokhttp3/internal/cache/DiskLruCache;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.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/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V
.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
iput-object p2, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
.line 2
invoke-virtual {p2}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getReadable$okhttp()Z
move-result p2
if-eqz p2, :cond_0
const/4 p1, 0x0
goto :goto_0
:cond_0
invoke-virtual {p1}, Lokhttp3/internal/cache/DiskLruCache;->getValueCount$okhttp()I
move-result p1
new-array p1, p1, [Z
:goto_0
iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->written:[Z
return-void
.end method
# virtual methods
.method public final abort()V
.locals 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_0
iget-boolean v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->done:Z
const/4 v2, 0x1
xor-int/2addr v1, v2
if-eqz v1, :cond_1
.line 3
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
invoke-static {v1, p0}, Lkotlin/jvm/internal/f0;->g(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_0
.line 4
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 5
:cond_0
iput-boolean v2, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->done:Z
.line 6
sget-object v1, Lkotlin/d1;->a:Lkotlin/d1;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 7
monitor-exit v0
return-void
:cond_1
:try_start_1
const-string v1, "Check failed."
.line 8
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
throw v2
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
:catchall_0
move-exception v1
.line 9
monitor-exit v0
throw v1
.end method
.method public final commit()V
.locals 3
.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_0
iget-boolean v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->done:Z
const/4 v2, 0x1
xor-int/2addr v1, v2
if-eqz v1, :cond_1
.line 3
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
invoke-static {v1, p0}, Lkotlin/jvm/internal/f0;->g(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_0
.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$okhttp(Lokhttp3/internal/cache/DiskLruCache$Editor;Z)V
.line 5
:cond_0
iput-boolean v2, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->done:Z
.line 6
sget-object v1, Lkotlin/d1;->a:Lkotlin/d1;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 7
monitor-exit v0
return-void
:cond_1
:try_start_1
const-string v1, "Check failed."
.line 8
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
throw v2
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
:catchall_0
move-exception v1
.line 9
monitor-exit v0
throw v1
.end method
.method public final detach$okhttp()V
.locals 2
.line 1
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
invoke-static {v0, p0}, Lkotlin/jvm/internal/f0;->g(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1
.line 2
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->this$0:Lokhttp3/internal/cache/DiskLruCache;
invoke-static {v0}, Lokhttp3/internal/cache/DiskLruCache;->access$getCivilizedFileSystem$p(Lokhttp3/internal/cache/DiskLruCache;)Z
move-result v0
if-eqz v0, :cond_0
.line 3
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->this$0:Lokhttp3/internal/cache/DiskLruCache;
const/4 v1, 0x0
invoke-virtual {v0, p0, v1}, Lokhttp3/internal/cache/DiskLruCache;->completeEdit$okhttp(Lokhttp3/internal/cache/DiskLruCache$Editor;Z)V
goto :goto_0
.line 4
:cond_0
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
const/4 v1, 0x1
invoke-virtual {v0, v1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->setZombie$okhttp(Z)V
:cond_1
:goto_0
return-void
.end method
.method public final getEntry$okhttp()Lokhttp3/internal/cache/DiskLruCache$Entry;
.locals 1
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.line 1
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
.locals 1
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->written:[Z
return-object v0
.end method
.method public final newSink(I)Lzj/k0;
.locals 4
.annotation build Lorg/jetbrains/annotations/NotNull;
.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_0
iget-boolean v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->done:Z
const/4 v2, 0x1
xor-int/2addr v1, v2
if-eqz v1, :cond_2
.line 3
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
invoke-static {v1, p0}, Lkotlin/jvm/internal/f0;->g(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v1
xor-int/2addr v1, v2
if-eqz v1, :cond_0
.line 4
invoke-static {}, Lzj/z;->b()Lzj/k0;
move-result-object p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit v0
return-object p1
.line 5
:cond_0
:try_start_1
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_1
.line 6
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->written:[Z
invoke-static {v1}, Lkotlin/jvm/internal/f0;->m(Ljava/lang/Object;)V
aput-boolean v2, v1, p1
.line 7
:cond_1
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_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
.line 8
:try_start_2
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;)Lzj/k0;
move-result-object v1
:try_end_2
.catch Ljava/io/FileNotFoundException; {:try_start_2 .. :try_end_2} :catch_0
.catchall {:try_start_2 .. :try_end_2} :catchall_0
.line 9
:try_start_3
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
invoke-direct {v2, v1, v3}, Lokhttp3/internal/cache/FaultHidingSink;-><init>(Lzj/k0;Lej/l;)V
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_0
monitor-exit v0
return-object v2
.line 10
:catch_0
:try_start_4
invoke-static {}, Lzj/z;->b()Lzj/k0;
move-result-object p1
:try_end_4
.catchall {:try_start_4 .. :try_end_4} :catchall_0
monitor-exit v0
return-object p1
:cond_2
:try_start_5
const-string p1, "Check failed."
.line 11
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
throw v1
:try_end_5
.catchall {:try_start_5 .. :try_end_5} :catchall_0
:catchall_0
move-exception p1
.line 12
monitor-exit v0
throw p1
.end method
.method public final newSource(I)Lzj/m0;
.locals 4
.annotation build Lorg/jetbrains/annotations/Nullable;
.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_0
iget-boolean v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->done:Z
xor-int/lit8 v1, v1, 0x1
if-eqz v1, :cond_2
.line 3
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_1
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
invoke-static {v1, p0}, Lkotlin/jvm/internal/f0;->g(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v1
xor-int/lit8 v1, v1, 0x1
if-nez v1, :cond_1
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Editor;->entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
invoke-virtual {v1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getZombie$okhttp()Z
move-result v1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-eqz v1, :cond_0
goto :goto_0
.line 4
:cond_0
:try_start_1
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;)Lzj/m0;
move-result-object v2
:try_end_1
.catch Ljava/io/FileNotFoundException; {:try_start_1 .. :try_end_1} :catch_0
.catchall {:try_start_1 .. :try_end_1} :catchall_0
.line 5
:catch_0
monitor-exit v0
return-object v2
.line 6
:cond_1
:goto_0
monitor-exit v0
return-object v2
:cond_2
:try_start_2
const-string p1, "Check failed."
.line 7
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
throw v1
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_0
:catchall_0
move-exception p1
.line 8
monitor-exit v0
throw p1
.end method
@@ -0,0 +1,152 @@
.class public final Lokhttp3/internal/cache/DiskLruCache$Entry$newSource$1;
.super Lzj/r;
.source "DiskLruCache.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lokhttp3/internal/cache/DiskLruCache$Entry;->newSource(I)Lzj/m0;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = null
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000\u0017\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0002\u0008\u0003*\u0001\u0000\u0008\n\u0018\u00002\u00020\u0001J\u0008\u0010\u0003\u001a\u00020\u0002H\u0016R\u0016\u0010\u0005\u001a\u00020\u00048\u0002@\u0002X\u0082\u000e\u00a2\u0006\u0006\n\u0004\u0008\u0005\u0010\u0006\u00a8\u0006\u0007"
}
d2 = {
"okhttp3/internal/cache/DiskLruCache$Entry$newSource$1",
"Lzj/r;",
"Lkotlin/d1;",
"close",
"",
"closed",
"Z",
"okhttp"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field public final synthetic $fileSource:Lzj/m0;
.field private closed:Z
.field public final synthetic this$0:Lokhttp3/internal/cache/DiskLruCache$Entry;
# direct methods
.method public constructor <init>(Lokhttp3/internal/cache/DiskLruCache$Entry;Lzj/m0;Lzj/m0;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lzj/m0;",
"Lzj/m0;",
")V"
}
.end annotation
.line 1
iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache$Entry$newSource$1;->this$0:Lokhttp3/internal/cache/DiskLruCache$Entry;
iput-object p2, p0, Lokhttp3/internal/cache/DiskLruCache$Entry$newSource$1;->$fileSource:Lzj/m0;
invoke-direct {p0, p3}, Lzj/r;-><init>(Lzj/m0;)V
return-void
.end method
# virtual methods
.method public close()V
.locals 3
.line 1
invoke-super {p0}, Lzj/r;->close()V
.line 2
iget-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry$newSource$1;->closed:Z
if-nez v0, :cond_1
const/4 v0, 0x1
.line 3
iput-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry$newSource$1;->closed:Z
.line 4
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry$newSource$1;->this$0:Lokhttp3/internal/cache/DiskLruCache$Entry;
iget-object v0, v0, Lokhttp3/internal/cache/DiskLruCache$Entry;->this$0:Lokhttp3/internal/cache/DiskLruCache;
monitor-enter v0
.line 5
:try_start_0
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Entry$newSource$1;->this$0:Lokhttp3/internal/cache/DiskLruCache$Entry;
invoke-virtual {v1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getLockingSourceCount$okhttp()I
move-result v2
add-int/lit8 v2, v2, -0x1
invoke-virtual {v1, v2}, Lokhttp3/internal/cache/DiskLruCache$Entry;->setLockingSourceCount$okhttp(I)V
.line 6
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Entry$newSource$1;->this$0:Lokhttp3/internal/cache/DiskLruCache$Entry;
invoke-virtual {v1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getLockingSourceCount$okhttp()I
move-result v1
if-nez v1, :cond_0
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Entry$newSource$1;->this$0:Lokhttp3/internal/cache/DiskLruCache$Entry;
invoke-virtual {v1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->getZombie$okhttp()Z
move-result v1
if-eqz v1, :cond_0
.line 7
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Entry$newSource$1;->this$0:Lokhttp3/internal/cache/DiskLruCache$Entry;
iget-object v2, v1, Lokhttp3/internal/cache/DiskLruCache$Entry;->this$0:Lokhttp3/internal/cache/DiskLruCache;
invoke-virtual {v2, v1}, Lokhttp3/internal/cache/DiskLruCache;->removeEntry$okhttp(Lokhttp3/internal/cache/DiskLruCache$Entry;)Z
.line 8
:cond_0
sget-object v1, Lkotlin/d1;->a:Lkotlin/d1;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 9
monitor-exit v0
goto :goto_0
:catchall_0
move-exception v1
monitor-exit v0
throw v1
:cond_1
:goto_0
return-void
.end method
@@ -0,0 +1,865 @@
.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,1065:1\n608#2,4:1066\n*E\n*S KotlinDebug\n*F\n+ 1 DiskLruCache.kt\nokhttp3/internal/cache/DiskLruCache$Entry\n*L\n1001#1,4:1066\n*E\n"
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000l\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0010 \n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\u0001\n\u0000\n\u0002\u0010\u0008\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0003\n\u0002\u0018\u0002\n\u0002\u0008\u0004\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0003\n\u0002\u0010\u0016\n\u0002\u0008\u0004\n\u0002\u0010!\n\u0002\u0018\u0002\n\u0002\u0008\u0006\n\u0002\u0010\u000b\n\u0002\u0008\t\n\u0002\u0018\u0002\n\u0002\u0008\u000c\n\u0002\u0010\t\n\u0002\u0008\r\u0008\u0080\u0004\u0018\u00002\u00020\u0001B\u0011\u0008\u0000\u0012\u0006\u0010D\u001a\u00020\u0003\u00a2\u0006\u0004\u0008H\u0010IJ\u0016\u0010\u0006\u001a\u00020\u00052\u000c\u0010\u0004\u001a\u0008\u0012\u0004\u0012\u00020\u00030\u0002H\u0002J\u0010\u0010\n\u001a\u00020\t2\u0006\u0010\u0008\u001a\u00020\u0007H\u0002J\u001d\u0010\u000e\u001a\u00020\u000b2\u000c\u0010\u0004\u001a\u0008\u0012\u0004\u0012\u00020\u00030\u0002H\u0000\u00a2\u0006\u0004\u0008\u000c\u0010\rJ\u0017\u0010\u0013\u001a\u00020\u000b2\u0006\u0010\u0010\u001a\u00020\u000fH\u0000\u00a2\u0006\u0004\u0008\u0011\u0010\u0012J\u0015\u0010\u0018\u001a\u0008\u0018\u00010\u0014R\u00020\u0015H\u0000\u00a2\u0006\u0004\u0008\u0016\u0010\u0017R\u001a\u0010\u001a\u001a\u00020\u00198\u0000X\u0080\u0004\u00a2\u0006\u000c\n\u0004\u0008\u001a\u0010\u001b\u001a\u0004\u0008\u001c\u0010\u001dR \u0010 \u001a\u0008\u0012\u0004\u0012\u00020\u001f0\u001e8\u0000X\u0080\u0004\u00a2\u0006\u000c\n\u0004\u0008 \u0010!\u001a\u0004\u0008\"\u0010#R \u0010$\u001a\u0008\u0012\u0004\u0012\u00020\u001f0\u001e8\u0000X\u0080\u0004\u00a2\u0006\u000c\n\u0004\u0008$\u0010!\u001a\u0004\u0008%\u0010#R\"\u0010\'\u001a\u00020&8\u0000@\u0000X\u0080\u000e\u00a2\u0006\u0012\n\u0004\u0008\'\u0010(\u001a\u0004\u0008)\u0010*\"\u0004\u0008+\u0010,R\"\u0010-\u001a\u00020&8\u0000@\u0000X\u0080\u000e\u00a2\u0006\u0012\n\u0004\u0008-\u0010(\u001a\u0004\u0008.\u0010*\"\u0004\u0008/\u0010,R(\u00101\u001a\u0008\u0018\u000100R\u00020\u00158\u0000@\u0000X\u0080\u000e\u00a2\u0006\u0012\n\u0004\u00081\u00102\u001a\u0004\u00083\u00104\"\u0004\u00085\u00106R\"\u00107\u001a\u00020\u00078\u0000@\u0000X\u0080\u000e\u00a2\u0006\u0012\n\u0004\u00087\u00108\u001a\u0004\u00089\u0010:\"\u0004\u0008;\u0010<R\"\u0010>\u001a\u00020=8\u0000@\u0000X\u0080\u000e\u00a2\u0006\u0012\n\u0004\u0008>\u0010?\u001a\u0004\u0008@\u0010A\"\u0004\u0008B\u0010CR\u001a\u0010D\u001a\u00020\u00038\u0000X\u0080\u0004\u00a2\u0006\u000c\n\u0004\u0008D\u0010E\u001a\u0004\u0008F\u0010G\u00a8\u0006J"
}
d2 = {
"Lokhttp3/internal/cache/DiskLruCache$Entry;",
"",
"",
"",
"strings",
"",
"invalidLengths",
"",
"index",
"Lzj/m0;",
"newSource",
"Lkotlin/d1;",
"setLengths$okhttp",
"(Ljava/util/List;)V",
"setLengths",
"Lzj/n;",
"writer",
"writeLengths$okhttp",
"(Lzj/n;)V",
"writeLengths",
"Lokhttp3/internal/cache/DiskLruCache$Snapshot;",
"Lokhttp3/internal/cache/DiskLruCache;",
"snapshot$okhttp",
"()Lokhttp3/internal/cache/DiskLruCache$Snapshot;",
"snapshot",
"",
"lengths",
"[J",
"getLengths$okhttp",
"()[J",
"",
"Ljava/io/File;",
"cleanFiles",
"Ljava/util/List;",
"getCleanFiles$okhttp",
"()Ljava/util/List;",
"dirtyFiles",
"getDirtyFiles$okhttp",
"",
"readable",
"Z",
"getReadable$okhttp",
"()Z",
"setReadable$okhttp",
"(Z)V",
"zombie",
"getZombie$okhttp",
"setZombie$okhttp",
"Lokhttp3/internal/cache/DiskLruCache$Editor;",
"currentEditor",
"Lokhttp3/internal/cache/DiskLruCache$Editor;",
"getCurrentEditor$okhttp",
"()Lokhttp3/internal/cache/DiskLruCache$Editor;",
"setCurrentEditor$okhttp",
"(Lokhttp3/internal/cache/DiskLruCache$Editor;)V",
"lockingSourceCount",
"I",
"getLockingSourceCount$okhttp",
"()I",
"setLockingSourceCount$okhttp",
"(I)V",
"",
"sequenceNumber",
"J",
"getSequenceNumber$okhttp",
"()J",
"setSequenceNumber$okhttp",
"(J)V",
"key",
"Ljava/lang/String;",
"getKey$okhttp",
"()Ljava/lang/String;",
"<init>",
"(Lokhttp3/internal/cache/DiskLruCache;Ljava/lang/String;)V",
"okhttp"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.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
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end field
.field private currentEditor:Lokhttp3/internal/cache/DiskLruCache$Editor;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end field
.field private final dirtyFiles:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Ljava/io/File;",
">;"
}
.end annotation
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end field
.field private final key:Ljava/lang/String;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end field
.field private final lengths:[J
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end field
.field private lockingSourceCount:I
.field private readable:Z
.field private sequenceNumber:J
.field public final synthetic this$0:Lokhttp3/internal/cache/DiskLruCache;
.field private zombie:Z
# direct methods
.method public constructor <init>(Lokhttp3/internal/cache/DiskLruCache;Ljava/lang/String;)V
.locals 7
.param p1 # Lokhttp3/internal/cache/DiskLruCache;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")V"
}
.end annotation
const-string v0, "key"
invoke-static {p2, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V
.line 1
iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->this$0:Lokhttp3/internal/cache/DiskLruCache;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p2, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->key:Ljava/lang/String;
.line 2
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 3
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->cleanFiles:Ljava/util/List;
.line 4
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->dirtyFiles:Ljava/util/List;
.line 5
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0, p2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
const/16 p2, 0x2e
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 6
invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I
move-result p2
.line 7
invoke-virtual {p1}, Lokhttp3/internal/cache/DiskLruCache;->getValueCount$okhttp()I
move-result v1
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_0
.line 8
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
.line 9
iget-object v3, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->cleanFiles:Ljava/util/List;
new-instance v4, Ljava/io/File;
invoke-virtual {p1}, Lokhttp3/internal/cache/DiskLruCache;->getDirectory()Ljava/io/File;
move-result-object v5
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-direct {v4, v5, v6}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
invoke-interface {v3, v4}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
const-string v3, ".tmp"
.line 10
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 11
iget-object v3, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->dirtyFiles:Ljava/util/List;
new-instance v4, Ljava/io/File;
invoke-virtual {p1}, Lokhttp3/internal/cache/DiskLruCache;->getDirectory()Ljava/io/File;
move-result-object v5
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-direct {v4, v5, v6}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
invoke-interface {v3, v4}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
.line 12
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->setLength(I)V
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_0
return-void
.end method
.method private final invalidLengths(Ljava/util/List;)Ljava/lang/Void;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)",
"Ljava/lang/Void;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
new-instance v0, Ljava/io/IOException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "unexpected journal line: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private final newSource(I)Lzj/m0;
.locals 2
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->this$0:Lokhttp3/internal/cache/DiskLruCache;
invoke-virtual {v0}, Lokhttp3/internal/cache/DiskLruCache;->getFileSystem$okhttp()Lokhttp3/internal/io/FileSystem;
move-result-object v0
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->cleanFiles:Ljava/util/List;
invoke-interface {v1, p1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/io/File;
invoke-interface {v0, p1}, Lokhttp3/internal/io/FileSystem;->source(Ljava/io/File;)Lzj/m0;
move-result-object p1
.line 2
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->this$0:Lokhttp3/internal/cache/DiskLruCache;
invoke-static {v0}, Lokhttp3/internal/cache/DiskLruCache;->access$getCivilizedFileSystem$p(Lokhttp3/internal/cache/DiskLruCache;)Z
move-result v0
if-eqz v0, :cond_0
return-object p1
.line 3
:cond_0
iget v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->lockingSourceCount:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->lockingSourceCount:I
.line 4
new-instance v0, Lokhttp3/internal/cache/DiskLruCache$Entry$newSource$1;
invoke-direct {v0, p0, p1, p1}, Lokhttp3/internal/cache/DiskLruCache$Entry$newSource$1;-><init>(Lokhttp3/internal/cache/DiskLruCache$Entry;Lzj/m0;Lzj/m0;)V
return-object v0
.end method
# virtual methods
.method public final getCleanFiles$okhttp()Ljava/util/List;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Ljava/io/File;",
">;"
}
.end annotation
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.line 1
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;
.locals 1
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.line 1
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;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Ljava/io/File;",
">;"
}
.end annotation
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.line 1
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;
.locals 1
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->key:Ljava/lang/String;
return-object v0
.end method
.method public final getLengths$okhttp()[J
.locals 1
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->lengths:[J
return-object v0
.end method
.method public final getLockingSourceCount$okhttp()I
.locals 1
.line 1
iget v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->lockingSourceCount:I
return v0
.end method
.method public final getReadable$okhttp()Z
.locals 1
.line 1
iget-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->readable:Z
return v0
.end method
.method public final getSequenceNumber$okhttp()J
.locals 2
.line 1
iget-wide v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->sequenceNumber:J
return-wide v0
.end method
.method public final getZombie$okhttp()Z
.locals 1
.line 1
iget-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->zombie:Z
return v0
.end method
.method public final setCurrentEditor$okhttp(Lokhttp3/internal/cache/DiskLruCache$Editor;)V
.locals 0
.param p1 # Lokhttp3/internal/cache/DiskLruCache$Editor;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end param
.line 1
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
.locals 5
.param p1 # Ljava/util/List;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.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/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V
.line 1
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_1
const/4 v0, 0x0
.line 2
:try_start_0
invoke-interface {p1}, Ljava/util/Collection;->size()I
move-result v1
:goto_0
if-ge v0, v1, :cond_0
.line 3
iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->lengths:[J
invoke-interface {p1, v0}, 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, v0
:try_end_0
.catch Ljava/lang/NumberFormatException; {:try_start_0 .. :try_end_0} :catch_0
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_0
return-void
.line 4
:catch_0
invoke-direct {p0, p1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->invalidLengths(Ljava/util/List;)Ljava/lang/Void;
new-instance p1, Lkotlin/KotlinNothingValueException;
invoke-direct {p1}, Lkotlin/KotlinNothingValueException;-><init>()V
throw p1
.line 5
:cond_1
invoke-direct {p0, p1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->invalidLengths(Ljava/util/List;)Ljava/lang/Void;
new-instance p1, Lkotlin/KotlinNothingValueException;
invoke-direct {p1}, Lkotlin/KotlinNothingValueException;-><init>()V
throw p1
.end method
.method public final setLockingSourceCount$okhttp(I)V
.locals 0
.line 1
iput p1, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->lockingSourceCount:I
return-void
.end method
.method public final setReadable$okhttp(Z)V
.locals 0
.line 1
iput-boolean p1, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->readable:Z
return-void
.end method
.method public final setSequenceNumber$okhttp(J)V
.locals 0
.line 1
iput-wide p1, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->sequenceNumber:J
return-void
.end method
.method public final setZombie$okhttp(Z)V
.locals 0
.line 1
iput-boolean p1, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->zombie:Z
return-void
.end method
.method public final snapshot$okhttp()Lokhttp3/internal/cache/DiskLruCache$Snapshot;
.locals 10
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->this$0:Lokhttp3/internal/cache/DiskLruCache;
.line 2
sget-boolean v1, Lokhttp3/internal/Util;->assertionsEnabled:Z
if-eqz v1, :cond_1
invoke-static {v0}, Ljava/lang/Thread;->holdsLock(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_0
goto :goto_0
.line 3
:cond_0
new-instance v1, Ljava/lang/AssertionError;
const-string v2, "Thread "
invoke-static {v2}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
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/f0;->o(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;
const-string v3, " MUST hold lock on "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Ljava/lang/AssertionError;-><init>(Ljava/lang/Object;)V
throw v1
.line 4
:cond_1
:goto_0
iget-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->readable:Z
const/4 v1, 0x0
if-nez v0, :cond_2
return-object v1
.line 5
:cond_2
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->this$0:Lokhttp3/internal/cache/DiskLruCache;
invoke-static {v0}, Lokhttp3/internal/cache/DiskLruCache;->access$getCivilizedFileSystem$p(Lokhttp3/internal/cache/DiskLruCache;)Z
move-result v0
if-nez v0, :cond_4
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->currentEditor:Lokhttp3/internal/cache/DiskLruCache$Editor;
if-nez v0, :cond_3
iget-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->zombie:Z
if-eqz v0, :cond_4
:cond_3
return-object v1
.line 6
:cond_4
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 7
iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->lengths:[J
invoke-virtual {v2}, Ljava/lang/Object;->clone()Ljava/lang/Object;
move-result-object v2
move-object v8, v2
check-cast v8, [J
const/4 v2, 0x0
.line 8
:try_start_0
iget-object v3, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->this$0:Lokhttp3/internal/cache/DiskLruCache;
invoke-virtual {v3}, Lokhttp3/internal/cache/DiskLruCache;->getValueCount$okhttp()I
move-result v3
:goto_1
if-ge v2, v3, :cond_5
.line 9
invoke-direct {p0, v2}, Lokhttp3/internal/cache/DiskLruCache$Entry;->newSource(I)Lzj/m0;
move-result-object v4
invoke-interface {v0, v4}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
add-int/lit8 v2, v2, 0x1
goto :goto_1
.line 10
:cond_5
new-instance v9, Lokhttp3/internal/cache/DiskLruCache$Snapshot;
iget-object v3, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->this$0:Lokhttp3/internal/cache/DiskLruCache;
iget-object v4, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->key:Ljava/lang/String;
iget-wide v5, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->sequenceNumber:J
move-object v2, v9
move-object v7, v0
invoke-direct/range {v2 .. v8}, Lokhttp3/internal/cache/DiskLruCache$Snapshot;-><init>(Lokhttp3/internal/cache/DiskLruCache;Ljava/lang/String;JLjava/util/List;[J)V
:try_end_0
.catch Ljava/io/FileNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
return-object v9
.line 11
:catch_0
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_2
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_6
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lzj/m0;
.line 12
invoke-static {v2}, Lokhttp3/internal/Util;->closeQuietly(Ljava/io/Closeable;)V
goto :goto_2
.line 13
:cond_6
:try_start_1
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_1
.catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_1
:catch_1
return-object v1
.end method
.method public final writeLengths$okhttp(Lzj/n;)V
.locals 6
.param p1 # Lzj/n;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const-string v0, "writer"
invoke-static {p1, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Entry;->lengths:[J
array-length v1, v0
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_0
aget-wide v3, v0, v2
const/16 v5, 0x20
.line 2
invoke-interface {p1, v5}, Lzj/n;->writeByte(I)Lzj/n;
move-result-object v5
invoke-interface {v5, v3, v4}, Lzj/n;->m0(J)Lzj/n;
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_0
return-void
.end method
@@ -0,0 +1,233 @@
.class public final Lokhttp3/internal/cache/DiskLruCache$Snapshot;
.super Ljava/lang/Object;
.source "DiskLruCache.kt"
# interfaces
.implements Ljava/io/Closeable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lokhttp3/internal/cache/DiskLruCache;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "Snapshot"
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000B\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0008\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\t\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0004\n\u0002\u0010 \n\u0002\u0008\u0002\n\u0002\u0010\u0016\n\u0002\u0008\u0005\u0008\u0086\u0004\u0018\u00002\u00020\u0001B/\u0008\u0000\u0012\u0006\u0010\u0003\u001a\u00020\u0002\u0012\u0006\u0010\u0010\u001a\u00020\u000b\u0012\u000c\u0010\u0013\u001a\u0008\u0012\u0004\u0012\u00020\t0\u0012\u0012\u0006\u0010\u0016\u001a\u00020\u0015\u00a2\u0006\u0004\u0008\u0018\u0010\u0019J\u0006\u0010\u0003\u001a\u00020\u0002J\u000c\u0010\u0006\u001a\u0008\u0018\u00010\u0004R\u00020\u0005J\u000e\u0010\n\u001a\u00020\t2\u0006\u0010\u0008\u001a\u00020\u0007J\u000e\u0010\u000c\u001a\u00020\u000b2\u0006\u0010\u0008\u001a\u00020\u0007J\u0008\u0010\u000e\u001a\u00020\rH\u0016R\u0014\u0010\u0003\u001a\u00020\u00028\u0002X\u0082\u0004\u00a2\u0006\u0006\n\u0004\u0008\u0003\u0010\u000fR\u0014\u0010\u0010\u001a\u00020\u000b8\u0002X\u0082\u0004\u00a2\u0006\u0006\n\u0004\u0008\u0010\u0010\u0011R\u001a\u0010\u0013\u001a\u0008\u0012\u0004\u0012\u00020\t0\u00128\u0002X\u0082\u0004\u00a2\u0006\u0006\n\u0004\u0008\u0013\u0010\u0014R\u0014\u0010\u0016\u001a\u00020\u00158\u0002X\u0082\u0004\u00a2\u0006\u0006\n\u0004\u0008\u0016\u0010\u0017\u00a8\u0006\u001a"
}
d2 = {
"Lokhttp3/internal/cache/DiskLruCache$Snapshot;",
"Ljava/io/Closeable;",
"",
"key",
"Lokhttp3/internal/cache/DiskLruCache$Editor;",
"Lokhttp3/internal/cache/DiskLruCache;",
"edit",
"",
"index",
"Lzj/m0;",
"getSource",
"",
"getLength",
"Lkotlin/d1;",
"close",
"Ljava/lang/String;",
"sequenceNumber",
"J",
"",
"sources",
"Ljava/util/List;",
"",
"lengths",
"[J",
"<init>",
"(Lokhttp3/internal/cache/DiskLruCache;Ljava/lang/String;JLjava/util/List;[J)V",
"okhttp"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field private final key:Ljava/lang/String;
.field private final lengths:[J
.field private final sequenceNumber:J
.field private final sources:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lzj/m0;",
">;"
}
.end annotation
.end field
.field public final synthetic this$0:Lokhttp3/internal/cache/DiskLruCache;
# direct methods
.method public constructor <init>(Lokhttp3/internal/cache/DiskLruCache;Ljava/lang/String;JLjava/util/List;[J)V
.locals 1
.param p1 # Lokhttp3/internal/cache/DiskLruCache;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.param p3 # J
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.param p5 # Ljava/util/List;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"J",
"Ljava/util/List<",
"+",
"Lzj/m0;",
">;[J)V"
}
.end annotation
const-string v0, "key"
invoke-static {p2, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "sources"
invoke-static {p5, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "lengths"
invoke-static {p6, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V
.line 1
iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache$Snapshot;->this$0:Lokhttp3/internal/cache/DiskLruCache;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p2, p0, Lokhttp3/internal/cache/DiskLruCache$Snapshot;->key:Ljava/lang/String;
iput-wide p3, p0, Lokhttp3/internal/cache/DiskLruCache$Snapshot;->sequenceNumber:J
iput-object p5, p0, Lokhttp3/internal/cache/DiskLruCache$Snapshot;->sources:Ljava/util/List;
iput-object p6, p0, Lokhttp3/internal/cache/DiskLruCache$Snapshot;->lengths:[J
return-void
.end method
# virtual methods
.method public close()V
.locals 2
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Snapshot;->sources:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_0
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lzj/m0;
.line 2
invoke-static {v1}, Lokhttp3/internal/Util;->closeQuietly(Ljava/io/Closeable;)V
goto :goto_0
:cond_0
return-void
.end method
.method public final edit()Lokhttp3/internal/cache/DiskLruCache$Editor;
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Snapshot;->this$0:Lokhttp3/internal/cache/DiskLruCache;
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$Snapshot;->key:Ljava/lang/String;
iget-wide v2, p0, Lokhttp3/internal/cache/DiskLruCache$Snapshot;->sequenceNumber:J
invoke-virtual {v0, v1, v2, v3}, Lokhttp3/internal/cache/DiskLruCache;->edit(Ljava/lang/String;J)Lokhttp3/internal/cache/DiskLruCache$Editor;
move-result-object v0
return-object v0
.end method
.method public final getLength(I)J
.locals 3
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Snapshot;->lengths:[J
aget-wide v1, v0, p1
return-wide v1
.end method
.method public final getSource(I)Lzj/m0;
.locals 1
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Snapshot;->sources:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lzj/m0;
return-object p1
.end method
.method public final key()Ljava/lang/String;
.locals 1
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$Snapshot;->key:Ljava/lang/String;
return-object v0
.end method
@@ -0,0 +1,198 @@
.class public final Lokhttp3/internal/cache/DiskLruCache$cleanupTask$1;
.super Lokhttp3/internal/concurrent/Task;
.source "DiskLruCache.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lokhttp3/internal/cache/DiskLruCache;-><init>(Lokhttp3/internal/io/FileSystem;Ljava/io/File;IIJLokhttp3/internal/concurrent/TaskRunner;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = null
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {
0x1,
0x0,
0x3
}
d1 = {
"\u0000\u0011\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\t\n\u0000*\u0001\u0000\u0008\n\u0018\u00002\u00020\u0001J\u0008\u0010\u0002\u001a\u00020\u0003H\u0016\u00a8\u0006\u0004"
}
d2 = {
"okhttp3/internal/cache/DiskLruCache$cleanupTask$1",
"Lokhttp3/internal/concurrent/Task;",
"runOnce",
"",
"okhttp"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field public final synthetic this$0:Lokhttp3/internal/cache/DiskLruCache;
# direct methods
.method public constructor <init>(Lokhttp3/internal/cache/DiskLruCache;Ljava/lang/String;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")V"
}
.end annotation
.line 1
iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache$cleanupTask$1;->this$0:Lokhttp3/internal/cache/DiskLruCache;
const/4 p1, 0x0
const/4 v0, 0x2
const/4 v1, 0x0
invoke-direct {p0, p2, p1, v0, v1}, Lokhttp3/internal/concurrent/Task;-><init>(Ljava/lang/String;ZILkotlin/jvm/internal/u;)V
return-void
.end method
# virtual methods
.method public runOnce()J
.locals 6
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$cleanupTask$1;->this$0:Lokhttp3/internal/cache/DiskLruCache;
monitor-enter v0
.line 2
:try_start_0
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$cleanupTask$1;->this$0:Lokhttp3/internal/cache/DiskLruCache;
invoke-static {v1}, Lokhttp3/internal/cache/DiskLruCache;->access$getInitialized$p(Lokhttp3/internal/cache/DiskLruCache;)Z
move-result v1
const-wide/16 v2, -0x1
if-eqz v1, :cond_2
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$cleanupTask$1;->this$0:Lokhttp3/internal/cache/DiskLruCache;
invoke-virtual {v1}, Lokhttp3/internal/cache/DiskLruCache;->getClosed$okhttp()Z
move-result v1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-eqz v1, :cond_0
goto :goto_2
:cond_0
const/4 v1, 0x1
.line 3
:try_start_1
iget-object v4, p0, Lokhttp3/internal/cache/DiskLruCache$cleanupTask$1;->this$0:Lokhttp3/internal/cache/DiskLruCache;
invoke-virtual {v4}, Lokhttp3/internal/cache/DiskLruCache;->trimToSize()V
:try_end_1
.catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_0
.catchall {:try_start_1 .. :try_end_1} :catchall_0
goto :goto_0
.line 4
:catch_0
:try_start_2
iget-object v4, p0, Lokhttp3/internal/cache/DiskLruCache$cleanupTask$1;->this$0:Lokhttp3/internal/cache/DiskLruCache;
invoke-static {v4, v1}, Lokhttp3/internal/cache/DiskLruCache;->access$setMostRecentTrimFailed$p(Lokhttp3/internal/cache/DiskLruCache;Z)V
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_0
.line 5
:goto_0
:try_start_3
iget-object v4, p0, Lokhttp3/internal/cache/DiskLruCache$cleanupTask$1;->this$0:Lokhttp3/internal/cache/DiskLruCache;
invoke-static {v4}, Lokhttp3/internal/cache/DiskLruCache;->access$journalRebuildRequired(Lokhttp3/internal/cache/DiskLruCache;)Z
move-result v4
if-eqz v4, :cond_1
.line 6
iget-object v4, p0, Lokhttp3/internal/cache/DiskLruCache$cleanupTask$1;->this$0:Lokhttp3/internal/cache/DiskLruCache;
invoke-virtual {v4}, Lokhttp3/internal/cache/DiskLruCache;->rebuildJournal$okhttp()V
.line 7
iget-object v4, p0, Lokhttp3/internal/cache/DiskLruCache$cleanupTask$1;->this$0:Lokhttp3/internal/cache/DiskLruCache;
const/4 v5, 0x0
invoke-static {v4, v5}, Lokhttp3/internal/cache/DiskLruCache;->access$setRedundantOpCount$p(Lokhttp3/internal/cache/DiskLruCache;I)V
:try_end_3
.catch Ljava/io/IOException; {:try_start_3 .. :try_end_3} :catch_1
.catchall {:try_start_3 .. :try_end_3} :catchall_0
goto :goto_1
.line 8
:catch_1
:try_start_4
iget-object v4, p0, Lokhttp3/internal/cache/DiskLruCache$cleanupTask$1;->this$0:Lokhttp3/internal/cache/DiskLruCache;
invoke-static {v4, v1}, Lokhttp3/internal/cache/DiskLruCache;->access$setMostRecentRebuildFailed$p(Lokhttp3/internal/cache/DiskLruCache;Z)V
.line 9
iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$cleanupTask$1;->this$0:Lokhttp3/internal/cache/DiskLruCache;
invoke-static {}, Lzj/z;->b()Lzj/k0;
move-result-object v4
invoke-static {v4}, Lzj/z;->c(Lzj/k0;)Lzj/n;
move-result-object v4
invoke-static {v1, v4}, Lokhttp3/internal/cache/DiskLruCache;->access$setJournalWriter$p(Lokhttp3/internal/cache/DiskLruCache;Lzj/n;)V
:try_end_4
.catchall {:try_start_4 .. :try_end_4} :catchall_0
.line 10
:cond_1
:goto_1
monitor-exit v0
return-wide v2
.line 11
:cond_2
:goto_2
monitor-exit v0
return-wide v2
:catchall_0
move-exception v1
.line 12
monitor-exit v0
throw v1
.end method
@@ -0,0 +1,162 @@
.class final Lokhttp3/internal/cache/DiskLruCache$newJournalWriter$faultHidingSink$1;
.super Lkotlin/jvm/internal/Lambda;
.source "DiskLruCache.kt"
# interfaces
.implements Lej/l;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lokhttp3/internal/cache/DiskLruCache;->newJournalWriter()Lzj/n;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlin/jvm/internal/Lambda;",
"Lej/l<",
"Ljava/io/IOException;",
"Lkotlin/d1;",
">;"
}
.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$newJournalWriter$faultHidingSink$1\n+ 2 Util.kt\nokhttp3/internal/Util\n*L\n1#1,1065:1\n608#2,4:1066\n*E\n*S KotlinDebug\n*F\n+ 1 DiskLruCache.kt\nokhttp3/internal/cache/DiskLruCache$newJournalWriter$faultHidingSink$1\n*L\n304#1,4:1066\n*E\n"
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000\u000e\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0003\u0010\u0005\u001a\u00020\u00022\u0006\u0010\u0001\u001a\u00020\u0000H\n\u00a2\u0006\u0004\u0008\u0003\u0010\u0004"
}
d2 = {
"Ljava/io/IOException;",
"it",
"Lkotlin/d1;",
"invoke",
"(Ljava/io/IOException;)V",
"<anonymous>"
}
k = 0x3
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field public final synthetic this$0:Lokhttp3/internal/cache/DiskLruCache;
# direct methods
.method public constructor <init>(Lokhttp3/internal/cache/DiskLruCache;)V
.locals 0
iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache$newJournalWriter$faultHidingSink$1;->this$0:Lokhttp3/internal/cache/DiskLruCache;
const/4 p1, 0x1
invoke-direct {p0, p1}, Lkotlin/jvm/internal/Lambda;-><init>(I)V
return-void
.end method
# virtual methods
.method public bridge synthetic invoke(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p1, Ljava/io/IOException;
invoke-virtual {p0, p1}, Lokhttp3/internal/cache/DiskLruCache$newJournalWriter$faultHidingSink$1;->invoke(Ljava/io/IOException;)V
sget-object p1, Lkotlin/d1;->a:Lkotlin/d1;
return-object p1
.end method
.method public final invoke(Ljava/io/IOException;)V
.locals 4
.param p1 # Ljava/io/IOException;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
const-string v0, "it"
invoke-static {p1, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V
.line 2
iget-object p1, p0, Lokhttp3/internal/cache/DiskLruCache$newJournalWriter$faultHidingSink$1;->this$0:Lokhttp3/internal/cache/DiskLruCache;
.line 3
sget-boolean v0, Lokhttp3/internal/Util;->assertionsEnabled:Z
if-eqz v0, :cond_1
invoke-static {p1}, Ljava/lang/Thread;->holdsLock(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
goto :goto_0
.line 4
:cond_0
new-instance v0, Ljava/lang/AssertionError;
const-string v1, "Thread "
invoke-static {v1}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v2
const-string v3, "Thread.currentThread()"
invoke-static {v2, v3}, Lkotlin/jvm/internal/f0;->o(Ljava/lang/Object;Ljava/lang/String;)V
invoke-virtual {v2}, Ljava/lang/Thread;->getName()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, " MUST hold lock on "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/AssertionError;-><init>(Ljava/lang/Object;)V
throw v0
.line 5
:cond_1
:goto_0
iget-object p1, p0, Lokhttp3/internal/cache/DiskLruCache$newJournalWriter$faultHidingSink$1;->this$0:Lokhttp3/internal/cache/DiskLruCache;
const/4 v0, 0x1
invoke-static {p1, v0}, Lokhttp3/internal/cache/DiskLruCache;->access$setHasJournalErrors$p(Lokhttp3/internal/cache/DiskLruCache;Z)V
return-void
.end method
@@ -0,0 +1,319 @@
.class public final Lokhttp3/internal/cache/DiskLruCache$snapshots$1;
.super Ljava/lang/Object;
.source "DiskLruCache.kt"
# interfaces
.implements Ljava/util/Iterator;
.implements Lfj/d;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lokhttp3/internal/cache/DiskLruCache;->snapshots()Ljava/util/Iterator;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/util/Iterator<",
"Lokhttp3/internal/cache/DiskLruCache$Snapshot;",
">;",
"Lfj/d;"
}
.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$snapshots$1\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,1065:1\n1#2:1066\n*E\n"
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000\'\n\u0000\n\u0002\u0010)\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u000b\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0007*\u0001\u0000\u0008\n\u0018\u00002\u000c\u0012\u0008\u0012\u00060\u0002R\u00020\u00030\u0001J\t\u0010\u0005\u001a\u00020\u0004H\u0096\u0002J\r\u0010\u0006\u001a\u00060\u0002R\u00020\u0003H\u0096\u0002J\u0008\u0010\u0008\u001a\u00020\u0007H\u0016R*\u0010\u000b\u001a\u0018\u0012\u0014\u0012\u0012 \n*\u0008\u0018\u00010\tR\u00020\u00030\tR\u00020\u00030\u00018\u0002X\u0082\u0004\u00a2\u0006\u0006\n\u0004\u0008\u000b\u0010\u000cR\u001c\u0010\r\u001a\u0008\u0018\u00010\u0002R\u00020\u00038\u0002@\u0002X\u0082\u000e\u00a2\u0006\u0006\n\u0004\u0008\r\u0010\u000eR\u001c\u0010\u000f\u001a\u0008\u0018\u00010\u0002R\u00020\u00038\u0002@\u0002X\u0082\u000e\u00a2\u0006\u0006\n\u0004\u0008\u000f\u0010\u000e\u00a8\u0006\u0010"
}
d2 = {
"okhttp3/internal/cache/DiskLruCache$snapshots$1",
"",
"Lokhttp3/internal/cache/DiskLruCache$Snapshot;",
"Lokhttp3/internal/cache/DiskLruCache;",
"",
"hasNext",
"next",
"Lkotlin/d1;",
"remove",
"Lokhttp3/internal/cache/DiskLruCache$Entry;",
"kotlin.jvm.PlatformType",
"delegate",
"Ljava/util/Iterator;",
"nextSnapshot",
"Lokhttp3/internal/cache/DiskLruCache$Snapshot;",
"removeSnapshot",
"okhttp"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field private final delegate:Ljava/util/Iterator;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Iterator<",
"Lokhttp3/internal/cache/DiskLruCache$Entry;",
">;"
}
.end annotation
.end field
.field private nextSnapshot:Lokhttp3/internal/cache/DiskLruCache$Snapshot;
.field private removeSnapshot:Lokhttp3/internal/cache/DiskLruCache$Snapshot;
.field public final synthetic this$0:Lokhttp3/internal/cache/DiskLruCache;
# direct methods
.method public constructor <init>(Lokhttp3/internal/cache/DiskLruCache;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.line 1
iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache$snapshots$1;->this$0:Lokhttp3/internal/cache/DiskLruCache;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Ljava/util/ArrayList;
invoke-virtual {p1}, Lokhttp3/internal/cache/DiskLruCache;->getLruEntries$okhttp()Ljava/util/LinkedHashMap;
move-result-object p1
invoke-virtual {p1}, Ljava/util/LinkedHashMap;->values()Ljava/util/Collection;
move-result-object p1
invoke-direct {v0, p1}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object p1
const-string v0, "ArrayList(lruEntries.values).iterator()"
invoke-static {p1, v0}, Lkotlin/jvm/internal/f0;->o(Ljava/lang/Object;Ljava/lang/String;)V
iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache$snapshots$1;->delegate:Ljava/util/Iterator;
return-void
.end method
# virtual methods
.method public hasNext()Z
.locals 4
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$snapshots$1;->nextSnapshot:Lokhttp3/internal/cache/DiskLruCache$Snapshot;
const/4 v1, 0x1
if-eqz v0, :cond_0
return v1
.line 2
:cond_0
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$snapshots$1;->this$0:Lokhttp3/internal/cache/DiskLruCache;
monitor-enter v0
.line 3
:try_start_0
iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache$snapshots$1;->this$0:Lokhttp3/internal/cache/DiskLruCache;
invoke-virtual {v2}, Lokhttp3/internal/cache/DiskLruCache;->getClosed$okhttp()Z
move-result v2
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
const/4 v3, 0x0
if-eqz v2, :cond_1
monitor-exit v0
return v3
.line 4
:cond_1
:try_start_1
iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache$snapshots$1;->delegate:Ljava/util/Iterator;
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_2
.line 5
iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache$snapshots$1;->delegate:Ljava/util/Iterator;
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lokhttp3/internal/cache/DiskLruCache$Entry;
if-eqz v2, :cond_1
invoke-virtual {v2}, Lokhttp3/internal/cache/DiskLruCache$Entry;->snapshot$okhttp()Lokhttp3/internal/cache/DiskLruCache$Snapshot;
move-result-object v2
if-eqz v2, :cond_1
iput-object v2, p0, Lokhttp3/internal/cache/DiskLruCache$snapshots$1;->nextSnapshot:Lokhttp3/internal/cache/DiskLruCache$Snapshot;
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
.line 6
monitor-exit v0
return v1
.line 7
:cond_2
:try_start_2
sget-object v1, Lkotlin/d1;->a:Lkotlin/d1;
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_0
.line 8
monitor-exit v0
return v3
:catchall_0
move-exception v1
monitor-exit v0
throw v1
.end method
.method public bridge synthetic next()Ljava/lang/Object;
.locals 1
.line 1
invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache$snapshots$1;->next()Lokhttp3/internal/cache/DiskLruCache$Snapshot;
move-result-object v0
return-object v0
.end method
.method public next()Lokhttp3/internal/cache/DiskLruCache$Snapshot;
.locals 2
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.line 2
invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache$snapshots$1;->hasNext()Z
move-result v0
if-eqz v0, :cond_0
.line 3
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$snapshots$1;->nextSnapshot:Lokhttp3/internal/cache/DiskLruCache$Snapshot;
iput-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$snapshots$1;->removeSnapshot:Lokhttp3/internal/cache/DiskLruCache$Snapshot;
const/4 v1, 0x0
.line 4
iput-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$snapshots$1;->nextSnapshot:Lokhttp3/internal/cache/DiskLruCache$Snapshot;
.line 5
invoke-static {v0}, Lkotlin/jvm/internal/f0;->m(Ljava/lang/Object;)V
return-object v0
.line 6
:cond_0
new-instance v0, Ljava/util/NoSuchElementException;
invoke-direct {v0}, Ljava/util/NoSuchElementException;-><init>()V
throw v0
.end method
.method public remove()V
.locals 3
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache$snapshots$1;->removeSnapshot:Lokhttp3/internal/cache/DiskLruCache$Snapshot;
if-eqz v0, :cond_0
const/4 v1, 0x0
.line 2
:try_start_0
iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache$snapshots$1;->this$0:Lokhttp3/internal/cache/DiskLruCache;
invoke-virtual {v0}, Lokhttp3/internal/cache/DiskLruCache$Snapshot;->key()Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Lokhttp3/internal/cache/DiskLruCache;->remove(Ljava/lang/String;)Z
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_0
:catchall_0
move-exception v0
.line 3
iput-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$snapshots$1;->removeSnapshot:Lokhttp3/internal/cache/DiskLruCache$Snapshot;
throw v0
:catch_0
:goto_0
iput-object v1, p0, Lokhttp3/internal/cache/DiskLruCache$snapshots$1;->removeSnapshot:Lokhttp3/internal/cache/DiskLruCache$Snapshot;
return-void
.line 4
:cond_0
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "remove() before next()"
invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,244 @@
.class public Lokhttp3/internal/cache/FaultHidingSink;
.super Lzj/q;
.source "FaultHidingSink.kt"
# annotations
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u00008\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\t\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0003\n\u0002\u0010\u000b\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0004\n\u0002\u0018\u0002\n\u0002\u0008\u0004\u0008\u0010\u0018\u00002\u00020\u0001B#\u0012\u0006\u0010\u0014\u001a\u00020\u0013\u0012\u0012\u0010\u000f\u001a\u000e\u0012\u0004\u0012\u00020\u000e\u0012\u0004\u0012\u00020\u00060\r\u00a2\u0006\u0004\u0008\u0015\u0010\u0016J\u0018\u0010\u0007\u001a\u00020\u00062\u0006\u0010\u0003\u001a\u00020\u00022\u0006\u0010\u0005\u001a\u00020\u0004H\u0016J\u0008\u0010\u0008\u001a\u00020\u0006H\u0016J\u0008\u0010\t\u001a\u00020\u0006H\u0016R\u0016\u0010\u000b\u001a\u00020\n8\u0002@\u0002X\u0082\u000e\u00a2\u0006\u0006\n\u0004\u0008\u000b\u0010\u000cR#\u0010\u000f\u001a\u000e\u0012\u0004\u0012\u00020\u000e\u0012\u0004\u0012\u00020\u00060\r8\u0006\u00a2\u0006\u000c\n\u0004\u0008\u000f\u0010\u0010\u001a\u0004\u0008\u0011\u0010\u0012\u00a8\u0006\u0017"
}
d2 = {
"Lokhttp3/internal/cache/FaultHidingSink;",
"Lzj/q;",
"Lzj/m;",
"source",
"",
"byteCount",
"Lkotlin/d1;",
"write",
"flush",
"close",
"",
"hasErrors",
"Z",
"Lkotlin/Function1;",
"Ljava/io/IOException;",
"onException",
"Lej/l;",
"getOnException",
"()Lej/l;",
"Lzj/k0;",
"delegate",
"<init>",
"(Lzj/k0;Lej/l;)V",
"okhttp"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field private hasErrors:Z
.field private final onException:Lej/l;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lej/l<",
"Ljava/io/IOException;",
"Lkotlin/d1;",
">;"
}
.end annotation
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end field
# direct methods
.method public constructor <init>(Lzj/k0;Lej/l;)V
.locals 1
.param p1 # Lzj/k0;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.param p2 # Lej/l;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lzj/k0;",
"Lej/l<",
"-",
"Ljava/io/IOException;",
"Lkotlin/d1;",
">;)V"
}
.end annotation
const-string v0, "delegate"
invoke-static {p1, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "onException"
invoke-static {p2, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V
.line 1
invoke-direct {p0, p1}, Lzj/q;-><init>(Lzj/k0;)V
iput-object p2, p0, Lokhttp3/internal/cache/FaultHidingSink;->onException:Lej/l;
return-void
.end method
# virtual methods
.method public close()V
.locals 2
.line 1
iget-boolean v0, p0, Lokhttp3/internal/cache/FaultHidingSink;->hasErrors:Z
if-eqz v0, :cond_0
return-void
.line 2
:cond_0
:try_start_0
invoke-super {p0}, Lzj/q;->close()V
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception v0
const/4 v1, 0x1
.line 3
iput-boolean v1, p0, Lokhttp3/internal/cache/FaultHidingSink;->hasErrors:Z
.line 4
iget-object v1, p0, Lokhttp3/internal/cache/FaultHidingSink;->onException:Lej/l;
invoke-interface {v1, v0}, Lej/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
:goto_0
return-void
.end method
.method public flush()V
.locals 2
.line 1
iget-boolean v0, p0, Lokhttp3/internal/cache/FaultHidingSink;->hasErrors:Z
if-eqz v0, :cond_0
return-void
.line 2
:cond_0
:try_start_0
invoke-super {p0}, Lzj/q;->flush()V
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception v0
const/4 v1, 0x1
.line 3
iput-boolean v1, p0, Lokhttp3/internal/cache/FaultHidingSink;->hasErrors:Z
.line 4
iget-object v1, p0, Lokhttp3/internal/cache/FaultHidingSink;->onException:Lej/l;
invoke-interface {v1, v0}, Lej/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
:goto_0
return-void
.end method
.method public final getOnException()Lej/l;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lej/l<",
"Ljava/io/IOException;",
"Lkotlin/d1;",
">;"
}
.end annotation
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.line 1
iget-object v0, p0, Lokhttp3/internal/cache/FaultHidingSink;->onException:Lej/l;
return-object v0
.end method
.method public write(Lzj/m;J)V
.locals 1
.param p1 # Lzj/m;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
const-string v0, "source"
invoke-static {p1, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V
.line 1
iget-boolean v0, p0, Lokhttp3/internal/cache/FaultHidingSink;->hasErrors:Z
if-eqz v0, :cond_0
.line 2
invoke-virtual {p1, p2, p3}, Lzj/m;->skip(J)V
return-void
.line 3
:cond_0
:try_start_0
invoke-super {p0, p1, p2, p3}, Lzj/q;->write(Lzj/m;J)V
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception p1
const/4 p2, 0x1
.line 4
iput-boolean p2, p0, Lokhttp3/internal/cache/FaultHidingSink;->hasErrors:Z
.line 5
iget-object p2, p0, Lokhttp3/internal/cache/FaultHidingSink;->onException:Lej/l;
invoke-interface {p2, p1}, Lej/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
:goto_0
return-void
.end method