CommonHelper.smali
.class public Lcom/sandboxol/common/utils/CommonHelper;
.super Ljava/lang/Object;
.source "CommonHelper.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/sandboxol/common/utils/CommonHelper$SaveCallback;
}
.end annotation
# direct methods
.method public constructor <init>()V
.registers 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static SHA1(Ljava/lang/String;)Ljava/lang/String;
.registers 8
:try_start_0
const-string v0, "SHA-1"
.line 1
invoke-static {v0}, Ljava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;
move-result-object v0
.line 2
invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B
move-result-object v1
invoke-virtual {v0, v1}, Ljava/security/MessageDigest;->update([B)V
.line 3
invoke-virtual {v0}, Ljava/security/MessageDigest;->digest()[B
move-result-object v0
.line 4
new-instance v1, Ljava/lang/StringBuffer;
invoke-direct {v1}, Ljava/lang/StringBuffer;-><init>()V
const/4 v2, 0x0
const/4 v3, 0x0
.line 5
:goto_18
array-length v4, v0
if-ge v3, v4, :cond_33
.line 6
aget-byte v4, v0, v3
and-int/lit16 v4, v4, 0xff
invoke-static {v4}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object v4
.line 7
invoke-virtual {v4}, Ljava/lang/String;->length()I
move-result v5
const/4 v6, 0x2
if-ge v5, v6, :cond_2d
.line 8
invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(I)Ljava/lang/StringBuffer;
.line 9
:cond_2d
invoke-virtual {v1, v4}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
add-int/lit8 v3, v3, 0x1
goto :goto_18
.line 10
:cond_33
invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object p0
:try_end_37
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_37} :catch_38
return-object p0
:catch_38
move-exception v0
const-string v1, "SHA1 error, str:{}"
.line 11
invoke-static {v1, p0, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
const-string p0, ""
return-object p0
.end method
.method public static checkApkExist(Landroid/content/Context;Ljava/lang/String;)Z
.registers 4
.line 1
invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p0
const/4 v0, 0x0
if-eqz p1, :cond_1b
const-string v1, ""
.line 2
invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_10
goto :goto_1b
.line 3
:cond_10
:try_start_10
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object p0
const/16 v1, 0x2000
invoke-virtual {p0, p1, v1}, Landroid/content/pm/PackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
:try_end_19
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_10 .. :try_end_19} :catch_1b
.catch Ljava/lang/Exception; {:try_start_10 .. :try_end_19} :catch_1b
const/4 p0, 0x1
return p0
:catch_1b
:cond_1b
:goto_1b
return v0
.end method
.method public static checkProcessIsRunning(Landroid/content/Context;Ljava/lang/String;)I
.registers 4
.line 1
:try_start_0
invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p0
.line 2
invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p0
const-string v0, "activity"
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Landroid/app/ActivityManager;
.line 3
invoke-virtual {p0}, Landroid/app/ActivityManager;->getRunningAppProcesses()Ljava/util/List;
move-result-object p0
invoke-interface {p0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p0
:cond_18
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_2f
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/ActivityManager$RunningAppProcessInfo;
.line 4
iget-object v1, v0, Landroid/app/ActivityManager$RunningAppProcessInfo;->processName:Ljava/lang/String;
invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_18
.line 5
iget p0, v0, Landroid/app/ActivityManager$RunningAppProcessInfo;->pid:I
:try_end_2e
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_2e} :catch_2f
return p0
:catch_2f
:cond_2f
const/4 p0, 0x0
return p0
.end method
.method public static countString(Ljava/lang/String;)I
.registers 5
const-string v0, " "
const-string v1, ""
.line 1
invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
const/4 v0, 0x0
const/4 v1, 0x0
.line 2
:goto_a
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v2
if-ge v0, v2, :cond_25
add-int/lit8 v2, v0, 0x1
.line 3
invoke-virtual {p0, v0, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v0
const-string v3, "[\u4e00-\u9fa5]"
.line 4
invoke-virtual {v0, v3}, Ljava/lang/String;->matches(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_21
add-int/lit8 v1, v1, 0x2
goto :goto_23
:cond_21
add-int/lit8 v1, v1, 0x1
:goto_23
move v0, v2
goto :goto_a
:cond_25
return v1
.end method
.method public static createUUId(Landroid/content/Context;)Ljava/lang/String;
.registers 3
const-string v0, "app.visitor.uuid"
.line 1
invoke-static {p0, v0}, Lcom/sandboxol/common/utils/SharedUtils;->getString(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
if-nez v1, :cond_19
.line 2
invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID;
move-result-object v1
.line 3
invoke-virtual {v1}, Ljava/util/UUID;->toString()Ljava/lang/String;
move-result-object v1
.line 4
invoke-static {p0, v0, v1}, Lcom/sandboxol/common/utils/SharedUtils;->putString(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
const-string v0, "android.id.renew"
.line 5
invoke-static {p0, v0, v1}, Lcom/sandboxol/common/interfaces/ReportDataAdapter;->onEvent(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
goto :goto_1d
.line 6
:cond_19
invoke-static {p0, v0}, Lcom/sandboxol/common/utils/SharedUtils;->getString(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
:goto_1d
const-string/jumbo v0, "uuId.txt"
.line 7
invoke-static {p0, v1, v0}, Lcom/sandboxol/common/utils/CommonHelper;->writeUuid(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
return-object v1
.end method
.method public static deleteDir(Ljava/io/File;)Z
.registers 6
.line 1
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v0
if-eqz v0, :cond_22
.line 2
invoke-virtual {p0}, Ljava/io/File;->list()[Ljava/lang/String;
move-result-object v0
if-eqz v0, :cond_22
const/4 v1, 0x0
const/4 v2, 0x0
.line 3
:goto_e
array-length v3, v0
if-ge v2, v3, :cond_22
.line 4
new-instance v3, Ljava/io/File;
aget-object v4, v0, v2
invoke-direct {v3, p0, v4}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
invoke-static {v3}, Lcom/sandboxol/common/utils/CommonHelper;->deleteDir(Ljava/io/File;)Z
move-result v3
if-nez v3, :cond_1f
return v1
:cond_1f
add-int/lit8 v2, v2, 0x1
goto :goto_e
.line 5
:cond_22
invoke-virtual {p0}, Ljava/io/File;->delete()Z
move-result p0
return p0
.end method
.method public static dip2px(Landroid/content/Context;F)I
.registers 2
.line 1
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p0
invoke-virtual {p0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object p0
iget p0, p0, Landroid/util/DisplayMetrics;->density:F
mul-float p1, p1, p0
const/high16 p0, 0x3f000000 # 0.5f
add-float/2addr p1, p0
float-to-int p0, p1
return p0
.end method
.method public static formatObject(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/String;",
"Ljava/lang/Class<",
"TT;>;)TT;"
}
.end annotation
.line 1
new-instance v0, Lcom/google/gson/j;
invoke-direct {v0}, Lcom/google/gson/j;-><init>()V
.line 2
invoke-virtual {v0, p0, p1}, Lcom/google/gson/j;->a(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static getActivityByView(Landroid/view/View;)Landroid/app/Activity;
.registers 2
if-eqz p0, :cond_11
.line 1
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object p0
.line 2
instance-of v0, p0, Landroid/content/ContextWrapper;
if-eqz v0, :cond_11
.line 3
instance-of v0, p0, Landroid/app/Activity;
if-eqz v0, :cond_11
.line 4
check-cast p0, Landroid/app/Activity;
return-object p0
:cond_11
const/4 p0, 0x0
return-object p0
.end method
.method public static getAndroidId(Landroid/content/Context;)Ljava/lang/String;
.registers 5
.line 1
invoke-virtual {p0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
const-string v1, "android_id"
invoke-static {v0, v1}, Landroid/provider/Settings$System;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
if-eqz v0, :cond_41
const-string v1, ""
.line 2
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_15
goto :goto_41
:cond_15
const-string v1, "android.id"
.line 3
invoke-static {p0, v1}, Lcom/sandboxol/common/utils/SharedUtils;->getString(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
if-eqz v2, :cond_3d
.line 4
invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-nez v3, :cond_3d
.line 5
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;
const-string v3, ","
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
const-string v2, "android.id.different"
invoke-static {p0, v2, v1}, Lcom/sandboxol/common/interfaces/ReportDataAdapter;->onEvent(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
goto :goto_45
.line 6
:cond_3d
invoke-static {p0, v1, v0}, Lcom/sandboxol/common/utils/SharedUtils;->putString(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
goto :goto_45
.line 7
:cond_41
:goto_41
invoke-static {p0}, Lcom/sandboxol/common/utils/CommonHelper;->getUUId(Landroid/content/Context;)Ljava/lang/String;
move-result-object v0
:goto_45
return-object v0
.end method
.method public static getApkOrSoDownloadPath(Landroid/content/Context;)Ljava/lang/String;
.registers 3
.line 1
invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p0
const-string v0, "download"
const/4 v1, 0x0
invoke-virtual {p0, v0, v1}, Landroid/content/Context;->getDir(Ljava/lang/String;I)Ljava/io/File;
move-result-object p0
invoke-virtual {p0}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static getAttachBaseContext(Landroid/content/Context;)Landroid/content/Context;
.registers 3
.line 1
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x18
if-lt v0, v1, :cond_a
.line 2
invoke-static {p0}, Lcom/sandboxol/common/utils/CommonHelper;->updateResources(Landroid/content/Context;)Landroid/content/Context;
move-result-object p0
:cond_a
return-object p0
.end method
.method public static getCountByK(I)Ljava/lang/String;
.registers 5
int-to-float p0, p0
const/4 v0, 0x0
:goto_2
const/high16 v1, 0x447a0000 # 1000.0f
cmpl-float v2, p0, v1
if-ltz v2, :cond_c
add-int/lit8 v0, v0, 0x1
div-float/2addr p0, v1
goto :goto_2
.line 1
:cond_c
new-instance v1, Ljava/text/DecimalFormat;
const-string v2, "#.#"
invoke-direct {v1, v2}, Ljava/text/DecimalFormat;-><init>(Ljava/lang/String;)V
.line 2
sget-object v2, Ljava/math/RoundingMode;->DOWN:Ljava/math/RoundingMode;
invoke-virtual {v1, v2}, Ljava/text/DecimalFormat;->setRoundingMode(Ljava/math/RoundingMode;)V
if-eqz v0, :cond_65
const/4 v2, 0x1
if-eq v0, v2, :cond_4e
const/4 v2, 0x2
if-eq v0, v2, :cond_37
.line 3
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
float-to-double v2, p0
invoke-virtual {v1, v2, v3}, Ljava/text/DecimalFormat;->format(D)Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, "B"
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.line 4
:cond_37
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
float-to-double v2, p0
invoke-virtual {v1, v2, v3}, Ljava/text/DecimalFormat;->format(D)Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, "M"
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.line 5
:cond_4e
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
float-to-double v2, p0
invoke-virtual {v1, v2, v3}, Ljava/text/DecimalFormat;->format(D)Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, "K"
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
:cond_65
float-to-double v2, p0
.line 6
invoke-virtual {v1, v2, v3}, Ljava/text/DecimalFormat;->format(D)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static getCountry()Ljava/lang/String;
.registers 2
.line 1
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x18
if-lt v0, v1, :cond_1c
.line 2
invoke-static {}, Lcom/sandboxol/common/base/app/BaseApplication;->getContext()Landroid/content/Context;
move-result-object v0
invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Configuration;->getLocales()Landroid/os/LocaleList;
move-result-object v0
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroid/os/LocaleList;->get(I)Ljava/util/Locale;
move-result-object v0
goto :goto_2a
.line 3
:cond_1c
invoke-static {}, Lcom/sandboxol/common/base/app/BaseApplication;->getContext()Landroid/content/Context;
move-result-object v0
invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;
move-result-object v0
iget-object v0, v0, Landroid/content/res/Configuration;->locale:Ljava/util/Locale;
:goto_2a
if-eqz v0, :cond_3c
.line 4
invoke-virtual {v0}, Ljava/util/Locale;->getCountry()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_37
goto :goto_3c
.line 5
:cond_37
invoke-virtual {v0}, Ljava/util/Locale;->getCountry()Ljava/lang/String;
move-result-object v0
return-object v0
:cond_3c
:goto_3c
const-string v0, "US"
return-object v0
.end method
.method public static getCountryDetail(Ljava/lang/String;)Ljava/lang/String;
.registers 3
.line 1
invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_1a
.line 2
new-instance v0, Ljava/util/Locale;
invoke-static {}, Lcom/sandboxol/common/utils/CommonHelper;->getLanguage()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1, p0}, Ljava/util/Locale;-><init>(Ljava/lang/String;Ljava/lang/String;)V
.line 3
invoke-virtual {v0}, Ljava/util/Locale;->getDisplayCountry()Ljava/lang/String;
move-result-object p0
.line 4
invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_1a
return-object p0
:cond_1a
const-string p0, ""
return-object p0
.end method
.method public static getDeviceId(Landroid/content/Context;)Ljava/lang/String;
.registers 2
.line 1
invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID;
move-result-object v0
invoke-virtual {v0}, Ljava/util/UUID;->toString()Ljava/lang/String;
move-result-object v0
if-nez v0, :cond_14
.line 2
invoke-virtual {p0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object p0
const-string v0, "android_id"
invoke-static {p0, v0}, Landroid/provider/Settings$System;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
:cond_14
return-object v0
.end method
.method public static getDiskCacheDir(Landroid/content/Context;)Ljava/lang/String;
.registers 1
.line 1
invoke-static {}, Lcom/sandboxol/common/utils/CommonHelper;->getExternalStorageDirectory()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static getExternalStorageDirectory()Ljava/lang/String;
.registers 3
.line 1
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x1d
if-le v0, v1, :cond_15
.line 2
invoke-static {}, Lcom/sandboxol/common/base/app/BaseApplication;->getApp()Lcom/sandboxol/common/base/app/BaseApplication;
move-result-object v0
sget-object v1, Landroid/os/Environment;->DIRECTORY_DOCUMENTS:Ljava/lang/String;
invoke-virtual {v0, v1}, Landroid/app/Application;->getExternalFilesDir(Ljava/lang/String;)Ljava/io/File;
move-result-object v0
invoke-virtual {v0}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object v0
goto :goto_39
.line 3
:cond_15
invoke-static {}, Landroid/os/Environment;->getExternalStorageState()Ljava/lang/String;
move-result-object v0
const-string v1, "mounted"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_2a
.line 4
invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
move-result-object v0
invoke-virtual {v0}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object v0
goto :goto_39
.line 5
:cond_2a
invoke-static {}, Lcom/sandboxol/common/base/app/BaseApplication;->getApp()Lcom/sandboxol/common/base/app/BaseApplication;
move-result-object v0
const/4 v1, 0x0
const-string v2, "external"
invoke-virtual {v0, v2, v1}, Landroid/app/Application;->getDir(Ljava/lang/String;I)Ljava/io/File;
move-result-object v0
invoke-virtual {v0}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object v0
:goto_39
return-object v0
.end method
.method public static getExternalStoragePublicDirectory()Ljava/io/File;
.registers 3
.line 1
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x1d
if-le v0, v1, :cond_11
.line 2
invoke-static {}, Lcom/sandboxol/common/base/app/BaseApplication;->getApp()Lcom/sandboxol/common/base/app/BaseApplication;
move-result-object v0
sget-object v1, Landroid/os/Environment;->DIRECTORY_PICTURES:Ljava/lang/String;
invoke-virtual {v0, v1}, Landroid/app/Application;->getExternalFilesDir(Ljava/lang/String;)Ljava/io/File;
move-result-object v0
return-object v0
.line 3
:cond_11
invoke-static {}, Landroid/os/Environment;->getExternalStorageState()Ljava/lang/String;
move-result-object v0
const-string v1, "mounted"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_24
.line 4
sget-object v0, Landroid/os/Environment;->DIRECTORY_PICTURES:Ljava/lang/String;
invoke-static {v0}, Landroid/os/Environment;->getExternalStoragePublicDirectory(Ljava/lang/String;)Ljava/io/File;
move-result-object v0
return-object v0
.line 5
:cond_24
invoke-static {}, Lcom/sandboxol/common/base/app/BaseApplication;->getApp()Lcom/sandboxol/common/base/app/BaseApplication;
move-result-object v0
const/4 v1, 0x0
const-string v2, "public"
invoke-virtual {v0, v2, v1}, Landroid/app/Application;->getDir(Ljava/lang/String;I)Ljava/io/File;
move-result-object v0
return-object v0
.end method
.method public static getGameLanguage()Ljava/lang/String;
.registers 2
.line 1
invoke-static {}, Lcom/sandboxol/common/utils/CommonHelper;->getLanguage()Ljava/lang/String;
move-result-object v0
const-string v1, "uk_UA"
.line 2
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_e
const-string v0, "ru_RU"
:cond_e
return-object v0
.end method
.method public static getLanguage()Ljava/lang/String;
.registers 11
const-string v0, "en_US"
const-string v1, "_"
.line 1
:try_start_4
invoke-static {}, Lcom/sandboxol/common/base/app/BaseApplication;->getContext()Landroid/content/Context;
move-result-object v2
invoke-static {v2}, Lcom/sandboxol/common/utils/CommonHelper;->getSaveDefaultLanguage(Landroid/content/Context;)Ljava/lang/String;
move-result-object v2
const-string v3, "unknow"
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_1d
.line 2
invoke-static {}, Lcom/sandboxol/common/base/app/BaseApplication;->getContext()Landroid/content/Context;
move-result-object v1
invoke-static {v1}, Lcom/sandboxol/common/utils/CommonHelper;->getSaveDefaultLanguage(Landroid/content/Context;)Ljava/lang/String;
move-result-object v0
return-object v0
.line 3
:cond_1d
sget v2, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v3, 0x18
const/4 v4, 0x0
if-lt v2, v3, :cond_39
.line 4
invoke-static {}, Lcom/sandboxol/common/base/app/BaseApplication;->getContext()Landroid/content/Context;
move-result-object v2
invoke-virtual {v2}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v2
invoke-virtual {v2}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;
move-result-object v2
invoke-virtual {v2}, Landroid/content/res/Configuration;->getLocales()Landroid/os/LocaleList;
move-result-object v2
invoke-virtual {v2, v4}, Landroid/os/LocaleList;->get(I)Ljava/util/Locale;
move-result-object v2
goto :goto_47
.line 5
:cond_39
invoke-static {}, Lcom/sandboxol/common/base/app/BaseApplication;->getContext()Landroid/content/Context;
move-result-object v2
invoke-virtual {v2}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v2
invoke-virtual {v2}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;
move-result-object v2
iget-object v2, v2, Landroid/content/res/Configuration;->locale:Ljava/util/Locale;
:goto_47
const/4 v3, 0x1
if-eqz v2, :cond_75
.line 6
invoke-virtual {v2}, Ljava/util/Locale;->getLanguage()Ljava/lang/String;
move-result-object v5
invoke-static {v5}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v5
if-nez v5, :cond_75
invoke-virtual {v2}, Ljava/util/Locale;->getCountry()Ljava/lang/String;
move-result-object v5
invoke-static {v5}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v5
if-eqz v5, :cond_5f
goto :goto_75
:cond_5f
const-string v1, "%s_%s"
const/4 v5, 0x2
.line 7
new-array v5, v5, [Ljava/lang/Object;
invoke-virtual {v2}, Ljava/util/Locale;->getLanguage()Ljava/lang/String;
move-result-object v6
aput-object v6, v5, v4
invoke-virtual {v2}, Ljava/util/Locale;->getCountry()Ljava/lang/String;
move-result-object v2
aput-object v2, v5, v3
invoke-static {v1, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
return-object v0
:cond_75
:goto_75
if-eqz v2, :cond_bd
.line 8
invoke-static {}, Lcom/sandboxol/common/base/app/BaseApplication;->getContext()Landroid/content/Context;
move-result-object v5
invoke-virtual {v5}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v5
sget v6, Lcom/sandboxol/common/R$array;->language:I
invoke-virtual {v5, v6}, Landroid/content/res/Resources;->getStringArray(I)[Ljava/lang/String;
move-result-object v5
.line 9
array-length v6, v5
const/4 v7, 0x0
:goto_87
if-ge v7, v6, :cond_bd
aget-object v8, v5, v7
.line 10
invoke-virtual {v8, v1}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v9
aget-object v9, v9, v4
invoke-virtual {v2}, Ljava/util/Locale;->toString()Ljava/lang/String;
move-result-object v10
invoke-virtual {v9, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v9
if-eqz v9, :cond_ba
.line 11
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v8, v1}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v5
aget-object v4, v5, v4
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8, v1}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v1
aget-object v1, v1, v3
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
:try_end_b9
.catch Ljava/lang/Exception; {:try_start_4 .. :try_end_b9} :catch_bd
return-object v0
:cond_ba
add-int/lit8 v7, v7, 0x1
goto :goto_87
:catch_bd
:cond_bd
return-object v0
.end method
.method public static getLanguageDetail(Ljava/lang/String;)Ljava/lang/String;
.registers 3
.line 1
invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_1a
.line 2
new-instance v0, Ljava/util/Locale;
invoke-static {}, Lcom/sandboxol/common/utils/CommonHelper;->getCountry()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, p0, v1}, Ljava/util/Locale;-><init>(Ljava/lang/String;Ljava/lang/String;)V
.line 3
invoke-virtual {v0}, Ljava/util/Locale;->getDisplayLanguage()Ljava/lang/String;
move-result-object p0
.line 4
invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_1a
return-object p0
:cond_1a
const-string p0, ""
return-object p0
.end method
.method public static getLessMemorySize()J
.registers 5
.line 1
new-instance v0, Landroid/os/StatFs;
invoke-static {}, Landroid/os/Environment;->getDataDirectory()Ljava/io/File;
move-result-object v1
invoke-virtual {v1}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Landroid/os/StatFs;-><init>(Ljava/lang/String;)V
.line 2
invoke-virtual {v0}, Landroid/os/StatFs;->getAvailableBlocks()I
move-result v1
int-to-long v1, v1
.line 3
invoke-virtual {v0}, Landroid/os/StatFs;->getBlockSize()I
move-result v0
int-to-long v3, v0
mul-long v1, v1, v3
return-wide v1
.end method
.method public static getLimitString(Ljava/lang/String;I)Ljava/lang/String;
.registers 4
const-string v0, " "
const-string v1, ""
.line 1
invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
.line 2
invoke-static {p0}, Lcom/sandboxol/common/utils/CommonHelper;->countString(Ljava/lang/String;)I
move-result v0
if-le v0, p1, :cond_24
.line 3
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const/4 v1, 0x0
invoke-virtual {p0, v1, p1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, "..."
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
:cond_24
return-object p0
.end method
.method public static getResourcesById(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
.registers 6
.line 1
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p1, p3, p0}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
move-result p0
return p0
.end method
.method private static getSDCardPath(Landroid/content/Context;)Ljava/lang/String;
.registers 4
.line 1
new-instance p0, Ljava/io/File;
invoke-static {}, Lcom/sandboxol/common/utils/CommonHelper;->getExternalStorageDirectory()Ljava/lang/String;
move-result-object v0
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {}, Lcom/sandboxol/common/base/app/BaseApplication;->getApp()Lcom/sandboxol/common/base/app/BaseApplication;
move-result-object v2
invoke-virtual {v2}, Lcom/sandboxol/common/base/app/BaseApplication;->getMetaDataRootPath()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "/BlockMan"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {p0, v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static getSaveDefaultLanguage(Landroid/content/Context;)Ljava/lang/String;
.registers 4
const-string v0, "unknow"
const-string v1, "switchDefaultLanguage"
.line 1
invoke-static {p0, v1, v0}, Lcom/sandboxol/common/utils/SharedUtils;->getString(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "countryShorthand"
.line 2
invoke-static {p0, v2, v0}, Lcom/sandboxol/common/utils/SharedUtils;->getString(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
.line 3
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_24
const/4 v0, 0x2
.line 4
new-array v0, v0, [Ljava/lang/Object;
const/4 v2, 0x0
aput-object v1, v0, v2
const/4 v1, 0x1
aput-object p0, v0, v1
const-string p0, "%s_%s"
invoke-static {p0, v0}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
return-object p0
:cond_24
return-object v1
.end method
.method public static getSignature(Landroid/content/Context;)Ljava/lang/String;
.registers 1
.line 1
invoke-static {p0}, Lcom/sandboxol/common/utils/CommonHelper;->getAndroidId(Landroid/content/Context;)Ljava/lang/String;
move-result-object p0
invoke-static {p0}, Lcom/sandboxol/common/utils/CommonHelper;->SHA1(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static getStringById(I)Ljava/lang/String;
.registers 2
.line 1
invoke-static {}, Lcom/sandboxol/common/base/app/BaseApplication;->getApp()Lcom/sandboxol/common/base/app/BaseApplication;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static getSystemLanguage()Ljava/lang/String;
.registers 6
const-string v0, "en_US"
.line 1
:try_start_2
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x18
const/4 v3, 0x0
if-lt v1, v2, :cond_1e
.line 2
invoke-static {}, Lcom/sandboxol/common/base/app/BaseApplication;->getContext()Landroid/content/Context;
move-result-object v1
invoke-virtual {v1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v1
invoke-virtual {v1}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;
move-result-object v1
invoke-virtual {v1}, Landroid/content/res/Configuration;->getLocales()Landroid/os/LocaleList;
move-result-object v1
invoke-virtual {v1, v3}, Landroid/os/LocaleList;->get(I)Ljava/util/Locale;
move-result-object v1
goto :goto_2c
.line 3
:cond_1e
invoke-static {}, Lcom/sandboxol/common/base/app/BaseApplication;->getContext()Landroid/content/Context;
move-result-object v1
invoke-virtual {v1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v1
invoke-virtual {v1}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;
move-result-object v1
iget-object v1, v1, Landroid/content/res/Configuration;->locale:Ljava/util/Locale;
:goto_2c
if-eqz v1, :cond_59
.line 4
invoke-virtual {v1}, Ljava/util/Locale;->getLanguage()Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v2
if-nez v2, :cond_59
invoke-virtual {v1}, Ljava/util/Locale;->getCountry()Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v2
if-eqz v2, :cond_43
goto :goto_59
:cond_43
const-string v2, "%s_%s"
const/4 v4, 0x2
.line 5
new-array v4, v4, [Ljava/lang/Object;
invoke-virtual {v1}, Ljava/util/Locale;->getLanguage()Ljava/lang/String;
move-result-object v5
aput-object v5, v4, v3
const/4 v3, 0x1
invoke-virtual {v1}, Ljava/util/Locale;->getCountry()Ljava/lang/String;
move-result-object v1
aput-object v1, v4, v3
invoke-static {v2, v4}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
:try_end_59
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_59} :catch_59
:catch_59
:cond_59
:goto_59
return-object v0
.end method
.method public static getUUId(Landroid/content/Context;)Ljava/lang/String;
.registers 3
const-string/jumbo v0, "uuId.txt"
const/4 v1, 0x1
.line 1
invoke-static {p0, v0, v1}, Lcom/sandboxol/common/utils/CommonHelper;->readUuidOrCreate(Landroid/content/Context;Ljava/lang/String;Z)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static getUserLanguage()Ljava/lang/String;
.registers 3
const-string v0, "en"
.line 1
:try_start_2
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x18
if-lt v1, v2, :cond_1e
.line 2
invoke-static {}, Lcom/sandboxol/common/base/app/BaseApplication;->getContext()Landroid/content/Context;
move-result-object v1
invoke-virtual {v1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v1
invoke-virtual {v1}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;
move-result-object v1
invoke-virtual {v1}, Landroid/content/res/Configuration;->getLocales()Landroid/os/LocaleList;
move-result-object v1
const/4 v2, 0x0
invoke-virtual {v1, v2}, Landroid/os/LocaleList;->get(I)Ljava/util/Locale;
move-result-object v1
goto :goto_2c
.line 3
:cond_1e
invoke-static {}, Lcom/sandboxol/common/base/app/BaseApplication;->getContext()Landroid/content/Context;
move-result-object v1
invoke-virtual {v1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v1
invoke-virtual {v1}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;
move-result-object v1
iget-object v1, v1, Landroid/content/res/Configuration;->locale:Ljava/util/Locale;
:goto_2c
if-eqz v1, :cond_3d
.line 4
invoke-virtual {v1}, Ljava/util/Locale;->getLanguage()Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v2
if-eqz v2, :cond_39
goto :goto_3d
.line 5
:cond_39
invoke-virtual {v1}, Ljava/util/Locale;->getLanguage()Ljava/lang/String;
move-result-object v0
:try_end_3d
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_3d} :catch_3d
:catch_3d
:cond_3d
:goto_3d
return-object v0
.end method
.method public static getUtcTime()Ljava/lang/String;
.registers 2
.line 1
new-instance v0, Ljava/text/SimpleDateFormat;
const-string/jumbo v1, "yy/MM/dd"
invoke-direct {v0, v1}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;)V
const-string v1, "gmt"
.line 2
invoke-static {v1}, Ljava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/text/SimpleDateFormat;->setTimeZone(Ljava/util/TimeZone;)V
.line 3
new-instance v1, Ljava/util/Date;
invoke-direct {v1}, Ljava/util/Date;-><init>()V
invoke-virtual {v0, v1}, Ljava/text/SimpleDateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static getViewBitmap(Landroid/view/View;)Landroid/graphics/Bitmap;
.registers 4
.line 1
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v0
.line 2
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v1
if-eqz v0, :cond_1e
if-nez v1, :cond_d
goto :goto_1e
.line 3
:cond_d
sget-object v2, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
invoke-static {v0, v1, v2}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
const/4 v0, 0x1
.line 4
invoke-virtual {p0, v0}, Landroid/view/View;->setDrawingCacheEnabled(Z)V
.line 5
invoke-virtual {p0}, Landroid/view/View;->buildDrawingCache()V
.line 6
invoke-virtual {p0}, Landroid/view/View;->getDrawingCache()Landroid/graphics/Bitmap;
move-result-object p0
return-object p0
:cond_1e
:goto_1e
const/4 p0, 0x0
return-object p0
.end method
.method public static hasWriteExternalStorage(Landroid/content/Context;)Z
.registers 2
const-string v0, "android.permission.WRITE_EXTERNAL_STORAGE"
.line 1
invoke-static {p0, v0}, Landroidx/core/content/b;->a(Landroid/content/Context;Ljava/lang/String;)I
move-result p0
if-nez p0, :cond_a
const/4 p0, 0x1
goto :goto_b
:cond_a
const/4 p0, 0x0
:goto_b
return p0
.end method
.method public static hideSoftInputFromWindow(Landroid/content/Context;)V
.registers 3
.line 1
move-object v0, p0
check-cast v0, Landroid/app/Activity;
invoke-virtual {v0}, Landroid/app/Activity;->getCurrentFocus()Landroid/view/View;
move-result-object v1
if-eqz v1, :cond_27
invoke-virtual {v0}, Landroid/app/Activity;->getCurrentFocus()Landroid/view/View;
move-result-object v1
invoke-virtual {v1}, Landroid/view/View;->getWindowToken()Landroid/os/IBinder;
move-result-object v1
if-eqz v1, :cond_27
const-string v1, "input_method"
.line 2
invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Landroid/view/inputmethod/InputMethodManager;
invoke-virtual {v0}, Landroid/app/Activity;->getCurrentFocus()Landroid/view/View;
move-result-object v0
invoke-virtual {v0}, Landroid/view/View;->getWindowToken()Landroid/os/IBinder;
move-result-object v0
const/4 v1, 0x0
invoke-virtual {p0, v0, v1}, Landroid/view/inputmethod/InputMethodManager;->hideSoftInputFromWindow(Landroid/os/IBinder;I)Z
:cond_27
return-void
.end method
.method public static inputStream2String(Ljava/io/InputStream;)Ljava/lang/String;
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
new-instance v0, Ljava/io/ByteArrayOutputStream;
invoke-direct {v0}, Ljava/io/ByteArrayOutputStream;-><init>()V
.line 2
:goto_5
invoke-virtual {p0}, Ljava/io/InputStream;->read()I
move-result v1
const/4 v2, -0x1
if-eq v1, v2, :cond_10
.line 3
invoke-virtual {v0, v1}, Ljava/io/ByteArrayOutputStream;->write(I)V
goto :goto_5
.line 4
:cond_10
invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static isAppInstalled(Landroid/content/Context;Ljava/lang/String;)Z
.registers 5
const/4 v0, 0x0
if-eqz p1, :cond_35
.line 1
invoke-virtual {p1}, Ljava/lang/String;->isEmpty()Z
move-result v1
if-eqz v1, :cond_a
goto :goto_35
.line 2
:cond_a
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object p0
.line 3
invoke-virtual {p0, v0}, Landroid/content/pm/PackageManager;->getInstalledPackages(I)Ljava/util/List;
move-result-object p0
if-eqz p0, :cond_35
.line 4
invoke-interface {p0}, Ljava/util/List;->isEmpty()Z
move-result v1
if-eqz v1, :cond_1b
goto :goto_35
:cond_1b
const/4 v1, 0x0
.line 5
:goto_1c
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v2
if-ge v1, v2, :cond_35
.line 6
invoke-interface {p0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroid/content/pm/PackageInfo;
iget-object v2, v2, Landroid/content/pm/PackageInfo;->packageName:Ljava/lang/String;
invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_32
const/4 p0, 0x1
return p0
:cond_32
add-int/lit8 v1, v1, 0x1
goto :goto_1c
:cond_35
:goto_35
return v0
.end method
.method public static isAvilible(Landroid/content/Context;Ljava/lang/String;)Z
.registers 5
.line 1
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object p0
const/4 v0, 0x0
.line 2
invoke-virtual {p0, v0}, Landroid/content/pm/PackageManager;->getInstalledPackages(I)Ljava/util/List;
move-result-object p0
.line 3
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
if-eqz p0, :cond_24
.line 4
:goto_10
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v2
if-ge v0, v2, :cond_24
.line 5
invoke-interface {p0, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroid/content/pm/PackageInfo;
iget-object v2, v2, Landroid/content/pm/PackageInfo;->packageName:Ljava/lang/String;
.line 6
invoke-interface {v1, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
add-int/lit8 v0, v0, 0x1
goto :goto_10
.line 7
:cond_24
invoke-interface {v1, p1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result p0
return p0
.end method
.method public static isEmail(Ljava/lang/String;)Z
.registers 2
if-nez p0, :cond_4
const/4 p0, 0x0
return p0
:cond_4
const-string v0, "[\\w!#$%&\'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&\'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?"
.line 1
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
.line 2
invoke-virtual {v0, p0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object p0
.line 3
invoke-virtual {p0}, Ljava/util/regex/Matcher;->matches()Z
move-result p0
return p0
.end method
.method public static isNetworkConnected(Landroid/content/Context;)Z
.registers 2
if-eqz p0, :cond_15
const-string v0, "connectivity"
.line 1
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Landroid/net/ConnectivityManager;
.line 2
invoke-virtual {p0}, Landroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
move-result-object p0
if-eqz p0, :cond_15
.line 3
invoke-virtual {p0}, Landroid/net/NetworkInfo;->isAvailable()Z
move-result p0
return p0
:cond_15
const/4 p0, 0x0
return p0
.end method
.method public static isTablet(Landroid/content/Context;)Z
.registers 3
const/4 v0, 0x0
.line 1
:try_start_1
invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p0
.line 2
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p0
invoke-virtual {p0}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;
move-result-object p0
iget p0, p0, Landroid/content/res/Configuration;->screenLayout:I
:try_end_f
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_f} :catch_15
and-int/lit8 p0, p0, 0xf
const/4 v1, 0x3
if-lt p0, v1, :cond_15
const/4 v0, 0x1
:catch_15
:cond_15
return v0
.end method
.method public static readUuidOrCreate(Landroid/content/Context;Ljava/lang/String;Z)Ljava/lang/String;
.registers 6
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {p0}, Lcom/sandboxol/common/utils/CommonHelper;->getSDCardPath(Landroid/content/Context;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "/"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
.line 2
new-instance v0, Ljava/io/File;
invoke-direct {v0, p1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 3
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result p1
const-string v1, ""
if-nez p1, :cond_2d
if-eqz p2, :cond_2c
.line 4
invoke-static {p0}, Lcom/sandboxol/common/utils/CommonHelper;->createUUId(Landroid/content/Context;)Ljava/lang/String;
move-result-object p0
return-object p0
:cond_2c
return-object v1
:cond_2d
const/4 p0, 0x0
.line 5
:try_start_2e
new-instance p1, Ljava/io/BufferedReader;
new-instance p2, Ljava/io/FileReader;
invoke-direct {p2, v0}, Ljava/io/FileReader;-><init>(Ljava/io/File;)V
invoke-direct {p1, p2}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V
:try_end_38
.catch Ljava/io/IOException; {:try_start_2e .. :try_end_38} :catch_58
.catchall {:try_start_2e .. :try_end_38} :catchall_56
.line 6
:goto_38
:try_start_38
invoke-virtual {p1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
move-result-object p0
if-eqz p0, :cond_40
move-object v1, p0
goto :goto_38
.line 7
:cond_40
invoke-virtual {p1}, Ljava/io/BufferedReader;->close()V
:try_end_43
.catch Ljava/io/IOException; {:try_start_38 .. :try_end_43} :catch_51
.catchall {:try_start_38 .. :try_end_43} :catchall_4c
.line 8
:try_start_43
invoke-virtual {p1}, Ljava/io/BufferedReader;->close()V
:try_end_46
.catch Ljava/io/IOException; {:try_start_43 .. :try_end_46} :catch_47
goto :goto_61
:catch_47
move-exception p0
.line 9
invoke-virtual {p0}, Ljava/io/IOException;->printStackTrace()V
goto :goto_61
:catchall_4c
move-exception p0
move-object v2, p1
move-object p1, p0
move-object p0, v2
goto :goto_62
:catch_51
move-exception p0
move-object v2, p1
move-object p1, p0
move-object p0, v2
goto :goto_59
:catchall_56
move-exception p1
goto :goto_62
:catch_58
move-exception p1
.line 10
:goto_59
:try_start_59
invoke-virtual {p1}, Ljava/io/IOException;->printStackTrace()V
:try_end_5c
.catchall {:try_start_59 .. :try_end_5c} :catchall_56
if-eqz p0, :cond_61
.line 11
:try_start_5e
invoke-virtual {p0}, Ljava/io/BufferedReader;->close()V
:try_end_61
.catch Ljava/io/IOException; {:try_start_5e .. :try_end_61} :catch_47
:cond_61
:goto_61
return-object v1
:goto_62
if-eqz p0, :cond_6c
:try_start_64
invoke-virtual {p0}, Ljava/io/BufferedReader;->close()V
:try_end_67
.catch Ljava/io/IOException; {:try_start_64 .. :try_end_67} :catch_68
goto :goto_6c
:catch_68
move-exception p0
.line 12
invoke-virtual {p0}, Ljava/io/IOException;->printStackTrace()V
.line 13
:cond_6c
:goto_6c
goto :goto_6e
:goto_6d
throw p1
:goto_6e
goto :goto_6d
.end method
.method public static renameFile(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.registers 6
.line 1
invoke-virtual {p1, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_5f
.line 2
new-instance v0, Ljava/io/File;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "/"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 3
new-instance p1, Ljava/io/File;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p2}, 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-direct {p1, p0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 4
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result p0
if-nez p0, :cond_3d
return-void
.line 5
:cond_3d
invoke-virtual {p1}, Ljava/io/File;->exists()Z
move-result p0
if-eqz p0, :cond_5b
.line 6
sget-object p0, Ljava/lang/System;->out:Ljava/io/PrintStream;
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string/jumbo p2, "\u5df2\u7ecf\u5b58\u5728\uff01"
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-virtual {p0, p1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
goto :goto_67
.line 7
:cond_5b
invoke-virtual {v0, p1}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
goto :goto_67
.line 8
:cond_5f
sget-object p0, Ljava/lang/System;->out:Ljava/io/PrintStream;
const-string/jumbo p1, "\u65b0\u6587\u4ef6\u540d\u548c\u65e7\u6587\u4ef6\u540d\u76f8\u540c..."
invoke-virtual {p0, p1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
:goto_67
return-void
.end method
.method public static requestWriteStorage(Landroid/app/Activity;)V
.registers 5
const-string v0, "android.permission.WRITE_EXTERNAL_STORAGE"
.line 1
invoke-static {p0, v0}, Landroidx/core/content/b;->a(Landroid/content/Context;Ljava/lang/String;)I
move-result v1
if-eqz v1, :cond_11
const/4 v1, 0x1
.line 2
new-array v2, v1, [Ljava/lang/String;
const/4 v3, 0x0
aput-object v0, v2, v3
invoke-static {p0, v2, v1}, Landroidx/core/app/ActivityCompat;->a(Landroid/app/Activity;[Ljava/lang/String;I)V
:cond_11
return-void
.end method
.method public static saveBitmap(Landroid/content/Context;Landroid/graphics/Bitmap;Ljava/lang/String;Lcom/sandboxol/common/utils/CommonHelper$SaveCallback;)V
.registers 9
.line 1
invoke-static {}, Landroid/os/Environment;->getExternalStorageState()Ljava/lang/String;
move-result-object v0
const-string v1, "mounted"
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
const-string/jumbo v1, "xxx"
if-eqz v0, :cond_90
invoke-virtual {p1}, Landroid/graphics/Bitmap;->isRecycled()Z
move-result v0
if-nez v0, :cond_90
.line 2
:try_start_15
new-instance v0, Ljava/io/File;
invoke-static {}, Lcom/sandboxol/common/utils/CommonHelper;->getExternalStorageDirectory()Ljava/lang/String;
move-result-object v2
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "DCIM/"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p2, ".png"
invoke-virtual {v3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {v0, v2, p2}, Ljava/io/File;-><init>(Ljava/lang/String;Ljava/lang/String;)V
.line 3
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result p2
if-nez p2, :cond_44
.line 4
invoke-virtual {v0}, Ljava/io/File;->getParentFile()Ljava/io/File;
move-result-object p2
invoke-virtual {p2}, Ljava/io/File;->mkdirs()Z
.line 5
invoke-virtual {v0}, Ljava/io/File;->createNewFile()Z
.line 6
:cond_44
new-instance p2, Ljava/io/FileOutputStream;
invoke-direct {p2, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
.line 7
sget-object v2, Landroid/graphics/Bitmap$CompressFormat;->PNG:Landroid/graphics/Bitmap$CompressFormat;
const/16 v3, 0x64
invoke-virtual {p1, v2, v3, p2}, Landroid/graphics/Bitmap;->compress(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z
.line 8
invoke-virtual {p2}, Ljava/io/FileOutputStream;->flush()V
.line 9
invoke-virtual {p2}, Ljava/io/FileOutputStream;->close()V
if-eqz p3, :cond_5f
.line 10
invoke-virtual {v0}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object p1
invoke-interface {p3, p1}, Lcom/sandboxol/common/utils/CommonHelper$SaveCallback;->onSucceed(Ljava/lang/String;)V
.line 11
:cond_5f
new-instance p1, Landroid/content/Intent;
const-string p2, "android.intent.action.MEDIA_SCANNER_SCAN_FILE"
invoke-static {v0}, Landroid/net/Uri;->fromFile(Ljava/io/File;)Landroid/net/Uri;
move-result-object p3
invoke-direct {p1, p2, p3}, Landroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
invoke-virtual {p0, p1}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
:try_end_6d
.catch Ljava/lang/Exception; {:try_start_15 .. :try_end_6d} :catch_86
.line 12
new-instance p0, Ljava/lang/StringBuilder;
invoke-direct {p0}, Ljava/lang/StringBuilder;-><init>()V
const-string p1, "saveBitmap: "
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object p1
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-static {v1, p0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
return-void
:catch_86
move-exception p0
.line 13
invoke-virtual {p0}, Ljava/lang/Exception;->printStackTrace()V
const-string p0, "saveBitmap: 2return"
.line 14
invoke-static {v1, p0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
return-void
:cond_90
const-string p0, "saveBitmap: 1return"
.line 15
invoke-static {v1, p0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
return-void
.end method
.method public static screenPic(Landroid/content/Context;Ljava/lang/String;Landroid/view/View;)V
.registers 5
.line 1
invoke-static {p2}, Lcom/sandboxol/common/utils/CommonHelper;->getViewBitmap(Landroid/view/View;)Landroid/graphics/Bitmap;
move-result-object p2
if-eqz p2, :cond_29
.line 2
invoke-static {}, Landroid/os/Environment;->getExternalStorageState()Ljava/lang/String;
move-result-object v0
const-string v1, "mounted"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_24
.line 3
invoke-virtual {p0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p0
sget v1, Lcom/sandboxol/common/R$string;->app_name:I
invoke-virtual {p0, v1}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
move-result-object p0
invoke-static {v0, p2, p1, p0}, Landroid/provider/MediaStore$Images$Media;->insertImage(Landroid/content/ContentResolver;Landroid/graphics/Bitmap;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
goto :goto_29
.line 4
:cond_24
sget p1, Lcom/sandboxol/common/R$string;->no_sdcard:I
invoke-static {p0, p1}, Lcom/sandboxol/common/utils/ToastUtils;->showShortToast(Landroid/content/Context;I)V
:cond_29
:goto_29
return-void
.end method
.method public static showSoftInputFromWindow(Landroid/app/Activity;Landroid/widget/EditText;)V
.registers 3
const/4 v0, 0x1
.line 1
invoke-virtual {p1, v0}, Landroid/widget/EditText;->setFocusable(Z)V
.line 2
invoke-virtual {p1, v0}, Landroid/widget/EditText;->setFocusableInTouchMode(Z)V
.line 3
invoke-virtual {p1}, Landroid/widget/EditText;->requestFocus()Z
const-string v0, "input_method"
.line 4
invoke-virtual {p0, v0}, Landroid/app/Activity;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Landroid/view/inputmethod/InputMethodManager;
const/4 v0, 0x2
.line 5
invoke-virtual {p0, p1, v0}, Landroid/view/inputmethod/InputMethodManager;->showSoftInput(Landroid/view/View;I)Z
return-void
.end method
.method public static stringFilter2(Ljava/lang/String;)Ljava/lang/String;
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/util/regex/PatternSyntaxException;
}
.end annotation
const-string v0, "[^0-9\u4e00-\u9fa5]"
.line 1
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
.line 2
invoke-virtual {v0, p0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object p0
const-string v0, ""
.line 3
invoke-virtual {p0, v0}, Ljava/util/regex/Matcher;->replaceAll(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static updateResources(Landroid/content/Context;)Landroid/content/Context;
.registers 6
.annotation build Landroid/annotation/TargetApi;
value = 0x18
.end annotation
.line 1
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
.line 2
new-instance v1, Ljava/util/Locale;
invoke-static {}, Lcom/sandboxol/common/utils/CommonHelper;->getLanguage()Ljava/lang/String;
move-result-object v2
const-string v3, "_"
invoke-virtual {v2, v3}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v2
const/4 v3, 0x0
aget-object v2, v2, v3
invoke-direct {v1, v2}, Ljava/util/Locale;-><init>(Ljava/lang/String;)V
.line 3
invoke-virtual {v0}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;
move-result-object v0
.line 4
invoke-virtual {v0, v1}, Landroid/content/res/Configuration;->setLocale(Ljava/util/Locale;)V
.line 5
new-instance v2, Landroid/os/LocaleList;
const/4 v4, 0x1
new-array v4, v4, [Ljava/util/Locale;
aput-object v1, v4, v3
invoke-direct {v2, v4}, Landroid/os/LocaleList;-><init>([Ljava/util/Locale;)V
invoke-virtual {v0, v2}, Landroid/content/res/Configuration;->setLocales(Landroid/os/LocaleList;)V
.line 6
invoke-virtual {p0, v0}, Landroid/content/Context;->createConfigurationContext(Landroid/content/res/Configuration;)Landroid/content/Context;
move-result-object p0
return-object p0
.end method
.method public static useAppLanguage(Landroid/content/Context;)V
.registers 7
.line 1
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p0
.line 2
invoke-virtual {p0}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;
move-result-object v0
.line 3
invoke-virtual {p0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v1
.line 4
invoke-static {}, Lcom/sandboxol/common/utils/CommonHelper;->getLanguage()Ljava/lang/String;
move-result-object v2
const-string v3, "_"
.line 5
invoke-virtual {v2, v3}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v4
array-length v4, v4
if-lez v4, :cond_21
.line 6
invoke-virtual {v2, v3}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v2
const/4 v3, 0x0
aget-object v2, v2, v3
goto :goto_23
:cond_21
const-string v2, "en"
.line 7
:goto_23
new-instance v3, Ljava/util/Locale;
invoke-direct {v3, v2}, Ljava/util/Locale;-><init>(Ljava/lang/String;)V
.line 8
sget v2, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v4, 0x18
const/16 v5, 0x11
if-gt v2, v4, :cond_3b
.line 9
iput-object v3, v0, Landroid/content/res/Configuration;->locale:Ljava/util/Locale;
if-lt v2, v5, :cond_37
.line 10
invoke-virtual {v0, v3}, Landroid/content/res/Configuration;->setLayoutDirection(Ljava/util/Locale;)V
.line 11
:cond_37
invoke-virtual {p0, v0, v1}, Landroid/content/res/Resources;->updateConfiguration(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;)V
goto :goto_46
:cond_3b
if-lt v2, v5, :cond_41
.line 12
invoke-virtual {v0, v3}, Landroid/content/res/Configuration;->setLocale(Ljava/util/Locale;)V
goto :goto_43
.line 13
:cond_41
iput-object v3, v0, Landroid/content/res/Configuration;->locale:Ljava/util/Locale;
.line 14
:goto_43
invoke-virtual {p0, v0, v1}, Landroid/content/res/Resources;->updateConfiguration(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;)V
:goto_46
return-void
.end method
.method public static writeUuid(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
.registers 7
const-string v0, "android.device.id.type"
.line 1
:try_start_2
new-instance v1, Ljava/io/File;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {p0}, Lcom/sandboxol/common/utils/CommonHelper;->getSDCardPath(Landroid/content/Context;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, "/"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {v1, p2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 2
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result p2
if-nez p2, :cond_34
.line 3
new-instance p2, Ljava/io/File;
invoke-virtual {v1}, Ljava/io/File;->getParent()Ljava/lang/String;
move-result-object v2
invoke-direct {p2, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 4
invoke-virtual {p2}, Ljava/io/File;->mkdirs()Z
.line 5
invoke-virtual {v1}, Ljava/io/File;->createNewFile()Z
.line 6
:cond_34
new-instance p2, Ljava/io/FileOutputStream;
invoke-direct {p2, v1}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
.line 7
invoke-virtual {p1}, Ljava/lang/String;->getBytes()[B
move-result-object p1
invoke-virtual {p2, p1}, Ljava/io/FileOutputStream;->write([B)V
.line 8
invoke-virtual {p2}, Ljava/io/FileOutputStream;->close()V
const-string/jumbo p1, "uuId"
.line 9
invoke-static {p0, v0, p1}, Lcom/sandboxol/common/interfaces/ReportDataAdapter;->onEvent(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
:try_end_49
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_49} :catch_4a
goto :goto_54
:catch_4a
move-exception p1
.line 10
invoke-virtual {p1}, Ljava/lang/Exception;->printStackTrace()V
const-string/jumbo p1, "uuId_cache"
.line 11
invoke-static {p0, v0, p1}, Lcom/sandboxol/common/interfaces/ReportDataAdapter;->onEvent(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
:goto_54
return-void
.end method