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