public class android.os.Binder implements android.os.IBinder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.os.Binder
super_class: java.lang.Object
{
private static final boolean FIND_POTENTIAL_LEAKS;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final boolean CHECK_PARCEL_SIZE;
descriptor: Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "Binder"
public static boolean LOG_RUNTIME_EXCEPTION;
descriptor: Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
private static volatile java.lang.String sDumpDisabled;
descriptor: Ljava/lang/String;
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static volatile android.os.TransactionTracker sTransactionTracker;
descriptor: Landroid/os/TransactionTracker;
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static final int NATIVE_ALLOCATION_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 500
private static volatile boolean sTracingEnabled;
descriptor: Z
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
static volatile boolean sWarnOnBlocking;
descriptor: Z
flags: (0x0048) ACC_STATIC, ACC_VOLATILE
private final long mObject;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private android.os.IInterface mOwner;
descriptor: Landroid/os/IInterface;
flags: (0x0002) ACC_PRIVATE
private java.lang.String mDescriptor;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
putstatic android.os.Binder.LOG_RUNTIME_EXCEPTION:Z
1: aconst_null
putstatic android.os.Binder.sDumpDisabled:Ljava/lang/String;
2: aconst_null
putstatic android.os.Binder.sTransactionTracker:Landroid/os/TransactionTracker;
3: iconst_0
putstatic android.os.Binder.sTracingEnabled:Z
4: iconst_0
putstatic android.os.Binder.sWarnOnBlocking:Z
return
LocalVariableTable:
Start End Slot Name Signature
private static native long getNativeFinalizer();
descriptor: ()J
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
public static void enableTracing();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_1
putstatic android.os.Binder.sTracingEnabled:Z
1: return
LocalVariableTable:
Start End Slot Name Signature
public static void disableTracing();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
putstatic android.os.Binder.sTracingEnabled:Z
1: return
LocalVariableTable:
Start End Slot Name Signature
public static boolean isTracingEnabled();
descriptor: ()Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic android.os.Binder.sTracingEnabled:Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static synchronized android.os.TransactionTracker getTransactionTracker();
descriptor: ()Landroid/os/TransactionTracker;
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=0, args_size=0
0: getstatic android.os.Binder.sTransactionTracker:Landroid/os/TransactionTracker;
ifnonnull 2
1: new android.os.TransactionTracker
dup
invokespecial android.os.TransactionTracker.<init>:()V
putstatic android.os.Binder.sTransactionTracker:Landroid/os/TransactionTracker;
2: StackMap locals:
StackMap stack:
getstatic android.os.Binder.sTransactionTracker:Landroid/os/TransactionTracker;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static void setWarnOnBlocking(boolean);
descriptor: (Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
putstatic android.os.Binder.sWarnOnBlocking:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 warnOnBlocking Z
MethodParameters:
Name Flags
warnOnBlocking
public static android.os.IBinder allowBlocking(android.os.IBinder);
descriptor: (Landroid/os/IBinder;)Landroid/os/IBinder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
instanceof android.os.BinderProxy
ifeq 3
1: aload 0
checkcast android.os.BinderProxy
iconst_0
putfield android.os.BinderProxy.mWarnOnBlocking:Z
2: goto 8
StackMap locals:
StackMap stack:
3: aload 0
ifnull 8
aload 0
invokeinterface android.os.IBinder.getInterfaceDescriptor:()Ljava/lang/String;
ifnull 8
4: aload 0
aload 0
invokeinterface android.os.IBinder.getInterfaceDescriptor:()Ljava/lang/String;
invokeinterface android.os.IBinder.queryLocalInterface:(Ljava/lang/String;)Landroid/os/IInterface;
ifnonnull 8
5: ldc "Binder"
new java.lang.StringBuilder
dup
ldc "Unable to allow blocking on interface "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
6: goto 8
StackMap locals:
StackMap stack: android.os.RemoteException
7: pop
8: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 binder Landroid/os/IBinder;
Exception table:
from to target type
0 6 7 Class android.os.RemoteException
MethodParameters:
Name Flags
binder
public static android.os.IBinder defaultBlocking(android.os.IBinder);
descriptor: (Landroid/os/IBinder;)Landroid/os/IBinder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
instanceof android.os.BinderProxy
ifeq 2
1: aload 0
checkcast android.os.BinderProxy
getstatic android.os.Binder.sWarnOnBlocking:Z
putfield android.os.BinderProxy.mWarnOnBlocking:Z
2: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 binder Landroid/os/IBinder;
MethodParameters:
Name Flags
binder
public static void copyAllowBlocking(android.os.IBinder, android.os.IBinder);
descriptor: (Landroid/os/IBinder;Landroid/os/IBinder;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
instanceof android.os.BinderProxy
ifeq 2
aload 1
instanceof android.os.BinderProxy
ifeq 2
1: aload 1
checkcast android.os.BinderProxy
aload 0
checkcast android.os.BinderProxy
getfield android.os.BinderProxy.mWarnOnBlocking:Z
putfield android.os.BinderProxy.mWarnOnBlocking:Z
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 fromBinder Landroid/os/IBinder;
0 3 1 toBinder Landroid/os/IBinder;
MethodParameters:
Name Flags
fromBinder
toBinder
public static final native int getCallingPid();
descriptor: ()I
flags: (0x0119) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_NATIVE
public static final native int getCallingUid();
descriptor: ()I
flags: (0x0119) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_NATIVE
public static final android.os.UserHandle getCallingUserHandle();
descriptor: ()Landroid/os/UserHandle;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=1, locals=0, args_size=0
0: invokestatic android.os.Binder.getCallingUid:()I
invokestatic android.os.UserHandle.getUserId:(I)I
invokestatic android.os.UserHandle.of:(I)Landroid/os/UserHandle;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static final native long clearCallingIdentity();
descriptor: ()J
flags: (0x0119) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_NATIVE
public static final native void restoreCallingIdentity(long);
descriptor: (J)V
flags: (0x0119) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
token
public static final void withCleanCallingIdentity(com.android.internal.util.FunctionalUtils$ThrowingRunnable);
descriptor: (Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;)V
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=6, args_size=1
start local 0 0: invokestatic android.os.Binder.clearCallingIdentity:()J
lstore 1
start local 1 1: aconst_null
astore 3
start local 3 2: aload 0
invokeinterface com.android.internal.util.FunctionalUtils$ThrowingRunnable.runOrThrow:()V
3: goto 14
StackMap locals: com.android.internal.util.FunctionalUtils$ThrowingRunnable long java.lang.Throwable
StackMap stack: java.lang.Throwable
4: astore 4
start local 4 5: aload 4
astore 3
end local 4 6: lload 1
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
7: aload 3
ifnull 17
8: aload 3
invokestatic android.util.ExceptionUtils.propagate:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
9: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
10: lload 1
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
11: aload 3
ifnull 13
12: aload 3
invokestatic android.util.ExceptionUtils.propagate:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
13: StackMap locals: com.android.internal.util.FunctionalUtils$ThrowingRunnable long java.lang.Throwable top java.lang.Throwable
StackMap stack:
aload 5
athrow
14: StackMap locals: com.android.internal.util.FunctionalUtils$ThrowingRunnable long java.lang.Throwable
StackMap stack:
lload 1
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
15: aload 3
ifnull 17
16: aload 3
invokestatic android.util.ExceptionUtils.propagate:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
17: StackMap locals:
StackMap stack:
return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 action Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;
1 18 1 callingIdentity J
2 18 3 throwableToPropagate Ljava/lang/Throwable;
5 6 4 throwable Ljava/lang/Throwable;
Exception table:
from to target type
2 3 4 Class java.lang.Throwable
2 6 9 any
MethodParameters:
Name Flags
action
public static final <T> T withCleanCallingIdentity(com.android.internal.util.FunctionalUtils$ThrowingSupplier<T>);
descriptor: (Lcom/android/internal/util/FunctionalUtils$ThrowingSupplier;)Ljava/lang/Object;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=7, args_size=1
start local 0 0: invokestatic android.os.Binder.clearCallingIdentity:()J
lstore 1
start local 1 1: aconst_null
astore 3
start local 3 2: aload 0
invokeinterface com.android.internal.util.FunctionalUtils$ThrowingSupplier.getOrThrow:()Ljava/lang/Object;
astore 6
3: lload 1
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
4: aload 3
ifnull 6
5: aload 3
invokestatic android.util.ExceptionUtils.propagate:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
6: StackMap locals: com.android.internal.util.FunctionalUtils$ThrowingSupplier long java.lang.Throwable top top java.lang.Object
StackMap stack:
aload 6
areturn
7: StackMap locals: com.android.internal.util.FunctionalUtils$ThrowingSupplier long java.lang.Throwable
StackMap stack: java.lang.Throwable
astore 4
start local 4 8: aload 4
astore 3
9: lload 1
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
10: aload 3
ifnull 12
11: aload 3
invokestatic android.util.ExceptionUtils.propagate:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
12: StackMap locals: java.lang.Throwable
StackMap stack:
aconst_null
areturn
end local 4 13: StackMap locals: com.android.internal.util.FunctionalUtils$ThrowingSupplier long java.lang.Throwable
StackMap stack: java.lang.Throwable
astore 5
14: lload 1
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
15: aload 3
ifnull 17
16: aload 3
invokestatic android.util.ExceptionUtils.propagate:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
17: StackMap locals: com.android.internal.util.FunctionalUtils$ThrowingSupplier long java.lang.Throwable top java.lang.Throwable
StackMap stack:
aload 5
athrow
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 action Lcom/android/internal/util/FunctionalUtils$ThrowingSupplier<TT;>;
1 18 1 callingIdentity J
2 18 3 throwableToPropagate Ljava/lang/Throwable;
8 13 4 throwable Ljava/lang/Throwable;
Exception table:
from to target type
2 3 7 Class java.lang.Throwable
2 3 13 any
7 9 13 any
Signature: <T:Ljava/lang/Object;>(Lcom/android/internal/util/FunctionalUtils$ThrowingSupplier<TT;>;)TT;
MethodParameters:
Name Flags
action
public static final native void setThreadStrictModePolicy(int);
descriptor: (I)V
flags: (0x0119) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
policyMask
public static final native int getThreadStrictModePolicy();
descriptor: ()I
flags: (0x0119) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_NATIVE
public static final native void flushPendingCommands();
descriptor: ()V
flags: (0x0119) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_NATIVE
public static final void joinThreadPool();
descriptor: ()V
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=0, locals=0, args_size=0
0: invokestatic com.android.internal.os.BinderInternal.joinThreadPool:()V
1: return
LocalVariableTable:
Start End Slot Name Signature
public static final boolean isProxy(android.os.IInterface);
descriptor: (Landroid/os/IInterface;)Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface android.os.IInterface.asBinder:()Landroid/os/IBinder;
aload 0
if_acmpeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 iface Landroid/os/IInterface;
MethodParameters:
Name Flags
iface
public static final native void blockUntilThreadAvailable();
descriptor: ()V
flags: (0x0119) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_NATIVE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tThe import libcore.io cannot be resolved\n\tThe import libcore.util cannot be resolved\n\tNativeAllocationRegistry cannot be resolved to a type\n\tNativeAllocationRegistry cannot be resolved to a type\n\tNativeAllocationRegistry cannot be resolved to a type\n\tIoUtils cannot be resolved\n\tIoUtils cannot be resolved\n\tIoUtils cannot be resolved\n\tIoUtils cannot be resolved\n\tNativeAllocationRegistry cannot be resolved\n\tNativeAllocationRegistry cannot be resolved to a type\n\tNativeAllocationRegistry cannot be resolved to a type\n\tNativeAllocationRegistry cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/Binder;
public void attachInterface(android.os.IInterface, java.lang.String);
descriptor: (Landroid/os/IInterface;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
putfield android.os.Binder.mOwner:Landroid/os/IInterface;
1: aload 0
aload 2
putfield android.os.Binder.mDescriptor:Ljava/lang/String;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/os/Binder;
0 3 1 owner Landroid/os/IInterface;
0 3 2 descriptor Ljava/lang/String;
MethodParameters:
Name Flags
owner
descriptor
public java.lang.String getInterfaceDescriptor();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.os.Binder.mDescriptor:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/Binder;
public boolean pingBinder();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/Binder;
public boolean isBinderAlive();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/Binder;
public android.os.IInterface queryLocalInterface(java.lang.String);
descriptor: (Ljava/lang/String;)Landroid/os/IInterface;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.os.Binder.mDescriptor:Ljava/lang/String;
ifnull 2
aload 0
getfield android.os.Binder.mDescriptor:Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
getfield android.os.Binder.mOwner:Landroid/os/IInterface;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/os/Binder;
0 3 1 descriptor Ljava/lang/String;
MethodParameters:
Name Flags
descriptor
public static void setDumpDisabled(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
putstatic android.os.Binder.sDumpDisabled:Ljava/lang/String;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 msg Ljava/lang/String;
MethodParameters:
Name Flags
msg
protected boolean onTransact(int, android.os.Parcel, android.os.Parcel, int);
descriptor: (ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=5
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tIoUtils cannot be resolved\n\tIoUtils cannot be resolved\n\tIoUtils cannot be resolved\n\tIoUtils cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/Binder;
Exceptions:
throws android.os.RemoteException
MethodParameters:
Name Flags
code
data
reply
flags
public void dump(java.io.FileDescriptor, java.lang.String[]);
descriptor: (Ljava/io/FileDescriptor;[Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: new java.io.FileOutputStream
dup
aload 1
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/FileDescriptor;)V
astore 3
start local 3 1: new com.android.internal.util.FastPrintWriter
dup
aload 3
invokespecial com.android.internal.util.FastPrintWriter.<init>:(Ljava/io/OutputStream;)V
astore 4
start local 4 2: aload 0
aload 1
aload 4
aload 2
invokevirtual android.os.Binder.doDump:(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
3: goto 7
StackMap locals: android.os.Binder java.io.FileDescriptor java.lang.String[] java.io.FileOutputStream java.io.PrintWriter
StackMap stack: java.lang.Throwable
4: astore 5
5: aload 4
invokevirtual java.io.PrintWriter.flush:()V
6: aload 5
athrow
7: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.io.PrintWriter.flush:()V
8: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/os/Binder;
0 9 1 fd Ljava/io/FileDescriptor;
0 9 2 args [Ljava/lang/String;
1 9 3 fout Ljava/io/FileOutputStream;
2 9 4 pw Ljava/io/PrintWriter;
Exception table:
from to target type
2 4 4 any
MethodParameters:
Name Flags
fd
args
void doDump(java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
descriptor: (Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic android.os.Binder.sDumpDisabled:Ljava/lang/String;
astore 4
start local 4 1: aload 4
ifnonnull 12
2: aload 0
aload 1
aload 2
aload 3
invokevirtual android.os.Binder.dump:(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
3: goto 13
StackMap locals: android.os.Binder java.io.FileDescriptor java.io.PrintWriter java.lang.String[] java.lang.String
StackMap stack: java.lang.SecurityException
4: astore 5
start local 5 5: aload 2
new java.lang.StringBuilder
dup
ldc "Security exception: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.SecurityException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
6: aload 5
athrow
end local 5 7: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
start local 5 8: aload 2
invokevirtual java.io.PrintWriter.println:()V
9: aload 2
ldc "Exception occurred while dumping:"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
10: aload 5
aload 2
invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
end local 5 11: goto 13
12: StackMap locals:
StackMap stack:
aload 2
getstatic android.os.Binder.sDumpDisabled:Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
13: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/os/Binder;
0 14 1 fd Ljava/io/FileDescriptor;
0 14 2 pw Ljava/io/PrintWriter;
0 14 3 args [Ljava/lang/String;
1 14 4 disabled Ljava/lang/String;
5 7 5 e Ljava/lang/SecurityException;
8 11 5 e Ljava/lang/Throwable;
Exception table:
from to target type
2 3 4 Class java.lang.SecurityException
2 3 7 Class java.lang.Throwable
MethodParameters:
Name Flags
fd
pw
args
public void dumpAsync(java.io.FileDescriptor, java.lang.String[]);
descriptor: (Ljava/io/FileDescriptor;[Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=3
start local 0 start local 1 start local 2 0: new java.io.FileOutputStream
dup
aload 1
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/FileDescriptor;)V
astore 3
start local 3 1: new com.android.internal.util.FastPrintWriter
dup
aload 3
invokespecial com.android.internal.util.FastPrintWriter.<init>:(Ljava/io/OutputStream;)V
astore 4
start local 4 2: new android.os.Binder$1
dup
aload 0
ldc "Binder.dumpAsync"
aload 4
aload 1
aload 2
invokespecial android.os.Binder$1.<init>:(Landroid/os/Binder;Ljava/lang/String;Ljava/io/PrintWriter;Ljava/io/FileDescriptor;[Ljava/lang/String;)V
astore 5
start local 5 3: aload 5
invokevirtual java.lang.Thread.start:()V
4: 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 5 0 this Landroid/os/Binder;
0 5 1 fd Ljava/io/FileDescriptor;
0 5 2 args [Ljava/lang/String;
1 5 3 fout Ljava/io/FileOutputStream;
2 5 4 pw Ljava/io/PrintWriter;
3 5 5 thr Ljava/lang/Thread;
MethodParameters:
Name Flags
fd final
args final
protected void dump(java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
descriptor: (Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/Binder;
0 1 1 fd Ljava/io/FileDescriptor;
0 1 2 fout Ljava/io/PrintWriter;
0 1 3 args [Ljava/lang/String;
MethodParameters:
Name Flags
fd
fout
args
public void shellCommand(java.io.FileDescriptor, java.io.FileDescriptor, java.io.FileDescriptor, java.lang.String[], android.os.ShellCallback, android.os.ResultReceiver);
descriptor: (Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/String;Landroid/os/ShellCallback;Landroid/os/ResultReceiver;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
aload 6
invokevirtual android.os.Binder.onShellCommand:(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/String;Landroid/os/ShellCallback;Landroid/os/ResultReceiver;)V
1: return
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 2 0 this Landroid/os/Binder;
0 2 1 in Ljava/io/FileDescriptor;
0 2 2 out Ljava/io/FileDescriptor;
0 2 3 err Ljava/io/FileDescriptor;
0 2 4 args [Ljava/lang/String;
0 2 5 callback Landroid/os/ShellCallback;
0 2 6 resultReceiver Landroid/os/ResultReceiver;
Exceptions:
throws android.os.RemoteException
MethodParameters:
Name Flags
in
out
err
args
callback
resultReceiver
public void onShellCommand(java.io.FileDescriptor, java.io.FileDescriptor, java.io.FileDescriptor, java.lang.String[], android.os.ShellCallback, android.os.ResultReceiver);
descriptor: (Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/String;Landroid/os/ShellCallback;Landroid/os/ResultReceiver;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: new java.io.FileOutputStream
dup
aload 3
ifnull 1
aload 3
goto 2
StackMap locals: android.os.Binder java.io.FileDescriptor java.io.FileDescriptor java.io.FileDescriptor java.lang.String[] android.os.ShellCallback android.os.ResultReceiver
StackMap stack: new 0 new 0
1: aload 2
StackMap locals: android.os.Binder java.io.FileDescriptor java.io.FileDescriptor java.io.FileDescriptor java.lang.String[] android.os.ShellCallback android.os.ResultReceiver
StackMap stack: new 0 new 0 java.io.FileDescriptor
2: invokespecial java.io.FileOutputStream.<init>:(Ljava/io/FileDescriptor;)V
astore 7
start local 7 3: new com.android.internal.util.FastPrintWriter
dup
aload 7
invokespecial com.android.internal.util.FastPrintWriter.<init>:(Ljava/io/OutputStream;)V
astore 8
start local 8 4: aload 8
ldc "No shell command implementation."
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
5: aload 8
invokevirtual java.io.PrintWriter.flush:()V
6: aload 6
iconst_0
aconst_null
invokevirtual android.os.ResultReceiver.send:(ILandroid/os/Bundle;)V
7: 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 8 0 this Landroid/os/Binder;
0 8 1 in Ljava/io/FileDescriptor;
0 8 2 out Ljava/io/FileDescriptor;
0 8 3 err Ljava/io/FileDescriptor;
0 8 4 args [Ljava/lang/String;
0 8 5 callback Landroid/os/ShellCallback;
0 8 6 resultReceiver Landroid/os/ResultReceiver;
3 8 7 fout Ljava/io/FileOutputStream;
4 8 8 pw Ljava/io/PrintWriter;
Exceptions:
throws android.os.RemoteException
MethodParameters:
Name Flags
in
out
err
args
callback
resultReceiver
public final boolean transact(int, android.os.Parcel, android.os.Parcel, int);
descriptor: (ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
ifnull 2
1: aload 2
iconst_0
invokevirtual android.os.Parcel.setDataPosition:(I)V
2: StackMap locals:
StackMap stack:
aload 0
iload 1
aload 2
aload 3
iload 4
invokevirtual android.os.Binder.onTransact:(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
istore 5
start local 5 3: aload 3
ifnull 5
4: aload 3
iconst_0
invokevirtual android.os.Parcel.setDataPosition:(I)V
5: StackMap locals: int
StackMap stack:
iload 5
ireturn
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 6 0 this Landroid/os/Binder;
0 6 1 code I
0 6 2 data Landroid/os/Parcel;
0 6 3 reply Landroid/os/Parcel;
0 6 4 flags I
3 6 5 r Z
Exceptions:
throws android.os.RemoteException
MethodParameters:
Name Flags
code
data
reply
flags
public void linkToDeath(android.os.IBinder$DeathRecipient, int);
descriptor: (Landroid/os/IBinder$DeathRecipient;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/Binder;
0 1 1 recipient Landroid/os/IBinder$DeathRecipient;
0 1 2 flags I
MethodParameters:
Name Flags
recipient
flags
public boolean unlinkToDeath(android.os.IBinder$DeathRecipient, int);
descriptor: (Landroid/os/IBinder$DeathRecipient;I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/Binder;
0 1 1 recipient Landroid/os/IBinder$DeathRecipient;
0 1 2 flags I
MethodParameters:
Name Flags
recipient
flags
static void checkParcel(android.os.IBinder, int, android.os.Parcel, java.lang.String);
descriptor: (Landroid/os/IBinder;ILandroid/os/Parcel;Ljava/lang/String;)V
flags: (0x0008) ACC_STATIC
Code:
stack=0, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 obj Landroid/os/IBinder;
0 1 1 code I
0 1 2 parcel Landroid/os/Parcel;
0 1 3 msg Ljava/lang/String;
MethodParameters:
Name Flags
obj
code
parcel
msg
private static native long getNativeBBinderHolder();
descriptor: ()J
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
private static native long getFinalizer();
descriptor: ()J
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
private boolean execTransact(int, long, long, int);
descriptor: (IJJI)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=15, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 6 0: invokestatic com.android.internal.os.BinderCallsStats.getInstance:()Lcom/android/internal/os/BinderCallsStats;
astore 7
start local 7 1: aload 7
aload 0
iload 1
invokevirtual com.android.internal.os.BinderCallsStats.callStarted:(Landroid/os/Binder;I)Lcom/android/internal/os/BinderCallsStats$CallSession;
astore 8
start local 8 2: lload 2
invokestatic android.os.Parcel.obtain:(J)Landroid/os/Parcel;
astore 9
start local 9 3: lload 4
invokestatic android.os.Parcel.obtain:(J)Landroid/os/Parcel;
astore 10
start local 10 4: invokestatic android.os.Binder.isTracingEnabled:()Z
istore 12
start local 12 5: iload 12
ifeq 7
6: lconst_1
new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
7: StackMap locals: android.os.Binder int long long int com.android.internal.os.BinderCallsStats com.android.internal.os.BinderCallsStats$CallSession android.os.Parcel android.os.Parcel top int
StackMap stack:
aload 0
iload 1
aload 9
aload 10
iload 6
invokevirtual android.os.Binder.onTransact:(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
istore 11
start local 11 8: goto 27
end local 11 StackMap locals:
StackMap stack: java.lang.Exception
9: astore 13
start local 13 10: getstatic android.os.Binder.LOG_RUNTIME_EXCEPTION:Z
ifeq 12
11: ldc "Binder"
ldc "Caught a RuntimeException from the binder stub implementation."
aload 13
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
12: StackMap locals: java.lang.Exception
StackMap stack:
iload 6
iconst_1
iand
ifeq 18
13: aload 13
instanceof android.os.RemoteException
ifeq 16
14: ldc "Binder"
ldc "Binder call failed."
aload 13
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
15: goto 20
16: StackMap locals:
StackMap stack:
ldc "Binder"
ldc "Caught a RuntimeException from the binder stub implementation."
aload 13
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
17: goto 20
18: StackMap locals:
StackMap stack:
aload 10
iconst_0
invokevirtual android.os.Parcel.setDataPosition:(I)V
19: aload 10
aload 13
invokevirtual android.os.Parcel.writeException:(Ljava/lang/Exception;)V
20: StackMap locals:
StackMap stack:
iconst_1
istore 11
end local 13 start local 11 21: iload 12
ifeq 29
22: lconst_1
invokestatic android.os.Trace.traceEnd:(J)V
goto 29
end local 11 23: StackMap locals: android.os.Binder int long long int com.android.internal.os.BinderCallsStats com.android.internal.os.BinderCallsStats$CallSession android.os.Parcel android.os.Parcel top int
StackMap stack: java.lang.Throwable
astore 14
24: iload 12
ifeq 26
25: lconst_1
invokestatic android.os.Trace.traceEnd:(J)V
26: StackMap locals: android.os.Binder int long long int com.android.internal.os.BinderCallsStats com.android.internal.os.BinderCallsStats$CallSession android.os.Parcel android.os.Parcel top int top java.lang.Throwable
StackMap stack:
aload 14
athrow
start local 11 27: StackMap locals: android.os.Binder int long long int com.android.internal.os.BinderCallsStats com.android.internal.os.BinderCallsStats$CallSession android.os.Parcel android.os.Parcel int int
StackMap stack:
iload 12
ifeq 29
28: lconst_1
invokestatic android.os.Trace.traceEnd:(J)V
29: StackMap locals:
StackMap stack:
aload 0
iload 1
aload 10
ldc "Unreasonably large binder reply buffer"
invokestatic android.os.Binder.checkParcel:(Landroid/os/IBinder;ILandroid/os/Parcel;Ljava/lang/String;)V
30: aload 10
invokevirtual android.os.Parcel.recycle:()V
31: aload 9
invokevirtual android.os.Parcel.recycle:()V
32: invokestatic android.os.StrictMode.clearGatheredViolations:()V
33: aload 7
aload 8
invokevirtual com.android.internal.os.BinderCallsStats.callEnded:(Lcom/android/internal/os/BinderCallsStats$CallSession;)V
34: iload 11
ireturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Landroid/os/Binder;
0 35 1 code I
0 35 2 dataObj J
0 35 4 replyObj J
0 35 6 flags I
1 35 7 binderCallsStats Lcom/android/internal/os/BinderCallsStats;
2 35 8 callSession Lcom/android/internal/os/BinderCallsStats$CallSession;
3 35 9 data Landroid/os/Parcel;
4 35 10 reply Landroid/os/Parcel;
8 9 11 res Z
21 23 11 res Z
27 35 11 res Z
5 35 12 tracingEnabled Z
10 21 13 e Ljava/lang/Exception;
Exception table:
from to target type
5 8 9 Class android.os.RemoteException
5 8 9 Class java.lang.RuntimeException
5 21 23 any
MethodParameters:
Name Flags
code
dataObj
replyObj
flags
}
SourceFile: "Binder.java"
NestMembers:
android.os.Binder$1 android.os.Binder$NoImagePreloadHolder
InnerClasses:
android.os.Binder$1
private NoImagePreloadHolder = android.os.Binder$NoImagePreloadHolder of android.os.Binder
public abstract DeathRecipient = android.os.IBinder$DeathRecipient of android.os.IBinder
public CallSession = com.android.internal.os.BinderCallsStats$CallSession of com.android.internal.os.BinderCallsStats
public abstract ThrowingRunnable = com.android.internal.util.FunctionalUtils$ThrowingRunnable of com.android.internal.util.FunctionalUtils
public abstract ThrowingSupplier = com.android.internal.util.FunctionalUtils$ThrowingSupplier of com.android.internal.util.FunctionalUtils