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 701
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 703
: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 704
sget-object v0, Lorg/acdd/hack/ACDDHacks;->ContextThemeWrapper_mResources:Lorg/acdd/hack/Hack$HackedField;
if-eqz v0, :cond_1b
.line 706
: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 709
: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 711
: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 712
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 714
: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 715
return-void
.line 701
:cond_32
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
.line 702
invoke-virtual {v0}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v0
goto :goto_6
.line 707
: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_f2
.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 397
: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_f5
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;
:try_end_91
.catch Ljava/lang/Exception; {:try_start_6b .. :try_end_91} :catch_d0
move-result-object v6
goto :goto_27
.line 383
:cond_93
:try_start_93
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 384
invoke-interface {p3}, Lorg/acdd/runtime/InstrumentationHook$ExecStartActivityCallback;->execStartActivity()Landroid/app/Instrumentation$ActivityResult;
:try_end_a0
.catch Ljava/lang/ClassNotFoundException; {:try_start_93 .. :try_end_a0} :catch_a2
.catch Ljava/lang/Exception; {:try_start_93 .. :try_end_a0} :catch_d0
move-result-object v6
goto :goto_27
.line 387
:catch_a2
move-exception v5
.line 388
:try_start_a3
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 390
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 391
invoke-direct {p0, p1, p2, v2}, Lorg/acdd/runtime/InstrumentationHook;->fallBackToClassNotFoundCallback(Landroid/content/Context;Landroid/content/Intent;Ljava/lang/String;)V
:try_end_ce
.catch Ljava/lang/Exception; {:try_start_a3 .. :try_end_ce} :catch_d0
goto/16 :goto_27
.line 394
:catch_d0
move-exception v0
.line 395
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 396
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_f2
move-object v2, v0
goto/16 :goto_21
:cond_f5
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 402
invoke-static {}, Lorg/acdd/framework/Framework;->getClassNotFoundCallback()Lorg/acdd/runtime/ClassNotFoundInterceptorCallback;
move-result-object v0
if-eqz v0, :cond_22
.line 403
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 404
invoke-virtual {p2, p1, p3}, Landroid/content/Intent;->setClassName(Landroid/content/Context;Ljava/lang/String;)Landroid/content/Intent;
.line 406
:cond_15
invoke-virtual {p2}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
move-result-object v0
if-eqz v0, :cond_22
.line 407
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 410
: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 511
.line 512
: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 515
:goto_8
return-object v0
.line 513
:catch_9
move-exception v0
.line 514
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 515
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 648
if-nez p1, :cond_3
.line 673
:cond_2
:goto_2
return-void
.line 651
:cond_3
instance-of v0, p1, Landroid/content/BroadcastReceiver;
if-eqz v0, :cond_2
.line 656
:try_start_7
check-cast p1, Landroid/content/BroadcastReceiver;
.line 657
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 658
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 659
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_4f
.line 661
if-eqz v0, :cond_2
.line 662
: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 664
:catch_27
move-exception v0
.line 665
: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 666
const-string 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 667
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_4e
.catch Ljava/lang/Throwable; {:try_start_28 .. :try_end_4e} :catch_4f
goto :goto_2
.line 670
:catch_4f
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 721
.line 722
invoke-static {}, Lorg/acdd/bundleInfo/BundleInfoList;->getInstance()Lorg/acdd/bundleInfo/BundleInfoList;
move-result-object v0
.line 723
invoke-virtual {p1}, Landroid/app/Activity;->getLocalClassName()Ljava/lang/String;
move-result-object v1
.line 722
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 724
if-eqz v0, :cond_35
.line 725
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 729
:goto_23
sget-object v1, Lorg/acdd/hack/ACDDHacks;->ContextThemeWrapper_mResources:Lorg/acdd/hack/Hack$HackedField;
if-eqz v1, :cond_37
.line 730
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 734
:goto_2f
sget-object v5, Lorg/acdd/runtime/RuntimeVariables;->delegateResources:Landroid/content/res/Resources;
.line 735
if-ne v1, v5, :cond_3c
move v0, v4
.line 762
:goto_34
return v0
:cond_35
move-object v2, v3
.line 727
goto :goto_23
.line 732
:cond_37
invoke-virtual {p1}, Landroid/app/Activity;->getResources()Landroid/content/res/Resources;
move-result-object v1
goto :goto_2f
.line 738
:cond_3c
invoke-direct {p0, v1}, Lorg/acdd/runtime/InstrumentationHook;->getAssetPathFromResources(Landroid/content/res/Resources;)Ljava/util/List;
move-result-object v6
.line 739
invoke-static {}, Lorg/acdd/runtime/DelegateResources;->getAssetHistoryPaths()Ljava/lang/String;
move-result-object v7
.line 740
invoke-direct {p0, v5}, Lorg/acdd/runtime/InstrumentationHook;->getAssetPathFromResources(Landroid/content/res/Resources;)Ljava/util/List;
move-result-object v5
.line 741
if-eqz v2, :cond_10f
if-eqz v6, :cond_10f
invoke-interface {v6, v2}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_10f
.line 742
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 743
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 744
invoke-virtual {v7, v2}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v3
if-nez v3, :cond_9a
.line 745
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 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 746
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 748
:cond_9a
invoke-interface {v5, v2}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_c3
.line 749
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, "paths in runtime not contains:"
invoke-virtual {v1, v2}, 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 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 752
:cond_c3
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_f4
.line 753
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 754
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 756
:cond_f4
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 758
:cond_10f
if-nez v3, :cond_114
move v0, v4
.line 759
goto/16 :goto_34
.line 761
:cond_114
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 762
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 857
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 878
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 835
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 836
return-void
.end method
.method public callActivityOnCreate(Landroid/app/Activity;Landroid/os/Bundle;)V
.registers 7
.prologue
.line 529
if-eqz p2, :cond_9
.line 531
sget-object v0, Lorg/acdd/runtime/RuntimeVariables;->delegateClassLoader:Lorg/acdd/runtime/DelegateClassLoader;
.line 532
if-eqz v0, :cond_9d
.line 533
invoke-virtual {p2, v0}, Landroid/os/Bundle;->setClassLoader(Ljava/lang/ClassLoader;)V
.line 539
: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_131
.line 540
sget-object v0, Lorg/acdd/runtime/RuntimeVariables;->delegateClassLoader:Lorg/acdd/runtime/DelegateClassLoader;
if-eqz v0, :cond_a6
sget-object v0, Lorg/acdd/runtime/RuntimeVariables;->delegateClassLoader:Lorg/acdd/runtime/DelegateClassLoader;
.line 542
: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 543
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 544
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 546
: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 547
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 549
: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_b0
.line 554
:cond_5b
:goto_5b
const-string v0, "org.acdd.welcome.Welcome"
const-string 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 555
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_6b
.line 556
const-string v0, "org.acdd.welcome.Welcome"
.line 559
:cond_6b
:try_start_6b
invoke-direct {p0, p1}, Lorg/acdd/runtime/InstrumentationHook;->ensureResourcesInjected(Landroid/app/Activity;)V
.line 560
invoke-static {p1}, Lorg/acdd/framework/ActivityRecorder;->addActivity(Landroid/app/Activity;)V
.line 561
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 563
invoke-virtual {p1}, Landroid/app/Activity;->getIntent()Landroid/content/Intent;
move-result-object v0
.line 564
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_9c
.line 565
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 566
if-eqz v0, :cond_9c
iget v1, v0, Lorg/acdd/runtime/PackageLite$SimpleActivityInfo;->screenOrientation:I
const/4 v2, -0x1
if-eq v1, v2, :cond_9c
.line 567
iget v0, v0, Lorg/acdd/runtime/PackageLite$SimpleActivityInfo;->screenOrientation:I
invoke-virtual {p1, v0}, Landroid/app/Activity;->setRequestedOrientation(I)V
:try_end_9c
.catch Ljava/lang/Exception; {:try_start_6b .. :try_end_9c} :catch_d2
.line 596
:cond_9c
:goto_9c
return-void
.line 536
:cond_9d
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 540
:cond_a6
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
.line 541
invoke-virtual {v0}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v0
goto/16 :goto_1f
.line 550
:catch_b0
move-exception v0
.line 551
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 571
:catch_d2
move-exception v0
.line 572
invoke-static {p1}, Lorg/acdd/framework/ActivityRecorder;->removeActivity(Landroid/app/Activity;)V
.line 573
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 574
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_10e
.line 575
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_111
.line 576
:cond_10e
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
.line 579
:cond_111
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_12c
.line 582
:try_start_11d
invoke-static {p1}, Lorg/acdd/framework/ActivityRecorder;->addActivity(Landroid/app/Activity;)V
.line 583
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_126
.catch Ljava/lang/Exception; {:try_start_11d .. :try_end_126} :catch_128
goto/16 :goto_9c
.line 586
:catch_128
move-exception v1
.line 587
invoke-static {p1}, Lorg/acdd/framework/ActivityRecorder;->removeActivity(Landroid/app/Activity;)V
.line 591
:cond_12c
invoke-direct {p0, p1, p2, v0}, Lorg/acdd/runtime/InstrumentationHook;->HandleResourceNotFound(Landroid/app/Activity;Landroid/os/Bundle;Ljava/lang/Exception;)V
goto/16 :goto_9c
.line 595
:cond_131
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_9c
.end method
.method public callActivityOnDestroy(Landroid/app/Activity;)V
.registers 3
.prologue
.line 1027
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 1028
invoke-static {p1}, Lorg/acdd/framework/ActivityRecorder;->removeActivity(Landroid/app/Activity;)V
.line 1029
return-void
.end method
.method public callActivityOnNewIntent(Landroid/app/Activity;Landroid/content/Intent;)V
.registers 4
.prologue
.line 1043
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 1044
return-void
.end method
.method public callActivityOnPause(Landroid/app/Activity;)V
.registers 3
.prologue
.line 1078
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 1079
return-void
.end method
.method public callActivityOnPostCreate(Landroid/app/Activity;Landroid/os/Bundle;)V
.registers 4
.prologue
.line 1038
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 1039
return-void
.end method
.method public callActivityOnRestart(Landroid/app/Activity;)V
.registers 3
.prologue
.line 1053
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 1054
return-void
.end method
.method public callActivityOnRestoreInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
.registers 4
.prologue
.line 1033
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 1034
return-void
.end method
.method public callActivityOnResume(Landroid/app/Activity;)V
.registers 4
.prologue
.line 1058
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 1060
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 1061
if-eqz v0, :cond_17
.line 1062
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 1064
:cond_17
return-void
.end method
.method public callActivityOnSaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
.registers 4
.prologue
.line 1073
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 1074
return-void
.end method
.method public callActivityOnStart(Landroid/app/Activity;)V
.registers 3
.prologue
.line 1048
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 1049
return-void
.end method
.method public callActivityOnStop(Landroid/app/Activity;)V
.registers 3
.prologue
.line 1068
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 1069
return-void
.end method
.method public callActivityOnUserLeaving(Landroid/app/Activity;)V
.registers 3
.prologue
.line 1083
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 1084
return-void
.end method
.method public callApplicationOnCreate(Landroid/app/Application;)V
.registers 3
.prologue
.line 1022
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 1023
return-void
.end method
.method public checkMonitorHit(Landroid/app/Instrumentation$ActivityMonitor;I)Z
.registers 4
.prologue
.line 896
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 697
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->endPerformanceSnapshot()V
.line 698
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 682
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 683
return-void
.end method
.method public getAllocCounts()Landroid/os/Bundle;
.registers 2
.prologue
.line 1098
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 1103
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 777
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 772
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 782
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 601
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 951
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 936
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 787
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 437
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 439
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 441
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 443
: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 462
const/4 v1, 0x0
.line 463
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x1c
if-lt v0, v2, :cond_b
.line 464
invoke-virtual {p3, p1}, Landroid/content/Intent;->setExtrasClassLoader(Ljava/lang/ClassLoader;)V
.line 467
: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 468
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 503
: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 504
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 506
:cond_24
return-object v0
.line 470
:cond_25
:try_start_25
invoke-static {p3}, Lorg/acdd/runtime/ActivityProxyHook;->getComponent(Landroid/content/Intent;)Landroid/content/ComponentName;
move-result-object v0
.line 471
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 472
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 473
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 475
:catch_43
move-exception v0
move-object v2, v0
.line 477
const-string v0, "org.acdd.welcome.Welcome"
const-string 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 479
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_56
.line 480
const-string v0, "org.acdd.launcher.welcome"
move-object v1, v0
.line 485
:cond_56
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_5d
.line 486
throw v2
.line 489
:cond_5d
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 490
invoke-virtual {v0, v4}, Landroid/app/ActivityManager;->getRunningTasks(I)Ljava/util/List;
move-result-object v0
.line 491
if-eqz v0, :cond_96
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v2
if-lez v2, :cond_96
const/4 v2, 0x0
.line 492
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_96
.line 493
invoke-static {}, Lorg/acdd/framework/Framework;->getClassNotFoundCallback()Lorg/acdd/runtime/ClassNotFoundInterceptorCallback;
move-result-object v0
if-eqz v0, :cond_96
.line 494
invoke-virtual {p3}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;
move-result-object v0
if-nez v0, :cond_8f
.line 495
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 497
:cond_8f
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 499
:cond_96
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 500
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 501
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 1017
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 606
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 607
return-void
.end method
.method public onDestroy()V
.registers 2
.prologue
.line 767
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->onDestroy()V
.line 768
return-void
.end method
.method public onException(Ljava/lang/Object;Ljava/lang/Throwable;)Z
.registers 8
.prologue
const/4 v0, 0x1
.line 621
sget-boolean v1, Lorg/acdd/android/compat/AppBuildConfig;->DEBUG:Z
if-eqz v1, :cond_c
.line 622
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 643
:goto_b
return v0
.line 625
:cond_c
if-eqz p1, :cond_3f
instance-of v1, p1, Landroid/content/BroadcastReceiver;
if-eqz v1, :cond_3f
.line 626
invoke-direct {p0, p1}, Lorg/acdd/runtime/InstrumentationHook;->handleBroadcastAlreadyFinished(Ljava/lang/Object;)V
.line 627
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 628
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 629
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 634
:cond_3f
:try_start_3f
const-string v1, ""
.line 635
if-eqz p1, :cond_4b
.line 636
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 638
: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 640
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 641
:catch_6d
move-exception v1
goto :goto_b
.line 643
:catchall_6f
move-exception v1
goto :goto_b
.end method
.method public onStart()V
.registers 2
.prologue
.line 616
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->onStart()V
.line 617
return-void
.end method
.method public removeMonitor(Landroid/app/Instrumentation$ActivityMonitor;)V
.registers 3
.prologue
.line 922
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 923
return-void
.end method
.method public runOnMainSync(Ljava/lang/Runnable;)V
.registers 3
.prologue
.line 825
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 826
return-void
.end method
.method public sendCharacterSync(I)V
.registers 3
.prologue
.line 990
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1}, Landroid/app/Instrumentation;->sendCharacterSync(I)V
.line 991
return-void
.end method
.method public sendKeyDownUpSync(I)V
.registers 3
.prologue
.line 977
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1}, Landroid/app/Instrumentation;->sendKeyDownUpSync(I)V
.line 978
return-void
.end method
.method public sendKeySync(Landroid/view/KeyEvent;)V
.registers 3
.prologue
.line 967
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 968
return-void
.end method
.method public sendPointerSync(Landroid/view/MotionEvent;)V
.registers 3
.prologue
.line 995
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 996
return-void
.end method
.method public sendStatus(ILandroid/os/Bundle;)V
.registers 4
.prologue
.line 677
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 678
return-void
.end method
.method public sendStringSync(Ljava/lang/String;)V
.registers 3
.prologue
.line 962
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 963
return-void
.end method
.method public sendTrackballEventSync(Landroid/view/MotionEvent;)V
.registers 3
.prologue
.line 1000
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 1001
return-void
.end method
.method public setAutomaticPerformanceSnapshots()V
.registers 2
.prologue
.line 687
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->setAutomaticPerformanceSnapshots()V
.line 688
return-void
.end method
.method public setInTouchMode(Z)V
.registers 3
.prologue
.line 810
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0, p1}, Landroid/app/Instrumentation;->setInTouchMode(Z)V
.line 811
return-void
.end method
.method public start()V
.registers 2
.prologue
.line 611
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->start()V
.line 612
return-void
.end method
.method public startActivitySync(Landroid/content/Intent;)Landroid/app/Activity;
.registers 3
.prologue
.line 830
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 1088
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->startAllocCounting()V
.line 1089
return-void
.end method
.method public startPerformanceSnapshot()V
.registers 2
.prologue
.line 692
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->startPerformanceSnapshot()V
.line 693
return-void
.end method
.method public startProfiling()V
.registers 2
.prologue
.line 792
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->startProfiling()V
.line 793
return-void
.end method
.method public stopAllocCounting()V
.registers 2
.prologue
.line 1093
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->stopAllocCounting()V
.line 1094
return-void
.end method
.method public stopProfiling()V
.registers 2
.prologue
.line 797
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->stopProfiling()V
.line 798
return-void
.end method
.method public waitForIdle(Ljava/lang/Runnable;)V
.registers 3
.prologue
.line 815
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 816
return-void
.end method
.method public waitForIdleSync()V
.registers 2
.prologue
.line 820
iget-object v0, p0, Lorg/acdd/runtime/InstrumentationHook;->mBase:Landroid/app/Instrumentation;
invoke-virtual {v0}, Landroid/app/Instrumentation;->waitForIdleSync()V
.line 821
return-void
.end method
.method public waitForMonitor(Landroid/app/Instrumentation$ActivityMonitor;)Landroid/app/Activity;
.registers 3
.prologue
.line 901
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 917
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