NetUtil.smali
.class public Lio/agora/utils/NetUtil;
.super Ljava/lang/Object;
# static fields
.field private static final TAG:Ljava/lang/String; = "NetUtil"
# direct methods
.method static constructor <clinit>()V
.registers 0
return-void
.end method
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static checkUrlEncoded(Ljava/lang/String;)Z
.registers 3
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"urlStr"
}
.end annotation
:try_start_0
const-string v0, "UTF-8"
invoke-static {p0, v0}, Ljava/net/URLDecoder;->decode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-static {p0, v0}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
move-result p0
:try_end_a
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_a} :catch_d
xor-int/lit8 p0, p0, 0x1
return p0
:catch_d
move-exception p0
sget-object v0, Lio/agora/utils/NetUtil;->TAG:Ljava/lang/String;
const-string v1, "checkUrlEncoded failed: "
invoke-static {v0, v1, p0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
const/4 p0, 0x0
return p0
.end method
.method public static encodeUrl(Ljava/lang/String;)Ljava/lang/String;
.registers 11
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"urlStr"
}
.end annotation
sget-object v0, Lio/agora/utils/NetUtil;->TAG:Ljava/lang/String;
const-string v1, "encodedUrl()"
invoke-static {v0, v1}, Lio/agora/base/internal/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V
:try_start_7
new-instance v0, Ljava/net/URL;
invoke-direct {v0, p0}, Ljava/net/URL;-><init>(Ljava/lang/String;)V
new-instance v9, Ljava/net/URI;
invoke-virtual {v0}, Ljava/net/URL;->getProtocol()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0}, Ljava/net/URL;->getUserInfo()Ljava/lang/String;
move-result-object v3
invoke-virtual {v0}, Ljava/net/URL;->getHost()Ljava/lang/String;
move-result-object v4
invoke-virtual {v0}, Ljava/net/URL;->getPort()I
move-result v5
invoke-virtual {v0}, Ljava/net/URL;->getPath()Ljava/lang/String;
move-result-object v6
invoke-virtual {v0}, Ljava/net/URL;->getQuery()Ljava/lang/String;
move-result-object v7
invoke-virtual {v0}, Ljava/net/URL;->getRef()Ljava/lang/String;
move-result-object v8
move-object v1, v9
invoke-direct/range {v1 .. v8}, Ljava/net/URI;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {v9}, Ljava/net/URI;->toASCIIString()Ljava/lang/String;
move-result-object p0
:try_end_32
.catch Ljava/lang/Exception; {:try_start_7 .. :try_end_32} :catch_33
return-object p0
:catch_33
move-exception v0
sget-object v1, Lio/agora/utils/NetUtil;->TAG:Ljava/lang/String;
const-string v2, "encodeUrl failed: "
invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
return-object p0
.end method
.method public static getDecodedUrl(Ljava/lang/String;)Ljava/lang/String;
.registers 4
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"urlStr"
}
.end annotation
:try_start_0
const-string v0, "UTF-8"
invoke-static {p0, v0}, Ljava/net/URLDecoder;->decode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
:try_end_6
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_6} :catch_7
return-object p0
:catch_7
move-exception v0
sget-object v1, Lio/agora/utils/NetUtil;->TAG:Ljava/lang/String;
const-string v2, "getDecodedUrl failed: "
invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
return-object p0
.end method
.method public static getEncodedUrl(Ljava/lang/String;)Ljava/lang/String;
.registers 2
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"urlStr"
}
.end annotation
invoke-static {p0}, Lio/agora/utils/NetUtil;->checkUrlEncoded(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_7
goto :goto_b
:cond_7
invoke-static {p0}, Lio/agora/utils/NetUtil;->encodeUrl(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
:goto_b
return-object p0
.end method
.method public static testNetworkUrlAvailable(Ljava/lang/String;)Z
.registers 6
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"encodedUrl"
}
.end annotation
sget-object v0, Lio/agora/utils/NetUtil;->TAG:Ljava/lang/String;
const-string v1, "testNetworkUrlAvailable encodedUrl"
invoke-static {v0, v1}, Lio/agora/base/internal/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V
const/4 v0, 0x0
const/4 v1, 0x0
:try_start_9
new-instance v2, Ljava/net/URL;
invoke-direct {v2, p0}, Ljava/net/URL;-><init>(Ljava/lang/String;)V
invoke-virtual {v2}, Ljava/net/URL;->openConnection()Ljava/net/URLConnection;
move-result-object p0
check-cast p0, Ljava/net/HttpURLConnection;
:try_end_14
.catch Ljava/lang/Exception; {:try_start_9 .. :try_end_14} :catch_38
.catchall {:try_start_9 .. :try_end_14} :catchall_36
const/16 v1, 0x3e8
:try_start_16
invoke-virtual {p0, v1}, Ljava/net/HttpURLConnection;->setConnectTimeout(I)V
invoke-virtual {p0, v1}, Ljava/net/HttpURLConnection;->setReadTimeout(I)V
invoke-virtual {p0}, Ljava/net/HttpURLConnection;->getResponseCode()I
move-result v1
const/16 v2, 0x194
if-eq v1, v2, :cond_25
const/4 v0, 0x1
:cond_25
invoke-virtual {p0}, Ljava/net/HttpURLConnection;->getInputStream()Ljava/io/InputStream;
move-result-object v1
if-eqz v1, :cond_2e
invoke-virtual {v1}, Ljava/io/InputStream;->close()V
:try_end_2e
.catch Ljava/lang/Exception; {:try_start_16 .. :try_end_2e} :catch_34
.catchall {:try_start_16 .. :try_end_2e} :catchall_47
:cond_2e
if-eqz p0, :cond_46
:goto_30
invoke-virtual {p0}, Ljava/net/HttpURLConnection;->disconnect()V
goto :goto_46
:catch_34
move-exception v1
goto :goto_3c
:catchall_36
move-exception v0
goto :goto_49
:catch_38
move-exception p0
move-object v4, v1
move-object v1, p0
move-object p0, v4
:goto_3c
:try_start_3c
sget-object v2, Lio/agora/utils/NetUtil;->TAG:Ljava/lang/String;
const-string v3, "testNetworkUrlAvailable failed: "
invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:try_end_43
.catchall {:try_start_3c .. :try_end_43} :catchall_47
if-eqz p0, :cond_46
goto :goto_30
:cond_46
:goto_46
return v0
:catchall_47
move-exception v0
move-object v1, p0
:goto_49
if-eqz v1, :cond_4e
invoke-virtual {v1}, Ljava/net/HttpURLConnection;->disconnect()V
:cond_4e
throw v0
.end method