Utils.smali

.class public Lsg/bigo/sdk/blivestat/utils/Utils;
.super Ljava/lang/Object;
.source "SourceFile"


# static fields
.field public static final ENCRYPT_AES_SUFFIX:Ljava/lang/String; = "encrypt=1"

.field private static final KEY_NAME:Ljava/lang/String; = "deviceId"

.field private static final NETWORK_OPERATOR_CACHE_TS:J = 0x2710L

.field private static final PREFS_NAME:Ljava/lang/String; = "deviceId"

.field private static sHasCheckedVersionCode:Z = false

.field private static sLastNetworkCacheTs:J

.field private static sNetworkOperator:Ljava/lang/String;

.field private static sVersionCode:I

.field private static sVersionName:Ljava/lang/String;


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

    return-void
.end method

.method public constructor <init>()V
    .registers 1

    .line 22
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method

.method public static addSuffixForEncrypt(Ljava/lang/String;Z)Ljava/lang/String;
    .registers 5

    if-eqz p1, :cond_4b

    .line 275
    invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result p1

    if-eqz p1, :cond_9

    goto :goto_4b

    .line 278
    :cond_9
    new-instance p1, Ljava/lang/StringBuilder;

    invoke-direct {p1, p0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v0, "?"

    .line 279
    invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z

    move-result v1

    const-string v2, "&"

    if-nez v1, :cond_1c

    .line 280
    invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    goto :goto_1f

    .line 282
    :cond_1c
    invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    :goto_1f
    const-string v0, "encrypt=1"

    .line 284
    invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z

    move-result p0

    if-nez p0, :cond_2a

    .line 285
    invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 287
    :cond_2a
    invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p0

    invoke-virtual {p0, v2}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z

    move-result p0

    if-eqz p0, :cond_47

    .line 288
    invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p0

    invoke-virtual {p0, v2}, Ljava/lang/String;->lastIndexOf(Ljava/lang/String;)I

    move-result p0

    invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/String;->length()I

    move-result v0

    invoke-virtual {p1, p0, v0}, Ljava/lang/StringBuilder;->delete(II)Ljava/lang/StringBuilder;

    .line 290
    :cond_47
    invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p0

    :cond_4b
    :goto_4b
    return-object p0
.end method

.method public static checkNetConnet(Landroid/content/Context;)Z
    .registers 3

    const/4 v0, 0x0

    if-nez p0, :cond_4

    return v0

    :cond_4
    const-string v1, "connectivity"

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

    move-result-object p0

    check-cast p0, Landroid/net/ConnectivityManager;

    .line 171
    :try_start_c
    invoke-virtual {p0}, Landroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;

    move-result-object p0

    if-eqz p0, :cond_17

    .line 173
    invoke-virtual {p0}, Landroid/net/NetworkInfo;->isConnectedOrConnecting()Z

    move-result p0
    :try_end_16
    .catch Ljava/lang/Exception; {:try_start_c .. :try_end_16} :catch_17

    move v0, p0

    :catch_17
    :cond_17
    return v0
.end method

.method public static formatListToString(Ljava/util/List;II)Ljava/lang/String;
    .registers 5
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/List<",
            "Ljava/lang/String;",
            ">;II)",
            "Ljava/lang/String;"
        }
    .end annotation

    if-eqz p0, :cond_33

    .line 211
    invoke-interface {p0}, Ljava/util/List;->size()I

    move-result v0

    if-gtz v0, :cond_9

    goto :goto_33

    .line 214
    :cond_9
    invoke-interface {p0}, Ljava/util/List;->size()I

    move-result v0

    if-le p1, p2, :cond_10

    move p1, p2

    :cond_10
    if-gez p1, :cond_13

    const/4 p1, 0x0

    :cond_13
    if-le p2, v0, :cond_16

    move p2, v0

    .line 228
    :cond_16
    new-instance v0, Ljava/lang/StringBuilder;

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

    :goto_1b
    if-ge p1, p2, :cond_2e

    .line 230
    invoke-interface {p0, p1}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v1, ", "

    .line 231
    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    add-int/lit8 p1, p1, 0x1

    goto :goto_1b

    .line 234
    :cond_2e
    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p0

    return-object p0

    :cond_33
    :goto_33
    const-string p0, ""

    return-object p0
.end method

.method public static getAbi()Ljava/lang/String;
    .registers 5

    .line 147
    new-instance v0, Ljava/util/HashSet;

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

    .line 148
    sget v1, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 v2, 0x15

    if-ge v1, v2, :cond_16

    .line 149
    sget-object v1, Landroid/os/Build;->CPU_ABI:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z

    .line 150
    sget-object v1, Landroid/os/Build;->CPU_ABI2:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z

    goto :goto_24

    .line 152
    :cond_16
    sget-object v1, Landroid/os/Build;->SUPPORTED_ABIS:[Ljava/lang/String;

    array-length v2, v1

    const/4 v3, 0x0

    :goto_1a
    if-ge v3, v2, :cond_24

    aget-object v4, v1, v3

    .line 153
    invoke-virtual {v0, v4}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z

    add-int/lit8 v3, v3, 0x1

    goto :goto_1a

    .line 156
    :cond_24
    :goto_24
    invoke-virtual {v0}, Ljava/util/HashSet;->toString()Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public static getAppVersionCode(Landroid/content/Context;)I
    .registers 3

    .line 86
    sget-boolean v0, Lsg/bigo/sdk/blivestat/utils/Utils;->sHasCheckedVersionCode:Z

    if-nez v0, :cond_1c

    .line 88
    :try_start_4
    invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v0

    invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;

    move-result-object p0

    const/16 v1, 0x4000

    invoke-virtual {v0, p0, v1}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;

    move-result-object p0

    .line 89
    iget p0, p0, Landroid/content/pm/PackageInfo;->versionCode:I

    sput p0, Lsg/bigo/sdk/blivestat/utils/Utils;->sVersionCode:I

    const/4 p0, 0x1

    .line 90
    sput-boolean p0, Lsg/bigo/sdk/blivestat/utils/Utils;->sHasCheckedVersionCode:Z
    :try_end_19
    .catch Ljava/lang/Exception; {:try_start_4 .. :try_end_19} :catch_19

    .line 95
    :catch_19
    sget p0, Lsg/bigo/sdk/blivestat/utils/Utils;->sVersionCode:I

    return p0

    .line 97
    :cond_1c
    sget p0, Lsg/bigo/sdk/blivestat/utils/Utils;->sVersionCode:I

    return p0
.end method

.method public static getCurrentDate()Ljava/lang/String;
    .registers 3

    .line 203
    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

    move-result-wide v0

    .line 204
    new-instance v2, Ljava/util/Date;

    invoke-direct {v2, v0, v1}, Ljava/util/Date;-><init>(J)V

    .line 205
    new-instance v0, Ljava/text/SimpleDateFormat;

    const-string v1, "yyyy-MM-dd"

    invoke-direct {v0, v1}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;)V

    .line 206
    invoke-virtual {v0, v2}, Ljava/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public static getLocale(Landroid/content/Context;)Ljava/util/Locale;
    .registers 1

    if-nez p0, :cond_5

    .line 128
    sget-object p0, Ljava/util/Locale;->US:Ljava/util/Locale;

    return-object p0

    .line 131
    :cond_5
    invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    move-result-object p0

    if-nez p0, :cond_e

    .line 134
    sget-object p0, Ljava/util/Locale;->US:Ljava/util/Locale;

    return-object p0

    .line 137
    :cond_e
    invoke-virtual {p0}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;

    move-result-object p0

    iget-object p0, p0, Landroid/content/res/Configuration;->locale:Ljava/util/Locale;

    if-eqz p0, :cond_17

    return-object p0

    .line 142
    :cond_17
    sget-object p0, Ljava/util/Locale;->US:Ljava/util/Locale;

    return-object p0
.end method

.method public static getMCC(Landroid/content/Context;)I
    .registers 4

    const/4 v0, 0x0

    if-nez p0, :cond_4

    return v0

    .line 56
    :cond_4
    invoke-static {p0}, Lsg/bigo/sdk/blivestat/utils/Utils;->getNetworkOperator(Landroid/content/Context;)Ljava/lang/String;

    move-result-object p0

    if-eqz p0, :cond_22

    .line 57
    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v1

    const/4 v2, 0x3

    if-lt v1, v2, :cond_22

    .line 58
    new-instance v1, Ljava/lang/StringBuilder;

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

    .line 59
    invoke-virtual {v1, p0, v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;

    .line 61
    :try_start_19
    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p0

    invoke-static {p0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result p0
    :try_end_21
    .catch Ljava/lang/Exception; {:try_start_19 .. :try_end_21} :catch_22

    return p0

    :catch_22
    :cond_22
    return v0
.end method

.method public static getNetworkOperator(Landroid/content/Context;)Ljava/lang/String;
    .registers 6

    .line 38
    sget-object v0, Lsg/bigo/sdk/blivestat/utils/Utils;->sNetworkOperator:Ljava/lang/String;

    if-eqz v0, :cond_11

    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

    move-result-wide v0

    sget-wide v2, Lsg/bigo/sdk/blivestat/utils/Utils;->sLastNetworkCacheTs:J

    sub-long/2addr v0, v2

    const-wide/16 v2, 0x2710

    cmp-long v4, v0, v2

    if-ltz v4, :cond_27

    :cond_11
    :try_start_11
    const-string v0, "phone"

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

    move-result-object p0

    check-cast p0, Landroid/telephony/TelephonyManager;

    .line 41
    invoke-virtual {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String;

    move-result-object p0

    sput-object p0, Lsg/bigo/sdk/blivestat/utils/Utils;->sNetworkOperator:Ljava/lang/String;

    .line 42
    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

    move-result-wide v0

    sput-wide v0, Lsg/bigo/sdk/blivestat/utils/Utils;->sLastNetworkCacheTs:J
    :try_end_25
    .catch Ljava/lang/NullPointerException; {:try_start_11 .. :try_end_25} :catch_26

    goto :goto_27

    :catch_26
    nop

    .line 47
    :cond_27
    :goto_27
    sget-object p0, Lsg/bigo/sdk/blivestat/utils/Utils;->sNetworkOperator:Ljava/lang/String;

    if-nez p0, :cond_2d

    const-string p0, ""

    :cond_2d
    return-object p0
.end method

.method public static getPackageName(Landroid/content/Context;)Ljava/lang/String;
    .registers 1

    .line 160
    invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;

    move-result-object p0

    return-object p0
.end method

.method public static getPackageVersionName(Landroid/content/Context;)Ljava/lang/String;
    .registers 3

    .line 109
    sget-object v0, Lsg/bigo/sdk/blivestat/utils/Utils;->sVersionName:Ljava/lang/String;

    if-eqz v0, :cond_5

    return-object v0

    .line 113
    :cond_5
    :try_start_5
    invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v0

    invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;

    move-result-object p0

    const/16 v1, 0x4000

    invoke-virtual {v0, p0, v1}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;

    move-result-object p0

    .line 114
    iget-object p0, p0, Landroid/content/pm/PackageInfo;->versionName:Ljava/lang/String;

    sput-object p0, Lsg/bigo/sdk/blivestat/utils/Utils;->sVersionName:Ljava/lang/String;
    :try_end_17
    .catch Ljava/lang/Exception; {:try_start_5 .. :try_end_17} :catch_18

    return-object p0

    :catch_18
    const-string p0, "unknown"

    return-object p0
.end method

.method public static getSubStringAfterChar(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    .registers 4

    .line 260
    invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    if-eqz v0, :cond_7

    return-object p0

    .line 264
    :cond_7
    invoke-virtual {p0, p1}, Ljava/lang/String;->lastIndexOf(Ljava/lang/String;)I

    move-result p1

    .line 265
    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v0

    add-int/lit8 p1, p1, 0x1

    const/4 v1, -0x1

    if-eq p1, v1, :cond_1b

    if-lt p1, v0, :cond_17

    goto :goto_1b

    .line 271
    :cond_17
    invoke-virtual {p0, p1, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;

    move-result-object p0

    :cond_1b
    :goto_1b
    return-object p0
.end method

.method public static isUIProcess(Ljava/lang/String;)Z
    .registers 3

    .line 245
    invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    const/4 v1, 0x0

    if-eqz v0, :cond_8

    return v1

    :cond_8
    const-string v0, ":"

    .line 249
    invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z

    move-result p0

    if-nez p0, :cond_12

    const/4 p0, 0x1

    return p0

    :cond_12
    return v1
.end method

.method public static isValidGeneralData(Ljava/lang/String;)Z
    .registers 1

    .line 298
    :try_start_0
    invoke-static {p0}, Ljava/lang/Double;->valueOf(Ljava/lang/String;)Ljava/lang/Double;
    :try_end_3
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_3} :catch_5

    const/4 p0, 0x1

    return p0

    :catch_5
    const/4 p0, 0x0

    return p0
.end method

.method public static millisToSec(J)J
    .registers 4

    const-wide/16 v0, 0x3e8

    .line 71
    div-long/2addr p0, v0

    return-wide p0
.end method

.method public static nonNullString(Ljava/lang/String;)Ljava/lang/String;
    .registers 1

    if-nez p0, :cond_4

    const-string p0, ""

    :cond_4
    return-object p0
.end method

.method public static setsVersionCode(I)V
    .registers 1

    .line 102
    sput p0, Lsg/bigo/sdk/blivestat/utils/Utils;->sVersionCode:I

    const/4 p0, 0x1

    .line 103
    sput-boolean p0, Lsg/bigo/sdk/blivestat/utils/Utils;->sHasCheckedVersionCode:Z

    return-void
.end method

.method public static tryGetDeviceId(Landroid/content/Context;)Ljava/lang/String;
    .registers 4

    const/4 v0, 0x0

    if-nez p0, :cond_4

    return-object v0

    :cond_4
    const/4 v1, 0x0

    const-string v2, "deviceId"

    .line 193
    invoke-virtual {p0, v2, v1}, Landroid/content/Context;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;

    move-result-object v1

    .line 194
    invoke-interface {v1, v2, v0}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 196
    invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v1

    if-nez v1, :cond_2c

    .line 197
    new-instance v1, Ljava/lang/StringBuilder;

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

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;

    move-result-object p0

    invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p0

    invoke-static {p0}, Lsg/bigo/sdk/blivestat/utils/MD5Utils;->md5(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    :cond_2c
    return-object v0
.end method

.method public static wallTimeMillis()J
    .registers 2

    .line 79
    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

    move-result-wide v0

    return-wide v0
.end method

.method public static wallTimeSec()J
    .registers 2

    .line 75
    invoke-static {}, Lsg/bigo/sdk/blivestat/utils/Utils;->wallTimeMillis()J

    move-result-wide v0

    invoke-static {v0, v1}, Lsg/bigo/sdk/blivestat/utils/Utils;->millisToSec(J)J

    move-result-wide v0

    return-wide v0
.end method