InstrumentationHook.smali
.class public Lorg/acdd/runtime/InstrumentationHook;
.super Landroid/app/Instrumentation;
.source "InstrumentationHook.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lorg/acdd/runtime/InstrumentationHook$ExecStartFrgmentImpl_JELLY_BEAN;,
Lorg/acdd/runtime/InstrumentationHook$ExecStartFrgmentImpl_ICE_CREAM_SANDWICH;,
Lorg/acdd/runtime/InstrumentationHook$ExecStartActivityCallbackImpl_JELLY_BEAN;,
Lorg/acdd/runtime/InstrumentationHook$ExecStartActivityCallbackImpl;,
Lorg/acdd/runtime/InstrumentationHook$ExecStartActivityCallback;
}
.end annotation
# static fields
.field private static final LOLLIPOP_MR1:I = 0x16
.field static final log:Lorg/acdd/log/Logger;
# instance fields
.field private context:Landroid/content/Context;
.field private mBase:Landroid/app/Instrumentation;
.field private mExecStartActivity:Lorg/acdd/hack/Hack$HackedMethod;
.field private mExecStartActivityFragment:Lorg/acdd/hack/Hack$HackedMethod;
.field private mInstrumentationInvoke:Lorg/acdd/hack/Hack$HackedClass;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lorg/acdd/hack/Hack$HackedClass",
"<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 246
invoke-static {}, Lorg/acdd/log/LoggerFactory;->getInstance()Lorg/acdd/log/Logger;
move-result-object v0
sput-object v0, Lorg/acdd/runtime/InstrumentationHook;->log:Lorg/acdd/log/Logger;
.line 247
return-void
.end method
.method public constructor <init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
.registers 8
.prologue
.line 255
invoke-direct {p0}, Landroid/app/Instrumentation;-><init>()V
.line 256
iput-object p2, p0, Lorg/acdd/runtime/InstrumentationHook;->context:Landroid/content/Context;
.line 257
iput-object p1, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
.line 260
:try_start_7
const-string v0, "android.app.Instrumentation"
invoke-static {v0}, Lorg/acdd/hack/Hack;->into(Ljava/lang/String;)Lorg/acdd/hack/Hack$HackedClass;
move-result-object v0
iput-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mInstrumentationInvoke:Lorg/acdd/hack/Hack$HackedClass;
.line 261
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0xf
if-le v0, v1, :cond_53
.line 262
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mInstrumentationInvoke:Lorg/acdd/hack/Hack$HackedClass;
const-string v1, "execStartActivity"
const/4 v2, 0x7
new-array v2, v2, [Ljava/lang/Class;
const/4 v3, 0x0
const-class v4, Landroid/content/Context;
aput-object v4, v2, v3
const/4 v3, 0x1
const-class v4, Landroid/os/IBinder;
aput-object v4, v2, v3
const/4 v3, 0x2
const-class v4, Landroid/os/IBinder;
aput-object v4, v2, v3
const/4 v3, 0x3
const-class v4, Landroid/app/Activity;
aput-object v4, v2, v3
const/4 v3, 0x4
const-class v4, Landroid/content/Intent;
aput-object v4, v2, v3
const/4 v3, 0x5
sget-object v4, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
aput-object v4, v2, v3
const/4 v3, 0x6
const-class v4, Landroid/os/Bundle;
aput-object v4, v2, v3
invoke-virtual {v0, v1, v2}, Lorg/acdd/hack/Hack$HackedClass;->method(Ljava/lang/String;[Ljava/lang/Class;)Lorg/acdd/hack/Hack$HackedMethod;
move-result-object v0
iput-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mExecStartActivity:Lorg/acdd/hack/Hack$HackedMethod;
.line 268
:goto_45
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x16
if-le v0, v1, :cond_84
.line 269
sget-object v0, Lorg/acdd/runtime/InstrumentationHook;->log:Lorg/acdd/log/Logger;
const-string v1, "current sdk > LOLLIPOP,skip hack"
invoke-interface {v0, v1}, Lorg/acdd/log/Logger;->debug(Ljava/lang/String;)V
.line 283
:cond_52
:goto_52
return-void
.line 265
:cond_53
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mInstrumentationInvoke:Lorg/acdd/hack/Hack$HackedClass;
const-string v1, "execStartActivity"
const/4 v2, 0x6
new-array v2, v2, [Ljava/lang/Class;
const/4 v3, 0x0
const-class v4, Landroid/content/Context;
aput-object v4, v2, v3
const/4 v3, 0x1
const-class v4, Landroid/os/IBinder;
aput-object v4, v2, v3
const/4 v3, 0x2
const-class v4, Landroid/os/IBinder;
aput-object v4, v2, v3
const/4 v3, 0x3
const-class v4, Landroid/app/Activity;
aput-object v4, v2, v3
const/4 v3, 0x4
const-class v4, Landroid/content/Intent;
aput-object v4, v2, v3
const/4 v3, 0x5
sget-object v4, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
aput-object v4, v2, v3
invoke-virtual {v0, v1, v2}, Lorg/acdd/hack/Hack$HackedClass;->method(Ljava/lang/String;[Ljava/lang/Class;)Lorg/acdd/hack/Hack$HackedMethod;
move-result-object v0
iput-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mExecStartActivity:Lorg/acdd/hack/Hack$HackedMethod;
:try_end_7e
.catch Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException; {:try_start_7 .. :try_end_7e} :catch_7f
.catch Ljava/lang/IllegalArgumentException; {:try_start_7 .. :try_end_7e} :catch_bd
goto :goto_45
.line 278
:catch_7f
move-exception v0
.line 279
invoke-virtual {v0}, Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;->printStackTrace()V
goto :goto_52
.line 270
:cond_84
:try_start_84
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0xf
if-le v0, v1, :cond_c2
.line 271
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mInstrumentationInvoke:Lorg/acdd/hack/Hack$HackedClass;
const-string v1, "execStartActivity"
const/4 v2, 0x7
new-array v2, v2, [Ljava/lang/Class;
const/4 v3, 0x0
const-class v4, Landroid/content/Context;
aput-object v4, v2, v3
const/4 v3, 0x1
const-class v4, Landroid/os/IBinder;
aput-object v4, v2, v3
const/4 v3, 0x2
const-class v4, Landroid/os/IBinder;
aput-object v4, v2, v3
const/4 v3, 0x3
.line 272
invoke-direct {p0}, Lorg/acdd/runtime/InstrumentationHook;->getFragmentClass()Ljava/lang/Class;
move-result-object v4
aput-object v4, v2, v3
const/4 v3, 0x4
const-class v4, Landroid/content/Intent;
aput-object v4, v2, v3
const/4 v3, 0x5
sget-object v4, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
aput-object v4, v2, v3
const/4 v3, 0x6
const-class v4, Landroid/os/Bundle;
aput-object v4, v2, v3
.line 271
invoke-virtual {v0, v1, v2}, Lorg/acdd/hack/Hack$HackedClass;->method(Ljava/lang/String;[Ljava/lang/Class;)Lorg/acdd/hack/Hack$HackedMethod;
move-result-object v0
iput-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mExecStartActivityFragment:Lorg/acdd/hack/Hack$HackedMethod;
:try_end_bc
.catch Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException; {:try_start_84 .. :try_end_bc} :catch_7f
.catch Ljava/lang/IllegalArgumentException; {:try_start_84 .. :try_end_bc} :catch_bd
goto :goto_52
.line 280
:catch_bd
move-exception v0
.line 281
invoke-virtual {v0}, Ljava/lang/IllegalArgumentException;->printStackTrace()V
goto :goto_52
.line 273
:cond_c2
:try_start_c2
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0xb
if-lt v0, v1, :cond_52
.line 274
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mInstrumentationInvoke:Lorg/acdd/hack/Hack$HackedClass;
const-string v1, "execStartActivity"
const/4 v2, 0x6
new-array v2, v2, [Ljava/lang/Class;
const/4 v3, 0x0
const-class v4, Landroid/content/Context;
aput-object v4, v2, v3
const/4 v3, 0x1
const-class v4, Landroid/os/IBinder;
aput-object v4, v2, v3
const/4 v3, 0x2
const-class v4, Landroid/os/IBinder;
aput-object v4, v2, v3
const/4 v3, 0x3
.line 275
invoke-direct {p0}, Lorg/acdd/runtime/InstrumentationHook;->getFragmentClass()Ljava/lang/Class;
move-result-object v4
aput-object v4, v2, v3
const/4 v3, 0x4
const-class v4, Landroid/content/Intent;
aput-object v4, v2, v3
const/4 v3, 0x5
sget-object v4, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
aput-object v4, v2, v3
.line 274
invoke-virtual {v0, v1, v2}, Lorg/acdd/hack/Hack$HackedClass;->method(Ljava/lang/String;[Ljava/lang/Class;)Lorg/acdd/hack/Hack$HackedMethod;
move-result-object v0
iput-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mExecStartActivityFragment:Lorg/acdd/hack/Hack$HackedMethod;
:try_end_f5
.catch Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException; {:try_start_c2 .. :try_end_f5} :catch_7f
.catch Ljava/lang/IllegalArgumentException; {:try_start_c2 .. :try_end_f5} :catch_bd
goto/16 :goto_52
.end method
.method private HandleResourceNotFound(Landroid/app/Activity;Landroid/os/Bundle;Ljava/lang/Exception;)V
.registers 7
.prologue
.line 296
sget-object v0, Lorg/acdd/hack/ACDDHacks;->ContextThemeWrapper_mResources:Lorg/acdd/hack/Hack$HackedField;
if-eqz v0, :cond_5a
.line 299
:try_start_4
sget-object v0, Lorg/acdd/hack/ACDDHacks;->ContextThemeWrapper_mResources:Lorg/acdd/hack/Hack$HackedField;
.line 300
invoke-virtual {v0, p1}, Lorg/acdd/hack/Hack$HackedField;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/content/res/Resources;
.line 299
invoke-direct {p0, v0}, Lorg/acdd/runtime/InstrumentationHook;->getAssetPathFromResources(Landroid/content/res/Resources;)Ljava/util/List;
move-result-object v0
.line 301
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "(1)Paths in ContextThemeWrapper_mResources:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, " paths in runtime:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
.line 302
invoke-static {}, Lorg/acdd/runtime/DelegateResources;->getAssetHistoryPaths()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
:try_end_30
.catch Ljava/lang/Exception; {:try_start_4 .. :try_end_30} :catch_37
move-result-object v0
.line 306
:goto_31
new-instance v1, Ljava/lang/RuntimeException;
invoke-direct {v1, v0, p3}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
.line 303
:catch_37
move-exception v0
.line 304
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "(2)paths in runtime:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-static {}, Lorg/acdd/runtime/DelegateResources;->getAssetHistoryPaths()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, " getAssetPath fail: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
goto :goto_31
.line 308
:cond_5a
new-instance v0, Ljava/lang/RuntimeException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "(3)ContextThemeWrapper_mResources is null paths in runtime:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
.line 309
invoke-static {}, Lorg/acdd/runtime/DelegateResources;->getAssetHistoryPaths()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1, p3}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
.end method
.method static synthetic access$000(Lorg/acdd/runtime/InstrumentationHook;)Landroid/content/Context;
.registers 2
.prologue
.line 80
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->context:Landroid/content/Context;
return-object v0
.end method
.method static synthetic access$100(Lorg/acdd/runtime/InstrumentationHook;)Lorg/acdd/hack/Hack$HackedMethod;
.registers 2
.prologue
.line 80
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mExecStartActivity:Lorg/acdd/hack/Hack$HackedMethod;
return-object v0
.end method
.method static synthetic access$200(Lorg/acdd/runtime/InstrumentationHook;)Landroid/app/Instrumentation;
.registers 2
.prologue
.line 80
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
return-object v0
.end method
.method static synthetic access$300(Lorg/acdd/runtime/InstrumentationHook;)Lorg/acdd/hack/Hack$HackedMethod;
.registers 2
.prologue
.line 80
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mExecStartActivityFragment:Lorg/acdd/hack/Hack$HackedMethod;
return-object v0
.end method
.method private ensureResourcesInjected(Landroid/app/Activity;)V
.registers 5
.prologue
.line 708
sget-object v0, Lorg/acdd/runtime/RuntimeVariables;->delegateClassLoader:Lorg/acdd/runtime/DelegateClassLoader;
if-eqz v0, :cond_32
sget-object v0, Lorg/acdd/runtime/RuntimeVariables;->delegateClassLoader:Lorg/acdd/runtime/DelegateClassLoader;
.line 710
:goto_6
new-instance v1, Lorg/acdd/runtime/ContextImplHook;
invoke-virtual {p1}, Landroid/app/Activity;->getBaseContext()Landroid/content/Context;
move-result-object v2
invoke-direct {v1, v2, v0}, Lorg/acdd/runtime/ContextImplHook;-><init>(Landroid/content/Context;Ljava/lang/ClassLoader;)V
.line 711
sget-object v0, Lorg/acdd/hack/ACDDHacks;->ContextThemeWrapper_mResources:Lorg/acdd/hack/Hack$HackedField;
if-eqz v0, :cond_1b
.line 713
:try_start_13
invoke-direct {p0, p1}, Lorg/acdd/runtime/InstrumentationHook;->validateActivityResource(Landroid/app/Activity;)Z
:try_end_16
.catch Ljava/lang/Throwable; {:try_start_13 .. :try_end_16} :catch_3b
.line 716
:goto_16
sget-object v0, Lorg/acdd/runtime/RuntimeVariables;->delegateResources:Landroid/content/res/Resources;
invoke-static {p1, v0}, Lorg/acdd/runtime/ActivityResourceManager;->injectActivityResource(Landroid/app/Activity;Landroid/content/res/Resources;)V
.line 718
:cond_1b
sget-object v0, Lorg/acdd/hack/ACDDHacks;->ContextThemeWrapper_mBase:Lorg/acdd/hack/Hack$HackedField;
if-eqz v0, :cond_2c
sget-object v0, Lorg/acdd/hack/ACDDHacks;->ContextThemeWrapper_mBase:Lorg/acdd/hack/Hack$HackedField;
invoke-virtual {v0}, Lorg/acdd/hack/Hack$HackedField;->getField()Ljava/lang/reflect/Field;
move-result-object v0
if-eqz v0, :cond_2c
.line 719
sget-object v0, Lorg/acdd/hack/ACDDHacks;->ContextThemeWrapper_mBase:Lorg/acdd/hack/Hack$HackedField;
invoke-virtual {v0, p1, v1}, Lorg/acdd/hack/Hack$HackedField;->set(Ljava/lang/Object;Ljava/lang/Object;)V
.line 721
:cond_2c
sget-object v0, Lorg/acdd/hack/ACDDHacks;->ContextWrapper_mBase:Lorg/acdd/hack/Hack$HackedField;
invoke-virtual {v0, p1, v1}, Lorg/acdd/hack/Hack$HackedField;->set(Ljava/lang/Object;Ljava/lang/Object;)V
.line 722
return-void
.line 708
:cond_32
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
.line 709
invoke-virtual {v0}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v0
goto :goto_6
.line 714
:catch_3b
move-exception v0
goto :goto_16
.end method
.method private execStartActivityInternal(Landroid/content/Context;Landroid/content/Intent;Lorg/acdd/runtime/InstrumentationHook$ExecStartActivityCallback;)Landroid/app/Instrumentation$ActivityResult;
.registers 11
.prologue
const/4 v6, 0x0
.line 345
.line 348
invoke-virtual {p2}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
move-result-object v0
if-eqz v0, :cond_28
.line 349
invoke-virtual {p2}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
move-result-object v0
invoke-virtual {v0}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
move-result-object v1
.line 350
invoke-virtual {p2}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
move-result-object v0
invoke-virtual {v0}, Landroid/content/ComponentName;->getClassName()Ljava/lang/String;
move-result-object v0
.line 359
:goto_17
invoke-static {v0}, Lorg/acdd/runtime/ActivityProxyHook;->isPluginComponentName(Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_111
.line 360
invoke-static {p2}, Lorg/acdd/runtime/ActivityProxyHook;->getTargetActivity(Landroid/content/Intent;)Ljava/lang/String;
move-result-object v2
.line 363
:goto_21
if-nez v2, :cond_6b
.line 365
:try_start_23
invoke-interface {p3}, Lorg/acdd/runtime/InstrumentationHook$ExecStartActivityCallback;->execStartActivity()Landroid/app/Instrumentation$ActivityResult;
:try_end_26
.catch Ljava/lang/Exception; {:try_start_23 .. :try_end_26} :catch_43
move-result-object v6
.line 404
:cond_27
:goto_27
return-object v6
.line 352
:cond_28
invoke-virtual {p1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
const/4 v1, 0x0
invoke-virtual {v0, p2, v1}, Landroid/content/pm/PackageManager;->resolveActivity(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo;
move-result-object v0
.line 353
if-eqz v0, :cond_114
iget-object v1, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
if-nez v1, :cond_3a
move-object v0, v6
move-object v1, v6
goto :goto_17
.line 355
:cond_3a
iget-object v1, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
iget-object v1, v1, Landroid/content/pm/ActivityInfo;->packageName:Ljava/lang/String;
.line 356
iget-object v0, v0, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
iget-object v0, v0, Landroid/content/pm/ActivityInfo;->name:Ljava/lang/String;
goto :goto_17
.line 366
:catch_43
move-exception v0
.line 367
sget-object v3, Lorg/acdd/runtime/InstrumentationHook;->log:Lorg/acdd/log/Logger;
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "Failed to start Activity for "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v4, " "
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-interface {v3, v0}, Lorg/acdd/log/Logger;->error(Ljava/lang/String;)V
goto :goto_27
.line 372
:cond_6b
:try_start_6b
invoke-static {v2}, Lorg/acdd/runtime/ClassLoadFromBundle;->checkInstallBundleIfNeed(Ljava/lang/String;)V
.line 373
invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v0
invoke-static {v0, v1}, Lorg/acdd/util/StringUtils;->equals(Ljava/lang/String;Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_7d
.line 374
invoke-interface {p3}, Lorg/acdd/runtime/InstrumentationHook$ExecStartActivityCallback;->execStartActivity()Landroid/app/Instrumentation$ActivityResult;
move-result-object v6
goto :goto_27
.line 376
:cond_7d
invoke-static {v2}, Lorg/acdd/runtime/ActivityProxyHook;->isDeclaredInHost(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_88
.line 377
invoke-interface {p3}, Lorg/acdd/runtime/InstrumentationHook$ExecStartActivityCallback;->execStartActivity()Landroid/app/Instrumentation$ActivityResult;
move-result-object v6
goto :goto_27
.line 379
:cond_88
invoke-static {v2}, Lorg/acdd/runtime/DelegateComponent;->locateComponent(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
if-eqz v0, :cond_93
.line 380
invoke-interface {p3}, Lorg/acdd/runtime/InstrumentationHook$ExecStartActivityCallback;->execStartActivity()Landroid/app/Instrumentation$ActivityResult;
move-result-object v6
goto :goto_27
.line 383
:cond_93
const-string v0, "com.keniu.security.main.MainActivity1"
invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_ab
const-string v0, "com.keniu.security.main.MainActivity2"
.line 384
invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_ab
const-string v0, "com.keniu.security.main.MainActivity3"
.line 385
invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_b1
.line 386
:cond_ab
invoke-interface {p3}, Lorg/acdd/runtime/InstrumentationHook$ExecStartActivityCallback;->execStartActivity()Landroid/app/Instrumentation$ActivityResult;
:try_end_ae
.catch Ljava/lang/Exception; {:try_start_6b .. :try_end_ae} :catch_ef
move-result-object v6
goto/16 :goto_27
.line 390
:cond_b1
:try_start_b1
invoke-static {}, Lorg/acdd/framework/Framework;->getSystemClassLoader()Ljava/lang/ClassLoader;
move-result-object v0
invoke-virtual {v0, v2}, Ljava/lang/ClassLoader;->loadClass(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
if-eqz v0, :cond_27
.line 391
invoke-interface {p3}, Lorg/acdd/runtime/InstrumentationHook$ExecStartActivityCallback;->execStartActivity()Landroid/app/Instrumentation$ActivityResult;
:try_end_be
.catch Ljava/lang/ClassNotFoundException; {:try_start_b1 .. :try_end_be} :catch_c1
.catch Ljava/lang/Exception; {:try_start_b1 .. :try_end_be} :catch_ef
move-result-object v6
goto/16 :goto_27
.line 394
:catch_c1
move-exception v5
.line 395
:try_start_c2
invoke-static {}, Lorg/acdd/log/ACDDMonitor;->getInstance()Lorg/acdd/log/ACDDMonitor;
move-result-object v0
const/4 v1, -0x1
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v3, ""
const-string v4, "Failed to load bundle even in system classloader"
invoke-virtual/range {v0 .. v5}, Lorg/acdd/log/ACDDMonitor;->trace(Ljava/lang/Integer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 397
sget-object v0, Lorg/acdd/runtime/InstrumentationHook;->log:Lorg/acdd/log/Logger;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Can\'t find class "
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-interface {v0, v1}, Lorg/acdd/log/Logger;->error(Ljava/lang/String;)V
.line 398
invoke-direct {p0, p1, p2, v2}, Lorg/acdd/runtime/InstrumentationHook;->fallBackToClassNotFoundCallback(Landroid/content/Context;Landroid/content/Intent;Ljava/lang/String;)V
:try_end_ed
.catch Ljava/lang/Exception; {:try_start_c2 .. :try_end_ed} :catch_ef
goto/16 :goto_27
.line 401
:catch_ef
move-exception v0
.line 402
sget-object v1, Lorg/acdd/runtime/InstrumentationHook;->log:Lorg/acdd/log/Logger;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Failed to load bundle for "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-interface {v1, v0}, Lorg/acdd/log/Logger;->error(Ljava/lang/String;)V
.line 403
invoke-direct {p0, p1, p2, v2}, Lorg/acdd/runtime/InstrumentationHook;->fallBackToClassNotFoundCallback(Landroid/content/Context;Landroid/content/Intent;Ljava/lang/String;)V
goto/16 :goto_27
:cond_111
move-object v2, v0
goto/16 :goto_21
:cond_114
move-object v0, v6
move-object v1, v6
goto/16 :goto_17
.end method
.method private fallBackToClassNotFoundCallback(Landroid/content/Context;Landroid/content/Intent;Ljava/lang/String;)V
.registers 5
.prologue
.line 409
invoke-static {}, Lorg/acdd/framework/Framework;->getClassNotFoundCallback()Lorg/acdd/runtime/ClassNotFoundInterceptorCallback;
move-result-object v0
if-eqz v0, :cond_22
.line 410
invoke-virtual {p2}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
move-result-object v0
if-nez v0, :cond_15
invoke-static {p3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_15
.line 411
invoke-virtual {p2, p1, p3}, Landroid/content/Intent;->setClassName(Landroid/content/Context;Ljava/lang/String;)Landroid/content/Intent;
.line 413
:cond_15
invoke-virtual {p2}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
move-result-object v0
if-eqz v0, :cond_22
.line 414
invoke-static {}, Lorg/acdd/framework/Framework;->getClassNotFoundCallback()Lorg/acdd/runtime/ClassNotFoundInterceptorCallback;
move-result-object v0
invoke-interface {v0, p2}, Lorg/acdd/runtime/ClassNotFoundInterceptorCallback;->returnIntent(Landroid/content/Intent;)Landroid/content/Intent;
.line 417
:cond_22
return-void
.end method
.method private getAssetPathFromResources(Landroid/content/res/Resources;)Ljava/util/List;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/res/Resources;",
")",
"Ljava/util/List",
"<",
"Ljava/lang/String;",
">;"
}
.end annotation
.prologue
.line 518
.line 519
:try_start_0
invoke-virtual {p1}, Landroid/content/res/Resources;->getAssets()Landroid/content/res/AssetManager;
move-result-object v0
invoke-static {v0}, Lorg/acdd/runtime/DelegateResources;->getOriginAssetsPath(Landroid/content/res/AssetManager;)Ljava/util/List;
:try_end_7
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_7} :catch_9
move-result-object v0
.line 522
:goto_8
return-object v0
.line 520
:catch_9
move-exception v0
.line 521
sget-object v1, Lorg/acdd/runtime/InstrumentationHook;->log:Lorg/acdd/log/Logger;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "DelegateResource"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v0}, Ljava/lang/Exception;->getCause()Ljava/lang/Throwable;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-interface {v1, v0}, Lorg/acdd/log/Logger;->debug(Ljava/lang/String;)V
.line 522
const/4 v0, 0x0
goto :goto_8
.end method
.method private getFragmentClass()Ljava/lang/Class;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/lang/Class",
"<*>;"
}
.end annotation
.prologue
.line 287
:try_start_0
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0xb
if-lt v0, v1, :cond_e
.line 288
const-string v0, "android.app.Fragment"
invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
:try_end_b
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_b} :catch_d
move-result-object v0
.line 292
:goto_c
return-object v0
.line 290
:catch_d
move-exception v0
.line 292
:cond_e
const-class v0, Ljava/lang/Object;
goto :goto_c
.end method
.method private handleBroadcastAlreadyFinished(Ljava/lang/Object;)V
.registers 7
.prologue
.line 655
if-nez p1, :cond_3
.line 680
:cond_2
:goto_2
return-void
.line 658
:cond_3
instance-of v0, p1, Landroid/content/BroadcastReceiver;
if-eqz v0, :cond_2
.line 663
:try_start_7
check-cast p1, Landroid/content/BroadcastReceiver;
.line 664
const-class v0, Landroid/content/BroadcastReceiver;
invoke-static {v0}, Lorg/acdd/hack/Hack;->into(Ljava/lang/Class;)Lorg/acdd/hack/Hack$HackedClass;
move-result-object v1
.line 665
const-string v0, "getPendingResult"
const/4 v2, 0x0
new-array v2, v2, [Ljava/lang/Class;
invoke-virtual {v1, v0, v2}, Lorg/acdd/hack/Hack$HackedClass;->method(Ljava/lang/String;[Ljava/lang/Class;)Lorg/acdd/hack/Hack$HackedMethod;
move-result-object v0
.line 666
const/4 v2, 0x0
new-array v2, v2, [Ljava/lang/Object;
invoke-virtual {v0, p1, v2}, Lorg/acdd/hack/Hack$HackedMethod;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/content/BroadcastReceiver$PendingResult;
:try_end_21
.catch Ljava/lang/Throwable; {:try_start_7 .. :try_end_21} :catch_50
.line 668
if-eqz v0, :cond_2
.line 669
:try_start_23
invoke-virtual {v0}, Landroid/content/BroadcastReceiver$PendingResult;->finish()V
:try_end_26
.catch Ljava/lang/Throwable; {:try_start_23 .. :try_end_26} :catch_27
goto :goto_2
.line 671
:catch_27
move-exception v0
.line 672
:try_start_28
invoke-virtual {v0}, Ljava/lang/Throwable;->toString()Ljava/lang/String;
move-result-object v0
const-string v2, "Broadcast already finished"
invoke-virtual {v0, v2}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_2
.line 673
const-string/jumbo v0, "setPendingResult"
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Class;
const/4 v3, 0x0
const-class v4, Landroid/content/BroadcastReceiver$PendingResult;
aput-object v4, v2, v3
invoke-virtual {v1, v0, v2}, Lorg/acdd/hack/Hack$HackedClass;->method(Ljava/lang/String;[Ljava/lang/Class;)Lorg/acdd/hack/Hack$HackedMethod;
move-result-object v1
.line 674
const/4 v0, 0x1
new-array v2, v0, [Ljava/lang/Object;
const/4 v3, 0x0
const/4 v0, 0x0
check-cast v0, Landroid/content/BroadcastReceiver$PendingResult;
aput-object v0, v2, v3
invoke-virtual {v1, p1, v2}, Lorg/acdd/hack/Hack$HackedMethod;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
:try_end_4f
.catch Ljava/lang/Throwable; {:try_start_28 .. :try_end_4f} :catch_50
goto :goto_2
.line 677
:catch_50
move-exception v0
goto :goto_2
.end method
.method private validateActivityResource(Landroid/app/Activity;)Z
.registers 10
.prologue
const/4 v3, 0x0
const/4 v4, 0x1
.line 728
.line 729
invoke-static {}, Lorg/acdd/bundleInfo/BundleInfoList;->getInstance()Lorg/acdd/bundleInfo/BundleInfoList;
move-result-object v0
.line 730
invoke-virtual {p1}, Landroid/app/Activity;->getLocalClassName()Ljava/lang/String;
move-result-object v1
.line 729
invoke-virtual {v0, v1}, Lorg/acdd/bundleInfo/BundleInfoList;->getBundleNameForComponet(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lorg/acdd/framework/BundleManager;->getBundle(Ljava/lang/String;)Lorg/osgi/framework/Bundle;
move-result-object v0
check-cast v0, Lorg/acdd/framework/BundleImpl;
.line 731
if-eqz v0, :cond_35
.line 732
invoke-virtual {v0}, Lorg/acdd/framework/BundleImpl;->getArchive()Lorg/acdd/framework/bundlestorage/Archive;
move-result-object v1
invoke-interface {v1}, Lorg/acdd/framework/bundlestorage/Archive;->getArchiveFile()Ljava/io/File;
move-result-object v1
invoke-virtual {v1}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v1
move-object v2, v1
.line 736
:goto_23
sget-object v1, Lorg/acdd/hack/ACDDHacks;->ContextThemeWrapper_mResources:Lorg/acdd/hack/Hack$HackedField;
if-eqz v1, :cond_37
.line 737
sget-object v1, Lorg/acdd/hack/ACDDHacks;->ContextThemeWrapper_mResources:Lorg/acdd/hack/Hack$HackedField;
invoke-virtual {v1, p1}, Lorg/acdd/hack/Hack$HackedField;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/content/res/Resources;
.line 741
:goto_2f
sget-object v5, Lorg/acdd/runtime/RuntimeVariables;->delegateResources:Landroid/content/res/Resources;
.line 742
if-ne v1, v5, :cond_3c
move v0, v4
.line 769
:goto_34
return v0
:cond_35
move-object v2, v3
.line 734
goto :goto_23
.line 739
:cond_37
invoke-virtual {p1}, Landroid/app/Activity;->getResources()Landroid/content/res/Resources;
move-result-object v1
goto :goto_2f
.line 745
:cond_3c
invoke-direct {p0, v1}, Lorg/acdd/runtime/InstrumentationHook;->getAssetPathFromResources(Landroid/content/res/Resources;)Ljava/util/List;
move-result-object v6
.line 746
invoke-static {}, Lorg/acdd/runtime/DelegateResources;->getAssetHistoryPaths()Ljava/lang/String;
move-result-object v7
.line 747
invoke-direct {p0, v5}, Lorg/acdd/runtime/InstrumentationHook;->getAssetPathFromResources(Landroid/content/res/Resources;)Ljava/util/List;
move-result-object v5
.line 748
if-eqz v2, :cond_111
if-eqz v6, :cond_111
invoke-interface {v6, v2}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_111
.line 749
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Activity Resources path not contains:"
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
.line 750
invoke-virtual {v0}, Lorg/acdd/framework/BundleImpl;->getArchive()Lorg/acdd/framework/bundlestorage/Archive;
move-result-object v3
invoke-interface {v3}, Lorg/acdd/framework/bundlestorage/Archive;->getArchiveFile()Ljava/io/File;
move-result-object v3
invoke-virtual {v3}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 751
invoke-virtual {v7, v2}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v3
if-nez v3, :cond_9b
.line 752
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string/jumbo v3, "paths in history not contains:"
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
.line 753
invoke-virtual {v0}, Lorg/acdd/framework/BundleImpl;->getArchive()Lorg/acdd/framework/bundlestorage/Archive;
move-result-object v3
invoke-interface {v3}, Lorg/acdd/framework/bundlestorage/Archive;->getArchiveFile()Ljava/io/File;
move-result-object v3
invoke-virtual {v3}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 755
:cond_9b
invoke-interface {v5, v2}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_c5
.line 756
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string/jumbo v2, "paths in runtime not contains:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
.line 757
invoke-virtual {v0}, Lorg/acdd/framework/BundleImpl;->getArchive()Lorg/acdd/framework/bundlestorage/Archive;
move-result-object v2
invoke-interface {v2}, Lorg/acdd/framework/bundlestorage/Archive;->getArchiveFile()Ljava/io/File;
move-result-object v2
invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 759
:cond_c5
invoke-virtual {v0}, Lorg/acdd/framework/BundleImpl;->getArchive()Lorg/acdd/framework/bundlestorage/Archive;
move-result-object v2
invoke-interface {v2}, Lorg/acdd/framework/bundlestorage/Archive;->getArchiveFile()Ljava/io/File;
move-result-object v2
invoke-virtual {v2}, Ljava/io/File;->exists()Z
move-result v2
if-nez v2, :cond_f6
.line 760
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, " Bundle archive file not exist:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
.line 761
invoke-virtual {v0}, Lorg/acdd/framework/BundleImpl;->getArchive()Lorg/acdd/framework/bundlestorage/Archive;
move-result-object v0
invoke-interface {v0}, Lorg/acdd/framework/bundlestorage/Archive;->getArchiveFile()Ljava/io/File;
move-result-object v0
invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 763
:cond_f6
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, " Activity Resources paths length:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-interface {v6}, Ljava/util/List;->size()I
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
.line 765
:cond_111
if-nez v3, :cond_116
move v0, v4
.line 766
goto/16 :goto_34
.line 768
:cond_116
invoke-static {}, Lorg/acdd/log/ACDDMonitor;->getInstance()Lorg/acdd/log/ACDDMonitor;
move-result-object v0
const/4 v1, -0x4
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v2, ""
const-string v4, ""
invoke-virtual {v0, v1, v2, v4, v3}, Lorg/acdd/log/ACDDMonitor;->trace(Ljava/lang/Integer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.line 769
const/4 v0, 0x0
goto/16 :goto_34
.end method
# virtual methods
.method public addMonitor(Landroid/content/IntentFilter;Landroid/app/Instrumentation$ActivityResult;Z)Landroid/app/Instrumentation$ActivityMonitor;
.registers 5
.prologue
.line 864
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1, p2, p3}, Landroid/app/Instrumentation;->addMonitor(Landroid/content/IntentFilter;Landroid/app/Instrumentation$ActivityResult;Z)Landroid/app/Instrumentation$ActivityMonitor;
move-result-object v0
return-object v0
.end method
.method public addMonitor(Ljava/lang/String;Landroid/app/Instrumentation$ActivityResult;Z)Landroid/app/Instrumentation$ActivityMonitor;
.registers 5
.prologue
.line 885
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1, p2, p3}, Landroid/app/Instrumentation;->addMonitor(Ljava/lang/String;Landroid/app/Instrumentation$ActivityResult;Z)Landroid/app/Instrumentation$ActivityMonitor;
move-result-object v0
return-object v0
.end method
.method public addMonitor(Landroid/app/Instrumentation$ActivityMonitor;)V
.registers 3
.prologue
.line 842
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1}, Landroid/app/Instrumentation;->addMonitor(Landroid/app/Instrumentation$ActivityMonitor;)V
.line 843
return-void
.end method
.method public callActivityOnCreate(Landroid/app/Activity;Landroid/os/Bundle;)V
.registers 7
.prologue
.line 536
if-eqz p2, :cond_9
.line 538
sget-object v0, Lorg/acdd/runtime/RuntimeVariables;->delegateClassLoader:Lorg/acdd/runtime/DelegateClassLoader;
.line 539
if-eqz v0, :cond_a0
.line 540
invoke-virtual {p2, v0}, Landroid/os/Bundle;->setClassLoader(Ljava/lang/ClassLoader;)V
.line 546
:cond_9
:goto_9
sget-object v0, Lorg/acdd/runtime/RuntimeVariables;->androidApplication:Landroid/app/Application;
invoke-virtual {v0}, Landroid/app/Application;->getPackageName()Ljava/lang/String;
move-result-object v0
invoke-virtual {p1}, Landroid/app/Activity;->getPackageName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_134
.line 547
sget-object v0, Lorg/acdd/runtime/RuntimeVariables;->delegateClassLoader:Lorg/acdd/runtime/DelegateClassLoader;
if-eqz v0, :cond_a9
sget-object v0, Lorg/acdd/runtime/RuntimeVariables;->delegateClassLoader:Lorg/acdd/runtime/DelegateClassLoader;
.line 549
:goto_1f
new-instance v1, Lorg/acdd/runtime/ContextImplHook;
invoke-virtual {p1}, Landroid/app/Activity;->getBaseContext()Landroid/content/Context;
move-result-object v2
invoke-direct {v1, v2, v0}, Lorg/acdd/runtime/ContextImplHook;-><init>(Landroid/content/Context;Ljava/lang/ClassLoader;)V
.line 550
sget-object v0, Lorg/acdd/hack/ACDDHacks;->ContextThemeWrapper_mBase:Lorg/acdd/hack/Hack$HackedField;
if-eqz v0, :cond_39
sget-object v0, Lorg/acdd/hack/ACDDHacks;->ContextThemeWrapper_mBase:Lorg/acdd/hack/Hack$HackedField;
invoke-virtual {v0}, Lorg/acdd/hack/Hack$HackedField;->getField()Ljava/lang/reflect/Field;
move-result-object v0
if-eqz v0, :cond_39
.line 551
sget-object v0, Lorg/acdd/hack/ACDDHacks;->ContextThemeWrapper_mBase:Lorg/acdd/hack/Hack$HackedField;
invoke-virtual {v0, p1, v1}, Lorg/acdd/hack/Hack$HackedField;->set(Ljava/lang/Object;Ljava/lang/Object;)V
.line 553
:cond_39
sget-object v0, Lorg/acdd/hack/ACDDHacks;->ContextWrapper_mBase:Lorg/acdd/hack/Hack$HackedField;
invoke-virtual {v0, p1, v1}, Lorg/acdd/hack/Hack$HackedField;->set(Ljava/lang/Object;Ljava/lang/Object;)V
.line 554
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v0
instance-of v0, v0, Lorg/acdd/framework/BundleClassLoader;
if-eqz v0, :cond_5b
.line 556
:try_start_4a
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v0
check-cast v0, Lorg/acdd/framework/BundleClassLoader;
invoke-virtual {v0}, Lorg/acdd/framework/BundleClassLoader;->getBundle()Lorg/acdd/framework/BundleImpl;
move-result-object v0
invoke-virtual {v0}, Lorg/acdd/framework/BundleImpl;->startBundle()V
:try_end_5b
.catch Lorg/osgi/framework/BundleException; {:try_start_4a .. :try_end_5b} :catch_b3
.line 561
:cond_5b
:goto_5b
const-string/jumbo v0, "org.acdd.welcome.Welcome"
const-string/jumbo v1, "org.acdd.welcome.Welcome"
invoke-static {v0, v1}, Lorg/acdd/framework/Framework;->getProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 562
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_6e
.line 563
const-string/jumbo v0, "org.acdd.welcome.Welcome"
.line 566
:cond_6e
:try_start_6e
invoke-direct {p0, p1}, Lorg/acdd/runtime/InstrumentationHook;->ensureResourcesInjected(Landroid/app/Activity;)V
.line 567
invoke-static {p1}, Lorg/acdd/framework/ActivityRecorder;->addActivity(Landroid/app/Activity;)V
.line 568
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1, p2}, Landroid/app/Instrumentation;->callActivityOnCreate(Landroid/app/Activity;Landroid/os/Bundle;)V
.line 570
invoke-virtual {p1}, Landroid/app/Activity;->getIntent()Landroid/content/Intent;
move-result-object v0
.line 571
invoke-virtual {v0}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
move-result-object v1
invoke-virtual {v1}, Landroid/content/ComponentName;->getClassName()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lorg/acdd/runtime/ActivityProxyHook;->isPluginComponentName(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_9f
.line 572
invoke-static {v0}, Lorg/acdd/runtime/ActivityProxyHook;->getTargetActivity(Landroid/content/Intent;)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lorg/acdd/runtime/DelegateComponent;->getActivityInfo(Ljava/lang/String;)Lorg/acdd/runtime/PackageLite$SimpleActivityInfo;
move-result-object v0
.line 573
if-eqz v0, :cond_9f
iget v1, v0, Lorg/acdd/runtime/PackageLite$SimpleActivityInfo;->screenOrientation:I
const/4 v2, -0x1
if-eq v1, v2, :cond_9f
.line 574
iget v0, v0, Lorg/acdd/runtime/PackageLite$SimpleActivityInfo;->screenOrientation:I
invoke-virtual {p1, v0}, Landroid/app/Activity;->setRequestedOrientation(I)V
:try_end_9f
.catch Ljava/lang/Exception; {:try_start_6e .. :try_end_9f} :catch_d5
.line 603
:cond_9f
:goto_9f
return-void
.line 543
:cond_a0
invoke-virtual {p1}, Landroid/app/Activity;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v0
invoke-virtual {p2, v0}, Landroid/os/Bundle;->setClassLoader(Ljava/lang/ClassLoader;)V
goto/16 :goto_9
.line 547
:cond_a9
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
.line 548
invoke-virtual {v0}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v0
goto/16 :goto_1f
.line 557
:catch_b3
move-exception v0
.line 558
sget-object v1, Lorg/acdd/runtime/InstrumentationHook;->log:Lorg/acdd/log/Logger;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0}, Lorg/osgi/framework/BundleException;->getMessage()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, " Caused by: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0}, Lorg/osgi/framework/BundleException;->getNestedException()Ljava/lang/Throwable;
move-result-object v0
invoke-interface {v1, v2, v0}, Lorg/acdd/log/Logger;->error(Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_5b
.line 578
:catch_d5
move-exception v0
.line 579
invoke-static {p1}, Lorg/acdd/framework/ActivityRecorder;->removeActivity(Landroid/app/Activity;)V
.line 580
sget-object v1, Lorg/acdd/runtime/InstrumentationHook;->log:Lorg/acdd/log/Logger;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, " onCreate Error!!!"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-interface {v1, v2, v0}, Lorg/acdd/log/Logger;->error(Ljava/lang/String;Ljava/lang/Throwable;)V
.line 581
invoke-virtual {v0}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object v1
const-string v2, "android.content.res.Resources"
invoke-virtual {v1, v2}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_111
.line 582
invoke-virtual {v0}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object v1
const-string v2, "OutOfMemoryError"
invoke-virtual {v1, v2}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_114
.line 583
:cond_111
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
.line 586
:cond_114
invoke-virtual {v0}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object v1
const-string v2, "Parcelable encounteredClassNotFoundException"
invoke-virtual {v1, v2}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_12f
.line 589
:try_start_120
invoke-static {p1}, Lorg/acdd/framework/ActivityRecorder;->addActivity(Landroid/app/Activity;)V
.line 590
iget-object v1, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
const/4 v2, 0x0
invoke-virtual {v1, p1, v2}, Landroid/app/Instrumentation;->callActivityOnCreate(Landroid/app/Activity;Landroid/os/Bundle;)V
:try_end_129
.catch Ljava/lang/Exception; {:try_start_120 .. :try_end_129} :catch_12b
goto/16 :goto_9f
.line 593
:catch_12b
move-exception v1
.line 594
invoke-static {p1}, Lorg/acdd/framework/ActivityRecorder;->removeActivity(Landroid/app/Activity;)V
.line 598
:cond_12f
invoke-direct {p0, p1, p2, v0}, Lorg/acdd/runtime/InstrumentationHook;->HandleResourceNotFound(Landroid/app/Activity;Landroid/os/Bundle;Ljava/lang/Exception;)V
goto/16 :goto_9f
.line 602
:cond_134
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1, p2}, Landroid/app/Instrumentation;->callActivityOnCreate(Landroid/app/Activity;Landroid/os/Bundle;)V
goto/16 :goto_9f
.end method
.method public callActivityOnDestroy(Landroid/app/Activity;)V
.registers 3
.prologue
.line 1034
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1}, Landroid/app/Instrumentation;->callActivityOnDestroy(Landroid/app/Activity;)V
.line 1035
invoke-static {p1}, Lorg/acdd/framework/ActivityRecorder;->removeActivity(Landroid/app/Activity;)V
.line 1036
return-void
.end method
.method public callActivityOnNewIntent(Landroid/app/Activity;Landroid/content/Intent;)V
.registers 4
.prologue
.line 1050
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1, p2}, Landroid/app/Instrumentation;->callActivityOnNewIntent(Landroid/app/Activity;Landroid/content/Intent;)V
.line 1051
return-void
.end method
.method public callActivityOnPause(Landroid/app/Activity;)V
.registers 3
.prologue
.line 1085
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1}, Landroid/app/Instrumentation;->callActivityOnPause(Landroid/app/Activity;)V
.line 1086
return-void
.end method
.method public callActivityOnPostCreate(Landroid/app/Activity;Landroid/os/Bundle;)V
.registers 4
.prologue
.line 1045
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1, p2}, Landroid/app/Instrumentation;->callActivityOnPostCreate(Landroid/app/Activity;Landroid/os/Bundle;)V
.line 1046
return-void
.end method
.method public callActivityOnRestart(Landroid/app/Activity;)V
.registers 3
.prologue
.line 1060
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1}, Landroid/app/Instrumentation;->callActivityOnRestart(Landroid/app/Activity;)V
.line 1061
return-void
.end method
.method public callActivityOnRestoreInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
.registers 4
.prologue
.line 1040
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1, p2}, Landroid/app/Instrumentation;->callActivityOnRestoreInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
.line 1041
return-void
.end method
.method public callActivityOnResume(Landroid/app/Activity;)V
.registers 4
.prologue
.line 1065
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1}, Landroid/app/Instrumentation;->callActivityOnResume(Landroid/app/Activity;)V
.line 1067
invoke-static {}, Lorg/acdd/framework/ACDD;->getInstance()Lorg/acdd/framework/ACDD;
move-result-object v0
invoke-virtual {v0}, Lorg/acdd/framework/ACDD;->getActivityCallBack()Lorg/acdd/android/compat/IActivityCallBack;
move-result-object v0
.line 1068
if-eqz v0, :cond_17
.line 1069
new-instance v1, Ljava/lang/ref/WeakReference;
invoke-direct {v1, p1}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
invoke-interface {v0, v1}, Lorg/acdd/android/compat/IActivityCallBack;->notifyActivityOnResumeEnd(Ljava/lang/ref/WeakReference;)V
.line 1071
:cond_17
return-void
.end method
.method public callActivityOnSaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
.registers 4
.prologue
.line 1080
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1, p2}, Landroid/app/Instrumentation;->callActivityOnSaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
.line 1081
return-void
.end method
.method public callActivityOnStart(Landroid/app/Activity;)V
.registers 3
.prologue
.line 1055
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1}, Landroid/app/Instrumentation;->callActivityOnStart(Landroid/app/Activity;)V
.line 1056
return-void
.end method
.method public callActivityOnStop(Landroid/app/Activity;)V
.registers 3
.prologue
.line 1075
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1}, Landroid/app/Instrumentation;->callActivityOnStop(Landroid/app/Activity;)V
.line 1076
return-void
.end method
.method public callActivityOnUserLeaving(Landroid/app/Activity;)V
.registers 3
.prologue
.line 1090
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1}, Landroid/app/Instrumentation;->callActivityOnUserLeaving(Landroid/app/Activity;)V
.line 1091
return-void
.end method
.method public callApplicationOnCreate(Landroid/app/Application;)V
.registers 3
.prologue
.line 1029
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1}, Landroid/app/Instrumentation;->callApplicationOnCreate(Landroid/app/Application;)V
.line 1030
return-void
.end method
.method public checkMonitorHit(Landroid/app/Instrumentation$ActivityMonitor;I)Z
.registers 4
.prologue
.line 903
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1, p2}, Landroid/app/Instrumentation;->checkMonitorHit(Landroid/app/Instrumentation$ActivityMonitor;I)Z
move-result v0
return v0
.end method
.method public endPerformanceSnapshot()V
.registers 2
.prologue
.line 704
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->endPerformanceSnapshot()V
.line 705
return-void
.end method
.method public execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;Landroid/content/Intent;I)Landroid/app/Instrumentation$ActivityResult;
.registers 16
.prologue
.line 314
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->context:Landroid/content/Context;
invoke-static {v0, p5}, Lorg/acdd/runtime/ActivityProxyHook;->forwardActivity2StubProxy(Landroid/content/Context;Landroid/content/Intent;)V
.line 315
iget-object v8, p0, Lorg/acdd/runtime/InstrumentationHook;->context:Landroid/content/Context;
new-instance v0, Lorg/acdd/runtime/InstrumentationHook$ExecStartActivityCallbackImpl;
move-object v1, p0
move-object v2, p1
move-object v3, p2
move-object v4, p3
move-object v5, p4
move-object v6, p5
move v7, p6
invoke-direct/range {v0 .. v7}, Lorg/acdd/runtime/InstrumentationHook$ExecStartActivityCallbackImpl;-><init>(Lorg/acdd/runtime/InstrumentationHook;Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;Landroid/content/Intent;I)V
invoke-direct {p0, v8, p5, v0}, Lorg/acdd/runtime/InstrumentationHook;->execStartActivityInternal(Landroid/content/Context;Landroid/content/Intent;Lorg/acdd/runtime/InstrumentationHook$ExecStartActivityCallback;)Landroid/app/Instrumentation$ActivityResult;
move-result-object v0
return-object v0
.end method
.method public execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;Landroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/Instrumentation$ActivityResult;
.registers 18
.annotation build Landroid/annotation/TargetApi;
value = 0x10
.end annotation
.prologue
.line 322
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->context:Landroid/content/Context;
invoke-static {v0, p5}, Lorg/acdd/runtime/ActivityProxyHook;->forwardActivity2StubProxy(Landroid/content/Context;Landroid/content/Intent;)V
.line 323
iget-object v9, p0, Lorg/acdd/runtime/InstrumentationHook;->context:Landroid/content/Context;
new-instance v0, Lorg/acdd/runtime/InstrumentationHook$ExecStartActivityCallbackImpl_JELLY_BEAN;
move-object v1, p0
move-object v2, p1
move-object v3, p2
move-object v4, p3
move-object v5, p4
move-object v6, p5
move/from16 v7, p6
move-object/from16 v8, p7
invoke-direct/range {v0 .. v8}, Lorg/acdd/runtime/InstrumentationHook$ExecStartActivityCallbackImpl_JELLY_BEAN;-><init>(Lorg/acdd/runtime/InstrumentationHook;Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;Landroid/content/Intent;ILandroid/os/Bundle;)V
invoke-direct {p0, v9, p5, v0}, Lorg/acdd/runtime/InstrumentationHook;->execStartActivityInternal(Landroid/content/Context;Landroid/content/Intent;Lorg/acdd/runtime/InstrumentationHook$ExecStartActivityCallback;)Landroid/app/Instrumentation$ActivityResult;
move-result-object v0
return-object v0
.end method
.method public execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Ljava/lang/Object;Landroid/content/Intent;I)Landroid/app/Instrumentation$ActivityResult;
.registers 16
.annotation build Landroid/annotation/TargetApi;
value = 0xe
.end annotation
.prologue
.line 330
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->context:Landroid/content/Context;
invoke-static {v0, p5}, Lorg/acdd/runtime/ActivityProxyHook;->forwardActivity2StubProxy(Landroid/content/Context;Landroid/content/Intent;)V
.line 331
iget-object v8, p0, Lorg/acdd/runtime/InstrumentationHook;->context:Landroid/content/Context;
new-instance v0, Lorg/acdd/runtime/InstrumentationHook$ExecStartFrgmentImpl_ICE_CREAM_SANDWICH;
move-object v1, p0
move-object v2, p1
move-object v3, p2
move-object v4, p3
move-object v5, p4
move-object v6, p5
move v7, p6
invoke-direct/range {v0 .. v7}, Lorg/acdd/runtime/InstrumentationHook$ExecStartFrgmentImpl_ICE_CREAM_SANDWICH;-><init>(Lorg/acdd/runtime/InstrumentationHook;Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Ljava/lang/Object;Landroid/content/Intent;I)V
invoke-direct {p0, v8, p5, v0}, Lorg/acdd/runtime/InstrumentationHook;->execStartActivityInternal(Landroid/content/Context;Landroid/content/Intent;Lorg/acdd/runtime/InstrumentationHook$ExecStartActivityCallback;)Landroid/app/Instrumentation$ActivityResult;
move-result-object v0
return-object v0
.end method
.method public execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Ljava/lang/Object;Landroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/Instrumentation$ActivityResult;
.registers 18
.annotation build Landroid/annotation/TargetApi;
value = 0x10
.end annotation
.prologue
.line 338
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->context:Landroid/content/Context;
invoke-static {v0, p5}, Lorg/acdd/runtime/ActivityProxyHook;->forwardActivity2StubProxy(Landroid/content/Context;Landroid/content/Intent;)V
.line 339
iget-object v9, p0, Lorg/acdd/runtime/InstrumentationHook;->context:Landroid/content/Context;
new-instance v0, Lorg/acdd/runtime/InstrumentationHook$ExecStartFrgmentImpl_JELLY_BEAN;
move-object v1, p0
move-object v2, p1
move-object v3, p2
move-object v4, p3
move-object v5, p4
move-object v6, p5
move/from16 v7, p6
move-object/from16 v8, p7
invoke-direct/range {v0 .. v8}, Lorg/acdd/runtime/InstrumentationHook$ExecStartFrgmentImpl_JELLY_BEAN;-><init>(Lorg/acdd/runtime/InstrumentationHook;Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Ljava/lang/Object;Landroid/content/Intent;ILandroid/os/Bundle;)V
invoke-direct {p0, v9, p5, v0}, Lorg/acdd/runtime/InstrumentationHook;->execStartActivityInternal(Landroid/content/Context;Landroid/content/Intent;Lorg/acdd/runtime/InstrumentationHook$ExecStartActivityCallback;)Landroid/app/Instrumentation$ActivityResult;
move-result-object v0
return-object v0
.end method
.method public finish(ILandroid/os/Bundle;)V
.registers 4
.prologue
.line 689
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1, p2}, Landroid/app/Instrumentation;->finish(ILandroid/os/Bundle;)V
.line 690
return-void
.end method
.method public getAllocCounts()Landroid/os/Bundle;
.registers 2
.prologue
.line 1105
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->getAllocCounts()Landroid/os/Bundle;
move-result-object v0
return-object v0
.end method
.method public getBinderCounts()Landroid/os/Bundle;
.registers 2
.prologue
.line 1110
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->getBinderCounts()Landroid/os/Bundle;
move-result-object v0
return-object v0
.end method
.method public getComponentName()Landroid/content/ComponentName;
.registers 2
.prologue
.line 784
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->getComponentName()Landroid/content/ComponentName;
move-result-object v0
return-object v0
.end method
.method public getContext()Landroid/content/Context;
.registers 2
.prologue
.line 779
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->getContext()Landroid/content/Context;
move-result-object v0
return-object v0
.end method
.method public getTargetContext()Landroid/content/Context;
.registers 2
.prologue
.line 789
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->getTargetContext()Landroid/content/Context;
move-result-object v0
return-object v0
.end method
.method public getUiAutomation()Landroid/app/UiAutomation;
.registers 2
.annotation build Landroid/annotation/TargetApi;
value = 0x12
.end annotation
.prologue
.line 608
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->getUiAutomation()Landroid/app/UiAutomation;
move-result-object v0
return-object v0
.end method
.method public invokeContextMenuAction(Landroid/app/Activity;II)Z
.registers 5
.prologue
.line 958
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1, p2, p3}, Landroid/app/Instrumentation;->invokeContextMenuAction(Landroid/app/Activity;II)Z
move-result v0
return v0
.end method
.method public invokeMenuActionSync(Landroid/app/Activity;II)Z
.registers 5
.prologue
.line 943
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1, p2, p3}, Landroid/app/Instrumentation;->invokeMenuActionSync(Landroid/app/Activity;II)Z
move-result v0
return v0
.end method
.method public isProfiling()Z
.registers 2
.prologue
.line 794
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->isProfiling()Z
move-result v0
return v0
.end method
.method public newActivity(Ljava/lang/Class;Landroid/content/Context;Landroid/os/IBinder;Landroid/app/Application;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Ljava/lang/CharSequence;Landroid/app/Activity;Ljava/lang/String;Ljava/lang/Object;)Landroid/app/Activity;
.registers 23
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;",
"Landroid/content/Context;",
"Landroid/os/IBinder;",
"Landroid/app/Application;",
"Landroid/content/Intent;",
"Landroid/content/pm/ActivityInfo;",
"Ljava/lang/CharSequence;",
"Landroid/app/Activity;",
"Ljava/lang/String;",
"Ljava/lang/Object;",
")",
"Landroid/app/Activity;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/InstantiationException;,
Ljava/lang/IllegalAccessException;
}
.end annotation
.prologue
.line 444
iget-object v1, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
move-object v2, p1
move-object v3, p2
move-object v4, p3
move-object/from16 v5, p4
move-object/from16 v6, p5
move-object/from16 v7, p6
move-object/from16 v8, p7
move-object/from16 v9, p8
move-object/from16 v10, p9
move-object/from16 v11, p10
invoke-virtual/range {v1 .. v11}, Landroid/app/Instrumentation;->newActivity(Ljava/lang/Class;Landroid/content/Context;Landroid/os/IBinder;Landroid/app/Application;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Ljava/lang/CharSequence;Landroid/app/Activity;Ljava/lang/String;Ljava/lang/Object;)Landroid/app/Activity;
move-result-object v1
.line 446
sget-object v2, Lorg/acdd/runtime/RuntimeVariables;->androidApplication:Landroid/app/Application;
invoke-virtual {v2}, Landroid/app/Application;->getPackageName()Ljava/lang/String;
move-result-object v2
move-object/from16 v0, p6
iget-object v3, v0, Landroid/content/pm/ActivityInfo;->packageName:Ljava/lang/String;
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_30
sget-object v2, Lorg/acdd/hack/ACDDHacks;->ContextThemeWrapper_mResources:Lorg/acdd/hack/Hack$HackedField;
if-eqz v2, :cond_30
.line 448
sget-object v2, Lorg/acdd/runtime/RuntimeVariables;->delegateResources:Landroid/content/res/Resources;
invoke-static {v1, v2}, Lorg/acdd/runtime/ActivityResourceManager;->injectActivityResource(Landroid/app/Activity;Landroid/content/res/Resources;)V
.line 450
:cond_30
return-object v1
.end method
.method public newActivity(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/app/Activity;
.registers 9
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/InstantiationException;,
Ljava/lang/IllegalAccessException;,
Ljava/lang/ClassNotFoundException;
}
.end annotation
.prologue
const/4 v4, 0x1
.line 469
const/4 v1, 0x0
.line 470
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x1c
if-lt v0, v2, :cond_b
.line 471
invoke-virtual {p3, p1}, Landroid/content/Intent;->setExtrasClassLoader(Ljava/lang/ClassLoader;)V
.line 474
:cond_b
:try_start_b
invoke-static {p2}, Lorg/acdd/runtime/ActivityProxyHook;->isPluginComponentName(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_25
.line 475
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1, p2, p3}, Landroid/app/Instrumentation;->newActivity(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/app/Activity;
:try_end_16
.catch Ljava/lang/ClassNotFoundException; {:try_start_b .. :try_end_16} :catch_43
move-result-object v0
.line 510
:goto_17
instance-of v1, p1, Lorg/acdd/runtime/DelegateClassLoader;
if-eqz v1, :cond_24
sget-object v1, Lorg/acdd/hack/ACDDHacks;->ContextThemeWrapper_mResources:Lorg/acdd/hack/Hack$HackedField;
if-eqz v1, :cond_24
.line 511
sget-object v1, Lorg/acdd/runtime/RuntimeVariables;->delegateResources:Landroid/content/res/Resources;
invoke-static {v0, v1}, Lorg/acdd/runtime/ActivityResourceManager;->injectActivityResource(Landroid/app/Activity;Landroid/content/res/Resources;)V
.line 513
:cond_24
return-object v0
.line 477
:cond_25
:try_start_25
invoke-static {p3}, Lorg/acdd/runtime/ActivityProxyHook;->getComponent(Landroid/content/Intent;)Landroid/content/ComponentName;
move-result-object v0
.line 478
invoke-static {}, Lorg/acdd/framework/ACDD;->getInstance()Lorg/acdd/framework/ACDD;
move-result-object v2
invoke-virtual {v0}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Lorg/acdd/framework/ACDD;->getBundleClassLoader(Ljava/lang/String;)Ljava/lang/ClassLoader;
move-result-object v2
.line 479
iget-object v3, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/content/ComponentName;->getClassName()Ljava/lang/String;
move-result-object v0
invoke-virtual {v3, v2, v0, p3}, Landroid/app/Instrumentation;->newActivity(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/app/Activity;
move-result-object v0
.line 480
invoke-virtual {v0, p3}, Landroid/app/Activity;->setIntent(Landroid/content/Intent;)V
:try_end_42
.catch Ljava/lang/ClassNotFoundException; {:try_start_25 .. :try_end_42} :catch_43
goto :goto_17
.line 482
:catch_43
move-exception v0
move-object v2, v0
.line 484
const-string/jumbo v0, "org.acdd.welcome.Welcome"
const-string/jumbo v3, "org.acdd.launcher.welcome"
invoke-static {v0, v3}, Lorg/acdd/framework/Framework;->getProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 486
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_59
.line 487
const-string/jumbo v0, "org.acdd.launcher.welcome"
move-object v1, v0
.line 492
:cond_59
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_60
.line 493
throw v2
.line 496
:cond_60
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->context:Landroid/content/Context;
const-string v2, "activity"
invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/ActivityManager;
.line 497
invoke-virtual {v0, v4}, Landroid/app/ActivityManager;->getRunningTasks(I)Ljava/util/List;
move-result-object v0
.line 498
if-eqz v0, :cond_99
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v2
if-lez v2, :cond_99
const/4 v2, 0x0
.line 499
invoke-interface {v0, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/ActivityManager$RunningTaskInfo;
iget v0, v0, Landroid/app/ActivityManager$RunningTaskInfo;->numActivities:I
if-le v0, v4, :cond_99
.line 500
invoke-static {}, Lorg/acdd/framework/Framework;->getClassNotFoundCallback()Lorg/acdd/runtime/ClassNotFoundInterceptorCallback;
move-result-object v0
if-eqz v0, :cond_99
.line 501
invoke-virtual {p3}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
move-result-object v0
if-nez v0, :cond_92
.line 502
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->context:Landroid/content/Context;
invoke-virtual {p3, v0, p2}, Landroid/content/Intent;->setClassName(Landroid/content/Context;Ljava/lang/String;)Landroid/content/Intent;
.line 504
:cond_92
invoke-static {}, Lorg/acdd/framework/Framework;->getClassNotFoundCallback()Lorg/acdd/runtime/ClassNotFoundInterceptorCallback;
move-result-object v0
invoke-interface {v0, p3}, Lorg/acdd/runtime/ClassNotFoundInterceptorCallback;->returnIntent(Landroid/content/Intent;)Landroid/content/Intent;
.line 506
:cond_99
sget-object v0, Lorg/acdd/runtime/InstrumentationHook;->log:Lorg/acdd/log/Logger;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Could not find activity class: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-interface {v0, v2}, Lorg/acdd/log/Logger;->warn(Ljava/lang/String;)V
.line 507
sget-object v0, Lorg/acdd/runtime/InstrumentationHook;->log:Lorg/acdd/log/Logger;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Redirect to welcome activity: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-interface {v0, v2}, Lorg/acdd/log/Logger;->warn(Ljava/lang/String;)V
.line 508
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1, v1, p3}, Landroid/app/Instrumentation;->newActivity(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/app/Activity;
move-result-object v0
goto/16 :goto_17
.end method
.method public newApplication(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Context;)Landroid/app/Application;
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/InstantiationException;,
Ljava/lang/IllegalAccessException;,
Ljava/lang/ClassNotFoundException;
}
.end annotation
.prologue
.line 1024
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1, p2, p3}, Landroid/app/Instrumentation;->newApplication(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Context;)Landroid/app/Application;
move-result-object v0
return-object v0
.end method
.method public onCreate(Landroid/os/Bundle;)V
.registers 3
.prologue
.line 613
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1}, Landroid/app/Instrumentation;->onCreate(Landroid/os/Bundle;)V
.line 614
return-void
.end method
.method public onDestroy()V
.registers 2
.prologue
.line 774
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->onDestroy()V
.line 775
return-void
.end method
.method public onException(Ljava/lang/Object;Ljava/lang/Throwable;)Z
.registers 8
.prologue
const/4 v0, 0x1
.line 628
sget-boolean v1, Lorg/acdd/android/compat/AppBuildConfig;->DEBUG:Z
if-eqz v1, :cond_c
.line 629
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1, p2}, Landroid/app/Instrumentation;->onException(Ljava/lang/Object;Ljava/lang/Throwable;)Z
move-result v0
.line 650
:goto_b
return v0
.line 632
:cond_c
if-eqz p1, :cond_3f
instance-of v1, p1, Landroid/content/BroadcastReceiver;
if-eqz v1, :cond_3f
.line 633
invoke-direct {p0, p1}, Lorg/acdd/runtime/InstrumentationHook;->handleBroadcastAlreadyFinished(Ljava/lang/Object;)V
.line 634
new-instance v1, Ljava/lang/RuntimeException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "obj name:"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
.line 635
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2, p2}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
.line 636
invoke-static {}, Lorg/acdd/framework/ACDD;->getInstance()Lorg/acdd/framework/ACDD;
move-result-object v2
const-string v3, "4049"
invoke-virtual {v2, v3, v1}, Lorg/acdd/framework/ACDD;->reportCrash(Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_b
.line 641
:cond_3f
:try_start_3f
const-string v1, ""
.line 642
if-eqz p1, :cond_4b
.line 643
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v1
.line 645
:cond_4b
new-instance v2, Ljava/lang/RuntimeException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "obj name:"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v2, v1, p2}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
.line 647
invoke-static {}, Lorg/acdd/framework/ACDD;->getInstance()Lorg/acdd/framework/ACDD;
move-result-object v1
const-string v3, "4034"
invoke-virtual {v1, v3, v2}, Lorg/acdd/framework/ACDD;->reportCrash(Ljava/lang/String;Ljava/lang/Throwable;)V
:try_end_6c
.catch Ljava/lang/Throwable; {:try_start_3f .. :try_end_6c} :catch_6d
.catchall {:try_start_3f .. :try_end_6c} :catchall_6f
goto :goto_b
.line 648
:catch_6d
move-exception v1
goto :goto_b
.line 650
:catchall_6f
move-exception v1
goto :goto_b
.end method
.method public onStart()V
.registers 2
.prologue
.line 623
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->onStart()V
.line 624
return-void
.end method
.method public removeMonitor(Landroid/app/Instrumentation$ActivityMonitor;)V
.registers 3
.prologue
.line 929
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1}, Landroid/app/Instrumentation;->removeMonitor(Landroid/app/Instrumentation$ActivityMonitor;)V
.line 930
return-void
.end method
.method public runOnMainSync(Ljava/lang/Runnable;)V
.registers 3
.prologue
.line 832
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1}, Landroid/app/Instrumentation;->runOnMainSync(Ljava/lang/Runnable;)V
.line 833
return-void
.end method
.method public sendCharacterSync(I)V
.registers 3
.prologue
.line 997
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1}, Landroid/app/Instrumentation;->sendCharacterSync(I)V
.line 998
return-void
.end method
.method public sendKeyDownUpSync(I)V
.registers 3
.prologue
.line 984
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1}, Landroid/app/Instrumentation;->sendKeyDownUpSync(I)V
.line 985
return-void
.end method
.method public sendKeySync(Landroid/view/KeyEvent;)V
.registers 3
.prologue
.line 974
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1}, Landroid/app/Instrumentation;->sendKeySync(Landroid/view/KeyEvent;)V
.line 975
return-void
.end method
.method public sendPointerSync(Landroid/view/MotionEvent;)V
.registers 3
.prologue
.line 1002
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1}, Landroid/app/Instrumentation;->sendPointerSync(Landroid/view/MotionEvent;)V
.line 1003
return-void
.end method
.method public sendStatus(ILandroid/os/Bundle;)V
.registers 4
.prologue
.line 684
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1, p2}, Landroid/app/Instrumentation;->sendStatus(ILandroid/os/Bundle;)V
.line 685
return-void
.end method
.method public sendStringSync(Ljava/lang/String;)V
.registers 3
.prologue
.line 969
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1}, Landroid/app/Instrumentation;->sendStringSync(Ljava/lang/String;)V
.line 970
return-void
.end method
.method public sendTrackballEventSync(Landroid/view/MotionEvent;)V
.registers 3
.prologue
.line 1007
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1}, Landroid/app/Instrumentation;->sendTrackballEventSync(Landroid/view/MotionEvent;)V
.line 1008
return-void
.end method
.method public setAutomaticPerformanceSnapshots()V
.registers 2
.prologue
.line 694
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->setAutomaticPerformanceSnapshots()V
.line 695
return-void
.end method
.method public setInTouchMode(Z)V
.registers 3
.prologue
.line 817
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1}, Landroid/app/Instrumentation;->setInTouchMode(Z)V
.line 818
return-void
.end method
.method public start()V
.registers 2
.prologue
.line 618
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->start()V
.line 619
return-void
.end method
.method public startActivitySync(Landroid/content/Intent;)Landroid/app/Activity;
.registers 3
.prologue
.line 837
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1}, Landroid/app/Instrumentation;->startActivitySync(Landroid/content/Intent;)Landroid/app/Activity;
move-result-object v0
return-object v0
.end method
.method public startAllocCounting()V
.registers 2
.prologue
.line 1095
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->startAllocCounting()V
.line 1096
return-void
.end method
.method public startPerformanceSnapshot()V
.registers 2
.prologue
.line 699
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->startPerformanceSnapshot()V
.line 700
return-void
.end method
.method public startProfiling()V
.registers 2
.prologue
.line 799
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->startProfiling()V
.line 800
return-void
.end method
.method public stopAllocCounting()V
.registers 2
.prologue
.line 1100
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->stopAllocCounting()V
.line 1101
return-void
.end method
.method public stopProfiling()V
.registers 2
.prologue
.line 804
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->stopProfiling()V
.line 805
return-void
.end method
.method public waitForIdle(Ljava/lang/Runnable;)V
.registers 3
.prologue
.line 822
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1}, Landroid/app/Instrumentation;->waitForIdle(Ljava/lang/Runnable;)V
.line 823
return-void
.end method
.method public waitForIdleSync()V
.registers 2
.prologue
.line 827
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->waitForIdleSync()V
.line 828
return-void
.end method
.method public waitForMonitor(Landroid/app/Instrumentation$ActivityMonitor;)Landroid/app/Activity;
.registers 3
.prologue
.line 908
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1}, Landroid/app/Instrumentation;->waitForMonitor(Landroid/app/Instrumentation$ActivityMonitor;)Landroid/app/Activity;
move-result-object v0
return-object v0
.end method
.method public waitForMonitorWithTimeout(Landroid/app/Instrumentation$ActivityMonitor;J)Landroid/app/Activity;
.registers 6
.prologue
.line 924
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1, p2, p3}, Landroid/app/Instrumentation;->waitForMonitorWithTimeout(Landroid/app/Instrumentation$ActivityMonitor;J)Landroid/app/Activity;
move-result-object v0
return-object v0
.end method