WrapperProxyApplication.smali
.class public abstract Lcom/wrapper/proxyapplication/WrapperProxyApplication;
.super Landroid/app/Application;
.source "WrapperProxyApplication.java"
# static fields
.field static baseContext:Landroid/content/Context; = null
.field static className:Ljava/lang/String; = "com.texustek.speedplay.ui.BaseApplication"
.field static mLoader:Ljava/lang/ClassLoader; = null
.field static shellApp:Landroid/app/Application; = null
.field static tinkerApp:Ljava/lang/String; = "tinker not support"
# direct methods
.method static constructor <clinit>()V
.registers 0
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 18
invoke-direct {p0}, Landroid/app/Application;-><init>()V
return-void
.end method
.method private declared-synchronized Fixappname()Z
.registers 3
monitor-enter p0
.line 41
:try_start_1
sget-object v0, Lcom/wrapper/proxyapplication/WrapperProxyApplication;->className:Ljava/lang/String;
const-string v1, "."
invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_23
.line 42
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-super {p0}, Landroid/app/Application;->getPackageName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v1, Lcom/wrapper/proxyapplication/WrapperProxyApplication;->className:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/wrapper/proxyapplication/WrapperProxyApplication;->className:Ljava/lang/String;
goto :goto_49
.line 44
:cond_23
sget-object v0, Lcom/wrapper/proxyapplication/WrapperProxyApplication;->className:Ljava/lang/String;
const-string v1, "."
invoke-virtual {v0, v1}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
move-result v0
if-gez v0, :cond_49
.line 45
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-super {p0}, Landroid/app/Application;->getPackageName()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;
sget-object v1, Lcom/wrapper/proxyapplication/WrapperProxyApplication;->className:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/wrapper/proxyapplication/WrapperProxyApplication;->className:Ljava/lang/String;
:try_end_49
.catchall {:try_start_1 .. :try_end_49} :catchall_4c
:cond_49
:goto_49
const/4 v0, 0x1
.line 48
monitor-exit p0
return v0
:catchall_4c
move-exception v0
monitor-exit p0
throw v0
.end method
.method public static fixAndroid(Landroid/content/Context;Landroid/app/Application;)V
.registers 4
.line 417
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x1c
if-ne v0, v1, :cond_15
.line 419
:try_start_6
invoke-virtual {p0}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object p0
.line 422
invoke-static {p0, p1}, Lcom/wrapper/proxyapplication/AndroidNClassLoader;->inject(Ljava/lang/ClassLoader;Landroid/app/Application;)Ljava/lang/ClassLoader;
move-result-object p0
sput-object p0, Lcom/wrapper/proxyapplication/WrapperProxyApplication;->mLoader:Ljava/lang/ClassLoader;
:try_end_10
.catchall {:try_start_6 .. :try_end_10} :catchall_11
goto :goto_15
:catchall_11
move-exception p0
.line 426
invoke-virtual {p0}, Ljava/lang/Throwable;->printStackTrace()V
:cond_15
:goto_15
return-void
.end method
.method private static getVersionCode(Landroid/content/Context;)Ljava/lang/String;
.registers 3
.line 433
:try_start_0
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/4 v1, 0x0
invoke-virtual {v0, p0, v1}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object p0
iget-object p0, p0, Landroid/content/pm/PackageInfo;->versionName:Ljava/lang/String;
:try_end_f
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_f} :catch_10
return-object p0
:catch_10
move-exception p0
.line 436
invoke-virtual {p0}, Landroid/content/pm/PackageManager$NameNotFoundException;->printStackTrace()V
const-string p0, "0"
return-object p0
.end method
.method static getWrapperProxyAppBaseContext()Landroid/content/Context;
.registers 1
.line 35
sget-object v0, Lcom/wrapper/proxyapplication/WrapperProxyApplication;->baseContext:Landroid/content/Context;
return-object v0
.end method
# virtual methods
.method native Ooo0ooO0oO()V
.end method
.method protected attachBaseContext(Landroid/content/Context;)V
.registers 3
.line 443
invoke-super {p0, p1}, Landroid/app/Application;->attachBaseContext(Landroid/content/Context;)V
.line 444
invoke-virtual {p0}, Lcom/wrapper/proxyapplication/WrapperProxyApplication;->getBaseContext()Landroid/content/Context;
move-result-object v0
sput-object v0, Lcom/wrapper/proxyapplication/WrapperProxyApplication;->baseContext:Landroid/content/Context;
.line 445
sget-object v0, Lcom/wrapper/proxyapplication/WrapperProxyApplication;->shellApp:Landroid/app/Application;
if-nez v0, :cond_f
.line 446
sput-object p0, Lcom/wrapper/proxyapplication/WrapperProxyApplication;->shellApp:Landroid/app/Application;
.line 458
:cond_f
invoke-direct {p0}, Lcom/wrapper/proxyapplication/WrapperProxyApplication;->Fixappname()Z
.line 459
invoke-virtual {p0, p1}, Lcom/wrapper/proxyapplication/WrapperProxyApplication;->initProxyApplication(Landroid/content/Context;)V
return-void
.end method
.method protected abstract initProxyApplication(Landroid/content/Context;)V
.end method
.method public onCreate()V
.registers 1
.line 465
invoke-super {p0}, Landroid/app/Application;->onCreate()V
.line 466
invoke-virtual {p0}, Lcom/wrapper/proxyapplication/WrapperProxyApplication;->Ooo0ooO0oO()V
return-void
.end method