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: .line 89
            iconst_0
            putstatic android.os.Binder.LOG_RUNTIME_EXCEPTION:Z
         1: .line 94
            aconst_null
            putstatic android.os.Binder.sDumpDisabled:Ljava/lang/String;
         2: .line 99
            aconst_null
            putstatic android.os.Binder.sTransactionTracker:Landroid/os/TransactionTracker;
         3: .line 120
            iconst_0
            putstatic android.os.Binder.sTracingEnabled:Z
         4: .line 161
            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: .line 128
            iconst_1
            putstatic android.os.Binder.sTracingEnabled:Z
         1: .line 129
            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: .line 137
            iconst_0
            putstatic android.os.Binder.sTracingEnabled:Z
         1: .line 138
            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: .line 146
            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: .line 155
            getstatic android.os.Binder.sTransactionTracker:Landroid/os/TransactionTracker;
            ifnonnull 2
         1: .line 156
            new android.os.TransactionTracker
            dup
            invokespecial android.os.TransactionTracker.<init>:()V
            putstatic android.os.Binder.sTransactionTracker:Landroid/os/TransactionTracker;
         2: .line 157
      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 // boolean warnOnBlocking
         0: .line 173
            iload 0 /* warnOnBlocking */
            putstatic android.os.Binder.sWarnOnBlocking:Z
         1: .line 174
            return
        end local 0 // boolean warnOnBlocking
      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 // android.os.IBinder binder
         0: .line 190
            aload 0 /* binder */
            instanceof android.os.BinderProxy
            ifeq 3
         1: .line 191
            aload 0 /* binder */
            checkcast android.os.BinderProxy
            iconst_0
            putfield android.os.BinderProxy.mWarnOnBlocking:Z
         2: .line 192
            goto 8
      StackMap locals:
      StackMap stack:
         3: aload 0 /* binder */
            ifnull 8
            aload 0 /* binder */
            invokeinterface android.os.IBinder.getInterfaceDescriptor:()Ljava/lang/String;
            ifnull 8
         4: .line 193
            aload 0 /* binder */
            aload 0 /* binder */
            invokeinterface android.os.IBinder.getInterfaceDescriptor:()Ljava/lang/String;
            invokeinterface android.os.IBinder.queryLocalInterface:(Ljava/lang/String;)Landroid/os/IInterface;
            ifnonnull 8
         5: .line 194
            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 /* binder */
            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: .line 196
            goto 8
      StackMap locals:
      StackMap stack: android.os.RemoteException
         7: pop
         8: .line 198
      StackMap locals:
      StackMap stack:
            aload 0 /* binder */
            areturn
        end local 0 // android.os.IBinder binder
      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 // android.os.IBinder binder
         0: .line 208
            aload 0 /* binder */
            instanceof android.os.BinderProxy
            ifeq 2
         1: .line 209
            aload 0 /* binder */
            checkcast android.os.BinderProxy
            getstatic android.os.Binder.sWarnOnBlocking:Z
            putfield android.os.BinderProxy.mWarnOnBlocking:Z
         2: .line 211
      StackMap locals:
      StackMap stack:
            aload 0 /* binder */
            areturn
        end local 0 // android.os.IBinder binder
      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 // android.os.IBinder fromBinder
        start local 1 // android.os.IBinder toBinder
         0: .line 221
            aload 0 /* fromBinder */
            instanceof android.os.BinderProxy
            ifeq 2
            aload 1 /* toBinder */
            instanceof android.os.BinderProxy
            ifeq 2
         1: .line 222
            aload 1 /* toBinder */
            checkcast android.os.BinderProxy
            aload 0 /* fromBinder */
            checkcast android.os.BinderProxy
            getfield android.os.BinderProxy.mWarnOnBlocking:Z
            putfield android.os.BinderProxy.mWarnOnBlocking:Z
         2: .line 224
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.os.IBinder toBinder
        end local 0 // android.os.IBinder fromBinder
      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: .line 261
            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 // com.android.internal.util.FunctionalUtils$ThrowingRunnable action
         0: .line 304
            invokestatic android.os.Binder.clearCallingIdentity:()J
            lstore 1 /* callingIdentity */
        start local 1 // long callingIdentity
         1: .line 305
            aconst_null
            astore 3 /* throwableToPropagate */
        start local 3 // java.lang.Throwable throwableToPropagate
         2: .line 307
            aload 0 /* action */
            invokeinterface com.android.internal.util.FunctionalUtils$ThrowingRunnable.runOrThrow:()V
         3: .line 308
            goto 14
      StackMap locals: com.android.internal.util.FunctionalUtils$ThrowingRunnable long java.lang.Throwable
      StackMap stack: java.lang.Throwable
         4: astore 4 /* throwable */
        start local 4 // java.lang.Throwable throwable
         5: .line 309
            aload 4 /* throwable */
            astore 3 /* throwableToPropagate */
        end local 4 // java.lang.Throwable throwable
         6: .line 311
            lload 1 /* callingIdentity */
            invokestatic android.os.Binder.restoreCallingIdentity:(J)V
         7: .line 312
            aload 3 /* throwableToPropagate */
            ifnull 17
         8: .line 313
            aload 3 /* throwableToPropagate */
            invokestatic android.util.ExceptionUtils.propagate:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
         9: .line 310
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        10: .line 311
            lload 1 /* callingIdentity */
            invokestatic android.os.Binder.restoreCallingIdentity:(J)V
        11: .line 312
            aload 3 /* throwableToPropagate */
            ifnull 13
        12: .line 313
            aload 3 /* throwableToPropagate */
            invokestatic android.util.ExceptionUtils.propagate:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        13: .line 315
      StackMap locals: com.android.internal.util.FunctionalUtils$ThrowingRunnable long java.lang.Throwable top java.lang.Throwable
      StackMap stack:
            aload 5
            athrow
        14: .line 311
      StackMap locals: com.android.internal.util.FunctionalUtils$ThrowingRunnable long java.lang.Throwable
      StackMap stack:
            lload 1 /* callingIdentity */
            invokestatic android.os.Binder.restoreCallingIdentity:(J)V
        15: .line 312
            aload 3 /* throwableToPropagate */
            ifnull 17
        16: .line 313
            aload 3 /* throwableToPropagate */
            invokestatic android.util.ExceptionUtils.propagate:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        17: .line 316
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Throwable throwableToPropagate
        end local 1 // long callingIdentity
        end local 0 // com.android.internal.util.FunctionalUtils$ThrowingRunnable action
      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 // com.android.internal.util.FunctionalUtils$ThrowingSupplier action
         0: .line 328
            invokestatic android.os.Binder.clearCallingIdentity:()J
            lstore 1 /* callingIdentity */
        start local 1 // long callingIdentity
         1: .line 329
            aconst_null
            astore 3 /* throwableToPropagate */
        start local 3 // java.lang.Throwable throwableToPropagate
         2: .line 331
            aload 0 /* action */
            invokeinterface com.android.internal.util.FunctionalUtils$ThrowingSupplier.getOrThrow:()Ljava/lang/Object;
            astore 6
         3: .line 336
            lload 1 /* callingIdentity */
            invokestatic android.os.Binder.restoreCallingIdentity:(J)V
         4: .line 337
            aload 3 /* throwableToPropagate */
            ifnull 6
         5: .line 338
            aload 3 /* throwableToPropagate */
            invokestatic android.util.ExceptionUtils.propagate:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
         6: .line 331
      StackMap locals: com.android.internal.util.FunctionalUtils$ThrowingSupplier long java.lang.Throwable top top java.lang.Object
      StackMap stack:
            aload 6
            areturn
         7: .line 332
      StackMap locals: com.android.internal.util.FunctionalUtils$ThrowingSupplier long java.lang.Throwable
      StackMap stack: java.lang.Throwable
            astore 4 /* throwable */
        start local 4 // java.lang.Throwable throwable
         8: .line 333
            aload 4 /* throwable */
            astore 3 /* throwableToPropagate */
         9: .line 336
            lload 1 /* callingIdentity */
            invokestatic android.os.Binder.restoreCallingIdentity:(J)V
        10: .line 337
            aload 3 /* throwableToPropagate */
            ifnull 12
        11: .line 338
            aload 3 /* throwableToPropagate */
            invokestatic android.util.ExceptionUtils.propagate:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        12: .line 334
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aconst_null
            areturn
        end local 4 // java.lang.Throwable throwable
        13: .line 335
      StackMap locals: com.android.internal.util.FunctionalUtils$ThrowingSupplier long java.lang.Throwable
      StackMap stack: java.lang.Throwable
            astore 5
        14: .line 336
            lload 1 /* callingIdentity */
            invokestatic android.os.Binder.restoreCallingIdentity:(J)V
        15: .line 337
            aload 3 /* throwableToPropagate */
            ifnull 17
        16: .line 338
            aload 3 /* throwableToPropagate */
            invokestatic android.util.ExceptionUtils.propagate:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        17: .line 340
      StackMap locals: com.android.internal.util.FunctionalUtils$ThrowingSupplier long java.lang.Throwable top java.lang.Throwable
      StackMap stack:
            aload 5
            athrow
        end local 3 // java.lang.Throwable throwableToPropagate
        end local 1 // long callingIdentity
        end local 0 // com.android.internal.util.FunctionalUtils$ThrowingSupplier action
      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: .line 381
            invokestatic com.android.internal.os.BinderInternal.joinThreadPool:()V
         1: .line 382
            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 // android.os.IInterface iface
         0: .line 389
            aload 0 /* iface */
            invokeinterface android.os.IInterface.asBinder:()Landroid/os/IBinder;
            aload 0 /* iface */
            if_acmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.os.IInterface iface
      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 // android.os.Binder this
         0: .line 32
            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 // android.os.Binder this
      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 // android.os.Binder this
        start local 1 // android.os.IInterface owner
        start local 2 // java.lang.String descriptor
         0: .line 423
            aload 0 /* this */
            aload 1 /* owner */
            putfield android.os.Binder.mOwner:Landroid/os/IInterface;
         1: .line 424
            aload 0 /* this */
            aload 2 /* descriptor */
            putfield android.os.Binder.mDescriptor:Ljava/lang/String;
         2: .line 425
            return
        end local 2 // java.lang.String descriptor
        end local 1 // android.os.IInterface owner
        end local 0 // android.os.Binder this
      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 // android.os.Binder this
         0: .line 431
            aload 0 /* this */
            getfield android.os.Binder.mDescriptor:Ljava/lang/String;
            areturn
        end local 0 // android.os.Binder this
      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 // android.os.Binder this
         0: .line 439
            iconst_1
            ireturn
        end local 0 // android.os.Binder this
      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 // android.os.Binder this
         0: .line 449
            iconst_1
            ireturn
        end local 0 // android.os.Binder this
      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 // android.os.Binder this
        start local 1 // java.lang.String descriptor
         0: .line 458
            aload 0 /* this */
            getfield android.os.Binder.mDescriptor:Ljava/lang/String;
            ifnull 2
            aload 0 /* this */
            getfield android.os.Binder.mDescriptor:Ljava/lang/String;
            aload 1 /* descriptor */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 459
            aload 0 /* this */
            getfield android.os.Binder.mOwner:Landroid/os/IInterface;
            areturn
         2: .line 461
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.String descriptor
        end local 0 // android.os.Binder this
      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 // java.lang.String msg
         0: .line 475
            aload 0 /* msg */
            putstatic android.os.Binder.sDumpDisabled:Ljava/lang/String;
         1: .line 476
            return
        end local 0 // java.lang.String msg
      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 // android.os.Binder this
         0: .line 513
            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 // android.os.Binder this
      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 // android.os.Binder this
        start local 1 // java.io.FileDescriptor fd
        start local 2 // java.lang.String[] args
         0: .line 558
            new java.io.FileOutputStream
            dup
            aload 1 /* fd */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/FileDescriptor;)V
            astore 3 /* fout */
        start local 3 // java.io.FileOutputStream fout
         1: .line 559
            new com.android.internal.util.FastPrintWriter
            dup
            aload 3 /* fout */
            invokespecial com.android.internal.util.FastPrintWriter.<init>:(Ljava/io/OutputStream;)V
            astore 4 /* pw */
        start local 4 // java.io.PrintWriter pw
         2: .line 561
            aload 0 /* this */
            aload 1 /* fd */
            aload 4 /* pw */
            aload 2 /* args */
            invokevirtual android.os.Binder.doDump:(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
         3: .line 562
            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: .line 563
            aload 4 /* pw */
            invokevirtual java.io.PrintWriter.flush:()V
         6: .line 564
            aload 5
            athrow
         7: .line 563
      StackMap locals:
      StackMap stack:
            aload 4 /* pw */
            invokevirtual java.io.PrintWriter.flush:()V
         8: .line 565
            return
        end local 4 // java.io.PrintWriter pw
        end local 3 // java.io.FileOutputStream fout
        end local 2 // java.lang.String[] args
        end local 1 // java.io.FileDescriptor fd
        end local 0 // android.os.Binder this
      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 // android.os.Binder this
        start local 1 // java.io.FileDescriptor fd
        start local 2 // java.io.PrintWriter pw
        start local 3 // java.lang.String[] args
         0: .line 568
            getstatic android.os.Binder.sDumpDisabled:Ljava/lang/String;
            astore 4 /* disabled */
        start local 4 // java.lang.String disabled
         1: .line 569
            aload 4 /* disabled */
            ifnonnull 12
         2: .line 571
            aload 0 /* this */
            aload 1 /* fd */
            aload 2 /* pw */
            aload 3 /* args */
            invokevirtual android.os.Binder.dump:(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
         3: .line 572
            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 /* e */
        start local 5 // java.lang.SecurityException e
         5: .line 573
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "Security exception: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* e */
            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: .line 574
            aload 5 /* e */
            athrow
        end local 5 // java.lang.SecurityException e
         7: .line 575
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5 /* e */
        start local 5 // java.lang.Throwable e
         8: .line 580
            aload 2 /* pw */
            invokevirtual java.io.PrintWriter.println:()V
         9: .line 581
            aload 2 /* pw */
            ldc "Exception occurred while dumping:"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        10: .line 582
            aload 5 /* e */
            aload 2 /* pw */
            invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
        end local 5 // java.lang.Throwable e
        11: .line 584
            goto 13
        12: .line 585
      StackMap locals:
      StackMap stack:
            aload 2 /* pw */
            getstatic android.os.Binder.sDumpDisabled:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        13: .line 587
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String disabled
        end local 3 // java.lang.String[] args
        end local 2 // java.io.PrintWriter pw
        end local 1 // java.io.FileDescriptor fd
        end local 0 // android.os.Binder this
      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 // android.os.Binder this
        start local 1 // java.io.FileDescriptor fd
        start local 2 // java.lang.String[] args
         0: .line 594
            new java.io.FileOutputStream
            dup
            aload 1 /* fd */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/FileDescriptor;)V
            astore 3 /* fout */
        start local 3 // java.io.FileOutputStream fout
         1: .line 595
            new com.android.internal.util.FastPrintWriter
            dup
            aload 3 /* fout */
            invokespecial com.android.internal.util.FastPrintWriter.<init>:(Ljava/io/OutputStream;)V
            astore 4 /* pw */
        start local 4 // java.io.PrintWriter pw
         2: .line 596
            new android.os.Binder$1
            dup
            aload 0 /* this */
            ldc "Binder.dumpAsync"
            aload 4 /* pw */
            aload 1 /* fd */
            aload 2 /* args */
            invokespecial android.os.Binder$1.<init>:(Landroid/os/Binder;Ljava/lang/String;Ljava/io/PrintWriter;Ljava/io/FileDescriptor;[Ljava/lang/String;)V
            astore 5 /* thr */
        start local 5 // java.lang.Thread thr
         3: .line 605
            aload 5 /* thr */
            invokevirtual java.lang.Thread.start:()V
         4: .line 606
            return
        end local 5 // java.lang.Thread thr
        end local 4 // java.io.PrintWriter pw
        end local 3 // java.io.FileOutputStream fout
        end local 2 // java.lang.String[] args
        end local 1 // java.io.FileDescriptor fd
        end local 0 // android.os.Binder this
      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 // android.os.Binder this
        start local 1 // java.io.FileDescriptor fd
        start local 2 // java.io.PrintWriter fout
        start local 3 // java.lang.String[] args
         0: .line 618
            return
        end local 3 // java.lang.String[] args
        end local 2 // java.io.PrintWriter fout
        end local 1 // java.io.FileDescriptor fd
        end local 0 // android.os.Binder this
      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 // android.os.Binder this
        start local 1 // java.io.FileDescriptor in
        start local 2 // java.io.FileDescriptor out
        start local 3 // java.io.FileDescriptor err
        start local 4 // java.lang.String[] args
        start local 5 // android.os.ShellCallback callback
        start local 6 // android.os.ResultReceiver resultReceiver
         0: .line 634
            aload 0 /* this */
            aload 1 /* in */
            aload 2 /* out */
            aload 3 /* err */
            aload 4 /* args */
            aload 5 /* callback */
            aload 6 /* resultReceiver */
            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: .line 635
            return
        end local 6 // android.os.ResultReceiver resultReceiver
        end local 5 // android.os.ShellCallback callback
        end local 4 // java.lang.String[] args
        end local 3 // java.io.FileDescriptor err
        end local 2 // java.io.FileDescriptor out
        end local 1 // java.io.FileDescriptor in
        end local 0 // android.os.Binder this
      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 // android.os.Binder this
        start local 1 // java.io.FileDescriptor in
        start local 2 // java.io.FileDescriptor out
        start local 3 // java.io.FileDescriptor err
        start local 4 // java.lang.String[] args
        start local 5 // android.os.ShellCallback callback
        start local 6 // android.os.ResultReceiver resultReceiver
         0: .line 649
            new java.io.FileOutputStream
            dup
            aload 3 /* err */
            ifnull 1
            aload 3 /* err */
            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 /* out */
      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 /* fout */
        start local 7 // java.io.FileOutputStream fout
         3: .line 650
            new com.android.internal.util.FastPrintWriter
            dup
            aload 7 /* fout */
            invokespecial com.android.internal.util.FastPrintWriter.<init>:(Ljava/io/OutputStream;)V
            astore 8 /* pw */
        start local 8 // java.io.PrintWriter pw
         4: .line 651
            aload 8 /* pw */
            ldc "No shell command implementation."
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         5: .line 652
            aload 8 /* pw */
            invokevirtual java.io.PrintWriter.flush:()V
         6: .line 653
            aload 6 /* resultReceiver */
            iconst_0
            aconst_null
            invokevirtual android.os.ResultReceiver.send:(ILandroid/os/Bundle;)V
         7: .line 654
            return
        end local 8 // java.io.PrintWriter pw
        end local 7 // java.io.FileOutputStream fout
        end local 6 // android.os.ResultReceiver resultReceiver
        end local 5 // android.os.ShellCallback callback
        end local 4 // java.lang.String[] args
        end local 3 // java.io.FileDescriptor err
        end local 2 // java.io.FileDescriptor out
        end local 1 // java.io.FileDescriptor in
        end local 0 // android.os.Binder this
      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 // android.os.Binder this
        start local 1 // int code
        start local 2 // android.os.Parcel data
        start local 3 // android.os.Parcel reply
        start local 4 // int flags
         0: .line 664
            aload 2 /* data */
            ifnull 2
         1: .line 665
            aload 2 /* data */
            iconst_0
            invokevirtual android.os.Parcel.setDataPosition:(I)V
         2: .line 667
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* code */
            aload 2 /* data */
            aload 3 /* reply */
            iload 4 /* flags */
            invokevirtual android.os.Binder.onTransact:(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
            istore 5 /* r */
        start local 5 // boolean r
         3: .line 668
            aload 3 /* reply */
            ifnull 5
         4: .line 669
            aload 3 /* reply */
            iconst_0
            invokevirtual android.os.Parcel.setDataPosition:(I)V
         5: .line 671
      StackMap locals: int
      StackMap stack:
            iload 5 /* r */
            ireturn
        end local 5 // boolean r
        end local 4 // int flags
        end local 3 // android.os.Parcel reply
        end local 2 // android.os.Parcel data
        end local 1 // int code
        end local 0 // android.os.Binder this
      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 // android.os.Binder this
        start local 1 // android.os.IBinder$DeathRecipient recipient
        start local 2 // int flags
         0: .line 678
            return
        end local 2 // int flags
        end local 1 // android.os.IBinder$DeathRecipient recipient
        end local 0 // android.os.Binder this
      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 // android.os.Binder this
        start local 1 // android.os.IBinder$DeathRecipient recipient
        start local 2 // int flags
         0: .line 684
            iconst_1
            ireturn
        end local 2 // int flags
        end local 1 // android.os.IBinder$DeathRecipient recipient
        end local 0 // android.os.Binder this
      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 // android.os.IBinder obj
        start local 1 // int code
        start local 2 // android.os.Parcel parcel
        start local 3 // java.lang.String msg
         0: .line 708
            return
        end local 3 // java.lang.String msg
        end local 2 // android.os.Parcel parcel
        end local 1 // int code
        end local 0 // android.os.IBinder obj
      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 // android.os.Binder this
        start local 1 // int code
        start local 2 // long dataObj
        start local 4 // long replyObj
        start local 6 // int flags
         0: .line 716
            invokestatic com.android.internal.os.BinderCallsStats.getInstance:()Lcom/android/internal/os/BinderCallsStats;
            astore 7 /* binderCallsStats */
        start local 7 // com.android.internal.os.BinderCallsStats binderCallsStats
         1: .line 717
            aload 7 /* binderCallsStats */
            aload 0 /* this */
            iload 1 /* code */
            invokevirtual com.android.internal.os.BinderCallsStats.callStarted:(Landroid/os/Binder;I)Lcom/android/internal/os/BinderCallsStats$CallSession;
            astore 8 /* callSession */
        start local 8 // com.android.internal.os.BinderCallsStats$CallSession callSession
         2: .line 718
            lload 2 /* dataObj */
            invokestatic android.os.Parcel.obtain:(J)Landroid/os/Parcel;
            astore 9 /* data */
        start local 9 // android.os.Parcel data
         3: .line 719
            lload 4 /* replyObj */
            invokestatic android.os.Parcel.obtain:(J)Landroid/os/Parcel;
            astore 10 /* reply */
        start local 10 // android.os.Parcel reply
         4: .line 726
            invokestatic android.os.Binder.isTracingEnabled:()Z
            istore 12 /* tracingEnabled */
        start local 12 // boolean tracingEnabled
         5: .line 728
            iload 12 /* tracingEnabled */
            ifeq 7
         6: .line 729
            lconst_1
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            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 /* code */
            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: .line 731
      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 /* this */
            iload 1 /* code */
            aload 9 /* data */
            aload 10 /* reply */
            iload 6 /* flags */
            invokevirtual android.os.Binder.onTransact:(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
            istore 11 /* res */
        start local 11 // boolean res
         8: .line 732
            goto 27
        end local 11 // boolean res
      StackMap locals:
      StackMap stack: java.lang.Exception
         9: astore 13 /* e */
        start local 13 // java.lang.Exception e
        10: .line 733
            getstatic android.os.Binder.LOG_RUNTIME_EXCEPTION:Z
            ifeq 12
        11: .line 734
            ldc "Binder"
            ldc "Caught a RuntimeException from the binder stub implementation."
            aload 13 /* e */
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        12: .line 736
      StackMap locals: java.lang.Exception
      StackMap stack:
            iload 6 /* flags */
            iconst_1
            iand
            ifeq 18
        13: .line 737
            aload 13 /* e */
            instanceof android.os.RemoteException
            ifeq 16
        14: .line 738
            ldc "Binder"
            ldc "Binder call failed."
            aload 13 /* e */
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        15: .line 739
            goto 20
        16: .line 740
      StackMap locals:
      StackMap stack:
            ldc "Binder"
            ldc "Caught a RuntimeException from the binder stub implementation."
            aload 13 /* e */
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        17: .line 742
            goto 20
        18: .line 743
      StackMap locals:
      StackMap stack:
            aload 10 /* reply */
            iconst_0
            invokevirtual android.os.Parcel.setDataPosition:(I)V
        19: .line 744
            aload 10 /* reply */
            aload 13 /* e */
            invokevirtual android.os.Parcel.writeException:(Ljava/lang/Exception;)V
        20: .line 746
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 11 /* res */
        end local 13 // java.lang.Exception e
        start local 11 // boolean res
        21: .line 748
            iload 12 /* tracingEnabled */
            ifeq 29
        22: .line 749
            lconst_1
            invokestatic android.os.Trace.traceEnd:(J)V
            goto 29
        end local 11 // boolean res
        23: .line 747
      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: .line 748
            iload 12 /* tracingEnabled */
            ifeq 26
        25: .line 749
            lconst_1
            invokestatic android.os.Trace.traceEnd:(J)V
        26: .line 751
      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 // boolean res
        27: .line 748
      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 /* tracingEnabled */
            ifeq 29
        28: .line 749
            lconst_1
            invokestatic android.os.Trace.traceEnd:(J)V
        29: .line 752
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* code */
            aload 10 /* reply */
            ldc "Unreasonably large binder reply buffer"
            invokestatic android.os.Binder.checkParcel:(Landroid/os/IBinder;ILandroid/os/Parcel;Ljava/lang/String;)V
        30: .line 753
            aload 10 /* reply */
            invokevirtual android.os.Parcel.recycle:()V
        31: .line 754
            aload 9 /* data */
            invokevirtual android.os.Parcel.recycle:()V
        32: .line 761
            invokestatic android.os.StrictMode.clearGatheredViolations:()V
        33: .line 762
            aload 7 /* binderCallsStats */
            aload 8 /* callSession */
            invokevirtual com.android.internal.os.BinderCallsStats.callEnded:(Lcom/android/internal/os/BinderCallsStats$CallSession;)V
        34: .line 764
            iload 11 /* res */
            ireturn
        end local 12 // boolean tracingEnabled
        end local 11 // boolean res
        end local 10 // android.os.Parcel reply
        end local 9 // android.os.Parcel data
        end local 8 // com.android.internal.os.BinderCallsStats$CallSession callSession
        end local 7 // com.android.internal.os.BinderCallsStats binderCallsStats
        end local 6 // int flags
        end local 4 // long replyObj
        end local 2 // long dataObj
        end local 1 // int code
        end local 0 // android.os.Binder this
      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