a.smali
.class public Lcom/pgl/sys/ces/a/a;
.super Ljava/lang/Object;
# direct methods
.method public static a()Landroid/app/Activity;
.registers 6
.annotation build Landroid/annotation/SuppressLint;
value = {
"PrivateApi"
}
.end annotation
const/4 v1, 0x0
const/4 v5, 0x1
:try_start_2
const-string v0, "android.app.ActivityThread"
invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
const-string v2, "currentActivityThread"
const/4 v3, 0x0
new-array v3, v3, [Ljava/lang/Class;
invoke-virtual {v0, v2, v3}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v2
const/4 v3, 0x0
const/4 v4, 0x0
new-array v4, v4, [Ljava/lang/Object;
invoke-virtual {v2, v3, v4}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
if-nez v2, :cond_21
sget v3, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v4, 0x11
if-gt v3, v4, :cond_21
:cond_21
const-string v3, "mActivities"
invoke-virtual {v0, v3}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
const/4 v3, 0x1
invoke-virtual {v0, v3}, Ljava/lang/reflect/Field;->setAccessible(Z)V
sget v3, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v4, 0x13
if-ge v3, v4, :cond_3f
invoke-virtual {v0, v2}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/HashMap;
:goto_37
invoke-interface {v0}, Ljava/util/Map;->size()I
move-result v2
if-ge v2, v5, :cond_46
move-object v0, v1
:goto_3e
return-object v0
:cond_3f
invoke-virtual {v0, v2}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/util/ArrayMap;
goto :goto_37
:cond_46
invoke-interface {v0}, Ljava/util/Map;->values()Ljava/util/Collection;
move-result-object v0
invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v0
:cond_4e
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_81
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v3
const-string v4, "paused"
invoke-virtual {v3, v4}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v4
const/4 v5, 0x1
invoke-virtual {v4, v5}, Ljava/lang/reflect/Field;->setAccessible(Z)V
invoke-virtual {v4, v2}, Ljava/lang/reflect/Field;->getBoolean(Ljava/lang/Object;)Z
move-result v4
if-nez v4, :cond_4e
const-string v0, "activity"
invoke-virtual {v3, v0}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
const/4 v3, 0x1
invoke-virtual {v0, v3}, Ljava/lang/reflect/Field;->setAccessible(Z)V
invoke-virtual {v0, v2}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/Activity;
:try_end_7c
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_7c} :catch_7d
goto :goto_3e
:catch_7d
move-exception v0
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
:cond_81
move-object v0, v1
goto :goto_3e
.end method
.method public static a(Landroid/content/Context;)Ljava/lang/String;
.registers 3
const-string v0, ""
:try_start_2
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
:try_end_5
.catch Ljava/lang/Throwable; {:try_start_2 .. :try_end_5} :catch_10
move-result-object v0
:goto_6
if-nez v0, :cond_b
const-string v0, ""
:goto_a
return-object v0
:cond_b
invoke-virtual {v0}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v0
goto :goto_a
:catch_10
move-exception v1
goto :goto_6
.end method
.method public static b(Landroid/content/Context;)I
.registers 5
const/4 v0, 0x0
:try_start_1
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v1
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v2
const/4 v3, 0x0
invoke-virtual {v1, v2, v3}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v1
iget v0, v1, Landroid/content/pm/PackageInfo;->versionCode:I
:try_end_10
.catch Ljava/lang/Throwable; {:try_start_1 .. :try_end_10} :catch_11
:goto_10
return v0
:catch_11
move-exception v1
goto :goto_10
.end method
.method public static b()Landroid/app/Application;
.registers 4
.annotation build Landroid/annotation/SuppressLint;
value = {
"PrivateApi"
}
.end annotation
const/4 v1, 0x0
:try_start_1
const-string v0, "android.app.ActivityThread"
invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
const-string v2, "currentApplication"
const/4 v3, 0x0
new-array v3, v3, [Ljava/lang/Class;
invoke-virtual {v0, v2, v3}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v2
const/4 v3, 0x0
const/4 v0, 0x0
check-cast v0, [Ljava/lang/Object;
invoke-virtual {v2, v3, v0}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/Application;
:try_end_1a
.catch Ljava/lang/Throwable; {:try_start_1 .. :try_end_1a} :catch_1b
:goto_1a
return-object v0
:catch_1b
move-exception v0
move-object v0, v1
goto :goto_1a
.end method
.method public static c()Ljava/lang/String;
.registers 2
const/4 v0, 0x0
:try_start_1
invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
move-result-object v1
invoke-virtual {v1}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
:try_end_8
.catch Ljava/lang/Throwable; {:try_start_1 .. :try_end_8} :catch_13
move-result-object v0
:goto_9
if-nez v0, :cond_e
const-string v0, ""
:goto_d
return-object v0
:cond_e
invoke-virtual {v0}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v0
goto :goto_d
:catch_13
move-exception v1
goto :goto_9
.end method
.method public static c(Landroid/content/Context;)Ljava/lang/String;
.registers 3
const-string v0, ""
:try_start_2
invoke-virtual {p0}, Landroid/content/Context;->getFilesDir()Ljava/io/File;
move-result-object v1
invoke-virtual {v1}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
:try_end_9
.catch Ljava/lang/Throwable; {:try_start_2 .. :try_end_9} :catch_14
move-result-object v0
:goto_a
if-nez v0, :cond_f
const-string v0, ""
:goto_e
return-object v0
:cond_f
invoke-virtual {v0}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v0
goto :goto_e
:catch_14
move-exception v1
goto :goto_a
.end method
.method public static d()Ljava/lang/String;
.registers 2
const/4 v0, 0x0
:try_start_1
invoke-static {}, Landroid/os/Environment;->getDataDirectory()Ljava/io/File;
move-result-object v1
invoke-virtual {v1}, Ljava/io/File;->getPath()Ljava/lang/String;
:try_end_8
.catch Ljava/lang/Throwable; {:try_start_1 .. :try_end_8} :catch_13
move-result-object v0
:goto_9
if-nez v0, :cond_e
const-string v0, ""
:goto_d
return-object v0
:cond_e
invoke-virtual {v0}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v0
goto :goto_d
:catch_13
move-exception v1
goto :goto_9
.end method
.method public static d(Landroid/content/Context;)Ljava/lang/String;
.registers 3
const-string v0, ""
:try_start_2
invoke-virtual {p0}, Landroid/content/Context;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
move-result-object v1
iget-object v0, v1, Landroid/content/pm/ApplicationInfo;->sourceDir:Ljava/lang/String;
:try_end_8
.catch Ljava/lang/Throwable; {:try_start_2 .. :try_end_8} :catch_12
:goto_8
if-nez v0, :cond_d
const-string v0, ""
:goto_c
return-object v0
:cond_d
invoke-virtual {v0}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v0
goto :goto_c
:catch_12
move-exception v1
goto :goto_8
.end method