ConnectionsManager$ResolveHostByNameTask.smali
.class Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolveHostByNameTask;
.super Landroid/os/AsyncTask;
.source "ConnectionsManager.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lim/tpelyyftgw/tgnet/ConnectionsManager;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0xa
name = "ResolveHostByNameTask"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroid/os/AsyncTask<",
"Ljava/lang/Void;",
"Ljava/lang/Void;",
"Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolvedDomain;",
">;"
}
.end annotation
# instance fields
.field private addresses:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Ljava/lang/Long;",
">;"
}
.end annotation
.end field
.field private currentHostName:Ljava/lang/String;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Ljava/lang/String;)V
.registers 3
.param p1, "hostName" # Ljava/lang/String;
.line 840
invoke-direct {p0}, Landroid/os/AsyncTask;-><init>()V
.line 836
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolveHostByNameTask;->addresses:Ljava/util/ArrayList;
.line 841
iput-object p1, p0, Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolveHostByNameTask;->currentHostName:Ljava/lang/String;
.line 842
return-void
.end method
# virtual methods
.method public addAddress(J)V
.registers 5
.param p1, "address" # J
.line 845
iget-object v0, p0, Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolveHostByNameTask;->addresses:Ljava/util/ArrayList;
invoke-static {p1, p2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_d
.line 846
return-void
.line 848
:cond_d
iget-object v0, p0, Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolveHostByNameTask;->addresses:Ljava/util/ArrayList;
invoke-static {p1, p2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 849
return-void
.end method
.method protected varargs doInBackground([Ljava/lang/Void;)Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolvedDomain;
.registers 15
.param p1, "voids" # [Ljava/lang/Void;
.line 852
const-string v0, "Answer"
const/4 v1, 0x0
.line 853
.local v1, "outbuf":Ljava/io/ByteArrayOutputStream;
const/4 v2, 0x0
.line 854
.local v2, "httpConnectionStream":Ljava/io/InputStream;
const/4 v3, 0x0
.line 856
.local v3, "done":Z
:try_start_5
new-instance v4, Ljava/net/URL;
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "https://www.google.com/resolve?name="
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v6, p0, Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolveHostByNameTask;->currentHostName:Ljava/lang/String;
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v6, "&type=A"
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-direct {v4, v5}, Ljava/net/URL;-><init>(Ljava/lang/String;)V
.line 857
.local v4, "downloadUrl":Ljava/net/URL;
invoke-virtual {v4}, Ljava/net/URL;->openConnection()Ljava/net/URLConnection;
move-result-object v5
.line 858
.local v5, "httpConnection":Ljava/net/URLConnection;
const-string v6, "User-Agent"
const-string v7, "Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A5297c Safari/602.1"
invoke-virtual {v5, v6, v7}, Ljava/net/URLConnection;->addRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
.line 859
const-string v6, "Host"
const-string v7, "dns.google.com"
invoke-virtual {v5, v6, v7}, Ljava/net/URLConnection;->addRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
.line 860
const/16 v6, 0x3e8
invoke-virtual {v5, v6}, Ljava/net/URLConnection;->setConnectTimeout(I)V
.line 861
const/16 v6, 0x7d0
invoke-virtual {v5, v6}, Ljava/net/URLConnection;->setReadTimeout(I)V
.line 862
invoke-virtual {v5}, Ljava/net/URLConnection;->connect()V
.line 863
invoke-virtual {v5}, Ljava/net/URLConnection;->getInputStream()Ljava/io/InputStream;
move-result-object v6
move-object v2, v6
.line 865
new-instance v6, Ljava/io/ByteArrayOutputStream;
invoke-direct {v6}, Ljava/io/ByteArrayOutputStream;-><init>()V
move-object v1, v6
.line 867
const v6, 0x8000
new-array v6, v6, [B
.line 869
.local v6, "data":[B
:goto_51
invoke-virtual {v2, v6}, Ljava/io/InputStream;->read([B)I
move-result v7
.line 870
.local v7, "read":I
if-lez v7, :cond_5c
.line 871
const/4 v8, 0x0
invoke-virtual {v1, v6, v8, v7}, Ljava/io/ByteArrayOutputStream;->write([BII)V
.line 877
.end local v7 # "read":I
goto :goto_51
.line 872
.restart local v7 # "read":I
:cond_5c
const/4 v8, -0x1
if-ne v7, v8, :cond_5f
.line 879
.end local v7 # "read":I
:cond_5f
new-instance v7, Lorg/json/JSONObject;
new-instance v8, Ljava/lang/String;
invoke-virtual {v1}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
move-result-object v9
invoke-direct {v8, v9}, Ljava/lang/String;-><init>([B)V
invoke-direct {v7, v8}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
.line 880
.local v7, "jsonObject":Lorg/json/JSONObject;
invoke-virtual {v7, v0}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
move-result v8
if-eqz v8, :cond_b1
.line 881
invoke-virtual {v7, v0}, Lorg/json/JSONObject;->getJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object v0
.line 882
.local v0, "array":Lorg/json/JSONArray;
invoke-virtual {v0}, Lorg/json/JSONArray;->length()I
move-result v8
.line 883
.local v8, "len":I
if-lez v8, :cond_b1
.line 884
new-instance v9, Ljava/util/ArrayList;
invoke-direct {v9, v8}, Ljava/util/ArrayList;-><init>(I)V
.line 885
.local v9, "addresses":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/String;>;"
const/4 v10, 0x0
.local v10, "a":I
:goto_83
if-ge v10, v8, :cond_95
.line 886
invoke-virtual {v0, v10}, Lorg/json/JSONArray;->getJSONObject(I)Lorg/json/JSONObject;
move-result-object v11
const-string v12, "data"
invoke-virtual {v11, v12}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v11
invoke-virtual {v9, v11}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 885
add-int/lit8 v10, v10, 0x1
goto :goto_83
.line 888
.end local v10 # "a":I
:cond_95
new-instance v10, Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolvedDomain;
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v11
invoke-direct {v10, v9, v11, v12}, Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolvedDomain;-><init>(Ljava/util/ArrayList;J)V
:try_end_9e
.catchall {:try_start_5 .. :try_end_9e} :catchall_c5
.line 896
if-eqz v2, :cond_a9
.line 897
:try_start_a0
invoke-virtual {v2}, Ljava/io/InputStream;->close()V
:try_end_a3
.catchall {:try_start_a0 .. :try_end_a3} :catchall_a4
goto :goto_a9
.line 899
:catchall_a4
move-exception v11
.line 900
.local v11, "e":Ljava/lang/Throwable;
invoke-static {v11}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
goto :goto_aa
.line 901
.end local v11 # "e":Ljava/lang/Throwable;
:cond_a9
:goto_a9
nop
.line 903
:goto_aa
nop
.line 904
:try_start_ab
invoke-virtual {v1}, Ljava/io/ByteArrayOutputStream;->close()V
:try_end_ae
.catch Ljava/lang/Exception; {:try_start_ab .. :try_end_ae} :catch_af
.line 908
goto :goto_b0
.line 906
:catch_af
move-exception v11
.line 888
:goto_b0
return-object v10
.line 891
.end local v0 # "array":Lorg/json/JSONArray;
.end local v8 # "len":I
.end local v9 # "addresses":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/String;>;"
:cond_b1
const/4 v3, 0x1
.line 896
.end local v4 # "downloadUrl":Ljava/net/URL;
.end local v5 # "httpConnection":Ljava/net/URLConnection;
.end local v6 # "data":[B
.end local v7 # "jsonObject":Lorg/json/JSONObject;
if-eqz v2, :cond_bd
.line 897
:try_start_b4
invoke-virtual {v2}, Ljava/io/InputStream;->close()V
:try_end_b7
.catchall {:try_start_b4 .. :try_end_b7} :catchall_b8
goto :goto_bd
.line 899
:catchall_b8
move-exception v0
.line 900
.local v0, "e":Ljava/lang/Throwable;
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
goto :goto_be
.line 901
.end local v0 # "e":Ljava/lang/Throwable;
:cond_bd
:goto_bd
nop
.line 903
:goto_be
nop
.line 904
:try_start_bf
invoke-virtual {v1}, Ljava/io/ByteArrayOutputStream;->close()V
:try_end_c2
.catch Ljava/lang/Exception; {:try_start_bf .. :try_end_c2} :catch_c3
.line 908
:cond_c2
:goto_c2
goto :goto_db
.line 906
:catch_c3
move-exception v0
.line 909
goto :goto_db
.line 892
:catchall_c5
move-exception v0
.line 893
.restart local v0 # "e":Ljava/lang/Throwable;
:try_start_c6
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
:try_end_c9
.catchall {:try_start_c6 .. :try_end_c9} :catchall_100
.line 896
.end local v0 # "e":Ljava/lang/Throwable;
if-eqz v2, :cond_d4
.line 897
:try_start_cb
invoke-virtual {v2}, Ljava/io/InputStream;->close()V
:try_end_ce
.catchall {:try_start_cb .. :try_end_ce} :catchall_cf
goto :goto_d4
.line 899
:catchall_cf
move-exception v0
.line 900
.restart local v0 # "e":Ljava/lang/Throwable;
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
goto :goto_d5
.line 901
.end local v0 # "e":Ljava/lang/Throwable;
:cond_d4
:goto_d4
nop
.line 903
:goto_d5
if-eqz v1, :cond_c2
.line 904
:try_start_d7
invoke-virtual {v1}, Ljava/io/ByteArrayOutputStream;->close()V
:try_end_da
.catch Ljava/lang/Exception; {:try_start_d7 .. :try_end_da} :catch_c3
goto :goto_c2
.line 910
:goto_db
if-nez v3, :cond_fe
.line 912
:try_start_dd
iget-object v0, p0, Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolveHostByNameTask;->currentHostName:Ljava/lang/String;
invoke-static {v0}, Ljava/net/InetAddress;->getByName(Ljava/lang/String;)Ljava/net/InetAddress;
move-result-object v0
.line 913
.local v0, "address":Ljava/net/InetAddress;
new-instance v4, Ljava/util/ArrayList;
const/4 v5, 0x1
invoke-direct {v4, v5}, Ljava/util/ArrayList;-><init>(I)V
.line 914
.local v4, "addresses":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/String;>;"
invoke-virtual {v0}, Ljava/net/InetAddress;->getHostAddress()Ljava/lang/String;
move-result-object v5
invoke-virtual {v4, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 915
new-instance v5, Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolvedDomain;
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v6
invoke-direct {v5, v4, v6, v7}, Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolvedDomain;-><init>(Ljava/util/ArrayList;J)V
:try_end_f9
.catch Ljava/lang/Exception; {:try_start_dd .. :try_end_f9} :catch_fa
return-object v5
.line 916
.end local v0 # "address":Ljava/net/InetAddress;
.end local v4 # "addresses":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/String;>;"
:catch_fa
move-exception v0
.line 917
.local v0, "e":Ljava/lang/Exception;
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 920
.end local v0 # "e":Ljava/lang/Exception;
:cond_fe
const/4 v0, 0x0
return-object v0
.line 895
:catchall_100
move-exception v0
.line 896
if-eqz v2, :cond_10c
.line 897
:try_start_103
invoke-virtual {v2}, Ljava/io/InputStream;->close()V
:try_end_106
.catchall {:try_start_103 .. :try_end_106} :catchall_107
goto :goto_10c
.line 899
:catchall_107
move-exception v4
.line 900
.local v4, "e":Ljava/lang/Throwable;
invoke-static {v4}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
goto :goto_10d
.line 901
.end local v4 # "e":Ljava/lang/Throwable;
:cond_10c
:goto_10c
nop
.line 903
:goto_10d
if-eqz v1, :cond_115
.line 904
:try_start_10f
invoke-virtual {v1}, Ljava/io/ByteArrayOutputStream;->close()V
:try_end_112
.catch Ljava/lang/Exception; {:try_start_10f .. :try_end_112} :catch_113
goto :goto_115
.line 906
:catch_113
move-exception v4
goto :goto_116
.line 908
:cond_115
:goto_115
nop
.line 909
:goto_116
goto :goto_118
:goto_117
throw v0
:goto_118
goto :goto_117
.end method
.method protected bridge synthetic doInBackground([Ljava/lang/Object;)Ljava/lang/Object;
.registers 2
.line 834
check-cast p1, [Ljava/lang/Void;
invoke-virtual {p0, p1}, Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolveHostByNameTask;->doInBackground([Ljava/lang/Void;)Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolvedDomain;
move-result-object p1
return-object p1
.end method
.method protected onPostExecute(Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolvedDomain;)V
.registers 8
.param p1, "result" # Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolvedDomain;
.line 925
if-eqz p1, :cond_2d
.line 926
invoke-static {}, Lim/tpelyyftgw/tgnet/ConnectionsManager;->access$000()Ljava/util/HashMap;
move-result-object v0
iget-object v1, p0, Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolveHostByNameTask;->currentHostName:Ljava/lang/String;
invoke-virtual {v0, v1, p1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 927
const/4 v0, 0x0
.local v0, "a":I
iget-object v1, p0, Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolveHostByNameTask;->addresses:Ljava/util/ArrayList;
invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
move-result v1
.local v1, "N":I
:goto_12
if-ge v0, v1, :cond_2c
.line 928
iget-object v2, p0, Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolveHostByNameTask;->currentHostName:Ljava/lang/String;
iget-object v3, p0, Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolveHostByNameTask;->addresses:Ljava/util/ArrayList;
invoke-virtual {v3, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/Long;
invoke-virtual {v3}, Ljava/lang/Long;->longValue()J
move-result-wide v3
invoke-virtual {p1}, Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolvedDomain;->getAddress()Ljava/lang/String;
move-result-object v5
invoke-static {v2, v3, v4, v5}, Lim/tpelyyftgw/tgnet/ConnectionsManager;->native_onHostNameResolved(Ljava/lang/String;JLjava/lang/String;)V
.line 927
add-int/lit8 v0, v0, 0x1
goto :goto_12
.end local v0 # "a":I
.end local v1 # "N":I
:cond_2c
goto :goto_4c
.line 931
:cond_2d
const/4 v0, 0x0
.restart local v0 # "a":I
iget-object v1, p0, Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolveHostByNameTask;->addresses:Ljava/util/ArrayList;
invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
move-result v1
.restart local v1 # "N":I
:goto_34
if-ge v0, v1, :cond_4c
.line 932
iget-object v2, p0, Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolveHostByNameTask;->currentHostName:Ljava/lang/String;
iget-object v3, p0, Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolveHostByNameTask;->addresses:Ljava/util/ArrayList;
invoke-virtual {v3, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/Long;
invoke-virtual {v3}, Ljava/lang/Long;->longValue()J
move-result-wide v3
const-string v5, ""
invoke-static {v2, v3, v4, v5}, Lim/tpelyyftgw/tgnet/ConnectionsManager;->native_onHostNameResolved(Ljava/lang/String;JLjava/lang/String;)V
.line 931
add-int/lit8 v0, v0, 0x1
goto :goto_34
.line 935
.end local v0 # "a":I
.end local v1 # "N":I
:cond_4c
:goto_4c
invoke-static {}, Lim/tpelyyftgw/tgnet/ConnectionsManager;->access$100()Ljava/util/HashMap;
move-result-object v0
iget-object v1, p0, Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolveHostByNameTask;->currentHostName:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
.line 936
return-void
.end method
.method protected bridge synthetic onPostExecute(Ljava/lang/Object;)V
.registers 2
.line 834
check-cast p1, Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolvedDomain;
invoke-virtual {p0, p1}, Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolveHostByNameTask;->onPostExecute(Lim/tpelyyftgw/tgnet/ConnectionsManager$ResolvedDomain;)V
return-void
.end method