DefaultWXHttpAdapter$1.smali
.class Lcom/taobao/weex/adapter/DefaultWXHttpAdapter$1;
.super Ljava/lang/Object;
.source "DefaultWXHttpAdapter.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/taobao/weex/adapter/DefaultWXHttpAdapter;->sendRequest(Lcom/taobao/weex/common/WXRequest;Lcom/taobao/weex/adapter/IWXHttpAdapter$OnHttpListener;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic this$0:Lcom/taobao/weex/adapter/DefaultWXHttpAdapter;
.field final synthetic val$listener:Lcom/taobao/weex/adapter/IWXHttpAdapter$OnHttpListener;
.field final synthetic val$request:Lcom/taobao/weex/common/WXRequest;
# direct methods
.method constructor <init>(Lcom/taobao/weex/adapter/DefaultWXHttpAdapter;Lcom/taobao/weex/common/WXRequest;Lcom/taobao/weex/adapter/IWXHttpAdapter$OnHttpListener;)V
.registers 4
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x8010,
0x1010,
0x1010
}
names = {
"this$0",
"val$request",
"val$listener"
}
.end annotation
.line 62
iput-object p1, p0, Lcom/taobao/weex/adapter/DefaultWXHttpAdapter$1;->this$0:Lcom/taobao/weex/adapter/DefaultWXHttpAdapter;
iput-object p2, p0, Lcom/taobao/weex/adapter/DefaultWXHttpAdapter$1;->val$request:Lcom/taobao/weex/common/WXRequest;
iput-object p3, p0, Lcom/taobao/weex/adapter/DefaultWXHttpAdapter$1;->val$listener:Lcom/taobao/weex/adapter/IWXHttpAdapter$OnHttpListener;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.registers 10
.line 65
invoke-static {}, Lcom/taobao/weex/WXSDKManager;->getInstance()Lcom/taobao/weex/WXSDKManager;
move-result-object v0
invoke-virtual {v0}, Lcom/taobao/weex/WXSDKManager;->getAllInstanceMap()Ljava/util/Map;
move-result-object v0
iget-object v1, p0, Lcom/taobao/weex/adapter/DefaultWXHttpAdapter$1;->val$request:Lcom/taobao/weex/common/WXRequest;
iget-object v1, v1, Lcom/taobao/weex/common/WXRequest;->instanceId:Ljava/lang/String;
invoke-interface {v0, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/taobao/weex/WXSDKInstance;
if-eqz v0, :cond_21
.line 66
invoke-virtual {v0}, Lcom/taobao/weex/WXSDKInstance;->isDestroy()Z
move-result v1
if-nez v1, :cond_21
.line 67
invoke-virtual {v0}, Lcom/taobao/weex/WXSDKInstance;->getApmForInstance()Lcom/taobao/weex/performance/WXInstanceApm;
move-result-object v1
invoke-virtual {v1}, Lcom/taobao/weex/performance/WXInstanceApm;->actionNetRequest()V
:cond_21
const/4 v1, 0x1
.line 72
new-instance v2, Lcom/taobao/weex/common/WXResponse;
invoke-direct {v2}, Lcom/taobao/weex/common/WXResponse;-><init>()V
.line 73
iget-object v3, p0, Lcom/taobao/weex/adapter/DefaultWXHttpAdapter$1;->this$0:Lcom/taobao/weex/adapter/DefaultWXHttpAdapter;
invoke-virtual {v3}, Lcom/taobao/weex/adapter/DefaultWXHttpAdapter;->getEventReporterDelegate()Lcom/taobao/weex/adapter/DefaultWXHttpAdapter$IEventReporterDelegate;
move-result-object v3
const/4 v4, 0x0
.line 75
:try_start_2e
iget-object v5, p0, Lcom/taobao/weex/adapter/DefaultWXHttpAdapter$1;->this$0:Lcom/taobao/weex/adapter/DefaultWXHttpAdapter;
iget-object v6, p0, Lcom/taobao/weex/adapter/DefaultWXHttpAdapter$1;->val$request:Lcom/taobao/weex/common/WXRequest;
iget-object v7, p0, Lcom/taobao/weex/adapter/DefaultWXHttpAdapter$1;->val$listener:Lcom/taobao/weex/adapter/IWXHttpAdapter$OnHttpListener;
# invokes: Lcom/taobao/weex/adapter/DefaultWXHttpAdapter;->openConnection(Lcom/taobao/weex/common/WXRequest;Lcom/taobao/weex/adapter/IWXHttpAdapter$OnHttpListener;)Ljava/net/HttpURLConnection;
invoke-static {v5, v6, v7}, Lcom/taobao/weex/adapter/DefaultWXHttpAdapter;->access$100(Lcom/taobao/weex/adapter/DefaultWXHttpAdapter;Lcom/taobao/weex/common/WXRequest;Lcom/taobao/weex/adapter/IWXHttpAdapter$OnHttpListener;)Ljava/net/HttpURLConnection;
move-result-object v5
.line 76
iget-object v6, p0, Lcom/taobao/weex/adapter/DefaultWXHttpAdapter$1;->val$request:Lcom/taobao/weex/common/WXRequest;
iget-object v6, v6, Lcom/taobao/weex/common/WXRequest;->body:Ljava/lang/String;
invoke-interface {v3, v5, v6}, Lcom/taobao/weex/adapter/DefaultWXHttpAdapter$IEventReporterDelegate;->preConnect(Ljava/net/HttpURLConnection;Ljava/lang/String;)V
.line 77
invoke-virtual {v5}, Ljava/net/HttpURLConnection;->getHeaderFields()Ljava/util/Map;
move-result-object v6
.line 78
invoke-virtual {v5}, Ljava/net/HttpURLConnection;->getResponseCode()I
move-result v7
.line 79
iget-object v8, p0, Lcom/taobao/weex/adapter/DefaultWXHttpAdapter$1;->val$listener:Lcom/taobao/weex/adapter/IWXHttpAdapter$OnHttpListener;
if-eqz v8, :cond_4e
.line 80
invoke-interface {v8, v7, v6}, Lcom/taobao/weex/adapter/IWXHttpAdapter$OnHttpListener;->onHeadersReceived(ILjava/util/Map;)V
.line 82
:cond_4e
invoke-interface {v3}, Lcom/taobao/weex/adapter/DefaultWXHttpAdapter$IEventReporterDelegate;->postConnect()V
.line 84
invoke-static {v7}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v6
iput-object v6, v2, Lcom/taobao/weex/common/WXResponse;->statusCode:Ljava/lang/String;
const/16 v6, 0xc8
if-lt v7, v6, :cond_72
const/16 v6, 0x12b
if-gt v7, v6, :cond_72
.line 86
invoke-virtual {v5}, Ljava/net/HttpURLConnection;->getInputStream()Ljava/io/InputStream;
move-result-object v5
.line 87
invoke-interface {v3, v5}, Lcom/taobao/weex/adapter/DefaultWXHttpAdapter$IEventReporterDelegate;->interpretResponseStream(Ljava/io/InputStream;)Ljava/io/InputStream;
move-result-object v5
.line 88
iget-object v6, p0, Lcom/taobao/weex/adapter/DefaultWXHttpAdapter$1;->this$0:Lcom/taobao/weex/adapter/DefaultWXHttpAdapter;
iget-object v7, p0, Lcom/taobao/weex/adapter/DefaultWXHttpAdapter$1;->val$listener:Lcom/taobao/weex/adapter/IWXHttpAdapter$OnHttpListener;
# invokes: Lcom/taobao/weex/adapter/DefaultWXHttpAdapter;->readInputStreamAsBytes(Ljava/io/InputStream;Lcom/taobao/weex/adapter/IWXHttpAdapter$OnHttpListener;)[B
invoke-static {v6, v5, v7}, Lcom/taobao/weex/adapter/DefaultWXHttpAdapter;->access$200(Lcom/taobao/weex/adapter/DefaultWXHttpAdapter;Ljava/io/InputStream;Lcom/taobao/weex/adapter/IWXHttpAdapter$OnHttpListener;)[B
move-result-object v5
iput-object v5, v2, Lcom/taobao/weex/common/WXResponse;->originalData:[B
goto :goto_81
.line 90
:cond_72
iget-object v1, p0, Lcom/taobao/weex/adapter/DefaultWXHttpAdapter$1;->this$0:Lcom/taobao/weex/adapter/DefaultWXHttpAdapter;
invoke-virtual {v5}, Ljava/net/HttpURLConnection;->getErrorStream()Ljava/io/InputStream;
move-result-object v5
iget-object v6, p0, Lcom/taobao/weex/adapter/DefaultWXHttpAdapter$1;->val$listener:Lcom/taobao/weex/adapter/IWXHttpAdapter$OnHttpListener;
# invokes: Lcom/taobao/weex/adapter/DefaultWXHttpAdapter;->readInputStream(Ljava/io/InputStream;Lcom/taobao/weex/adapter/IWXHttpAdapter$OnHttpListener;)Ljava/lang/String;
invoke-static {v1, v5, v6}, Lcom/taobao/weex/adapter/DefaultWXHttpAdapter;->access$300(Lcom/taobao/weex/adapter/DefaultWXHttpAdapter;Ljava/io/InputStream;Lcom/taobao/weex/adapter/IWXHttpAdapter$OnHttpListener;)Ljava/lang/String;
move-result-object v1
iput-object v1, v2, Lcom/taobao/weex/common/WXResponse;->errorMsg:Ljava/lang/String;
move v1, v4
.line 93
:goto_81
iget-object v5, p0, Lcom/taobao/weex/adapter/DefaultWXHttpAdapter$1;->val$listener:Lcom/taobao/weex/adapter/IWXHttpAdapter$OnHttpListener;
if-eqz v5, :cond_88
.line 94
invoke-interface {v5, v2}, Lcom/taobao/weex/adapter/IWXHttpAdapter$OnHttpListener;->onHttpFinish(Lcom/taobao/weex/common/WXResponse;)V
:try_end_88
.catch Ljava/io/IOException; {:try_start_2e .. :try_end_88} :catch_8c
.catch Ljava/lang/IllegalArgumentException; {:try_start_2e .. :try_end_88} :catch_8a
:cond_88
move v4, v1
goto :goto_b1
:catch_8a
move-exception v1
goto :goto_8d
:catch_8c
move-exception v1
.line 98
:goto_8d
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
const-string v5, "-1"
.line 99
iput-object v5, v2, Lcom/taobao/weex/common/WXResponse;->statusCode:Ljava/lang/String;
.line 100
iput-object v5, v2, Lcom/taobao/weex/common/WXResponse;->errorCode:Ljava/lang/String;
.line 101
invoke-virtual {v1}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v5
iput-object v5, v2, Lcom/taobao/weex/common/WXResponse;->errorMsg:Ljava/lang/String;
.line 102
iget-object v5, p0, Lcom/taobao/weex/adapter/DefaultWXHttpAdapter$1;->val$listener:Lcom/taobao/weex/adapter/IWXHttpAdapter$OnHttpListener;
if-eqz v5, :cond_a3
.line 103
invoke-interface {v5, v2}, Lcom/taobao/weex/adapter/IWXHttpAdapter$OnHttpListener;->onHttpFinish(Lcom/taobao/weex/common/WXResponse;)V
.line 105
:cond_a3
instance-of v2, v1, Ljava/io/IOException;
if-eqz v2, :cond_b1
.line 107
:try_start_a7
check-cast v1, Ljava/io/IOException;
invoke-interface {v3, v1}, Lcom/taobao/weex/adapter/DefaultWXHttpAdapter$IEventReporterDelegate;->httpExchangeFailed(Ljava/io/IOException;)V
:try_end_ac
.catchall {:try_start_a7 .. :try_end_ac} :catchall_ad
goto :goto_b1
:catchall_ad
move-exception v1
.line 109
invoke-virtual {v1}, Ljava/lang/Throwable;->printStackTrace()V
:cond_b1
:goto_b1
if-eqz v0, :cond_c1
.line 113
invoke-virtual {v0}, Lcom/taobao/weex/WXSDKInstance;->isDestroy()Z
move-result v1
if-nez v1, :cond_c1
.line 114
invoke-virtual {v0}, Lcom/taobao/weex/WXSDKInstance;->getApmForInstance()Lcom/taobao/weex/performance/WXInstanceApm;
move-result-object v0
const/4 v1, 0x0
invoke-virtual {v0, v4, v1}, Lcom/taobao/weex/performance/WXInstanceApm;->actionNetResult(ZLjava/lang/String;)V
:cond_c1
return-void
.end method