HttpClientAndroid.smali
.class public Lcom/tencent/liteav/base/http/HttpClientAndroid;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation runtime Lcom/tencent/liteav/base/annotations/JNINamespace;
value = "liteav"
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/tencent/liteav/base/http/HttpClientAndroid$c;,
Lcom/tencent/liteav/base/http/HttpClientAndroid$a;,
Lcom/tencent/liteav/base/http/HttpClientAndroid$d;,
Lcom/tencent/liteav/base/http/HttpClientAndroid$g;,
Lcom/tencent/liteav/base/http/HttpClientAndroid$f;,
Lcom/tencent/liteav/base/http/HttpClientAndroid$e;,
Lcom/tencent/liteav/base/http/HttpClientAndroid$b;,
Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
}
.end annotation
# static fields
.field private static final ERROR_CODE_INVALID_REQUEST:I = 0x0
.field private static final HTTPS_PREFIX:Ljava/lang/String; = "https://"
.field private static final HTTP_PREFIX:Ljava/lang/String; = "http://"
.field private static final METHOD_GET:Ljava/lang/String; = "GET"
.field private static final METHOD_POST:Ljava/lang/String; = "POST"
.field private static final METHOD_PUT:Ljava/lang/String; = "PUT"
.field private static final READ_STREAM_SIZE:I = 0x2000
.field private static final REDIRECT_REQUEST_MAX:I = 0x1
.field private static final TAG:Ljava/lang/String; = "HttpClientAndroid"
.field private static mCustomHttpDNSCallback:Lcom/tencent/liteav/base/http/HttpClientAndroid$c;
.field private static mEnableCustomHttpDNS:Z
.field private static final mLock:Ljava/lang/Object;
# instance fields
.field private mConnection:Ljava/net/HttpURLConnection;
.field private mHttpConfig:Lcom/tencent/liteav/base/http/HttpClientAndroid$b;
.field private final mHttpHandler:Landroid/os/Handler;
.field private volatile mInternalState:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
.field private mLastRequestURL:Ljava/lang/String;
.field private final mLocker:Ljava/lang/Object;
.field private mNativeHttpClientAndroidJni:J
.field private mPausedRepeatDownloading:Z
.field private mRepeatDownloadingStatusCode:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
.field private final mRunningRequestMap:Ljava/util/concurrent/ConcurrentHashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/ConcurrentHashMap<",
"Ljava/lang/Long;",
"Lcom/tencent/liteav/base/http/HttpClientAndroid$e;",
">;"
}
.end annotation
.end field
.field private mStartReadTime:J
.field private mTotalReadBytes:J
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 63
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
sput-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mLock:Ljava/lang/Object;
return-void
.end method
.method public constructor <init>(IIIZIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
.registers 24
move-object v0, p0
.line 260
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 236
new-instance v1, Ljava/util/concurrent/ConcurrentHashMap;
invoke-direct {v1}, Ljava/util/concurrent/ConcurrentHashMap;-><init>()V
iput-object v1, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mRunningRequestMap:Ljava/util/concurrent/ConcurrentHashMap;
.line 245
new-instance v1, Ljava/lang/Object;
invoke-direct {v1}, Ljava/lang/Object;-><init>()V
iput-object v1, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mLocker:Ljava/lang/Object;
.line 247
sget-object v1, Lcom/tencent/liteav/base/http/HttpClientAndroid$d;->a:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
iput-object v1, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mInternalState:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
const-wide/16 v1, 0x0
.line 249
iput-wide v1, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mTotalReadBytes:J
.line 251
iput-wide v1, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mStartReadTime:J
const/4 v1, 0x0
.line 253
iput-boolean v1, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mPausedRepeatDownloading:Z
.line 255
sget-object v1, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->x:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
iput-object v1, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mRepeatDownloadingStatusCode:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
.line 261
new-instance v1, Lcom/tencent/liteav/base/http/HttpClientAndroid$b;
move-object v2, v1
move v3, p1
move v4, p2
move v5, p3
move/from16 v6, p4
move/from16 v7, p5
move/from16 v8, p6
move-object/from16 v9, p7
move-object/from16 v10, p8
move-object/from16 v11, p9
invoke-direct/range {v2 .. v11}, Lcom/tencent/liteav/base/http/HttpClientAndroid$b;-><init>(IIIZIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
iput-object v1, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mHttpConfig:Lcom/tencent/liteav/base/http/HttpClientAndroid$b;
move-wide/from16 v1, p10
.line 263
iput-wide v1, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mNativeHttpClientAndroidJni:J
.line 264
new-instance v1, Landroid/os/HandlerThread;
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "HttpClient_"
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Landroid/os/HandlerThread;-><init>(Ljava/lang/String;)V
.line 265
invoke-virtual {v1}, Landroid/os/HandlerThread;->start()V
.line 266
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "Create http client("
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 267
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, "). [ThreadName:"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Landroid/os/HandlerThread;->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, "][ThreadId:"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 268
invoke-virtual {v1}, Landroid/os/HandlerThread;->getId()J
move-result-wide v3
invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v3, "]"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
const-string v3, "HttpClientAndroid"
.line 266
invoke-static {v3, v2}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
.line 269
new-instance v2, Landroid/os/Handler;
invoke-virtual {v1}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper;
move-result-object v1
invoke-direct {v2, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
iput-object v2, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mHttpHandler:Landroid/os/Handler;
return-void
.end method
.method static synthetic access$002(Lcom/tencent/liteav/base/http/HttpClientAndroid;Lcom/tencent/liteav/base/http/HttpClientAndroid$b;)Lcom/tencent/liteav/base/http/HttpClientAndroid$b;
.registers 2
.line 52
iput-object p1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mHttpConfig:Lcom/tencent/liteav/base/http/HttpClientAndroid$b;
return-object p1
.end method
.method static synthetic access$102(Lcom/tencent/liteav/base/http/HttpClientAndroid;J)J
.registers 3
.line 52
iput-wide p1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mTotalReadBytes:J
return-wide p1
.end method
.method static synthetic access$202(Lcom/tencent/liteav/base/http/HttpClientAndroid;J)J
.registers 3
.line 52
iput-wide p1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mStartReadTime:J
return-wide p1
.end method
.method private checkNativeValid()Z
.registers 6
.line 474
iget-object v0, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mLocker:Ljava/lang/Object;
monitor-enter v0
.line 475
:try_start_3
iget-wide v1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mNativeHttpClientAndroidJni:J
const-wide/16 v3, -0x1
cmp-long v1, v1, v3
if-eqz v1, :cond_d
const/4 v1, 0x1
goto :goto_e
:cond_d
const/4 v1, 0x0
:goto_e
monitor-exit v0
return v1
:catchall_10
move-exception v1
.line 476
monitor-exit v0
:try_end_12
.catchall {:try_start_3 .. :try_end_12} :catchall_10
throw v1
.end method
.method private checkRequestValid(J)Z
.registers 4
.line 470
iget-object v0, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mRunningRequestMap:Ljava/util/concurrent/ConcurrentHashMap;
invoke-static {p1, p2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p1
invoke-virtual {v0, p1}, Ljava/util/concurrent/ConcurrentHashMap;->containsKey(Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method private closeConnectionSafely(Ljava/net/HttpURLConnection;)V
.registers 2
if-eqz p1, :cond_a
.line 597
:try_start_2
invoke-virtual {p1}, Ljava/net/HttpURLConnection;->disconnect()V
:try_end_5
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_6
return-void
:catch_6
move-exception p1
.line 599
invoke-virtual {p1}, Ljava/lang/Exception;->printStackTrace()V
:cond_a
return-void
.end method
.method private createConnection(Lcom/tencent/liteav/base/http/HttpClientAndroid$e;)Ljava/net/HttpURLConnection;
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 482
iget-object v0, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mHttpConfig:Lcom/tencent/liteav/base/http/HttpClientAndroid$b;
iget-object v0, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$b;->g:Ljava/lang/String;
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_35
iget-object v0, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mHttpConfig:Lcom/tencent/liteav/base/http/HttpClientAndroid$b;
iget v0, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$b;->f:I
if-lez v0, :cond_35
.line 483
new-instance v0, Ljava/net/Proxy;
sget-object v1, Ljava/net/Proxy$Type;->SOCKS:Ljava/net/Proxy$Type;
new-instance v2, Ljava/net/InetSocketAddress;
iget-object v3, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mHttpConfig:Lcom/tencent/liteav/base/http/HttpClientAndroid$b;
iget-object v3, v3, Lcom/tencent/liteav/base/http/HttpClientAndroid$b;->g:Ljava/lang/String;
iget-object v4, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mHttpConfig:Lcom/tencent/liteav/base/http/HttpClientAndroid$b;
iget v4, v4, Lcom/tencent/liteav/base/http/HttpClientAndroid$b;->f:I
invoke-direct {v2, v3, v4}, Ljava/net/InetSocketAddress;-><init>(Ljava/lang/String;I)V
invoke-direct {v0, v1, v2}, Ljava/net/Proxy;-><init>(Ljava/net/Proxy$Type;Ljava/net/SocketAddress;)V
.line 486
new-instance v1, Lcom/tencent/liteav/base/http/HttpClientAndroid$a;
iget-object v2, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mHttpConfig:Lcom/tencent/liteav/base/http/HttpClientAndroid$b;
iget-object v2, v2, Lcom/tencent/liteav/base/http/HttpClientAndroid$b;->h:Ljava/lang/String;
iget-object v3, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mHttpConfig:Lcom/tencent/liteav/base/http/HttpClientAndroid$b;
iget-object v3, v3, Lcom/tencent/liteav/base/http/HttpClientAndroid$b;->i:Ljava/lang/String;
invoke-direct {v1, v2, v3}, Lcom/tencent/liteav/base/http/HttpClientAndroid$a;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-static {v1}, Ljava/net/Authenticator;->setDefault(Ljava/net/Authenticator;)V
goto :goto_36
:cond_35
const/4 v0, 0x0
.line 489
:goto_36
iget-object v1, p1, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->b:Ljava/lang/String;
const-string v2, " "
const-string v3, "%20"
invoke-virtual {v1, v2, v3}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
move-result-object v1
.line 490
new-instance v2, Ljava/net/URL;
invoke-direct {v2, v1}, Ljava/net/URL;-><init>(Ljava/lang/String;)V
if-eqz v0, :cond_4e
.line 494
invoke-virtual {v2, v0}, Ljava/net/URL;->openConnection(Ljava/net/Proxy;)Ljava/net/URLConnection;
move-result-object v0
check-cast v0, Ljava/net/HttpURLConnection;
goto :goto_8b
.line 496
:cond_4e
invoke-virtual {v2}, Ljava/net/URL;->getHost()Ljava/lang/String;
move-result-object v0
invoke-direct {p0, v0}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->verifyCustomHttpDNS(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_85
.line 498
:try_start_58
invoke-virtual {v2}, Ljava/net/URL;->getHost()Ljava/lang/String;
move-result-object v0
invoke-direct {p0, v1, v0}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->createConnectionUseCustomHttpDNS(Ljava/lang/String;Ljava/lang/String;)Ljava/net/HttpURLConnection;
move-result-object v0
:try_end_60
.catch Ljava/lang/Exception; {:try_start_58 .. :try_end_60} :catch_61
goto :goto_8b
:catch_61
move-exception v0
.line 501
new-instance v1, Ljava/lang/StringBuilder;
const-string v3, "("
invoke-direct {v1, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v3
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, ")createConnectionUseCustomHttpDNS failed. error: "
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 502
invoke-static {v0}, Lcom/tencent/liteav/base/Log;->getStackTraceString(Ljava/lang/Throwable;)Ljava/lang/String;
move-result-object v0
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
const-string v1, "HttpClientAndroid"
.line 501
invoke-static {v1, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 506
:cond_85
invoke-virtual {v2}, Ljava/net/URL;->openConnection()Ljava/net/URLConnection;
move-result-object v0
check-cast v0, Ljava/net/HttpURLConnection;
:goto_8b
const/4 v1, 0x1
.line 509
invoke-virtual {v0, v1}, Ljava/net/HttpURLConnection;->setInstanceFollowRedirects(Z)V
.line 510
iget-object v2, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mHttpConfig:Lcom/tencent/liteav/base/http/HttpClientAndroid$b;
iget v2, v2, Lcom/tencent/liteav/base/http/HttpClientAndroid$b;->a:I
invoke-virtual {v0, v2}, Ljava/net/HttpURLConnection;->setConnectTimeout(I)V
.line 511
iget-object v2, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mHttpConfig:Lcom/tencent/liteav/base/http/HttpClientAndroid$b;
iget v2, v2, Lcom/tencent/liteav/base/http/HttpClientAndroid$b;->b:I
invoke-virtual {v0, v2}, Ljava/net/HttpURLConnection;->setReadTimeout(I)V
const-string v2, "Accept-Encoding"
const-string v3, "identity"
.line 512
invoke-virtual {v0, v2, v3}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
.line 513
invoke-virtual {p1}, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->d()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/net/HttpURLConnection;->setRequestMethod(Ljava/lang/String;)V
.line 514
invoke-virtual {p1}, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->c()Z
move-result v2
if-eqz v2, :cond_b4
.line 515
invoke-virtual {v0, v1}, Ljava/net/HttpURLConnection;->setDoOutput(Z)V
.line 517
:cond_b4
iget-object v1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mHttpConfig:Lcom/tencent/liteav/base/http/HttpClientAndroid$b;
iget-boolean v1, v1, Lcom/tencent/liteav/base/http/HttpClientAndroid$b;->d:Z
const-string v2, "Connection"
if-eqz v1, :cond_c2
const-string v1, "Keep-Alive"
.line 518
invoke-virtual {v0, v2, v1}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_c7
:cond_c2
const-string v1, "close"
.line 520
invoke-virtual {v0, v2, v1}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
.line 522
:goto_c7
iget-object v1, p1, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->e:Ljava/util/Map;
if-eqz v1, :cond_f9
iget-object v1, p1, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->e:Ljava/util/Map;
invoke-interface {v1}, Ljava/util/Map;->isEmpty()Z
move-result v1
if-nez v1, :cond_f9
.line 523
iget-object p1, p1, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->e:Ljava/util/Map;
invoke-interface {p1}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object p1
invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_dd
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_f9
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/util/Map$Entry;
.line 524
invoke-interface {v1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
invoke-interface {v1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
invoke-virtual {v0, v2, v1}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_dd
:cond_f9
return-object v0
.end method
.method private createConnectionUseCustomHttpDNS(Ljava/lang/String;Ljava/lang/String;)Ljava/net/HttpURLConnection;
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 532
invoke-direct {p0, p2}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->parseAddressUseCustomHttpDns(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 533
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_16
.line 534
new-instance p2, Ljava/net/URL;
invoke-direct {p2, p1}, Ljava/net/URL;-><init>(Ljava/lang/String;)V
invoke-virtual {p2}, Ljava/net/URL;->openConnection()Ljava/net/URLConnection;
move-result-object p1
check-cast p1, Ljava/net/HttpURLConnection;
return-object p1
.line 537
:cond_16
invoke-static {v0}, Ljava/net/InetAddress;->getByName(Ljava/lang/String;)Ljava/net/InetAddress;
move-result-object v1
.line 538
instance-of v2, v1, Ljava/net/Inet4Address;
if-eqz v2, :cond_23
.line 540
invoke-virtual {p1, p2, v0}, Ljava/lang/String;->replaceFirst(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
goto :goto_3e
.line 541
:cond_23
instance-of v1, v1, Ljava/net/Inet6Address;
if-eqz v1, :cond_52
.line 543
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "["
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, "]"
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-virtual {p1, p2, v0}, Ljava/lang/String;->replaceFirst(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
.line 547
:goto_3e
new-instance v0, Ljava/net/URL;
invoke-direct {v0, p1}, Ljava/net/URL;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/net/URL;->openConnection()Ljava/net/URLConnection;
move-result-object p1
check-cast p1, Ljava/net/HttpURLConnection;
const-string v0, "Host"
.line 548
invoke-virtual {p1, v0, p2}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
.line 549
invoke-static {p1, p2}, Lcom/tencent/liteav/base/util/g;->a(Ljava/net/HttpURLConnection;Ljava/lang/String;)V
return-object p1
.line 545
:cond_52
new-instance p2, Ljava/net/URL;
invoke-direct {p2, p1}, Ljava/net/URL;-><init>(Ljava/lang/String;)V
invoke-virtual {p2}, Ljava/net/URL;->openConnection()Ljava/net/URLConnection;
move-result-object p1
check-cast p1, Ljava/net/HttpURLConnection;
return-object p1
.end method
.method private doCleanById(JZ)V
.registers 6
.line 606
iget-object v0, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mLocker:Ljava/lang/Object;
monitor-enter v0
.line 607
:try_start_3
iget-object v1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mRunningRequestMap:Ljava/util/concurrent/ConcurrentHashMap;
invoke-static {p1, p2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p1
invoke-virtual {v1, p1}, Ljava/util/concurrent/ConcurrentHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
.line 608
iget-object p1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mRunningRequestMap:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {p1}, Ljava/util/concurrent/ConcurrentHashMap;->size()I
move-result p1
if-nez p1, :cond_18
.line 609
sget-object p1, Lcom/tencent/liteav/base/http/HttpClientAndroid$d;->a:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
iput-object p1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mInternalState:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
.line 611
:cond_18
monitor-exit v0
:try_end_19
.catchall {:try_start_3 .. :try_end_19} :catchall_24
if-eqz p3, :cond_23
.line 613
iget-object p1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mConnection:Ljava/net/HttpURLConnection;
invoke-direct {p0, p1}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->closeConnectionSafely(Ljava/net/HttpURLConnection;)V
const/4 p1, 0x0
.line 614
iput-object p1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mConnection:Ljava/net/HttpURLConnection;
:cond_23
return-void
:catchall_24
move-exception p1
.line 611
:try_start_25
monitor-exit v0
:try_end_26
.catchall {:try_start_25 .. :try_end_26} :catchall_24
throw p1
.end method
.method private doOnCallback(Lcom/tencent/liteav/base/http/HttpClientAndroid$g;JLcom/tencent/liteav/base/http/HttpClientAndroid$f;)Z
.registers 23
move-object/from16 v1, p0
move-object/from16 v0, p4
.line 868
iget-object v2, v1, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mLocker:Ljava/lang/Object;
monitor-enter v2
.line 869
:try_start_7
invoke-direct/range {p0 .. p0}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->checkNativeValid()Z
move-result v3
const/4 v4, 0x0
if-eqz v3, :cond_42
move-wide/from16 v9, p2
invoke-direct {v1, v9, v10}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->checkRequestValid(J)Z
move-result v3
if-eqz v3, :cond_42
if-eqz v0, :cond_42
.line 870
sget-object v3, Lcom/tencent/liteav/base/http/HttpClientAndroid$d;->b:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
iget-object v5, v1, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mInternalState:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
if-ne v3, v5, :cond_1f
const/4 v4, 0x1
:cond_1f
move v7, v4
.line 871
iget-wide v5, v1, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mNativeHttpClientAndroidJni:J
move-object/from16 v3, p1
.line 1210
iget v8, v3, Lcom/tencent/liteav/base/http/HttpClientAndroid$g;->nativeValue:I
.line 871
iget-object v3, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->a:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
.line 2099
iget v11, v3, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->nativeValue:I
.line 872
iget-object v12, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->b:Ljava/lang/String;
iget v13, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->g:I
iget-object v14, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->c:Ljava/nio/ByteBuffer;
iget-object v15, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->e:Ljava/lang/String;
iget-object v3, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->f:Ljava/util/Map;
iget v0, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->d:I
move-wide/from16 v9, p2
move-object/from16 v16, v3
move/from16 v17, v0
.line 871
invoke-static/range {v5 .. v17}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->nativeOnCallback(JZIJILjava/lang/String;ILjava/nio/ByteBuffer;Ljava/lang/String;Ljava/util/Map;I)Z
move-result v0
monitor-exit v2
return v0
.line 875
:cond_42
monitor-exit v2
return v4
:catchall_44
move-exception v0
monitor-exit v2
:try_end_46
.catchall {:try_start_7 .. :try_end_46} :catchall_44
throw v0
.end method
.method private doReadData(JLcom/tencent/liteav/base/http/HttpClientAndroid$f;)V
.registers 16
.line 726
invoke-direct {p0, p1, p2}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->checkRequestValid(J)Z
move-result v0
if-nez v0, :cond_26
const-string p3, "HttpClientAndroid"
.line 727
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "("
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 728
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, ")Do read data failed. Invalid request id. id:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1, p2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
.line 727
invoke-static {p3, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->w(Ljava/lang/String;Ljava/lang/String;)V
return-void
:cond_26
const/4 v0, 0x1
.line 735
:try_start_27
iget-object v1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mConnection:Ljava/net/HttpURLConnection;
invoke-virtual {v1}, Ljava/net/HttpURLConnection;->getInputStream()Ljava/io/InputStream;
move-result-object v1
:try_end_2d
.catch Ljava/lang/Exception; {:try_start_27 .. :try_end_2d} :catch_186
.line 748
iget-object v2, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mLocker:Ljava/lang/Object;
monitor-enter v2
.line 749
:try_start_30
iget-object v3, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mInternalState:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
sget-object v4, Lcom/tencent/liteav/base/http/HttpClientAndroid$d;->c:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
const/4 v5, 0x0
if-ne v3, v4, :cond_39
move v3, v0
goto :goto_3a
:cond_39
move v3, v5
.line 750
:goto_3a
monitor-exit v2
:try_end_3b
.catchall {:try_start_30 .. :try_end_3b} :catchall_183
const/16 v2, 0x2000
const-wide/16 v6, 0x0
if-eqz v3, :cond_ac
.line 755
new-instance v4, Ljava/io/ByteArrayOutputStream;
invoke-direct {v4}, Ljava/io/ByteArrayOutputStream;-><init>()V
new-array v2, v2, [B
.line 760
:cond_48
:try_start_48
invoke-virtual {v1, v2}, Ljava/io/InputStream;->read([B)I
move-result v8
if-lez v8, :cond_51
.line 762
invoke-virtual {v4, v2, v5, v8}, Ljava/io/ByteArrayOutputStream;->write([BII)V
:cond_51
if-lez v8, :cond_5b
.line 765
invoke-direct {p0, p1, p2}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->checkRequestValid(J)Z
move-result v8
:try_end_57
.catch Ljava/lang/Exception; {:try_start_48 .. :try_end_57} :catch_77
if-eqz v8, :cond_5b
move v8, v0
goto :goto_5c
:cond_5b
move v8, v5
:goto_5c
if-nez v8, :cond_48
.line 777
invoke-virtual {v4}, Ljava/io/ByteArrayOutputStream;->size()I
move-result v1
if-lez v1, :cond_75
.line 779
invoke-static {v1}, Ljava/nio/ByteBuffer;->allocateDirect(I)Ljava/nio/ByteBuffer;
move-result-object v2
iput-object v2, p3, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->c:Ljava/nio/ByteBuffer;
.line 780
iget-object v2, p3, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->c:Ljava/nio/ByteBuffer;
invoke-virtual {v4}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
move-result-object v4
invoke-virtual {v2, v4, v5, v1}, Ljava/nio/ByteBuffer;->put([BII)Ljava/nio/ByteBuffer;
.line 781
iput v1, p3, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->d:I
:cond_75
move-wide v8, v6
goto :goto_cb
:catch_77
move-exception v1
.line 767
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
const-string v2, "HttpClientAndroid"
.line 768
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "("
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 769
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v4, ")Do read data failed. Catch error when reading."
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
.line 768
invoke-static {v2, v3}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
.line 770
invoke-direct {p0, v1}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->getStatusCode(Ljava/lang/Exception;)Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
move-result-object v2
iput-object v2, p3, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->a:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
.line 771
invoke-virtual {v1}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object v1
iput-object v1, p3, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->b:Ljava/lang/String;
.line 772
sget-object v1, Lcom/tencent/liteav/base/http/HttpClientAndroid$g;->b:Lcom/tencent/liteav/base/http/HttpClientAndroid$g;
invoke-direct {p0, v1, p1, p2, p3}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->doOnCallback(Lcom/tencent/liteav/base/http/HttpClientAndroid$g;JLcom/tencent/liteav/base/http/HttpClientAndroid$f;)Z
.line 773
invoke-direct {p0, p1, p2, v0}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->doCleanById(JZ)V
return-void
:cond_ac
new-array v2, v2, [B
.line 788
:try_start_ae
invoke-virtual {v1, v2}, Ljava/io/InputStream;->read([B)I
move-result v1
.line 789
iget-wide v8, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mTotalReadBytes:J
int-to-long v10, v1
add-long/2addr v8, v10
iput-wide v8, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mTotalReadBytes:J
.line 790
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v8
:try_end_bc
.catch Ljava/lang/Exception; {:try_start_ae .. :try_end_bc} :catch_14e
if-lez v1, :cond_cb
.line 802
invoke-static {v1}, Ljava/nio/ByteBuffer;->allocateDirect(I)Ljava/nio/ByteBuffer;
move-result-object v4
iput-object v4, p3, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->c:Ljava/nio/ByteBuffer;
.line 803
iget-object v4, p3, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->c:Ljava/nio/ByteBuffer;
invoke-virtual {v4, v2, v5, v1}, Ljava/nio/ByteBuffer;->put([BII)Ljava/nio/ByteBuffer;
.line 804
iput v1, p3, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->d:I
.line 809
:cond_cb
:goto_cb
iget v1, p3, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->d:I
if-nez v1, :cond_f6
if-nez v3, :cond_f6
const-string v1, "HttpClientAndroid"
.line 810
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "("
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, ")Do read data failed. Rsp size is 0."
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v1, v2}, Lcom/tencent/liteav/base/util/LiteavLog;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 811
sget-object v1, Lcom/tencent/liteav/base/http/HttpClientAndroid$g;->c:Lcom/tencent/liteav/base/http/HttpClientAndroid$g;
invoke-direct {p0, v1, p1, p2, p3}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->doOnCallback(Lcom/tencent/liteav/base/http/HttpClientAndroid$g;JLcom/tencent/liteav/base/http/HttpClientAndroid$f;)Z
.line 812
invoke-direct {p0, p1, p2, v0}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->doCleanById(JZ)V
return-void
:cond_f6
if-eqz v3, :cond_106
.line 818
sget-object v1, Lcom/tencent/liteav/base/http/HttpClientAndroid$g;->c:Lcom/tencent/liteav/base/http/HttpClientAndroid$g;
invoke-direct {p0, v1, p1, p2, p3}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->doOnCallback(Lcom/tencent/liteav/base/http/HttpClientAndroid$g;JLcom/tencent/liteav/base/http/HttpClientAndroid$f;)Z
.line 820
iget-object p3, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mHttpConfig:Lcom/tencent/liteav/base/http/HttpClientAndroid$b;
iget-boolean p3, p3, Lcom/tencent/liteav/base/http/HttpClientAndroid$b;->d:Z
xor-int/2addr p3, v0
invoke-direct {p0, p1, p2, p3}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->doCleanById(JZ)V
return-void
.line 823
:cond_106
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$g;->a:Lcom/tencent/liteav/base/http/HttpClientAndroid$g;
invoke-direct {p0, v0, p1, p2, p3}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->doOnCallback(Lcom/tencent/liteav/base/http/HttpClientAndroid$g;JLcom/tencent/liteav/base/http/HttpClientAndroid$f;)Z
move-result v0
iput-boolean v0, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mPausedRepeatDownloading:Z
.line 824
iget-object v0, p3, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->a:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
iput-object v0, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mRepeatDownloadingStatusCode:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
.line 827
iget-boolean v0, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mPausedRepeatDownloading:Z
if-nez v0, :cond_14d
.line 830
iget-object v0, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mHttpConfig:Lcom/tencent/liteav/base/http/HttpClientAndroid$b;
iget v0, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$b;->e:I
if-lez v0, :cond_144
.line 831
iget-wide v0, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mStartReadTime:J
sub-long v2, v8, v0
cmp-long v2, v2, v6
if-nez v2, :cond_127
const-wide/16 v0, 0x1
goto :goto_129
:cond_127
sub-long v0, v8, v0
.line 832
:goto_129
iget-wide v2, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mTotalReadBytes:J
div-long/2addr v2, v0
.line 833
iget-object v4, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mHttpConfig:Lcom/tencent/liteav/base/http/HttpClientAndroid$b;
iget v4, v4, Lcom/tencent/liteav/base/http/HttpClientAndroid$b;->e:I
div-int/lit16 v4, v4, 0x3e8
int-to-long v4, v4
cmp-long v2, v2, v4
if-lez v2, :cond_144
.line 834
iget-wide v2, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mTotalReadBytes:J
const-wide/16 v4, 0x3e8
mul-long/2addr v2, v4
iget-object v4, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mHttpConfig:Lcom/tencent/liteav/base/http/HttpClientAndroid$b;
iget v4, v4, Lcom/tencent/liteav/base/http/HttpClientAndroid$b;->e:I
int-to-long v4, v4
div-long/2addr v2, v4
sub-long v6, v2, v0
.line 838
:cond_144
iget-object v0, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mHttpHandler:Landroid/os/Handler;
invoke-static {p0, p3, p1, p2}, Lcom/tencent/liteav/base/http/f;->a(Lcom/tencent/liteav/base/http/HttpClientAndroid;Lcom/tencent/liteav/base/http/HttpClientAndroid$f;J)Ljava/lang/Runnable;
move-result-object p1
invoke-virtual {v0, p1, v6, v7}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z
:cond_14d
return-void
:catch_14e
move-exception v1
.line 792
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
const-string v2, "HttpClientAndroid"
.line 793
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "("
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 794
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v4, ")Do read data failed. Catch error when reading."
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
.line 793
invoke-static {v2, v3}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
.line 795
invoke-direct {p0, v1}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->getStatusCode(Ljava/lang/Exception;)Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
move-result-object v2
iput-object v2, p3, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->a:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
.line 796
invoke-virtual {v1}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object v1
iput-object v1, p3, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->b:Ljava/lang/String;
.line 797
sget-object v1, Lcom/tencent/liteav/base/http/HttpClientAndroid$g;->b:Lcom/tencent/liteav/base/http/HttpClientAndroid$g;
invoke-direct {p0, v1, p1, p2, p3}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->doOnCallback(Lcom/tencent/liteav/base/http/HttpClientAndroid$g;JLcom/tencent/liteav/base/http/HttpClientAndroid$f;)Z
.line 798
invoke-direct {p0, p1, p2, v0}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->doCleanById(JZ)V
return-void
:catchall_183
move-exception p1
.line 750
:try_start_184
monitor-exit v2
:try_end_185
.catchall {:try_start_184 .. :try_end_185} :catchall_183
throw p1
:catch_186
move-exception v1
.line 737
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
const-string v2, "HttpClientAndroid"
.line 738
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "("
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v4, ")Do read data failed. Fail to get InputStream."
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v2, v3}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
.line 739
invoke-direct {p0, v1}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->getStatusCode(Ljava/lang/Exception;)Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
move-result-object v2
iput-object v2, p3, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->a:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
.line 740
invoke-virtual {v1}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object v1
iput-object v1, p3, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->b:Ljava/lang/String;
.line 741
sget-object v1, Lcom/tencent/liteav/base/http/HttpClientAndroid$g;->b:Lcom/tencent/liteav/base/http/HttpClientAndroid$g;
invoke-direct {p0, v1, p1, p2, p3}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->doOnCallback(Lcom/tencent/liteav/base/http/HttpClientAndroid$g;JLcom/tencent/liteav/base/http/HttpClientAndroid$f;)Z
.line 742
invoke-direct {p0, p1, p2, v0}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->doCleanById(JZ)V
return-void
.end method
.method private doRequest(Lcom/tencent/liteav/base/http/HttpClientAndroid$e;)V
.registers 6
const/4 v0, 0x0
const/4 v1, 0x0
:goto_2
const/4 v2, 0x2
if-ge v1, v2, :cond_25
.line 621
invoke-direct {p0, p1}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->internalRequest(Lcom/tencent/liteav/base/http/HttpClientAndroid$e;)Lcom/tencent/liteav/base/http/HttpClientAndroid$f;
move-result-object v0
if-nez v0, :cond_c
return-void
.line 625
:cond_c
iget-object v2, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->a:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
sget-object v3, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->d:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
if-eq v2, v3, :cond_18
iget-object v2, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->a:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
sget-object v3, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->e:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
if-ne v2, v3, :cond_25
.line 628
:cond_18
iget-object v2, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mConnection:Ljava/net/HttpURLConnection;
const-string v3, "Location"
invoke-virtual {v2, v3}, Ljava/net/HttpURLConnection;->getHeaderField(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
iput-object v2, p1, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->b:Ljava/lang/String;
add-int/lit8 v1, v1, 0x1
goto :goto_2
:cond_25
const-wide/16 v1, 0x0
.line 635
iput-wide v1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mTotalReadBytes:J
.line 636
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v1
iput-wide v1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mStartReadTime:J
.line 637
iget-wide v1, p1, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->a:J
invoke-direct {p0, v1, v2, v0}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->doReadData(JLcom/tencent/liteav/base/http/HttpClientAndroid$f;)V
return-void
.end method
.method public static enableCustomHttpDNS(ZLcom/tencent/liteav/base/http/HttpClientAndroid$c;)V
.registers 3
.line 987
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mLock:Ljava/lang/Object;
monitor-enter v0
.line 988
:try_start_3
sput-boolean p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mEnableCustomHttpDNS:Z
.line 989
sput-object p1, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mCustomHttpDNSCallback:Lcom/tencent/liteav/base/http/HttpClientAndroid$c;
.line 990
monitor-exit v0
return-void
:catchall_9
move-exception p0
monitor-exit v0
:try_end_b
.catchall {:try_start_3 .. :try_end_b} :catchall_9
throw p0
.end method
.method public static getJavaHashMap([Ljava/lang/String;[Ljava/lang/String;)Ljava/util/HashMap;
.registers 6
if-eqz p0, :cond_30
.line 908
array-length v0, p0
if-eqz v0, :cond_30
if-eqz p1, :cond_30
array-length v0, p1
if-nez v0, :cond_b
goto :goto_30
.line 913
:cond_b
array-length v0, p0
array-length v1, p1
if-eq v0, v1, :cond_1c
const-string p0, "HttpClientAndroid"
const-string p1, "Invalid parameter, keys and values do not match."
.line 914
invoke-static {p0, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 915
new-instance p0, Ljava/util/HashMap;
invoke-direct {p0}, Ljava/util/HashMap;-><init>()V
return-object p0
.line 918
:cond_1c
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
const/4 v1, 0x0
.line 919
:goto_22
array-length v2, p0
if-ge v1, v2, :cond_2f
.line 920
aget-object v2, p0, v1
aget-object v3, p1, v1
invoke-virtual {v0, v2, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
add-int/lit8 v1, v1, 0x1
goto :goto_22
:cond_2f
return-object v0
.line 909
:cond_30
:goto_30
new-instance p0, Ljava/util/HashMap;
invoke-direct {p0}, Ljava/util/HashMap;-><init>()V
return-object p0
.end method
.method public static getMapKeys(Ljava/util/Map;)[Ljava/lang/String;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)[",
"Ljava/lang/String;"
}
.end annotation
if-eqz p0, :cond_1a
.line 886
invoke-interface {p0}, Ljava/util/Map;->isEmpty()Z
move-result v0
if-eqz v0, :cond_9
goto :goto_1a
.line 889
:cond_9
invoke-interface {p0}, Ljava/util/Map;->keySet()Ljava/util/Set;
move-result-object p0
.line 890
invoke-interface {p0}, Ljava/util/Set;->size()I
move-result v0
new-array v0, v0, [Ljava/lang/String;
.line 891
invoke-interface {p0, v0}, Ljava/util/Set;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object p0
check-cast p0, [Ljava/lang/String;
return-object p0
:cond_1a
:goto_1a
const/4 p0, 0x0
new-array p0, p0, [Ljava/lang/String;
return-object p0
.end method
.method public static getMapValue(Ljava/util/Map;[Ljava/lang/String;)[Ljava/lang/String;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;[",
"Ljava/lang/String;",
")[",
"Ljava/lang/String;"
}
.end annotation
const/4 v0, 0x0
if-eqz p0, :cond_23
.line 896
invoke-interface {p0}, Ljava/util/Map;->isEmpty()Z
move-result v1
if-nez v1, :cond_23
if-eqz p1, :cond_23
array-length v1, p1
if-nez v1, :cond_f
goto :goto_23
.line 899
:cond_f
array-length v1, p1
new-array v1, v1, [Ljava/lang/String;
.line 900
:goto_12
array-length v2, p1
if-ge v0, v2, :cond_22
.line 901
aget-object v2, p1, v0
invoke-interface {p0, v2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
aput-object v2, v1, v0
add-int/lit8 v0, v0, 0x1
goto :goto_12
:cond_22
return-object v1
:cond_23
:goto_23
new-array p0, v0, [Ljava/lang/String;
return-object p0
.end method
.method private getResponseHeaders(Ljava/util/Map;)Ljava/util/Map;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/util/List<",
"Ljava/lang/String;",
">;>;)",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.line 858
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
.line 859
invoke-interface {p1}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object p1
invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p1
:cond_d
:goto_d
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_38
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/util/Map$Entry;
.line 860
invoke-interface {v1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/CharSequence;
invoke-static {v2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v2
if-nez v2, :cond_d
.line 861
invoke-interface {v1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v2
invoke-interface {v1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/util/List;
const/4 v3, 0x0
invoke-interface {v1, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_d
:cond_38
return-object v0
.end method
.method private getStatusCode(I)Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
.registers 6
.line 926
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->x:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
const/16 v1, 0xc8
if-ne p1, v1, :cond_a
.line 928
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->a:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
goto/16 :goto_87
:cond_a
const/16 v1, 0xcc
if-ne p1, v1, :cond_12
.line 930
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->b:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
goto/16 :goto_87
:cond_12
const/16 v1, 0xce
if-ne p1, v1, :cond_1a
.line 932
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->c:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
goto/16 :goto_87
:cond_1a
const/16 v1, 0x12d
if-ne p1, v1, :cond_22
.line 934
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->d:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
goto/16 :goto_87
:cond_22
const/16 v1, 0x12e
if-ne p1, v1, :cond_29
.line 936
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->e:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
goto :goto_87
:cond_29
const/16 v1, 0x12f
if-ne p1, v1, :cond_30
.line 938
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->f:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
goto :goto_87
:cond_30
const/16 v1, 0x130
if-ne p1, v1, :cond_37
.line 940
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->g:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
goto :goto_87
:cond_37
const/16 v1, 0x133
if-ne p1, v1, :cond_3e
.line 942
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->h:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
goto :goto_87
:cond_3e
const/16 v1, 0x134
if-ne p1, v1, :cond_45
.line 944
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->i:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
goto :goto_87
:cond_45
const/16 v1, 0x193
if-ne p1, v1, :cond_4c
.line 946
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->j:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
goto :goto_87
:cond_4c
const/16 v1, 0x194
if-ne p1, v1, :cond_53
.line 948
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->k:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
goto :goto_87
:cond_53
const/16 v1, 0x195
if-ne p1, v1, :cond_5a
.line 950
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->l:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
goto :goto_87
:cond_5a
const/16 v1, 0x1f7
if-ne p1, v1, :cond_61
.line 952
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->m:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
goto :goto_87
.line 954
:cond_61
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "("
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, ")Failed to convert status code\uff1a"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
aput-object p1, v2, v3
const-string p1, "HttpClientAndroid"
invoke-static {p1, v1, v2}, Lcom/tencent/liteav/base/Log;->w(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
:goto_87
return-object v0
.end method
.method private getStatusCode(Ljava/lang/Exception;)Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
.registers 6
.line 960
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->x:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
.line 961
instance-of v1, p1, Ljava/io/FileNotFoundException;
if-eqz v1, :cond_a
.line 962
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->n:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
goto/16 :goto_6d
.line 963
:cond_a
instance-of v1, p1, Ljava/io/EOFException;
if-eqz v1, :cond_11
.line 964
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->o:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
goto :goto_6d
.line 965
:cond_11
instance-of v1, p1, Ljava/net/UnknownHostException;
if-eqz v1, :cond_18
.line 966
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->p:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
goto :goto_6d
.line 967
:cond_18
instance-of v1, p1, Ljava/net/NoRouteToHostException;
if-eqz v1, :cond_1f
.line 968
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->q:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
goto :goto_6d
.line 969
:cond_1f
instance-of v1, p1, Ljava/net/SocketException;
if-nez v1, :cond_6b
instance-of v1, p1, Ljava/net/MalformedURLException;
if-eqz v1, :cond_28
goto :goto_6b
.line 971
:cond_28
instance-of v1, p1, Ljava/net/SocketTimeoutException;
if-eqz v1, :cond_2f
.line 972
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->t:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
goto :goto_6d
.line 973
:cond_2f
instance-of v1, p1, Ljava/net/ConnectException;
if-eqz v1, :cond_36
.line 974
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->u:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
goto :goto_6d
.line 975
:cond_36
instance-of v1, p1, Ljava/net/ProtocolException;
if-eqz v1, :cond_3d
.line 976
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->v:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
goto :goto_6d
.line 977
:cond_3d
instance-of v1, p1, Ljavax/net/ssl/SSLException;
if-eqz v1, :cond_44
.line 978
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->w:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
goto :goto_6d
.line 980
:cond_44
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "("
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, ")Failed to convert status code, exception\uff1a"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
.line 981
invoke-virtual {p1}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object p1
aput-object p1, v2, v3
const-string p1, "HttpClientAndroid"
.line 980
invoke-static {p1, v1, v2}, Lcom/tencent/liteav/base/Log;->w(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
goto :goto_6d
.line 970
:cond_6b
:goto_6b
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$h;->r:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
:goto_6d
return-object v0
.end method
.method private internalRequest(Lcom/tencent/liteav/base/http/HttpClientAndroid$e;)Lcom/tencent/liteav/base/http/HttpClientAndroid$f;
.registers 9
.line 641
invoke-virtual {p1}, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->a()Z
move-result v0
const/4 v1, 0x0
if-nez v0, :cond_2e
const-string v0, "HttpClientAndroid"
.line 642
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "("
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 643
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, ")Send request failed. Invalid request url("
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object p1, p1, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->b:Ljava/lang/String;
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, ")."
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
.line 642
invoke-static {v0, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
return-object v1
.line 647
:cond_2e
iget-wide v2, p1, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->a:J
invoke-direct {p0, v2, v3}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->checkRequestValid(J)Z
move-result v0
if-nez v0, :cond_56
const-string v0, "HttpClientAndroid"
.line 649
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "("
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 650
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, ")Do send failed. ignore request when cancelled. request:"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
.line 649
invoke-static {v0, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->w(Ljava/lang/String;Ljava/lang/String;)V
return-object v1
.line 654
:cond_56
new-instance v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;
invoke-direct {v0}, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;-><init>()V
.line 659
iget-object v2, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mLocker:Ljava/lang/Object;
monitor-enter v2
.line 660
:try_start_5e
iget-object v3, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mInternalState:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
sget-object v4, Lcom/tencent/liteav/base/http/HttpClientAndroid$d;->c:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
const/4 v5, 0x1
if-ne v3, v4, :cond_67
move v3, v5
goto :goto_68
:cond_67
const/4 v3, 0x0
.line 661
:goto_68
monitor-exit v2
:try_end_69
.catchall {:try_start_5e .. :try_end_69} :catchall_1a6
if-eqz v3, :cond_80
.line 662
iget-object v2, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mConnection:Ljava/net/HttpURLConnection;
if-eqz v2, :cond_80
iget-object v2, p1, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->b:Ljava/lang/String;
iget-object v3, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mLastRequestURL:Ljava/lang/String;
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_80
.line 663
iget-object v2, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mConnection:Ljava/net/HttpURLConnection;
invoke-direct {p0, v2}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->closeConnectionSafely(Ljava/net/HttpURLConnection;)V
.line 664
iput-object v1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mConnection:Ljava/net/HttpURLConnection;
.line 668
:cond_80
iget-object v2, p1, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->b:Ljava/lang/String;
iput-object v2, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mLastRequestURL:Ljava/lang/String;
.line 670
:try_start_84
invoke-direct {p0, p1}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->createConnection(Lcom/tencent/liteav/base/http/HttpClientAndroid$e;)Ljava/net/HttpURLConnection;
move-result-object v2
iput-object v2, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mConnection:Ljava/net/HttpURLConnection;
:try_end_8a
.catch Ljava/lang/Exception; {:try_start_84 .. :try_end_8a} :catch_16d
.line 682
invoke-virtual {p1}, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->c()Z
move-result v2
if-eqz v2, :cond_d2
invoke-virtual {p1}, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->b()Z
move-result v2
if-eqz v2, :cond_d2
.line 685
:try_start_96
iget-object v2, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mConnection:Ljava/net/HttpURLConnection;
invoke-virtual {v2}, Ljava/net/HttpURLConnection;->getOutputStream()Ljava/io/OutputStream;
move-result-object v2
:try_end_9c
.catch Ljava/lang/Exception; {:try_start_96 .. :try_end_9c} :catch_a7
.line 686
:try_start_9c
iget-object v3, p1, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->d:[B
invoke-virtual {v2, v3}, Ljava/io/OutputStream;->write([B)V
.line 687
invoke-virtual {v2}, Ljava/io/OutputStream;->flush()V
:try_end_a4
.catch Ljava/lang/Exception; {:try_start_9c .. :try_end_a4} :catch_a5
goto :goto_d2
:catch_a5
move-exception v3
goto :goto_a9
:catch_a7
move-exception v3
move-object v2, v1
.line 689
:goto_a9
invoke-virtual {v3}, Ljava/lang/Exception;->printStackTrace()V
const-string v3, "HttpClientAndroid"
.line 690
new-instance v4, Ljava/lang/StringBuilder;
const-string v6, "("
invoke-direct {v4, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v6
invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v6, ")Do send body failed."
invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v3, v4}, Lcom/tencent/liteav/base/util/LiteavLog;->w(Ljava/lang/String;Ljava/lang/String;)V
if-eqz v2, :cond_d2
.line 693
:try_start_ca
invoke-virtual {v2}, Ljava/io/OutputStream;->close()V
:try_end_cd
.catch Ljava/lang/Exception; {:try_start_ca .. :try_end_cd} :catch_ce
goto :goto_d2
:catch_ce
move-exception v2
.line 696
invoke-virtual {v2}, Ljava/lang/Exception;->printStackTrace()V
.line 702
:cond_d2
:goto_d2
:try_start_d2
iget-object v2, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mConnection:Ljava/net/HttpURLConnection;
invoke-virtual {v2}, Ljava/net/HttpURLConnection;->getResponseCode()I
move-result v2
invoke-direct {p0, v2}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->getStatusCode(I)Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
move-result-object v2
iput-object v2, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->a:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
.line 703
iget-object v2, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mConnection:Ljava/net/HttpURLConnection;
invoke-virtual {v2}, Ljava/net/HttpURLConnection;->getResponseMessage()Ljava/lang/String;
move-result-object v2
iput-object v2, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->b:Ljava/lang/String;
.line 704
iget-object v2, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mConnection:Ljava/net/HttpURLConnection;
invoke-virtual {v2}, Ljava/net/HttpURLConnection;->getURL()Ljava/net/URL;
move-result-object v2
invoke-virtual {v2}, Ljava/net/URL;->getHost()Ljava/lang/String;
move-result-object v2
invoke-direct {p0, v2}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->parseHostAddress(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
iput-object v2, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->e:Ljava/lang/String;
.line 705
iget-object v2, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mConnection:Ljava/net/HttpURLConnection;
invoke-virtual {v2}, Ljava/net/HttpURLConnection;->getURL()Ljava/net/URL;
move-result-object v2
invoke-virtual {v2}, Ljava/net/URL;->getPort()I
move-result v2
iput v2, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->g:I
.line 706
iget-object v2, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mConnection:Ljava/net/HttpURLConnection;
invoke-virtual {v2}, Ljava/net/HttpURLConnection;->getHeaderFields()Ljava/util/Map;
move-result-object v2
invoke-direct {p0, v2}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->getResponseHeaders(Ljava/util/Map;)Ljava/util/Map;
move-result-object v2
iput-object v2, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->f:Ljava/util/Map;
:try_end_10e
.catch Ljava/lang/Exception; {:try_start_d2 .. :try_end_10e} :catch_134
.line 718
iget-wide v2, p1, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->a:J
invoke-direct {p0, v2, v3}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->checkRequestValid(J)Z
move-result p1
if-nez p1, :cond_133
const-string p1, "HttpClientAndroid"
.line 719
new-instance v0, Ljava/lang/StringBuilder;
const-string v2, "("
invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, ")Do send failed. Invalid request, abort request."
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {p1, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->w(Ljava/lang/String;Ljava/lang/String;)V
return-object v1
:cond_133
return-object v0
:catch_134
move-exception v2
.line 708
invoke-virtual {v2}, Ljava/lang/Exception;->printStackTrace()V
const-string v3, "HttpClientAndroid"
.line 709
new-instance v4, Ljava/lang/StringBuilder;
const-string v6, "("
invoke-direct {v4, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v6
invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v6, ")Do send failed. Catch error."
invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v3, v4}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
.line 710
invoke-direct {p0, v2}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->getStatusCode(Ljava/lang/Exception;)Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
move-result-object v3
iput-object v3, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->a:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
.line 711
invoke-virtual {v2}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object v2
iput-object v2, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->b:Ljava/lang/String;
.line 712
sget-object v2, Lcom/tencent/liteav/base/http/HttpClientAndroid$g;->b:Lcom/tencent/liteav/base/http/HttpClientAndroid$g;
iget-wide v3, p1, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->a:J
invoke-direct {p0, v2, v3, v4, v0}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->doOnCallback(Lcom/tencent/liteav/base/http/HttpClientAndroid$g;JLcom/tencent/liteav/base/http/HttpClientAndroid$f;)Z
.line 713
iget-wide v2, p1, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->a:J
invoke-direct {p0, v2, v3, v5}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->doCleanById(JZ)V
return-object v1
:catch_16d
move-exception v2
.line 672
invoke-virtual {v2}, Ljava/lang/Exception;->printStackTrace()V
const-string v3, "HttpClientAndroid"
.line 673
new-instance v4, Ljava/lang/StringBuilder;
const-string v6, "("
invoke-direct {v4, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v6
invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v6, ")Do send failed. Fail to create http connection."
invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v3, v4}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
.line 674
invoke-direct {p0, v2}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->getStatusCode(Ljava/lang/Exception;)Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
move-result-object v3
iput-object v3, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->a:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
.line 675
invoke-virtual {v2}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object v2
iput-object v2, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->b:Ljava/lang/String;
.line 676
sget-object v2, Lcom/tencent/liteav/base/http/HttpClientAndroid$g;->b:Lcom/tencent/liteav/base/http/HttpClientAndroid$g;
iget-wide v3, p1, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->a:J
invoke-direct {p0, v2, v3, v4, v0}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->doOnCallback(Lcom/tencent/liteav/base/http/HttpClientAndroid$g;JLcom/tencent/liteav/base/http/HttpClientAndroid$f;)Z
.line 677
iget-wide v2, p1, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->a:J
invoke-direct {p0, v2, v3, v5}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->doCleanById(JZ)V
return-object v1
:catchall_1a6
move-exception p1
.line 661
:try_start_1a7
monitor-exit v2
:try_end_1a8
.catchall {:try_start_1a7 .. :try_end_1a8} :catchall_1a6
throw p1
.end method
.method static synthetic lambda$cancelAll$1(Lcom/tencent/liteav/base/http/HttpClientAndroid;)V
.registers 3
.line 370
iget-object v0, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mConnection:Ljava/net/HttpURLConnection;
invoke-direct {p0, v0}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->closeConnectionSafely(Ljava/net/HttpURLConnection;)V
const/4 v0, 0x0
.line 371
iput-object v0, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mConnection:Ljava/net/HttpURLConnection;
.line 372
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "("
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p0, ")Cancel all finish."
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
const-string v0, "HttpClientAndroid"
invoke-static {v0, p0}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method static synthetic lambda$destroy$4(Lcom/tencent/liteav/base/http/HttpClientAndroid;)V
.registers 3
.line 427
iget-object v0, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mConnection:Ljava/net/HttpURLConnection;
invoke-direct {p0, v0}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->closeConnectionSafely(Ljava/net/HttpURLConnection;)V
const/4 v0, 0x0
.line 428
iput-object v0, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mConnection:Ljava/net/HttpURLConnection;
.line 429
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getSystemOSVersionInt()I
move-result v0
const/16 v1, 0x12
if-lt v0, v1, :cond_1a
.line 431
iget-object v0, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mHttpHandler:Landroid/os/Handler;
invoke-virtual {v0}, Landroid/os/Handler;->getLooper()Landroid/os/Looper;
move-result-object v0
invoke-virtual {v0}, Landroid/os/Looper;->quitSafely()V
goto :goto_23
.line 433
:cond_1a
iget-object v0, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mHttpHandler:Landroid/os/Handler;
invoke-virtual {v0}, Landroid/os/Handler;->getLooper()Landroid/os/Looper;
move-result-object v0
invoke-virtual {v0}, Landroid/os/Looper;->quit()V
.line 435
:goto_23
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "("
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p0, ")Quit looper finish."
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
const-string v0, "HttpClientAndroid"
invoke-static {v0, p0}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method static synthetic lambda$doReadData$5(Lcom/tencent/liteav/base/http/HttpClientAndroid;Lcom/tencent/liteav/base/http/HttpClientAndroid$f;J)V
.registers 5
.line 839
new-instance v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;
invoke-direct {v0}, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;-><init>()V
.line 840
iget-object p1, p1, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->a:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
iput-object p1, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->a:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
.line 841
invoke-direct {p0, p2, p3, v0}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->doReadData(JLcom/tencent/liteav/base/http/HttpClientAndroid$f;)V
return-void
.end method
.method static synthetic lambda$resumeRepeatDownload$2(Lcom/tencent/liteav/base/http/HttpClientAndroid;Ljava/lang/Long;)V
.registers 5
.line 397
new-instance v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;
invoke-direct {v0}, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;-><init>()V
.line 398
iget-object v1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mRepeatDownloadingStatusCode:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
iput-object v1, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->a:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
.line 399
invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
move-result-wide v1
invoke-direct {p0, v1, v2, v0}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->doReadData(JLcom/tencent/liteav/base/http/HttpClientAndroid$f;)V
return-void
.end method
.method static synthetic lambda$resumeRepeatDownload$3(Lcom/tencent/liteav/base/http/HttpClientAndroid;J)V
.registers 5
.line 408
new-instance v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;
invoke-direct {v0}, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;-><init>()V
.line 409
iget-object v1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mRepeatDownloadingStatusCode:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
iput-object v1, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$f;->a:Lcom/tencent/liteav/base/http/HttpClientAndroid$h;
.line 410
invoke-direct {p0, p1, p2, v0}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->doReadData(JLcom/tencent/liteav/base/http/HttpClientAndroid$f;)V
return-void
.end method
.method static synthetic lambda$send$0(Lcom/tencent/liteav/base/http/HttpClientAndroid;Lcom/tencent/liteav/base/http/HttpClientAndroid$e;)V
.registers 2
.line 315
invoke-direct {p0, p1}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->doRequest(Lcom/tencent/liteav/base/http/HttpClientAndroid$e;)V
return-void
.end method
.method private static native nativeOnCallback(JZIJILjava/lang/String;ILjava/nio/ByteBuffer;Ljava/lang/String;Ljava/util/Map;I)Z
.end method
.method private parseAddressUseCustomHttpDns(Ljava/lang/String;)Ljava/lang/String;
.registers 9
.line 579
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v0
.line 580
new-instance v2, Ljava/util/ArrayList;
invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
.line 581
sget-object v3, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mLock:Ljava/lang/Object;
monitor-enter v3
.line 582
:try_start_c
sget-object v4, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mCustomHttpDNSCallback:Lcom/tencent/liteav/base/http/HttpClientAndroid$c;
if-eqz v4, :cond_13
.line 583
invoke-interface {v4, p1, v2}, Lcom/tencent/liteav/base/http/HttpClientAndroid$c;->a(Ljava/lang/String;Ljava/util/List;)V
.line 585
:cond_13
monitor-exit v3
:try_end_14
.catchall {:try_start_c .. :try_end_14} :catchall_52
.line 586
invoke-interface {v2}, Ljava/util/List;->size()I
move-result v3
if-lez v3, :cond_4f
const/4 v3, 0x0
.line 587
invoke-interface {v2, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
const-string v3, "HttpClientAndroid"
.line 588
new-instance v4, Ljava/lang/StringBuilder;
const-string v5, "parse host: "
invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, " and return ipAddress: "
invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, " ,costTime: "
invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v5
sub-long/2addr v5, v0
invoke-virtual {v4, v5, v6}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string p1, " ms"
invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v3, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
return-object v2
:cond_4f
const-string p1, ""
return-object p1
:catchall_52
move-exception p1
.line 585
:try_start_53
monitor-exit v3
:try_end_54
.catchall {:try_start_53 .. :try_end_54} :catchall_52
throw p1
.end method
.method private parseHostAddress(Ljava/lang/String;)Ljava/lang/String;
.registers 4
.line 849
:try_start_0
invoke-static {p1}, Ljava/net/InetAddress;->getByName(Ljava/lang/String;)Ljava/net/InetAddress;
move-result-object v0
invoke-virtual {v0}, Ljava/net/InetAddress;->getHostAddress()Ljava/lang/String;
move-result-object p1
:try_end_8
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_8} :catch_9
return-object p1
.line 852
:catch_9
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "("
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, ")Parse host error. host:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string v0, "HttpClientAndroid"
invoke-static {v0, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->w(Ljava/lang/String;Ljava/lang/String;)V
const-string p1, ""
return-object p1
.end method
.method private verifyCustomHttpDNS(Ljava/lang/String;)Z
.registers 7
.line 554
sget-object v0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mLock:Ljava/lang/Object;
monitor-enter v0
.line 556
:try_start_3
sget-boolean v1, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mEnableCustomHttpDNS:Z
const/4 v2, 0x0
if-eqz v1, :cond_4a
sget-object v1, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mCustomHttpDNSCallback:Lcom/tencent/liteav/base/http/HttpClientAndroid$c;
if-nez v1, :cond_d
goto :goto_4a
.line 559
:cond_d
monitor-exit v0
:try_end_e
.catchall {:try_start_3 .. :try_end_e} :catchall_4c
.line 561
invoke-static {p1}, Lcom/tencent/liteav/base/util/g;->a(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_15
return v2
.line 565
:cond_15
invoke-static {p1}, Lcom/tencent/liteav/base/util/g;->b(Ljava/lang/String;)Z
move-result p1
if-eqz p1, :cond_1c
return v2
:cond_1c
const-string p1, "http.proxyHost"
.line 569
invoke-static {p1}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
const-string v0, "http.proxyPort"
.line 570
invoke-static {v0}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
if-eqz p1, :cond_48
if-eqz v0, :cond_48
const-string v1, "HttpClientAndroid"
.line 572
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "local proxy is on, don\'t use httpdns. proxyHost="
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, " ,proxyPort="
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v1, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->w(Ljava/lang/String;Ljava/lang/String;)V
return v2
:cond_48
const/4 p1, 0x1
return p1
.line 557
:cond_4a
:goto_4a
:try_start_4a
monitor-exit v0
return v2
:catchall_4c
move-exception p1
.line 559
monitor-exit v0
:try_end_4e
.catchall {:try_start_4a .. :try_end_4e} :catchall_4c
throw p1
.end method
# virtual methods
.method public cancel(J)V
.registers 6
.line 333
iget-object v0, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mLocker:Ljava/lang/Object;
monitor-enter v0
.line 334
:try_start_3
invoke-direct {p0}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->checkNativeValid()Z
move-result v1
if-nez v1, :cond_27
const-string p1, "HttpClientAndroid"
.line 335
new-instance p2, Ljava/lang/StringBuilder;
const-string v1, "("
invoke-direct {p2, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 336
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v1
invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, ")Cancel request failed. Invalid native handle."
invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
.line 335
invoke-static {p1, p2}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
.line 337
monitor-exit v0
return-void
.line 339
:cond_27
iget-object v1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mRunningRequestMap:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {v1}, Ljava/util/concurrent/ConcurrentHashMap;->size()I
move-result v1
if-nez v1, :cond_31
.line 340
monitor-exit v0
return-void
.line 342
:cond_31
iget-object v1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mRunningRequestMap:Ljava/util/concurrent/ConcurrentHashMap;
invoke-static {p1, p2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p1
invoke-virtual {v1, p1}, Ljava/util/concurrent/ConcurrentHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;
const-string p2, "HttpClientAndroid"
.line 343
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "("
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, ")Cancel request. request:"
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-static {p2, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
.line 344
iget-object p1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mRunningRequestMap:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {p1}, Ljava/util/concurrent/ConcurrentHashMap;->size()I
move-result p1
if-nez p1, :cond_68
.line 346
sget-object p1, Lcom/tencent/liteav/base/http/HttpClientAndroid$d;->a:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
iput-object p1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mInternalState:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
.line 348
:cond_68
monitor-exit v0
return-void
:catchall_6a
move-exception p1
monitor-exit v0
:try_end_6c
.catchall {:try_start_3 .. :try_end_6c} :catchall_6a
throw p1
.end method
.method public cancelAll()V
.registers 5
.line 357
iget-object v0, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mLocker:Ljava/lang/Object;
monitor-enter v0
.line 358
:try_start_3
invoke-direct {p0}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->checkNativeValid()Z
move-result v1
if-nez v1, :cond_27
const-string v1, "HttpClientAndroid"
.line 359
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "("
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 360
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, ")Cancel all request failed. Invalid native handle."
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
.line 359
invoke-static {v1, v2}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
.line 361
monitor-exit v0
return-void
.line 363
:cond_27
iget-object v1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mInternalState:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
sget-object v2, Lcom/tencent/liteav/base/http/HttpClientAndroid$d;->a:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
if-ne v1, v2, :cond_2f
.line 364
monitor-exit v0
return-void
.line 366
:cond_2f
sget-object v1, Lcom/tencent/liteav/base/http/HttpClientAndroid$d;->a:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
iput-object v1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mInternalState:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
const-string v1, "HttpClientAndroid"
.line 367
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "("
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, ")Cancel all. size:"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v3, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mRunningRequestMap:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {v3}, Ljava/util/concurrent/ConcurrentHashMap;->size()I
move-result v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v1, v2}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
.line 368
iget-object v1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mRunningRequestMap:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {v1}, Ljava/util/concurrent/ConcurrentHashMap;->clear()V
.line 369
iget-object v1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mHttpHandler:Landroid/os/Handler;
invoke-static {p0}, Lcom/tencent/liteav/base/http/b;->a(Lcom/tencent/liteav/base/http/HttpClientAndroid;)Ljava/lang/Runnable;
move-result-object v2
invoke-virtual {v1, v2}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
.line 374
monitor-exit v0
return-void
:catchall_68
move-exception v1
monitor-exit v0
:try_end_6a
.catchall {:try_start_3 .. :try_end_6a} :catchall_68
throw v1
.end method
.method public destroy()V
.registers 5
.line 422
iget-object v0, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mLocker:Ljava/lang/Object;
monitor-enter v0
.line 423
:try_start_3
iget-object v1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mRunningRequestMap:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {v1}, Ljava/util/concurrent/ConcurrentHashMap;->clear()V
const-wide/16 v1, -0x1
.line 424
iput-wide v1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mNativeHttpClientAndroidJni:J
const-string v1, "HttpClientAndroid"
.line 425
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "("
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, ")Destroy http client."
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v1, v2}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V
.line 426
iget-object v1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mHttpHandler:Landroid/os/Handler;
invoke-static {p0}, Lcom/tencent/liteav/base/http/e;->a(Lcom/tencent/liteav/base/http/HttpClientAndroid;)Ljava/lang/Runnable;
move-result-object v2
invoke-virtual {v1, v2}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
.line 437
monitor-exit v0
return-void
:catchall_33
move-exception v1
monitor-exit v0
:try_end_35
.catchall {:try_start_3 .. :try_end_35} :catchall_33
throw v1
.end method
.method public resumeRepeatDownload(J)V
.registers 6
.line 379
iget-object v0, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mLocker:Ljava/lang/Object;
monitor-enter v0
.line 380
:try_start_3
invoke-direct {p0}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->checkNativeValid()Z
move-result v1
if-nez v1, :cond_27
const-string p1, "HttpClientAndroid"
.line 381
new-instance p2, Ljava/lang/StringBuilder;
const-string v1, "("
invoke-direct {p2, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 382
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v1
invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, ")Cancel request failed. Invalid native handle."
invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
.line 381
invoke-static {p1, p2}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
.line 383
monitor-exit v0
return-void
.line 385
:cond_27
iget-object v1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mRunningRequestMap:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {v1}, Ljava/util/concurrent/ConcurrentHashMap;->size()I
move-result v1
if-nez v1, :cond_31
.line 386
monitor-exit v0
return-void
.line 389
:cond_31
iget-object v1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mInternalState:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
sget-object v2, Lcom/tencent/liteav/base/http/HttpClientAndroid$d;->b:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
if-ne v1, v2, :cond_86
iget-boolean v1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mPausedRepeatDownloading:Z
if-nez v1, :cond_3c
goto :goto_86
:cond_3c
const/4 v1, 0x0
.line 393
iput-boolean v1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mPausedRepeatDownloading:Z
const-wide/16 v1, 0x0
cmp-long v1, p1, v1
if-nez v1, :cond_65
.line 395
iget-object p1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mRunningRequestMap:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {p1}, Ljava/util/concurrent/ConcurrentHashMap;->keySet()Ljava/util/Set;
move-result-object p1
invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_4f
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result p2
if-eqz p2, :cond_84
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p2
check-cast p2, Ljava/lang/Long;
.line 396
iget-object v1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mHttpHandler:Landroid/os/Handler;
invoke-static {p0, p2}, Lcom/tencent/liteav/base/http/c;->a(Lcom/tencent/liteav/base/http/HttpClientAndroid;Ljava/lang/Long;)Ljava/lang/Runnable;
move-result-object p2
invoke-virtual {v1, p2}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
goto :goto_4f
.line 402
:cond_65
invoke-direct {p0, p1, p2}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->checkRequestValid(J)Z
move-result v1
if-eqz v1, :cond_84
.line 403
iget-object v1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mRunningRequestMap:Ljava/util/concurrent/ConcurrentHashMap;
invoke-static {p1, p2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/util/concurrent/ConcurrentHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;
if-nez v1, :cond_7b
.line 405
monitor-exit v0
return-void
.line 407
:cond_7b
iget-object v1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mHttpHandler:Landroid/os/Handler;
invoke-static {p0, p1, p2}, Lcom/tencent/liteav/base/http/d;->a(Lcom/tencent/liteav/base/http/HttpClientAndroid;J)Ljava/lang/Runnable;
move-result-object p1
invoke-virtual {v1, p1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
.line 413
:cond_84
monitor-exit v0
return-void
.line 390
:cond_86
:goto_86
monitor-exit v0
return-void
:catchall_88
move-exception p1
.line 413
monitor-exit v0
:try_end_8a
.catchall {:try_start_3 .. :try_end_8a} :catchall_88
throw p1
.end method
.method public send(JLjava/lang/String;Ljava/lang/String;[BLjava/util/Map;Z)J
.registers 12
.annotation system Ldalvik/annotation/Signature;
value = {
"(J",
"Ljava/lang/String;",
"Ljava/lang/String;",
"[B",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;Z)J"
}
.end annotation
.line 281
invoke-direct {p0}, Lcom/tencent/liteav/base/http/HttpClientAndroid;->checkNativeValid()Z
move-result v0
const-wide/16 v1, 0x0
if-nez v0, :cond_25
const-string p1, "HttpClientAndroid"
.line 282
new-instance p2, Ljava/lang/StringBuilder;
const-string p3, "("
invoke-direct {p2, p3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result p3
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p3, ")Send request failed. Invalid native handle."
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-static {p1, p2}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
return-wide v1
.line 286
:cond_25
new-instance v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;
invoke-direct {v0, p3, p4, p5, p6}, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;-><init>(Ljava/lang/String;Ljava/lang/String;[BLjava/util/Map;)V
.line 288
invoke-virtual {v0}, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->a()Z
move-result p3
if-nez p3, :cond_57
const-string p1, "HttpClientAndroid"
.line 289
new-instance p2, Ljava/lang/StringBuilder;
const-string p3, "("
invoke-direct {p2, p3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 290
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result p3
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p3, ")Send request failed. Invalid request url("
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object p3, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->b:Ljava/lang/String;
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p3, ")."
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
.line 289
invoke-static {p1, p2}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
return-wide v1
.line 1152
:cond_57
invoke-virtual {v0}, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->d()Ljava/lang/String;
move-result-object p3
invoke-static {p3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result p3
const/4 p4, 0x1
xor-int/2addr p3, p4
if-nez p3, :cond_8a
const-string p1, "HttpClientAndroid"
.line 296
new-instance p2, Ljava/lang/StringBuilder;
const-string p3, "("
invoke-direct {p2, p3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 297
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result p3
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p3, ")Send request failed. Request method("
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object p3, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->c:Ljava/lang/String;
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p3, ") is not supported."
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
.line 296
invoke-static {p1, p2}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
return-wide v1
.line 302
:cond_8a
iget-object p3, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mLocker:Ljava/lang/Object;
monitor-enter p3
const/4 p5, 0x0
.line 304
:try_start_8e
iget-object p6, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mInternalState:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
sget-object v3, Lcom/tencent/liteav/base/http/HttpClientAndroid$d;->a:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
if-ne p6, v3, :cond_9e
if-eqz p7, :cond_99
.line 305
sget-object p5, Lcom/tencent/liteav/base/http/HttpClientAndroid$d;->b:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
goto :goto_9b
:cond_99
sget-object p5, Lcom/tencent/liteav/base/http/HttpClientAndroid$d;->c:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
:goto_9b
iput-object p5, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mInternalState:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
goto :goto_a6
.line 308
:cond_9e
iget-object p6, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mInternalState:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
sget-object p7, Lcom/tencent/liteav/base/http/HttpClientAndroid$d;->c:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
if-ne p6, p7, :cond_a5
goto :goto_a6
:cond_a5
move p4, p5
:goto_a6
if-eqz p4, :cond_c0
.line 313
iput-wide p1, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->a:J
.line 314
iget-object p4, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mRunningRequestMap:Ljava/util/concurrent/ConcurrentHashMap;
invoke-static {p1, p2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p1
invoke-virtual {p4, p1, v0}, Ljava/util/concurrent/ConcurrentHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 315
iget-object p1, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mHttpHandler:Landroid/os/Handler;
invoke-static {p0, v0}, Lcom/tencent/liteav/base/http/a;->a(Lcom/tencent/liteav/base/http/HttpClientAndroid;Lcom/tencent/liteav/base/http/HttpClientAndroid$e;)Ljava/lang/Runnable;
move-result-object p2
invoke-virtual {p1, p2}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
.line 316
iget-wide p1, v0, Lcom/tencent/liteav/base/http/HttpClientAndroid$e;->a:J
monitor-exit p3
return-wide p1
:cond_c0
const-string p1, "HttpClientAndroid"
.line 318
new-instance p2, Ljava/lang/StringBuilder;
const-string p4, "("
invoke-direct {p2, p4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 319
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result p4
invoke-virtual {p2, p4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p4, ")Send request failed. Invalid state:"
invoke-virtual {p2, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object p4, p0, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mInternalState:Lcom/tencent/liteav/base/http/HttpClientAndroid$d;
invoke-virtual {p2, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
.line 318
invoke-static {p1, p2}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V
.line 320
monitor-exit p3
return-wide v1
:catchall_e3
move-exception p1
.line 322
monitor-exit p3
:try_end_e5
.catchall {:try_start_8e .. :try_end_e5} :catchall_e3
throw p1
.end method
.method public updateConfig(IIIZIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
.registers 26
move-object v11, p0
.line 447
iget-object v12, v11, Lcom/tencent/liteav/base/http/HttpClientAndroid;->mHttpHandler:Landroid/os/Handler;
new-instance v13, Lcom/tencent/liteav/base/http/HttpClientAndroid$1;
move-object v0, v13
move-object v1, p0
move v2, p1
move/from16 v3, p2
move/from16 v4, p3
move/from16 v5, p4
move/from16 v6, p5
move/from16 v7, p6
move-object/from16 v8, p7
move-object/from16 v9, p8
move-object/from16 v10, p9
invoke-direct/range {v0 .. v10}, Lcom/tencent/liteav/base/http/HttpClientAndroid$1;-><init>(Lcom/tencent/liteav/base/http/HttpClientAndroid;IIIZIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {v12, v13}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
return-void
.end method