final class android.app.LoadedApk$ReceiverDispatcher
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: android.app.LoadedApk$ReceiverDispatcher
super_class: java.lang.Object
{
final android.content.IIntentReceiver$Stub mIIntentReceiver;
descriptor: Landroid/content/IIntentReceiver$Stub;
flags: (0x0010) ACC_FINAL
final android.content.BroadcastReceiver mReceiver;
descriptor: Landroid/content/BroadcastReceiver;
flags: (0x0010) ACC_FINAL
final android.content.Context mContext;
descriptor: Landroid/content/Context;
flags: (0x0010) ACC_FINAL
final android.os.Handler mActivityThread;
descriptor: Landroid/os/Handler;
flags: (0x0010) ACC_FINAL
final android.app.Instrumentation mInstrumentation;
descriptor: Landroid/app/Instrumentation;
flags: (0x0010) ACC_FINAL
final boolean mRegistered;
descriptor: Z
flags: (0x0010) ACC_FINAL
final android.app.IntentReceiverLeaked mLocation;
descriptor: Landroid/app/IntentReceiverLeaked;
flags: (0x0010) ACC_FINAL
java.lang.RuntimeException mUnregisterLocation;
descriptor: Ljava/lang/RuntimeException;
flags: (0x0000)
boolean mForgotten;
descriptor: Z
flags: (0x0000)
void <init>(android.content.BroadcastReceiver, android.content.Context, android.os.Handler, android.app.Instrumentation, boolean);
descriptor: (Landroid/content/BroadcastReceiver;Landroid/content/Context;Landroid/os/Handler;Landroid/app/Instrumentation;Z)V
flags: (0x0000)
Code:
stack=5, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 3
ifnonnull 3
2: new java.lang.NullPointerException
dup
ldc "Handler must not be null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: android.app.LoadedApk$ReceiverDispatcher android.content.BroadcastReceiver android.content.Context android.os.Handler android.app.Instrumentation int
StackMap stack:
aload 0
4: new android.app.LoadedApk$ReceiverDispatcher$InnerReceiver
dup
aload 0
iload 5
ifeq 5
iconst_0
goto 6
StackMap locals: android.app.LoadedApk$ReceiverDispatcher android.content.BroadcastReceiver android.content.Context android.os.Handler android.app.Instrumentation int
StackMap stack: android.app.LoadedApk$ReceiverDispatcher new 4 new 4 android.app.LoadedApk$ReceiverDispatcher
5: iconst_1
StackMap locals: android.app.LoadedApk$ReceiverDispatcher android.content.BroadcastReceiver android.content.Context android.os.Handler android.app.Instrumentation int
StackMap stack: android.app.LoadedApk$ReceiverDispatcher new 4 new 4 android.app.LoadedApk$ReceiverDispatcher int
6: invokespecial android.app.LoadedApk$ReceiverDispatcher$InnerReceiver.<init>:(Landroid/app/LoadedApk$ReceiverDispatcher;Z)V
putfield android.app.LoadedApk$ReceiverDispatcher.mIIntentReceiver:Landroid/content/IIntentReceiver$Stub;
7: aload 0
aload 1
putfield android.app.LoadedApk$ReceiverDispatcher.mReceiver:Landroid/content/BroadcastReceiver;
8: aload 0
aload 2
putfield android.app.LoadedApk$ReceiverDispatcher.mContext:Landroid/content/Context;
9: aload 0
aload 3
putfield android.app.LoadedApk$ReceiverDispatcher.mActivityThread:Landroid/os/Handler;
10: aload 0
aload 4
putfield android.app.LoadedApk$ReceiverDispatcher.mInstrumentation:Landroid/app/Instrumentation;
11: aload 0
iload 5
putfield android.app.LoadedApk$ReceiverDispatcher.mRegistered:Z
12: aload 0
new android.app.IntentReceiverLeaked
dup
aconst_null
invokespecial android.app.IntentReceiverLeaked.<init>:(Ljava/lang/String;)V
putfield android.app.LoadedApk$ReceiverDispatcher.mLocation:Landroid/app/IntentReceiverLeaked;
13: aload 0
getfield android.app.LoadedApk$ReceiverDispatcher.mLocation:Landroid/app/IntentReceiverLeaked;
invokevirtual android.app.IntentReceiverLeaked.fillInStackTrace:()Ljava/lang/Throwable;
pop
14: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Landroid/app/LoadedApk$ReceiverDispatcher;
0 15 1 receiver Landroid/content/BroadcastReceiver;
0 15 2 context Landroid/content/Context;
0 15 3 activityThread Landroid/os/Handler;
0 15 4 instrumentation Landroid/app/Instrumentation;
0 15 5 registered Z
MethodParameters:
Name Flags
receiver
context
activityThread
instrumentation
registered
void validate(android.content.Context, android.os.Handler);
descriptor: (Landroid/content/Context;Landroid/os/Handler;)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.app.LoadedApk$ReceiverDispatcher.mContext:Landroid/content/Context;
aload 1
if_acmpeq 7
1: new java.lang.IllegalStateException
dup
2: new java.lang.StringBuilder
dup
ldc "Receiver "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield android.app.LoadedApk$ReceiverDispatcher.mReceiver:Landroid/content/BroadcastReceiver;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3: ldc " registered with differing Context (was "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: aload 0
getfield android.app.LoadedApk$ReceiverDispatcher.mContext:Landroid/content/Context;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " now "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield android.app.LoadedApk$ReceiverDispatcher.mActivityThread:Landroid/os/Handler;
aload 2
if_acmpeq 14
8: new java.lang.IllegalStateException
dup
9: new java.lang.StringBuilder
dup
ldc "Receiver "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield android.app.LoadedApk$ReceiverDispatcher.mReceiver:Landroid/content/BroadcastReceiver;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
10: ldc " registered with differing handler (was "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: aload 0
getfield android.app.LoadedApk$ReceiverDispatcher.mActivityThread:Landroid/os/Handler;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " now "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Landroid/app/LoadedApk$ReceiverDispatcher;
0 15 1 context Landroid/content/Context;
0 15 2 activityThread Landroid/os/Handler;
MethodParameters:
Name Flags
context
activityThread
android.app.IntentReceiverLeaked getLocation();
descriptor: ()Landroid/app/IntentReceiverLeaked;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.app.LoadedApk$ReceiverDispatcher.mLocation:Landroid/app/IntentReceiverLeaked;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/app/LoadedApk$ReceiverDispatcher;
android.content.BroadcastReceiver getIntentReceiver();
descriptor: ()Landroid/content/BroadcastReceiver;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.app.LoadedApk$ReceiverDispatcher.mReceiver:Landroid/content/BroadcastReceiver;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/app/LoadedApk$ReceiverDispatcher;
android.content.IIntentReceiver getIIntentReceiver();
descriptor: ()Landroid/content/IIntentReceiver;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.app.LoadedApk$ReceiverDispatcher.mIIntentReceiver:Landroid/content/IIntentReceiver$Stub;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/app/LoadedApk$ReceiverDispatcher;
void setUnregisterLocation(java.lang.RuntimeException);
descriptor: (Ljava/lang/RuntimeException;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield android.app.LoadedApk$ReceiverDispatcher.mUnregisterLocation:Ljava/lang/RuntimeException;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/app/LoadedApk$ReceiverDispatcher;
0 2 1 ex Ljava/lang/RuntimeException;
MethodParameters:
Name Flags
ex
java.lang.RuntimeException getUnregisterLocation();
descriptor: ()Ljava/lang/RuntimeException;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.app.LoadedApk$ReceiverDispatcher.mUnregisterLocation:Ljava/lang/RuntimeException;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/app/LoadedApk$ReceiverDispatcher;
public void performReceive(android.content.Intent, int, java.lang.String, android.os.Bundle, boolean, boolean, int);
descriptor: (Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=10, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: new android.app.LoadedApk$ReceiverDispatcher$Args
dup
aload 0
aload 1
iload 2
aload 3
aload 4
iload 5
1: iload 6
iload 7
2: invokespecial android.app.LoadedApk$ReceiverDispatcher$Args.<init>:(Landroid/app/LoadedApk$ReceiverDispatcher;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
astore 8
start local 8 3: aload 1
ifnonnull 5
4: ldc "LoadedApk"
ldc "Null intent received"
invokestatic android.util.Log.wtf:(Ljava/lang/String;Ljava/lang/String;)I
pop
5: StackMap locals: android.app.LoadedApk$ReceiverDispatcher$Args
StackMap stack:
aload 1
ifnull 6
aload 0
getfield android.app.LoadedApk$ReceiverDispatcher.mActivityThread:Landroid/os/Handler;
aload 8
invokevirtual android.app.LoadedApk$ReceiverDispatcher$Args.getRunnable:()Ljava/lang/Runnable;
invokevirtual android.os.Handler.post:(Ljava/lang/Runnable;)Z
ifne 9
6: StackMap locals:
StackMap stack:
aload 0
getfield android.app.LoadedApk$ReceiverDispatcher.mRegistered:Z
ifeq 9
iload 5
ifeq 9
7: invokestatic android.app.ActivityManager.getService:()Landroid/app/IActivityManager;
astore 9
start local 9 8: aload 8
aload 9
invokevirtual android.app.LoadedApk$ReceiverDispatcher$Args.sendFinished:(Landroid/app/IActivityManager;)V
end local 9 9: StackMap locals:
StackMap stack:
return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/app/LoadedApk$ReceiverDispatcher;
0 10 1 intent Landroid/content/Intent;
0 10 2 resultCode I
0 10 3 data Ljava/lang/String;
0 10 4 extras Landroid/os/Bundle;
0 10 5 ordered Z
0 10 6 sticky Z
0 10 7 sendingUser I
3 10 8 args Landroid/app/LoadedApk$ReceiverDispatcher$Args;
8 9 9 mgr Landroid/app/IActivityManager;
MethodParameters:
Name Flags
intent
resultCode
data
extras
ordered
sticky
sendingUser
}
SourceFile: "LoadedApk.java"
NestHost: android.app.LoadedApk
InnerClasses:
final ReceiverDispatcher = android.app.LoadedApk$ReceiverDispatcher of android.app.LoadedApk
final Args = android.app.LoadedApk$ReceiverDispatcher$Args of android.app.LoadedApk$ReceiverDispatcher
final InnerReceiver = android.app.LoadedApk$ReceiverDispatcher$InnerReceiver of android.app.LoadedApk$ReceiverDispatcher
public abstract Stub = android.content.IIntentReceiver$Stub of android.content.IIntentReceiver