OkHttpURLConnection$NetworkInterceptor.smali
.class final Lokhttp3/internal/huc/OkHttpURLConnection$NetworkInterceptor;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lokhttp3/Interceptor;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lokhttp3/internal/huc/OkHttpURLConnection;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "NetworkInterceptor"
.end annotation
# instance fields
.field private proceed:Z
.field public final synthetic this$0:Lokhttp3/internal/huc/OkHttpURLConnection;
# direct methods
.method public constructor <init>(Lokhttp3/internal/huc/OkHttpURLConnection;)V
.registers 2
iput-object p1, p0, Lokhttp3/internal/huc/OkHttpURLConnection$NetworkInterceptor;->this$0:Lokhttp3/internal/huc/OkHttpURLConnection;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final synthetic getName()Ljava/lang/String;
.registers 2
invoke-static {p0}, Lokhttp3/a;->a(Lokhttp3/Interceptor;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public intercept(Lokhttp3/Interceptor$Chain;)Lokhttp3/Response;
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-interface {p1}, Lokhttp3/Interceptor$Chain;->request()Lokhttp3/Request;
move-result-object v0
.line 2
iget-object v1, p0, Lokhttp3/internal/huc/OkHttpURLConnection$NetworkInterceptor;->this$0:Lokhttp3/internal/huc/OkHttpURLConnection;
iget-object v1, v1, Lokhttp3/internal/huc/OkHttpURLConnection;->urlFilter:Lokhttp3/internal/URLFilter;
if-eqz v1, :cond_15
.line 3
invoke-virtual {v0}, Lokhttp3/Request;->url()Lokhttp3/HttpUrl;
move-result-object v2
invoke-virtual {v2}, Lokhttp3/HttpUrl;->url()Ljava/net/URL;
move-result-object v2
invoke-interface {v1, v2}, Lokhttp3/internal/URLFilter;->checkURLPermitted(Ljava/net/URL;)V
.line 4
:cond_15
iget-object v1, p0, Lokhttp3/internal/huc/OkHttpURLConnection$NetworkInterceptor;->this$0:Lokhttp3/internal/huc/OkHttpURLConnection;
# getter for: Lokhttp3/internal/huc/OkHttpURLConnection;->lock:Ljava/lang/Object;
invoke-static {v1}, Lokhttp3/internal/huc/OkHttpURLConnection;->access$000(Lokhttp3/internal/huc/OkHttpURLConnection;)Ljava/lang/Object;
move-result-object v1
monitor-enter v1
.line 5
:try_start_1c
iget-object v2, p0, Lokhttp3/internal/huc/OkHttpURLConnection$NetworkInterceptor;->this$0:Lokhttp3/internal/huc/OkHttpURLConnection;
const/4 v3, 0x0
iput-boolean v3, v2, Lokhttp3/internal/huc/OkHttpURLConnection;->connectPending:Z
.line 6
invoke-interface {p1}, Lokhttp3/Interceptor$Chain;->connection()Lokhttp3/Connection;
move-result-object v3
invoke-interface {v3}, Lokhttp3/Connection;->route()Lokhttp3/Route;
move-result-object v3
invoke-virtual {v3}, Lokhttp3/Route;->proxy()Ljava/net/Proxy;
move-result-object v3
iput-object v3, v2, Lokhttp3/internal/huc/OkHttpURLConnection;->proxy:Ljava/net/Proxy;
.line 7
iget-object v2, p0, Lokhttp3/internal/huc/OkHttpURLConnection$NetworkInterceptor;->this$0:Lokhttp3/internal/huc/OkHttpURLConnection;
invoke-interface {p1}, Lokhttp3/Interceptor$Chain;->connection()Lokhttp3/Connection;
move-result-object v3
invoke-interface {v3}, Lokhttp3/Connection;->handshake()Lokhttp3/Handshake;
move-result-object v3
iput-object v3, v2, Lokhttp3/internal/huc/OkHttpURLConnection;->handshake:Lokhttp3/Handshake;
.line 8
iget-object v2, p0, Lokhttp3/internal/huc/OkHttpURLConnection$NetworkInterceptor;->this$0:Lokhttp3/internal/huc/OkHttpURLConnection;
# getter for: Lokhttp3/internal/huc/OkHttpURLConnection;->lock:Ljava/lang/Object;
invoke-static {v2}, Lokhttp3/internal/huc/OkHttpURLConnection;->access$000(Lokhttp3/internal/huc/OkHttpURLConnection;)Ljava/lang/Object;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Object;->notifyAll()V
:try_end_44
.catchall {:try_start_1c .. :try_end_44} :catchall_95
.line 9
:goto_44
:try_start_44
iget-boolean v2, p0, Lokhttp3/internal/huc/OkHttpURLConnection$NetworkInterceptor;->proceed:Z
if-nez v2, :cond_52
.line 10
iget-object v2, p0, Lokhttp3/internal/huc/OkHttpURLConnection$NetworkInterceptor;->this$0:Lokhttp3/internal/huc/OkHttpURLConnection;
# getter for: Lokhttp3/internal/huc/OkHttpURLConnection;->lock:Ljava/lang/Object;
invoke-static {v2}, Lokhttp3/internal/huc/OkHttpURLConnection;->access$000(Lokhttp3/internal/huc/OkHttpURLConnection;)Ljava/lang/Object;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Object;->wait()V
:try_end_51
.catch Ljava/lang/InterruptedException; {:try_start_44 .. :try_end_51} :catch_88
.catchall {:try_start_44 .. :try_end_51} :catchall_95
goto :goto_44
.line 11
:cond_52
:try_start_52
monitor-exit v1
:try_end_53
.catchall {:try_start_52 .. :try_end_53} :catchall_95
.line 12
invoke-virtual {v0}, Lokhttp3/Request;->body()Lokhttp3/RequestBody;
move-result-object v1
instance-of v1, v1, Lokhttp3/internal/huc/OutputStreamRequestBody;
if-eqz v1, :cond_65
.line 13
invoke-virtual {v0}, Lokhttp3/Request;->body()Lokhttp3/RequestBody;
move-result-object v1
check-cast v1, Lokhttp3/internal/huc/OutputStreamRequestBody;
.line 14
invoke-virtual {v1, v0}, Lokhttp3/internal/huc/OutputStreamRequestBody;->prepareToSendRequest(Lokhttp3/Request;)Lokhttp3/Request;
move-result-object v0
.line 15
:cond_65
invoke-interface {p1, v0}, Lokhttp3/Interceptor$Chain;->proceed(Lokhttp3/Request;)Lokhttp3/Response;
move-result-object p1
.line 16
iget-object v0, p0, Lokhttp3/internal/huc/OkHttpURLConnection$NetworkInterceptor;->this$0:Lokhttp3/internal/huc/OkHttpURLConnection;
# getter for: Lokhttp3/internal/huc/OkHttpURLConnection;->lock:Ljava/lang/Object;
invoke-static {v0}, Lokhttp3/internal/huc/OkHttpURLConnection;->access$000(Lokhttp3/internal/huc/OkHttpURLConnection;)Ljava/lang/Object;
move-result-object v0
monitor-enter v0
.line 17
:try_start_70
iget-object v1, p0, Lokhttp3/internal/huc/OkHttpURLConnection$NetworkInterceptor;->this$0:Lokhttp3/internal/huc/OkHttpURLConnection;
iput-object p1, v1, Lokhttp3/internal/huc/OkHttpURLConnection;->networkResponse:Lokhttp3/Response;
.line 18
invoke-virtual {p1}, Lokhttp3/Response;->request()Lokhttp3/Request;
move-result-object v2
invoke-virtual {v2}, Lokhttp3/Request;->url()Lokhttp3/HttpUrl;
move-result-object v2
invoke-virtual {v2}, Lokhttp3/HttpUrl;->url()Ljava/net/URL;
move-result-object v2
# setter for: Ljava/net/HttpURLConnection;->url:Ljava/net/URL;
invoke-static {v1, v2}, Lokhttp3/internal/huc/OkHttpURLConnection;->access$102(Lokhttp3/internal/huc/OkHttpURLConnection;Ljava/net/URL;)Ljava/net/URL;
.line 19
monitor-exit v0
return-object p1
:catchall_85
move-exception p1
monitor-exit v0
:try_end_87
.catchall {:try_start_70 .. :try_end_87} :catchall_85
throw p1
.line 20
:catch_88
:try_start_88
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/Thread;->interrupt()V
.line 21
new-instance p1, Ljava/io/InterruptedIOException;
invoke-direct {p1}, Ljava/io/InterruptedIOException;-><init>()V
throw p1
:catchall_95
move-exception p1
.line 22
monitor-exit v1
:try_end_97
.catchall {:try_start_88 .. :try_end_97} :catchall_95
throw p1
.end method
.method public proceed()V
.registers 3
.line 1
iget-object v0, p0, Lokhttp3/internal/huc/OkHttpURLConnection$NetworkInterceptor;->this$0:Lokhttp3/internal/huc/OkHttpURLConnection;
# getter for: Lokhttp3/internal/huc/OkHttpURLConnection;->lock:Ljava/lang/Object;
invoke-static {v0}, Lokhttp3/internal/huc/OkHttpURLConnection;->access$000(Lokhttp3/internal/huc/OkHttpURLConnection;)Ljava/lang/Object;
move-result-object v0
monitor-enter v0
const/4 v1, 0x1
.line 2
:try_start_8
iput-boolean v1, p0, Lokhttp3/internal/huc/OkHttpURLConnection$NetworkInterceptor;->proceed:Z
.line 3
iget-object v1, p0, Lokhttp3/internal/huc/OkHttpURLConnection$NetworkInterceptor;->this$0:Lokhttp3/internal/huc/OkHttpURLConnection;
# getter for: Lokhttp3/internal/huc/OkHttpURLConnection;->lock:Ljava/lang/Object;
invoke-static {v1}, Lokhttp3/internal/huc/OkHttpURLConnection;->access$000(Lokhttp3/internal/huc/OkHttpURLConnection;)Ljava/lang/Object;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Object;->notifyAll()V
.line 4
monitor-exit v0
return-void
:catchall_15
move-exception v1
monitor-exit v0
:try_end_17
.catchall {:try_start_8 .. :try_end_17} :catchall_15
throw v1
.end method