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