j.smali
.class public final Lpb/j;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Llb/t;
# instance fields
.field private final a:Llb/w;
.field private final b:Z
.field private volatile c:Lob/g;
.field private d:Ljava/lang/Object;
.field private volatile e:Z
# direct methods
.method public constructor <init>(Llb/w;Z)V
.registers 3
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lpb/j;->a:Llb/w;
iput-boolean p2, p0, Lpb/j;->b:Z
return-void
.end method
.method private b(Llb/s;)Llb/a;
.registers 16
invoke-virtual {p1}, Llb/s;->n()Z
move-result v0
if-eqz v0, :cond_1c
iget-object v0, p0, Lpb/j;->a:Llb/w;
invoke-virtual {v0}, Llb/w;->N()Ljavax/net/ssl/SSLSocketFactory;
move-result-object v0
iget-object v1, p0, Lpb/j;->a:Llb/w;
invoke-virtual {v1}, Llb/w;->z()Ljavax/net/ssl/HostnameVerifier;
move-result-object v1
iget-object v2, p0, Lpb/j;->a:Llb/w;
invoke-virtual {v2}, Llb/w;->i()Llb/f;
move-result-object v2
move-object v6, v0
move-object v7, v1
move-object v8, v2
goto :goto_20
:cond_1c
const/4 v0, 0x0
move-object v6, v0
move-object v7, v6
move-object v8, v7
:goto_20
new-instance v0, Llb/a;
invoke-virtual {p1}, Llb/s;->m()Ljava/lang/String;
move-result-object v2
invoke-virtual {p1}, Llb/s;->z()I
move-result v3
iget-object p1, p0, Lpb/j;->a:Llb/w;
invoke-virtual {p1}, Llb/w;->u()Llb/n;
move-result-object v4
iget-object p1, p0, Lpb/j;->a:Llb/w;
invoke-virtual {p1}, Llb/w;->M()Ljavax/net/SocketFactory;
move-result-object v5
iget-object p1, p0, Lpb/j;->a:Llb/w;
invoke-virtual {p1}, Llb/w;->I()Llb/b;
move-result-object v9
iget-object p1, p0, Lpb/j;->a:Llb/w;
invoke-virtual {p1}, Llb/w;->H()Ljava/net/Proxy;
move-result-object v10
iget-object p1, p0, Lpb/j;->a:Llb/w;
invoke-virtual {p1}, Llb/w;->G()Ljava/util/List;
move-result-object v11
iget-object p1, p0, Lpb/j;->a:Llb/w;
invoke-virtual {p1}, Llb/w;->q()Ljava/util/List;
move-result-object v12
iget-object p1, p0, Lpb/j;->a:Llb/w;
invoke-virtual {p1}, Llb/w;->J()Ljava/net/ProxySelector;
move-result-object v13
move-object v1, v0
invoke-direct/range {v1 .. v13}, Llb/a;-><init>(Ljava/lang/String;ILlb/n;Ljavax/net/SocketFactory;Ljavax/net/ssl/SSLSocketFactory;Ljavax/net/ssl/HostnameVerifier;Llb/f;Llb/b;Ljava/net/Proxy;Ljava/util/List;Ljava/util/List;Ljava/net/ProxySelector;)V
return-object v0
.end method
.method private c(Llb/b0;Llb/d0;)Llb/z;
.registers 9
if-eqz p1, :cond_14b
invoke-virtual {p1}, Llb/b0;->c()I
move-result v0
invoke-virtual {p1}, Llb/b0;->p()Llb/z;
move-result-object v1
invoke-virtual {v1}, Llb/z;->f()Ljava/lang/String;
move-result-object v1
const/16 v2, 0x133
const-string v3, "GET"
const/4 v4, 0x0
if-eq v0, v2, :cond_ae
const/16 v2, 0x134
if-eq v0, v2, :cond_ae
const/16 v2, 0x191
if-eq v0, v2, :cond_a3
const/16 v2, 0x1f7
if-eq v0, v2, :cond_83
const/16 v2, 0x197
if-eq v0, v2, :cond_5b
const/16 p2, 0x198
if-eq v0, p2, :cond_2d
packed-switch v0, :pswitch_data_152
return-object v4
:cond_2d
iget-object v0, p0, Lpb/j;->a:Llb/w;
invoke-virtual {v0}, Llb/w;->L()Z
move-result v0
if-nez v0, :cond_36
return-object v4
:cond_36
invoke-virtual {p1}, Llb/b0;->p()Llb/z;
move-result-object v0
invoke-virtual {v0}, Llb/z;->a()Llb/a0;
invoke-virtual {p1}, Llb/b0;->n()Llb/b0;
move-result-object v0
if-eqz v0, :cond_4e
invoke-virtual {p1}, Llb/b0;->n()Llb/b0;
move-result-object v0
invoke-virtual {v0}, Llb/b0;->c()I
move-result v0
if-ne v0, p2, :cond_4e
return-object v4
:cond_4e
const/4 p2, 0x0
invoke-direct {p0, p1, p2}, Lpb/j;->g(Llb/b0;I)I
move-result p2
if-lez p2, :cond_56
return-object v4
:cond_56
invoke-virtual {p1}, Llb/b0;->p()Llb/z;
move-result-object p1
return-object p1
:cond_5b
if-eqz p2, :cond_62
invoke-virtual {p2}, Llb/d0;->b()Ljava/net/Proxy;
move-result-object v0
goto :goto_68
:cond_62
iget-object v0, p0, Lpb/j;->a:Llb/w;
invoke-virtual {v0}, Llb/w;->H()Ljava/net/Proxy;
move-result-object v0
:goto_68
invoke-virtual {v0}, Ljava/net/Proxy;->type()Ljava/net/Proxy$Type;
move-result-object v0
sget-object v1, Ljava/net/Proxy$Type;->HTTP:Ljava/net/Proxy$Type;
if-ne v0, v1, :cond_7b
iget-object v0, p0, Lpb/j;->a:Llb/w;
invoke-virtual {v0}, Llb/w;->I()Llb/b;
move-result-object v0
invoke-interface {v0, p2, p1}, Llb/b;->a(Llb/d0;Llb/b0;)Llb/z;
move-result-object p1
return-object p1
:cond_7b
new-instance p1, Ljava/net/ProtocolException;
const-string p2, "Received HTTP_PROXY_AUTH (407) code while not using proxy"
invoke-direct {p1, p2}, Ljava/net/ProtocolException;-><init>(Ljava/lang/String;)V
throw p1
:cond_83
invoke-virtual {p1}, Llb/b0;->n()Llb/b0;
move-result-object p2
if-eqz p2, :cond_94
invoke-virtual {p1}, Llb/b0;->n()Llb/b0;
move-result-object p2
invoke-virtual {p2}, Llb/b0;->c()I
move-result p2
if-ne p2, v2, :cond_94
return-object v4
:cond_94
const p2, 0x7fffffff
invoke-direct {p0, p1, p2}, Lpb/j;->g(Llb/b0;I)I
move-result p2
if-nez p2, :cond_a2
invoke-virtual {p1}, Llb/b0;->p()Llb/z;
move-result-object p1
return-object p1
:cond_a2
return-object v4
:cond_a3
iget-object v0, p0, Lpb/j;->a:Llb/w;
invoke-virtual {v0}, Llb/w;->f()Llb/b;
move-result-object v0
invoke-interface {v0, p2, p1}, Llb/b;->a(Llb/d0;Llb/b0;)Llb/z;
move-result-object p1
return-object p1
:cond_ae
invoke-virtual {v1, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p2
if-nez p2, :cond_bd
const-string p2, "HEAD"
invoke-virtual {v1, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p2
if-nez p2, :cond_bd
return-object v4
:cond_bd
:pswitch_bd
iget-object p2, p0, Lpb/j;->a:Llb/w;
invoke-virtual {p2}, Llb/w;->x()Z
move-result p2
if-nez p2, :cond_c6
return-object v4
:cond_c6
const-string p2, "Location"
invoke-virtual {p1, p2}, Llb/b0;->f(Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
if-nez p2, :cond_cf
return-object v4
:cond_cf
invoke-virtual {p1}, Llb/b0;->p()Llb/z;
move-result-object v0
invoke-virtual {v0}, Llb/z;->i()Llb/s;
move-result-object v0
invoke-virtual {v0, p2}, Llb/s;->I(Ljava/lang/String;)Llb/s;
move-result-object p2
if-nez p2, :cond_de
return-object v4
:cond_de
invoke-virtual {p2}, Llb/s;->J()Ljava/lang/String;
move-result-object v0
invoke-virtual {p1}, Llb/b0;->p()Llb/z;
move-result-object v2
invoke-virtual {v2}, Llb/z;->i()Llb/s;
move-result-object v2
invoke-virtual {v2}, Llb/s;->J()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_fd
iget-object v0, p0, Lpb/j;->a:Llb/w;
invoke-virtual {v0}, Llb/w;->y()Z
move-result v0
if-nez v0, :cond_fd
return-object v4
:cond_fd
invoke-virtual {p1}, Llb/b0;->p()Llb/z;
move-result-object v0
invoke-virtual {v0}, Llb/z;->g()Llb/z$a;
move-result-object v0
invoke-static {v1}, Lpb/f;->a(Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_137
invoke-static {v1}, Lpb/f;->c(Ljava/lang/String;)Z
move-result v2
invoke-static {v1}, Lpb/f;->b(Ljava/lang/String;)Z
move-result v5
if-eqz v5, :cond_119
invoke-virtual {v0, v3, v4}, Llb/z$a;->f(Ljava/lang/String;Llb/a0;)Llb/z$a;
goto :goto_126
:cond_119
if-eqz v2, :cond_123
invoke-virtual {p1}, Llb/b0;->p()Llb/z;
move-result-object v3
invoke-virtual {v3}, Llb/z;->a()Llb/a0;
move-result-object v4
:cond_123
invoke-virtual {v0, v1, v4}, Llb/z$a;->f(Ljava/lang/String;Llb/a0;)Llb/z$a;
:goto_126
if-nez v2, :cond_137
const-string v1, "Transfer-Encoding"
invoke-virtual {v0, v1}, Llb/z$a;->h(Ljava/lang/String;)Llb/z$a;
const-string v1, "Content-Length"
invoke-virtual {v0, v1}, Llb/z$a;->h(Ljava/lang/String;)Llb/z$a;
const-string v1, "Content-Type"
invoke-virtual {v0, v1}, Llb/z$a;->h(Ljava/lang/String;)Llb/z$a;
:cond_137
invoke-direct {p0, p1, p2}, Lpb/j;->h(Llb/b0;Llb/s;)Z
move-result p1
if-nez p1, :cond_142
const-string p1, "Authorization"
invoke-virtual {v0, p1}, Llb/z$a;->h(Ljava/lang/String;)Llb/z$a;
:cond_142
invoke-virtual {v0, p2}, Llb/z$a;->k(Llb/s;)Llb/z$a;
move-result-object p1
invoke-virtual {p1}, Llb/z$a;->b()Llb/z;
move-result-object p1
return-object p1
:cond_14b
new-instance p1, Ljava/lang/IllegalStateException;
invoke-direct {p1}, Ljava/lang/IllegalStateException;-><init>()V
throw p1
nop
:pswitch_data_152
.packed-switch 0x12c
:pswitch_bd
:pswitch_bd
:pswitch_bd
:pswitch_bd
.end packed-switch
.end method
.method private e(Ljava/io/IOException;Z)Z
.registers 6
instance-of v0, p1, Ljava/net/ProtocolException;
const/4 v1, 0x0
if-eqz v0, :cond_6
return v1
:cond_6
instance-of v0, p1, Ljava/io/InterruptedIOException;
const/4 v2, 0x1
if-eqz v0, :cond_13
instance-of p1, p1, Ljava/net/SocketTimeoutException;
if-eqz p1, :cond_12
if-nez p2, :cond_12
const/4 v1, 0x1
:cond_12
return v1
:cond_13
instance-of p2, p1, Ljavax/net/ssl/SSLHandshakeException;
if-eqz p2, :cond_20
invoke-virtual {p1}, Ljava/lang/Throwable;->getCause()Ljava/lang/Throwable;
move-result-object p2
instance-of p2, p2, Ljava/security/cert/CertificateException;
if-eqz p2, :cond_20
return v1
:cond_20
instance-of p1, p1, Ljavax/net/ssl/SSLPeerUnverifiedException;
if-eqz p1, :cond_25
return v1
:cond_25
return v2
.end method
.method private f(Ljava/io/IOException;Lob/g;ZLlb/z;)Z
.registers 7
invoke-virtual {p2, p1}, Lob/g;->q(Ljava/io/IOException;)V
iget-object v0, p0, Lpb/j;->a:Llb/w;
invoke-virtual {v0}, Llb/w;->L()Z
move-result v0
const/4 v1, 0x0
if-nez v0, :cond_d
return v1
:cond_d
if-eqz p3, :cond_12
invoke-virtual {p4}, Llb/z;->a()Llb/a0;
:cond_12
invoke-direct {p0, p1, p3}, Lpb/j;->e(Ljava/io/IOException;Z)Z
move-result p1
if-nez p1, :cond_19
return v1
:cond_19
invoke-virtual {p2}, Lob/g;->h()Z
move-result p1
if-nez p1, :cond_20
return v1
:cond_20
const/4 p1, 0x1
return p1
.end method
.method private g(Llb/b0;I)I
.registers 4
const-string v0, "Retry-After"
invoke-virtual {p1, v0}, Llb/b0;->f(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
if-nez p1, :cond_9
return p2
:cond_9
const-string p2, "\\d+"
invoke-virtual {p1, p2}, Ljava/lang/String;->matches(Ljava/lang/String;)Z
move-result p2
if-eqz p2, :cond_1a
invoke-static {p1}, Ljava/lang/Integer;->valueOf(Ljava/lang/String;)Ljava/lang/Integer;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I
move-result p1
return p1
:cond_1a
const p1, 0x7fffffff
return p1
.end method
.method private h(Llb/b0;Llb/s;)Z
.registers 5
invoke-virtual {p1}, Llb/b0;->p()Llb/z;
move-result-object p1
invoke-virtual {p1}, Llb/z;->i()Llb/s;
move-result-object p1
invoke-virtual {p1}, Llb/s;->m()Ljava/lang/String;
move-result-object v0
invoke-virtual {p2}, Llb/s;->m()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_30
invoke-virtual {p1}, Llb/s;->z()I
move-result v0
invoke-virtual {p2}, Llb/s;->z()I
move-result v1
if-ne v0, v1, :cond_30
invoke-virtual {p1}, Llb/s;->J()Ljava/lang/String;
move-result-object p1
invoke-virtual {p2}, Llb/s;->J()Ljava/lang/String;
move-result-object p2
invoke-virtual {p1, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_30
const/4 p1, 0x1
goto :goto_31
:cond_30
const/4 p1, 0x0
:goto_31
return p1
.end method
# virtual methods
.method public a()V
.registers 2
const/4 v0, 0x1
iput-boolean v0, p0, Lpb/j;->e:Z
iget-object v0, p0, Lpb/j;->c:Lob/g;
if-eqz v0, :cond_a
invoke-virtual {v0}, Lob/g;->b()V
:cond_a
return-void
.end method
.method public d()Z
.registers 2
iget-boolean v0, p0, Lpb/j;->e:Z
return v0
.end method
.method public i(Ljava/lang/Object;)V
.registers 2
iput-object p1, p0, Lpb/j;->d:Ljava/lang/Object;
return-void
.end method
.method public intercept(Llb/t$a;)Llb/b0;
.registers 16
invoke-interface {p1}, Llb/t$a;->c()Llb/z;
move-result-object v0
check-cast p1, Lpb/g;
invoke-virtual {p1}, Lpb/g;->call()Llb/d;
move-result-object v7
invoke-virtual {p1}, Lpb/g;->g()Llb/o;
move-result-object v8
new-instance v9, Lob/g;
iget-object v1, p0, Lpb/j;->a:Llb/w;
invoke-virtual {v1}, Llb/w;->k()Llb/i;
move-result-object v2
invoke-virtual {v0}, Llb/z;->i()Llb/s;
move-result-object v1
invoke-direct {p0, v1}, Lpb/j;->b(Llb/s;)Llb/a;
move-result-object v3
iget-object v6, p0, Lpb/j;->d:Ljava/lang/Object;
move-object v1, v9
move-object v4, v7
move-object v5, v8
invoke-direct/range {v1 .. v6}, Lob/g;-><init>(Llb/i;Llb/a;Llb/d;Llb/o;Ljava/lang/Object;)V
iput-object v9, p0, Lpb/j;->c:Lob/g;
const/4 v10, 0x0
const/4 v11, 0x0
move-object v1, v11
const/4 v2, 0x0
:goto_2c
iget-boolean v3, p0, Lpb/j;->e:Z
if-nez v3, :cond_105
:try_start_30
invoke-virtual {p1, v0, v9, v11, v11}, Lpb/g;->i(Llb/z;Lob/g;Lpb/c;Lob/c;)Llb/b0;
move-result-object v0
:try_end_34
.catch Lob/e; {:try_start_30 .. :try_end_34} :catch_ec
.catch Ljava/io/IOException; {:try_start_30 .. :try_end_34} :catch_db
.catchall {:try_start_30 .. :try_end_34} :catchall_d9
if-eqz v1, :cond_4e
invoke-virtual {v0}, Llb/b0;->m()Llb/b0$a;
move-result-object v0
invoke-virtual {v1}, Llb/b0;->m()Llb/b0$a;
move-result-object v1
invoke-virtual {v1, v11}, Llb/b0$a;->b(Llb/c0;)Llb/b0$a;
move-result-object v1
invoke-virtual {v1}, Llb/b0$a;->c()Llb/b0;
move-result-object v1
invoke-virtual {v0, v1}, Llb/b0$a;->m(Llb/b0;)Llb/b0$a;
move-result-object v0
invoke-virtual {v0}, Llb/b0$a;->c()Llb/b0;
move-result-object v0
:cond_4e
:try_start_4e
invoke-virtual {v9}, Lob/g;->o()Llb/d0;
move-result-object v1
invoke-direct {p0, v0, v1}, Lpb/j;->c(Llb/b0;Llb/d0;)Llb/z;
move-result-object v12
:try_end_56
.catch Ljava/io/IOException; {:try_start_4e .. :try_end_56} :catch_d4
if-nez v12, :cond_5c
invoke-virtual {v9}, Lob/g;->k()V
return-object v0
:cond_5c
invoke-virtual {v0}, Llb/b0;->a()Llb/c0;
move-result-object v1
invoke-static {v1}, Lmb/c;->g(Ljava/io/Closeable;)V
add-int/lit8 v13, v2, 0x1
const/16 v1, 0x14
if-gt v13, v1, :cond_ba
invoke-virtual {v12}, Llb/z;->a()Llb/a0;
invoke-virtual {v12}, Llb/z;->i()Llb/s;
move-result-object v1
invoke-direct {p0, v0, v1}, Lpb/j;->h(Llb/b0;Llb/s;)Z
move-result v1
if-nez v1, :cond_94
invoke-virtual {v9}, Lob/g;->k()V
new-instance v9, Lob/g;
iget-object v1, p0, Lpb/j;->a:Llb/w;
invoke-virtual {v1}, Llb/w;->k()Llb/i;
move-result-object v2
invoke-virtual {v12}, Llb/z;->i()Llb/s;
move-result-object v1
invoke-direct {p0, v1}, Lpb/j;->b(Llb/s;)Llb/a;
move-result-object v3
iget-object v6, p0, Lpb/j;->d:Ljava/lang/Object;
move-object v1, v9
move-object v4, v7
move-object v5, v8
invoke-direct/range {v1 .. v6}, Lob/g;-><init>(Llb/i;Llb/a;Llb/d;Llb/o;Ljava/lang/Object;)V
iput-object v9, p0, Lpb/j;->c:Lob/g;
goto :goto_9a
:cond_94
invoke-virtual {v9}, Lob/g;->c()Lpb/c;
move-result-object v1
if-nez v1, :cond_9e
:goto_9a
move-object v1, v0
move-object v0, v12
move v2, v13
goto :goto_2c
:cond_9e
new-instance p1, Ljava/lang/IllegalStateException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Closing the body of "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v0, " didn\'t close its backing stream. Bad interceptor?"
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
:cond_ba
invoke-virtual {v9}, Lob/g;->k()V
new-instance p1, Ljava/net/ProtocolException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Too many follow-up requests: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/net/ProtocolException;-><init>(Ljava/lang/String;)V
throw p1
:catch_d4
move-exception p1
invoke-virtual {v9}, Lob/g;->k()V
throw p1
:catchall_d9
move-exception p1
goto :goto_fe
:catch_db
move-exception v3
:try_start_dc
instance-of v4, v3, Lrb/a;
if-nez v4, :cond_e2
const/4 v4, 0x1
goto :goto_e3
:cond_e2
const/4 v4, 0x0
:goto_e3
invoke-direct {p0, v3, v9, v4, v0}, Lpb/j;->f(Ljava/io/IOException;Lob/g;ZLlb/z;)Z
move-result v4
if-eqz v4, :cond_eb
goto/16 :goto_2c
:cond_eb
throw v3
:catch_ec
move-exception v3
invoke-virtual {v3}, Lob/e;->c()Ljava/io/IOException;
move-result-object v4
invoke-direct {p0, v4, v9, v10, v0}, Lpb/j;->f(Ljava/io/IOException;Lob/g;ZLlb/z;)Z
move-result v4
if-eqz v4, :cond_f9
goto/16 :goto_2c
:cond_f9
invoke-virtual {v3}, Lob/e;->b()Ljava/io/IOException;
move-result-object p1
throw p1
:try_end_fe
.catchall {:try_start_dc .. :try_end_fe} :catchall_d9
:goto_fe
invoke-virtual {v9, v11}, Lob/g;->q(Ljava/io/IOException;)V
invoke-virtual {v9}, Lob/g;->k()V
throw p1
:cond_105
invoke-virtual {v9}, Lob/g;->k()V
new-instance p1, Ljava/io/IOException;
const-string v0, "Canceled"
invoke-direct {p1, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
goto :goto_111
:goto_110
throw p1
:goto_111
goto :goto_110
.end method