f.smali

.class public Lio/dcloud/h/a/d/b/f;
.super Ljava/lang/Object;


# static fields
.field private static a:Lorg/json/JSONObject;

.field private static b:Z

.field private static c:Ljava/util/Map;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/Map<",
            "Ljava/lang/String;",
            "Ljava/lang/Integer;",
            ">;"
        }
    .end annotation
.end field

.field private static d:Z


# direct methods
.method static constructor <clinit>()V
    .registers 2

    .line 1
    new-instance v0, Lorg/json/JSONObject;

    invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V

    sput-object v0, Lio/dcloud/h/a/d/b/f;->a:Lorg/json/JSONObject;

    const/4 v0, 0x0

    .line 2
    sput-boolean v0, Lio/dcloud/h/a/d/b/f;->b:Z

    .line 57
    new-instance v1, Ljava/util/HashMap;

    invoke-direct {v1}, Ljava/util/HashMap;-><init>()V

    sput-object v1, Lio/dcloud/h/a/d/b/f;->c:Ljava/util/Map;

    .line 58
    sput-boolean v0, Lio/dcloud/h/a/d/b/f;->d:Z

    return-void
.end method

.method public static a(Landroid/content/Context;Ljava/lang/String;)Ljava/util/Map;
    .registers 7
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Landroid/content/Context;",
            "Ljava/lang/String;",
            ")",
            "Ljava/util/Map<",
            "Ljava/lang/String;",
            "Ljava/lang/Integer;",
            ">;"
        }
    .end annotation

    if-nez p0, :cond_5

    .line 49
    sget-object p0, Lio/dcloud/h/a/d/b/f;->c:Ljava/util/Map;

    return-object p0

    :cond_5
    const-string v0, "android.permission.ACCESS_FINE_LOCATION"

    .line 50
    invoke-static {p0, v0}, Landroidx/core/content/ContextCompat;->checkSelfPermission(Landroid/content/Context;Ljava/lang/String;)I

    move-result v0

    if-eqz v0, :cond_10

    .line 52
    sget-object p0, Lio/dcloud/h/a/d/b/f;->c:Ljava/util/Map;

    return-object p0

    .line 55
    :cond_10
    invoke-static {}, Lio/dcloud/sdk/poly/base/utils/PrivacyManager;->getInstance()Lio/dcloud/sdk/poly/base/utils/PrivacyManager;

    move-result-object v0

    invoke-virtual {v0}, Lio/dcloud/sdk/poly/base/utils/PrivacyManager;->d()Z

    move-result v0

    if-nez v0, :cond_1d

    .line 56
    sget-object p0, Lio/dcloud/h/a/d/b/f;->c:Ljava/util/Map;

    return-object p0

    .line 58
    :cond_1d
    invoke-static {}, Lio/dcloud/h/c/c/b/a;->a()Lio/dcloud/h/c/c/b/a;

    move-result-object v0

    invoke-virtual {v0, p0}, Lio/dcloud/h/c/c/b/a;->a(Landroid/content/Context;)Z

    move-result v0

    if-nez v0, :cond_2a

    .line 59
    sget-object p0, Lio/dcloud/h/a/d/b/f;->c:Ljava/util/Map;

    return-object p0

    .line 60
    :cond_2a
    sget-boolean v0, Lio/dcloud/h/a/d/b/f;->d:Z

    if-eqz v0, :cond_31

    .line 61
    sget-object p0, Lio/dcloud/h/a/d/b/f;->c:Ljava/util/Map;

    return-object p0

    .line 64
    :cond_31
    invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    const/4 v1, 0x1

    const/4 v2, 0x0

    if-nez v0, :cond_ae

    const-string v0, "10"

    invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-nez v0, :cond_ae

    const-string v0, "phone"

    .line 65
    invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object p0

    check-cast p0, Landroid/telephony/TelephonyManager;

    const-string v0, "03"

    .line 66
    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-nez v0, :cond_9c

    const-string v0, "05"

    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_5a

    goto :goto_9c

    :cond_5a
    const-string v0, "01"

    .line 75
    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-nez v0, :cond_88

    const-string v0, "06"

    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_6b

    goto :goto_88

    :cond_6b
    const-string v0, "00"

    .line 77
    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-nez v0, :cond_86

    const-string v0, "02"

    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-nez v0, :cond_86

    const-string v0, "07"

    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result p1

    if-eqz p1, :cond_84

    goto :goto_86

    :cond_84
    const/4 p1, 0x4

    goto :goto_89

    :cond_86
    :goto_86
    move v2, v1

    goto :goto_8a

    :cond_88
    :goto_88
    const/4 p1, 0x3

    :goto_89
    move v2, p1

    .line 84
    :goto_8a
    invoke-virtual {p0}, Landroid/telephony/TelephonyManager;->getCellLocation()Landroid/telephony/CellLocation;

    move-result-object p0

    check-cast p0, Landroid/telephony/gsm/GsmCellLocation;

    .line 85
    invoke-virtual {p0}, Landroid/telephony/gsm/GsmCellLocation;->getLac()I

    move-result p1

    .line 86
    invoke-virtual {p0}, Landroid/telephony/gsm/GsmCellLocation;->getCid()I

    move-result p0

    move v4, v2

    move v2, p1

    move p1, v4

    goto :goto_b0

    .line 87
    :cond_9c
    :goto_9c
    invoke-virtual {p0}, Landroid/telephony/TelephonyManager;->getCellLocation()Landroid/telephony/CellLocation;

    move-result-object p0

    check-cast p0, Landroid/telephony/cdma/CdmaCellLocation;

    .line 88
    invoke-virtual {p0}, Landroid/telephony/cdma/CdmaCellLocation;->getNetworkId()I

    move-result v2

    .line 89
    invoke-virtual {p0}, Landroid/telephony/cdma/CdmaCellLocation;->getBaseStationId()I

    move-result p0

    .line 90
    div-int/lit8 p0, p0, 0x10

    const/4 p1, 0x2

    goto :goto_b0

    :cond_ae
    move p0, v2

    move p1, p0

    .line 109
    :goto_b0
    new-instance v0, Ljava/util/HashMap;

    invoke-direct {v0}, Ljava/util/HashMap;-><init>()V

    .line 110
    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p1

    const-string v3, "carrier"

    invoke-interface {v0, v3, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 111
    invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p0

    const-string p1, "cid"

    invoke-interface {v0, p1, p0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 112
    invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p0

    const-string p1, "lac"

    invoke-interface {v0, p1, p0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 113
    sput-object v0, Lio/dcloud/h/a/d/b/f;->c:Ljava/util/Map;

    .line 114
    sput-boolean v1, Lio/dcloud/h/a/d/b/f;->d:Z

    return-object v0
.end method

.method public static a(Landroid/content/Context;)Lorg/json/JSONObject;
    .registers 10

    if-nez p0, :cond_5

    .line 1
    sget-object p0, Lio/dcloud/h/a/d/b/f;->a:Lorg/json/JSONObject;

    return-object p0

    :cond_5
    const-string v0, "android.permission.ACCESS_FINE_LOCATION"

    .line 2
    invoke-static {p0, v0}, Landroidx/core/content/ContextCompat;->checkSelfPermission(Landroid/content/Context;Ljava/lang/String;)I

    move-result v0

    if-eqz v0, :cond_18

    const-string v0, "android.permission.ACCESS_COARSE_LOCATION"

    .line 4
    invoke-static {p0, v0}, Landroidx/core/content/ContextCompat;->checkSelfPermission(Landroid/content/Context;Ljava/lang/String;)I

    move-result v0

    if-eqz v0, :cond_18

    .line 6
    sget-object p0, Lio/dcloud/h/a/d/b/f;->a:Lorg/json/JSONObject;

    return-object p0

    .line 9
    :cond_18
    invoke-static {}, Lio/dcloud/sdk/poly/base/utils/PrivacyManager;->getInstance()Lio/dcloud/sdk/poly/base/utils/PrivacyManager;

    move-result-object v0

    invoke-virtual {v0}, Lio/dcloud/sdk/poly/base/utils/PrivacyManager;->d()Z

    move-result v0

    if-nez v0, :cond_25

    .line 10
    sget-object p0, Lio/dcloud/h/a/d/b/f;->a:Lorg/json/JSONObject;

    return-object p0

    .line 12
    :cond_25
    invoke-static {}, Lio/dcloud/h/c/c/b/a;->a()Lio/dcloud/h/c/c/b/a;

    move-result-object v0

    invoke-virtual {v0, p0}, Lio/dcloud/h/c/c/b/a;->a(Landroid/content/Context;)Z

    move-result v0

    if-nez v0, :cond_32

    .line 13
    sget-object p0, Lio/dcloud/h/a/d/b/f;->a:Lorg/json/JSONObject;

    return-object p0

    .line 14
    :cond_32
    sget-boolean v0, Lio/dcloud/h/a/d/b/f;->b:Z

    if-eqz v0, :cond_39

    .line 15
    sget-object p0, Lio/dcloud/h/a/d/b/f;->a:Lorg/json/JSONObject;

    return-object p0

    .line 16
    :cond_39
    new-instance v0, Lorg/json/JSONObject;

    invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V

    const-string v1, "location"

    .line 18
    invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object p0

    check-cast p0, Landroid/location/LocationManager;

    const/4 v1, 0x1

    if-eqz p0, :cond_f6

    .line 21
    :try_start_49
    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2
    :try_end_4d
    .catch Ljava/lang/Exception; {:try_start_49 .. :try_end_4d} :catch_f6

    const-string v3, "getLastKnownLocation"

    :try_start_4f
    new-array v4, v1, [Ljava/lang/Class;

    const-class v5, Ljava/lang/String;

    const/4 v6, 0x0

    aput-object v5, v4, v6

    invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v2

    .line 22
    invoke-virtual {v2, v1}, Ljava/lang/reflect/Method;->setAccessible(Z)V

    new-array v3, v1, [Ljava/lang/Object;

    const-string v4, "gps"

    aput-object v4, v3, v6

    .line 23
    invoke-virtual {v2, p0, v3}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Landroid/location/Location;

    if-nez v3, :cond_86

    new-array v3, v1, [Ljava/lang/Object;

    const-string v4, "network"

    aput-object v4, v3, v6

    .line 25
    invoke-virtual {v2, p0, v3}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Landroid/location/Location;

    if-nez v3, :cond_86

    new-array v3, v1, [Ljava/lang/Object;

    const-string v4, "passive"

    aput-object v4, v3, v6

    .line 27
    invoke-virtual {v2, p0, v3}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p0

    move-object v3, p0

    check-cast v3, Landroid/location/Location;

    :cond_86
    if-eqz v3, :cond_f6

    const-string p0, "android.location.Location"

    .line 30
    invoke-static {p0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;

    move-result-object p0
    :try_end_8e
    .catch Ljava/lang/Exception; {:try_start_4f .. :try_end_8e} :catch_f6

    const-string v2, "getLongitude"

    :try_start_90
    new-array v4, v6, [Ljava/lang/Class;

    .line 31
    invoke-virtual {p0, v2, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v2
    :try_end_96
    .catch Ljava/lang/Exception; {:try_start_90 .. :try_end_96} :catch_f6

    const-string v4, "getLatitude"

    :try_start_98
    new-array v5, v6, [Ljava/lang/Class;

    .line 32
    invoke-virtual {p0, v4, v5}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v4
    :try_end_9e
    .catch Ljava/lang/Exception; {:try_start_98 .. :try_end_9e} :catch_f6

    const-string v5, "getAccuracy"

    :try_start_a0
    new-array v7, v6, [Ljava/lang/Class;

    .line 33
    invoke-virtual {p0, v5, v7}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v5
    :try_end_a6
    .catch Ljava/lang/Exception; {:try_start_a0 .. :try_end_a6} :catch_f6

    const-string v7, "getTime"

    :try_start_a8
    new-array v8, v6, [Ljava/lang/Class;

    .line 34
    invoke-virtual {p0, v7, v8}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object p0

    .line 35
    invoke-virtual {v2, v1}, Ljava/lang/reflect/Method;->setAccessible(Z)V
    :try_end_b1
    .catch Ljava/lang/Exception; {:try_start_a8 .. :try_end_b1} :catch_f6

    const-string v7, "lon"

    :try_start_b3
    new-array v8, v6, [Ljava/lang/Object;

    .line 36
    invoke-virtual {v2, v3, v8}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v0, v7, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;

    .line 37
    invoke-virtual {v4, v1}, Ljava/lang/reflect/Method;->setAccessible(Z)V
    :try_end_c3
    .catch Ljava/lang/Exception; {:try_start_b3 .. :try_end_c3} :catch_f6

    const-string v2, "lat"

    :try_start_c5
    new-array v7, v6, [Ljava/lang/Object;

    .line 38
    invoke-virtual {v4, v3, v7}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v4

    invoke-static {v4}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v0, v2, v4}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;

    .line 39
    invoke-virtual {v5, v1}, Ljava/lang/reflect/Method;->setAccessible(Z)V
    :try_end_d5
    .catch Ljava/lang/Exception; {:try_start_c5 .. :try_end_d5} :catch_f6

    const-string v2, "accuracy"

    :try_start_d7
    new-array v4, v6, [Ljava/lang/Object;

    .line 40
    invoke-virtual {v5, v3, v4}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v4

    invoke-static {v4}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v0, v2, v4}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;

    .line 41
    invoke-virtual {p0, v1}, Ljava/lang/reflect/Method;->setAccessible(Z)V
    :try_end_e7
    .catch Ljava/lang/Exception; {:try_start_d7 .. :try_end_e7} :catch_f6

    const-string v2, "ts"

    :try_start_e9
    new-array v4, v6, [Ljava/lang/Object;

    .line 42
    invoke-virtual {p0, v3, v4}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p0

    invoke-static {p0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object p0

    invoke-virtual {v0, v2, p0}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
    :try_end_f6
    .catch Ljava/lang/Exception; {:try_start_e9 .. :try_end_f6} :catch_f6

    .line 47
    :catch_f6
    :cond_f6
    sput-object v0, Lio/dcloud/h/a/d/b/f;->a:Lorg/json/JSONObject;

    .line 48
    sput-boolean v1, Lio/dcloud/h/a/d/b/f;->b:Z

    return-object v0
.end method