final class android.os.BinderProxy implements android.os.IBinder
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: android.os.BinderProxy
  super_class: java.lang.Object
{
  volatile boolean mWarnOnBlocking;
    descriptor: Z
    flags: (0x0040) ACC_VOLATILE

  private static android.os.BinderProxy$ProxyMap sProxyMap;
    descriptor: Landroid/os/BinderProxy$ProxyMap;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final int NATIVE_ALLOCATION_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1000

  private final long mNativeData;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 1027
            new android.os.BinderProxy$ProxyMap
            dup
            invokespecial android.os.BinderProxy$ProxyMap.<init>:()V
            putstatic android.os.BinderProxy.sProxyMap:Landroid/os/BinderProxy$ProxyMap;
         1: .line 1090
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void dumpProxyDebugInfo();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1038
            getstatic android.os.Build.IS_DEBUGGABLE:Z
            ifeq 2
         1: .line 1039
            getstatic android.os.BinderProxy.sProxyMap:Landroid/os/BinderProxy$ProxyMap;
            invokevirtual android.os.BinderProxy$ProxyMap.dumpProxyInterfaceCounts:()V
         2: .line 1045
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static android.os.BinderProxy getInstance(long, long);
    descriptor: (JJ)Landroid/os/BinderProxy;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
         0: .line 1070
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tNativeAllocationRegistry cannot be resolved\n\tNativeAllocationRegistry cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
            Name  Flags
      nativeData  
      iBinder     

  private void <init>(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.os.BinderProxy this
        start local 1 // long nativeData
         0: .line 1080
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 777
            aload 0 /* this */
            getstatic android.os.Binder.sWarnOnBlocking:Z
            putfield android.os.BinderProxy.mWarnOnBlocking:Z
         2: .line 1081
            aload 0 /* this */
            lload 1 /* nativeData */
            putfield android.os.BinderProxy.mNativeData:J
         3: .line 1082
            return
        end local 1 // long nativeData
        end local 0 // android.os.BinderProxy this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Landroid/os/BinderProxy;
            0    4     1  nativeData  J
    MethodParameters:
            Name  Flags
      nativeData  

  public native boolean pingBinder();
    descriptor: ()Z
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native boolean isBinderAlive();
    descriptor: ()Z
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public android.os.IInterface queryLocalInterface(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/os/IInterface;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // android.os.BinderProxy this
        start local 1 // java.lang.String descriptor
         0: .line 1104
            aconst_null
            areturn
        end local 1 // java.lang.String descriptor
        end local 0 // android.os.BinderProxy this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Landroid/os/BinderProxy;
            0    1     1  descriptor  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      descriptor  

  public boolean transact(int, android.os.Parcel, android.os.Parcel, int);
    descriptor: (ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // android.os.BinderProxy 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 1108
            aload 0 /* this */
            iload 1 /* code */
            aload 2 /* data */
            ldc "Unreasonably large binder buffer"
            invokestatic android.os.Binder.checkParcel:(Landroid/os/IBinder;ILandroid/os/Parcel;Ljava/lang/String;)V
         1: .line 1110
            aload 0 /* this */
            getfield android.os.BinderProxy.mWarnOnBlocking:Z
            ifeq 6
            iload 4 /* flags */
            iconst_1
            iand
            ifne 6
         2: .line 1113
            aload 0 /* this */
            iconst_0
            putfield android.os.BinderProxy.mWarnOnBlocking:Z
         3: .line 1114
            ldc "Binder"
            ldc "Outgoing transactions from this process must be FLAG_ONEWAY"
         4: .line 1115
            new java.lang.Throwable
            dup
            invokespecial java.lang.Throwable.<init>:()V
         5: .line 1114
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
         6: .line 1118
      StackMap locals:
      StackMap stack:
            invokestatic android.os.Binder.isTracingEnabled:()Z
            istore 5 /* tracingEnabled */
        start local 5 // boolean tracingEnabled
         7: .line 1119
            iload 5 /* tracingEnabled */
            ifeq 14
         8: .line 1120
            new java.lang.Throwable
            dup
            invokespecial java.lang.Throwable.<init>:()V
            astore 6 /* tr */
        start local 6 // java.lang.Throwable tr
         9: .line 1121
            invokestatic android.os.Binder.getTransactionTracker:()Landroid/os/TransactionTracker;
            aload 6 /* tr */
            invokevirtual android.os.TransactionTracker.addTrace:(Ljava/lang/Throwable;)V
        10: .line 1122
            aload 6 /* tr */
            invokevirtual java.lang.Throwable.getStackTrace:()[Ljava/lang/StackTraceElement;
            iconst_1
            aaload
            astore 7 /* stackTraceElement */
        start local 7 // java.lang.StackTraceElement stackTraceElement
        11: .line 1123
            lconst_1
        12: .line 1124
            new java.lang.StringBuilder
            dup
            aload 7 /* stackTraceElement */
            invokevirtual java.lang.StackTraceElement.getClassName:()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;
            aload 7 /* stackTraceElement */
            invokevirtual java.lang.StackTraceElement.getMethodName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 1123
            invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
        end local 7 // java.lang.StackTraceElement stackTraceElement
        end local 6 // java.lang.Throwable tr
        14: .line 1127
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* code */
            aload 2 /* data */
            aload 3 /* reply */
            iload 4 /* flags */
            invokevirtual android.os.BinderProxy.transactNative:(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
            istore 7
        15: .line 1129
            iload 5 /* tracingEnabled */
            ifeq 17
        16: .line 1130
            lconst_1
            invokestatic android.os.Trace.traceEnd:(J)V
        17: .line 1127
      StackMap locals: android.os.BinderProxy int android.os.Parcel android.os.Parcel int int top int
      StackMap stack:
            iload 7
            ireturn
        18: .line 1128
      StackMap locals: android.os.BinderProxy int android.os.Parcel android.os.Parcel int int
      StackMap stack: java.lang.Throwable
            astore 6
        19: .line 1129
            iload 5 /* tracingEnabled */
            ifeq 21
        20: .line 1130
            lconst_1
            invokestatic android.os.Trace.traceEnd:(J)V
        21: .line 1132
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 6
            athrow
        end local 5 // boolean tracingEnabled
        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.BinderProxy this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   22     0               this  Landroid/os/BinderProxy;
            0   22     1               code  I
            0   22     2               data  Landroid/os/Parcel;
            0   22     3              reply  Landroid/os/Parcel;
            0   22     4              flags  I
            7   22     5     tracingEnabled  Z
            9   14     6                 tr  Ljava/lang/Throwable;
           11   14     7  stackTraceElement  Ljava/lang/StackTraceElement;
      Exception table:
        from    to  target  type
          14    15      18  any
    Exceptions:
      throws android.os.RemoteException
    MethodParameters:
       Name  Flags
      code   
      data   
      reply  
      flags  

  private static native long getNativeFinalizer();
    descriptor: ()J
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  public native java.lang.String getInterfaceDescriptor();
    descriptor: ()Ljava/lang/String;
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    Exceptions:
      throws android.os.RemoteException

  public native boolean transactNative(int, android.os.Parcel, android.os.Parcel, int);
    descriptor: (ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    Exceptions:
      throws android.os.RemoteException
    MethodParameters:
       Name  Flags
      code   
      data   
      reply  
      flags  

  public native void linkToDeath(android.os.IBinder$DeathRecipient, int);
    descriptor: (Landroid/os/IBinder$DeathRecipient;I)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    Exceptions:
      throws android.os.RemoteException
    MethodParameters:
           Name  Flags
      recipient  
      flags      

  public native boolean unlinkToDeath(android.os.IBinder$DeathRecipient, int);
    descriptor: (Landroid/os/IBinder$DeathRecipient;I)Z
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
           Name  Flags
      recipient  
      flags      

  public void dump(java.io.FileDescriptor, java.lang.String[]);
    descriptor: (Ljava/io/FileDescriptor;[Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // android.os.BinderProxy this
        start local 1 // java.io.FileDescriptor fd
        start local 2 // java.lang.String[] args
         0: .line 1144
            invokestatic android.os.Parcel.obtain:()Landroid/os/Parcel;
            astore 3 /* data */
        start local 3 // android.os.Parcel data
         1: .line 1145
            invokestatic android.os.Parcel.obtain:()Landroid/os/Parcel;
            astore 4 /* reply */
        start local 4 // android.os.Parcel reply
         2: .line 1146
            aload 3 /* data */
            aload 1 /* fd */
            invokevirtual android.os.Parcel.writeFileDescriptor:(Ljava/io/FileDescriptor;)V
         3: .line 1147
            aload 3 /* data */
            aload 2 /* args */
            invokevirtual android.os.Parcel.writeStringArray:([Ljava/lang/String;)V
         4: .line 1149
            aload 0 /* this */
            ldc 1598311760
            aload 3 /* data */
            aload 4 /* reply */
            iconst_0
            invokevirtual android.os.BinderProxy.transact:(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
            pop
         5: .line 1150
            aload 4 /* reply */
            invokevirtual android.os.Parcel.readException:()V
         6: .line 1151
            goto 11
      StackMap locals: android.os.BinderProxy java.io.FileDescriptor java.lang.String[] android.os.Parcel android.os.Parcel
      StackMap stack: java.lang.Throwable
         7: astore 5
         8: .line 1152
            aload 3 /* data */
            invokevirtual android.os.Parcel.recycle:()V
         9: .line 1153
            aload 4 /* reply */
            invokevirtual android.os.Parcel.recycle:()V
        10: .line 1154
            aload 5
            athrow
        11: .line 1152
      StackMap locals:
      StackMap stack:
            aload 3 /* data */
            invokevirtual android.os.Parcel.recycle:()V
        12: .line 1153
            aload 4 /* reply */
            invokevirtual android.os.Parcel.recycle:()V
        13: .line 1155
            return
        end local 4 // android.os.Parcel reply
        end local 3 // android.os.Parcel data
        end local 2 // java.lang.String[] args
        end local 1 // java.io.FileDescriptor fd
        end local 0 // android.os.BinderProxy this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Landroid/os/BinderProxy;
            0   14     1     fd  Ljava/io/FileDescriptor;
            0   14     2   args  [Ljava/lang/String;
            1   14     3   data  Landroid/os/Parcel;
            2   14     4  reply  Landroid/os/Parcel;
      Exception table:
        from    to  target  type
           4     7       7  any
    Exceptions:
      throws android.os.RemoteException
    MethodParameters:
      Name  Flags
      fd    
      args  

  public void dumpAsync(java.io.FileDescriptor, java.lang.String[]);
    descriptor: (Ljava/io/FileDescriptor;[Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // android.os.BinderProxy this
        start local 1 // java.io.FileDescriptor fd
        start local 2 // java.lang.String[] args
         0: .line 1158
            invokestatic android.os.Parcel.obtain:()Landroid/os/Parcel;
            astore 3 /* data */
        start local 3 // android.os.Parcel data
         1: .line 1159
            invokestatic android.os.Parcel.obtain:()Landroid/os/Parcel;
            astore 4 /* reply */
        start local 4 // android.os.Parcel reply
         2: .line 1160
            aload 3 /* data */
            aload 1 /* fd */
            invokevirtual android.os.Parcel.writeFileDescriptor:(Ljava/io/FileDescriptor;)V
         3: .line 1161
            aload 3 /* data */
            aload 2 /* args */
            invokevirtual android.os.Parcel.writeStringArray:([Ljava/lang/String;)V
         4: .line 1163
            aload 0 /* this */
            ldc 1598311760
            aload 3 /* data */
            aload 4 /* reply */
            iconst_1
            invokevirtual android.os.BinderProxy.transact:(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
            pop
         5: .line 1164
            goto 10
      StackMap locals: android.os.BinderProxy java.io.FileDescriptor java.lang.String[] android.os.Parcel android.os.Parcel
      StackMap stack: java.lang.Throwable
         6: astore 5
         7: .line 1165
            aload 3 /* data */
            invokevirtual android.os.Parcel.recycle:()V
         8: .line 1166
            aload 4 /* reply */
            invokevirtual android.os.Parcel.recycle:()V
         9: .line 1167
            aload 5
            athrow
        10: .line 1165
      StackMap locals:
      StackMap stack:
            aload 3 /* data */
            invokevirtual android.os.Parcel.recycle:()V
        11: .line 1166
            aload 4 /* reply */
            invokevirtual android.os.Parcel.recycle:()V
        12: .line 1168
            return
        end local 4 // android.os.Parcel reply
        end local 3 // android.os.Parcel data
        end local 2 // java.lang.String[] args
        end local 1 // java.io.FileDescriptor fd
        end local 0 // android.os.BinderProxy this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Landroid/os/BinderProxy;
            0   13     1     fd  Ljava/io/FileDescriptor;
            0   13     2   args  [Ljava/lang/String;
            1   13     3   data  Landroid/os/Parcel;
            2   13     4  reply  Landroid/os/Parcel;
      Exception table:
        from    to  target  type
           4     6       6  any
    Exceptions:
      throws android.os.RemoteException
    MethodParameters:
      Name  Flags
      fd    
      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=5, locals=10, args_size=7
        start local 0 // android.os.BinderProxy 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 1173
            invokestatic android.os.Parcel.obtain:()Landroid/os/Parcel;
            astore 7 /* data */
        start local 7 // android.os.Parcel data
         1: .line 1174
            invokestatic android.os.Parcel.obtain:()Landroid/os/Parcel;
            astore 8 /* reply */
        start local 8 // android.os.Parcel reply
         2: .line 1175
            aload 7 /* data */
            aload 1 /* in */
            invokevirtual android.os.Parcel.writeFileDescriptor:(Ljava/io/FileDescriptor;)V
         3: .line 1176
            aload 7 /* data */
            aload 2 /* out */
            invokevirtual android.os.Parcel.writeFileDescriptor:(Ljava/io/FileDescriptor;)V
         4: .line 1177
            aload 7 /* data */
            aload 3 /* err */
            invokevirtual android.os.Parcel.writeFileDescriptor:(Ljava/io/FileDescriptor;)V
         5: .line 1178
            aload 7 /* data */
            aload 4 /* args */
            invokevirtual android.os.Parcel.writeStringArray:([Ljava/lang/String;)V
         6: .line 1179
            aload 5 /* callback */
            aload 7 /* data */
            invokestatic android.os.ShellCallback.writeToParcel:(Landroid/os/ShellCallback;Landroid/os/Parcel;)V
         7: .line 1180
            aload 6 /* resultReceiver */
            aload 7 /* data */
            iconst_0
            invokevirtual android.os.ResultReceiver.writeToParcel:(Landroid/os/Parcel;I)V
         8: .line 1182
            aload 0 /* this */
            ldc 1598246212
            aload 7 /* data */
            aload 8 /* reply */
            iconst_0
            invokevirtual android.os.BinderProxy.transact:(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
            pop
         9: .line 1183
            aload 8 /* reply */
            invokevirtual android.os.Parcel.readException:()V
        10: .line 1184
            goto 15
      StackMap locals: android.os.BinderProxy java.io.FileDescriptor java.io.FileDescriptor java.io.FileDescriptor java.lang.String[] android.os.ShellCallback android.os.ResultReceiver android.os.Parcel android.os.Parcel
      StackMap stack: java.lang.Throwable
        11: astore 9
        12: .line 1185
            aload 7 /* data */
            invokevirtual android.os.Parcel.recycle:()V
        13: .line 1186
            aload 8 /* reply */
            invokevirtual android.os.Parcel.recycle:()V
        14: .line 1187
            aload 9
            athrow
        15: .line 1185
      StackMap locals:
      StackMap stack:
            aload 7 /* data */
            invokevirtual android.os.Parcel.recycle:()V
        16: .line 1186
            aload 8 /* reply */
            invokevirtual android.os.Parcel.recycle:()V
        17: .line 1188
            return
        end local 8 // android.os.Parcel reply
        end local 7 // android.os.Parcel data
        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.BinderProxy this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   18     0            this  Landroid/os/BinderProxy;
            0   18     1              in  Ljava/io/FileDescriptor;
            0   18     2             out  Ljava/io/FileDescriptor;
            0   18     3             err  Ljava/io/FileDescriptor;
            0   18     4            args  [Ljava/lang/String;
            0   18     5        callback  Landroid/os/ShellCallback;
            0   18     6  resultReceiver  Landroid/os/ResultReceiver;
            1   18     7            data  Landroid/os/Parcel;
            2   18     8           reply  Landroid/os/Parcel;
      Exception table:
        from    to  target  type
           8    11      11  any
    Exceptions:
      throws android.os.RemoteException
    MethodParameters:
                Name  Flags
      in              
      out             
      err             
      args            
      callback        
      resultReceiver  

  private static final void sendDeathNotice(android.os.IBinder$DeathRecipient);
    descriptor: (Landroid/os/IBinder$DeathRecipient;)V
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // android.os.IBinder$DeathRecipient recipient
         0: .line 1193
            aload 0 /* recipient */
            invokeinterface android.os.IBinder$DeathRecipient.binderDied:()V
         1: .line 1194
            goto 6
         2: .line 1195
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 1 /* exc */
        start local 1 // java.lang.RuntimeException exc
         3: .line 1196
            ldc "BinderNative"
            ldc "Uncaught exception from death notification"
         4: .line 1197
            aload 1 /* exc */
         5: .line 1196
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        end local 1 // java.lang.RuntimeException exc
         6: .line 1199
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.os.IBinder$DeathRecipient recipient
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0  recipient  Landroid/os/IBinder$DeathRecipient;
            3    6     1        exc  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.RuntimeException
    MethodParameters:
           Name  Flags
      recipient  
}
SourceFile: "Binder.java"
NestMembers:
  android.os.BinderProxy$NoImagePreloadHolder  android.os.BinderProxy$ProxyMap
InnerClasses:
  private NoImagePreloadHolder = android.os.BinderProxy$NoImagePreloadHolder of android.os.BinderProxy
  private final ProxyMap = android.os.BinderProxy$ProxyMap of android.os.BinderProxy
  public abstract DeathRecipient = android.os.IBinder$DeathRecipient of android.os.IBinder