class android.os.IPermissionController$Stub$Proxy implements android.os.IPermissionController
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: android.os.IPermissionController$Stub$Proxy
  super_class: java.lang.Object
{
  private android.os.IBinder mRemote;
    descriptor: Landroid/os/IBinder;
    flags: (0x0002) ACC_PRIVATE

  void <init>(android.os.IBinder);
    descriptor: (Landroid/os/IBinder;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.os.IPermissionController$Stub$Proxy this
        start local 1 // android.os.IBinder remote
         0: .line 116
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 118
            aload 0 /* this */
            aload 1 /* remote */
            putfield android.os.IPermissionController$Stub$Proxy.mRemote:Landroid/os/IBinder;
         2: .line 119
            return
        end local 1 // android.os.IBinder remote
        end local 0 // android.os.IPermissionController$Stub$Proxy this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Landroid/os/IPermissionController$Stub$Proxy;
            0    3     1  remote  Landroid/os/IBinder;
    MethodParameters:
        Name  Flags
      remote  

  public android.os.IBinder asBinder();
    descriptor: ()Landroid/os/IBinder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.os.IPermissionController$Stub$Proxy this
         0: .line 122
            aload 0 /* this */
            getfield android.os.IPermissionController$Stub$Proxy.mRemote:Landroid/os/IBinder;
            areturn
        end local 0 // android.os.IPermissionController$Stub$Proxy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/IPermissionController$Stub$Proxy;

  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.IPermissionController$Stub$Proxy this
         0: .line 126
            ldc "android.os.IPermissionController"
            areturn
        end local 0 // android.os.IPermissionController$Stub$Proxy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/IPermissionController$Stub$Proxy;

  public boolean checkPermission(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // android.os.IPermissionController$Stub$Proxy this
        start local 1 // java.lang.String permission
        start local 2 // int pid
        start local 3 // int uid
         0: .line 130
            invokestatic android.os.Parcel.obtain:()Landroid/os/Parcel;
            astore 4 /* _data */
        start local 4 // android.os.Parcel _data
         1: .line 131
            invokestatic android.os.Parcel.obtain:()Landroid/os/Parcel;
            astore 5 /* _reply */
        start local 5 // android.os.Parcel _reply
         2: .line 134
            aload 4 /* _data */
            ldc "android.os.IPermissionController"
            invokevirtual android.os.Parcel.writeInterfaceToken:(Ljava/lang/String;)V
         3: .line 135
            aload 4 /* _data */
            aload 1 /* permission */
            invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
         4: .line 136
            aload 4 /* _data */
            iload 2 /* pid */
            invokevirtual android.os.Parcel.writeInt:(I)V
         5: .line 137
            aload 4 /* _data */
            iload 3 /* uid */
            invokevirtual android.os.Parcel.writeInt:(I)V
         6: .line 138
            aload 0 /* this */
            getfield android.os.IPermissionController$Stub$Proxy.mRemote:Landroid/os/IBinder;
            iconst_1
            aload 4 /* _data */
            aload 5 /* _reply */
            iconst_0
            invokeinterface android.os.IBinder.transact:(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
            pop
         7: .line 139
            aload 5 /* _reply */
            invokevirtual android.os.Parcel.readException:()V
         8: .line 140
            aload 5 /* _reply */
            invokevirtual android.os.Parcel.readInt:()I
            ifeq 9
            iconst_1
            goto 10
      StackMap locals: android.os.Parcel android.os.Parcel
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 6 /* _result */
        start local 6 // boolean _result
        11: .line 141
            goto 16
        end local 6 // boolean _result
        12: .line 142
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        13: .line 143
            aload 5 /* _reply */
            invokevirtual android.os.Parcel.recycle:()V
        14: .line 144
            aload 4 /* _data */
            invokevirtual android.os.Parcel.recycle:()V
        15: .line 145
            aload 7
            athrow
        start local 6 // boolean _result
        16: .line 143
      StackMap locals: int
      StackMap stack:
            aload 5 /* _reply */
            invokevirtual android.os.Parcel.recycle:()V
        17: .line 144
            aload 4 /* _data */
            invokevirtual android.os.Parcel.recycle:()V
        18: .line 146
            iload 6 /* _result */
            ireturn
        end local 6 // boolean _result
        end local 5 // android.os.Parcel _reply
        end local 4 // android.os.Parcel _data
        end local 3 // int uid
        end local 2 // int pid
        end local 1 // java.lang.String permission
        end local 0 // android.os.IPermissionController$Stub$Proxy this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Landroid/os/IPermissionController$Stub$Proxy;
            0   19     1  permission  Ljava/lang/String;
            0   19     2         pid  I
            0   19     3         uid  I
            1   19     4       _data  Landroid/os/Parcel;
            2   19     5      _reply  Landroid/os/Parcel;
           11   12     6     _result  Z
           16   19     6     _result  Z
      Exception table:
        from    to  target  type
           2    12      12  any
    Exceptions:
      throws android.os.RemoteException
    MethodParameters:
            Name  Flags
      permission  
      pid         
      uid         

  public int noteOp(java.lang.String, int, java.lang.String);
    descriptor: (Ljava/lang/String;ILjava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // android.os.IPermissionController$Stub$Proxy this
        start local 1 // java.lang.String op
        start local 2 // int uid
        start local 3 // java.lang.String packageName
         0: .line 150
            invokestatic android.os.Parcel.obtain:()Landroid/os/Parcel;
            astore 4 /* _data */
        start local 4 // android.os.Parcel _data
         1: .line 151
            invokestatic android.os.Parcel.obtain:()Landroid/os/Parcel;
            astore 5 /* _reply */
        start local 5 // android.os.Parcel _reply
         2: .line 154
            aload 4 /* _data */
            ldc "android.os.IPermissionController"
            invokevirtual android.os.Parcel.writeInterfaceToken:(Ljava/lang/String;)V
         3: .line 155
            aload 4 /* _data */
            aload 1 /* op */
            invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
         4: .line 156
            aload 4 /* _data */
            iload 2 /* uid */
            invokevirtual android.os.Parcel.writeInt:(I)V
         5: .line 157
            aload 4 /* _data */
            aload 3 /* packageName */
            invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
         6: .line 158
            aload 0 /* this */
            getfield android.os.IPermissionController$Stub$Proxy.mRemote:Landroid/os/IBinder;
            iconst_2
            aload 4 /* _data */
            aload 5 /* _reply */
            iconst_0
            invokeinterface android.os.IBinder.transact:(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
            pop
         7: .line 159
            aload 5 /* _reply */
            invokevirtual android.os.Parcel.readException:()V
         8: .line 160
            aload 5 /* _reply */
            invokevirtual android.os.Parcel.readInt:()I
            istore 6 /* _result */
        start local 6 // int _result
         9: .line 161
            goto 14
        end local 6 // int _result
        10: .line 162
      StackMap locals: android.os.IPermissionController$Stub$Proxy java.lang.String int java.lang.String android.os.Parcel android.os.Parcel
      StackMap stack: java.lang.Throwable
            astore 7
        11: .line 163
            aload 5 /* _reply */
            invokevirtual android.os.Parcel.recycle:()V
        12: .line 164
            aload 4 /* _data */
            invokevirtual android.os.Parcel.recycle:()V
        13: .line 165
            aload 7
            athrow
        start local 6 // int _result
        14: .line 163
      StackMap locals: int
      StackMap stack:
            aload 5 /* _reply */
            invokevirtual android.os.Parcel.recycle:()V
        15: .line 164
            aload 4 /* _data */
            invokevirtual android.os.Parcel.recycle:()V
        16: .line 166
            iload 6 /* _result */
            ireturn
        end local 6 // int _result
        end local 5 // android.os.Parcel _reply
        end local 4 // android.os.Parcel _data
        end local 3 // java.lang.String packageName
        end local 2 // int uid
        end local 1 // java.lang.String op
        end local 0 // android.os.IPermissionController$Stub$Proxy this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0         this  Landroid/os/IPermissionController$Stub$Proxy;
            0   17     1           op  Ljava/lang/String;
            0   17     2          uid  I
            0   17     3  packageName  Ljava/lang/String;
            1   17     4        _data  Landroid/os/Parcel;
            2   17     5       _reply  Landroid/os/Parcel;
            9   10     6      _result  I
           14   17     6      _result  I
      Exception table:
        from    to  target  type
           2    10      10  any
    Exceptions:
      throws android.os.RemoteException
    MethodParameters:
             Name  Flags
      op           
      uid          
      packageName  

  public java.lang.String[] getPackagesForUid(int);
    descriptor: (I)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // android.os.IPermissionController$Stub$Proxy this
        start local 1 // int uid
         0: .line 170
            invokestatic android.os.Parcel.obtain:()Landroid/os/Parcel;
            astore 2 /* _data */
        start local 2 // android.os.Parcel _data
         1: .line 171
            invokestatic android.os.Parcel.obtain:()Landroid/os/Parcel;
            astore 3 /* _reply */
        start local 3 // android.os.Parcel _reply
         2: .line 174
            aload 2 /* _data */
            ldc "android.os.IPermissionController"
            invokevirtual android.os.Parcel.writeInterfaceToken:(Ljava/lang/String;)V
         3: .line 175
            aload 2 /* _data */
            iload 1 /* uid */
            invokevirtual android.os.Parcel.writeInt:(I)V
         4: .line 176
            aload 0 /* this */
            getfield android.os.IPermissionController$Stub$Proxy.mRemote:Landroid/os/IBinder;
            iconst_3
            aload 2 /* _data */
            aload 3 /* _reply */
            iconst_0
            invokeinterface android.os.IBinder.transact:(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
            pop
         5: .line 177
            aload 3 /* _reply */
            invokevirtual android.os.Parcel.readException:()V
         6: .line 178
            aload 3 /* _reply */
            invokevirtual android.os.Parcel.createStringArray:()[Ljava/lang/String;
            astore 4 /* _result */
        start local 4 // java.lang.String[] _result
         7: .line 179
            goto 12
        end local 4 // java.lang.String[] _result
         8: .line 180
      StackMap locals: android.os.IPermissionController$Stub$Proxy int android.os.Parcel android.os.Parcel
      StackMap stack: java.lang.Throwable
            astore 5
         9: .line 181
            aload 3 /* _reply */
            invokevirtual android.os.Parcel.recycle:()V
        10: .line 182
            aload 2 /* _data */
            invokevirtual android.os.Parcel.recycle:()V
        11: .line 183
            aload 5
            athrow
        start local 4 // java.lang.String[] _result
        12: .line 181
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 3 /* _reply */
            invokevirtual android.os.Parcel.recycle:()V
        13: .line 182
            aload 2 /* _data */
            invokevirtual android.os.Parcel.recycle:()V
        14: .line 184
            aload 4 /* _result */
            areturn
        end local 4 // java.lang.String[] _result
        end local 3 // android.os.Parcel _reply
        end local 2 // android.os.Parcel _data
        end local 1 // int uid
        end local 0 // android.os.IPermissionController$Stub$Proxy this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Landroid/os/IPermissionController$Stub$Proxy;
            0   15     1      uid  I
            1   15     2    _data  Landroid/os/Parcel;
            2   15     3   _reply  Landroid/os/Parcel;
            7    8     4  _result  [Ljava/lang/String;
           12   15     4  _result  [Ljava/lang/String;
      Exception table:
        from    to  target  type
           2     8       8  any
    Exceptions:
      throws android.os.RemoteException
    MethodParameters:
      Name  Flags
      uid   

  public boolean isRuntimePermission(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // android.os.IPermissionController$Stub$Proxy this
        start local 1 // java.lang.String permission
         0: .line 188
            invokestatic android.os.Parcel.obtain:()Landroid/os/Parcel;
            astore 2 /* _data */
        start local 2 // android.os.Parcel _data
         1: .line 189
            invokestatic android.os.Parcel.obtain:()Landroid/os/Parcel;
            astore 3 /* _reply */
        start local 3 // android.os.Parcel _reply
         2: .line 192
            aload 2 /* _data */
            ldc "android.os.IPermissionController"
            invokevirtual android.os.Parcel.writeInterfaceToken:(Ljava/lang/String;)V
         3: .line 193
            aload 2 /* _data */
            aload 1 /* permission */
            invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
         4: .line 194
            aload 0 /* this */
            getfield android.os.IPermissionController$Stub$Proxy.mRemote:Landroid/os/IBinder;
            iconst_4
            aload 2 /* _data */
            aload 3 /* _reply */
            iconst_0
            invokeinterface android.os.IBinder.transact:(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
            pop
         5: .line 195
            aload 3 /* _reply */
            invokevirtual android.os.Parcel.readException:()V
         6: .line 196
            aload 3 /* _reply */
            invokevirtual android.os.Parcel.readInt:()I
            ifeq 7
            iconst_1
            goto 8
      StackMap locals: android.os.Parcel android.os.Parcel
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 4 /* _result */
        start local 4 // boolean _result
         9: .line 197
            goto 14
        end local 4 // boolean _result
        10: .line 198
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        11: .line 199
            aload 3 /* _reply */
            invokevirtual android.os.Parcel.recycle:()V
        12: .line 200
            aload 2 /* _data */
            invokevirtual android.os.Parcel.recycle:()V
        13: .line 201
            aload 5
            athrow
        start local 4 // boolean _result
        14: .line 199
      StackMap locals: int
      StackMap stack:
            aload 3 /* _reply */
            invokevirtual android.os.Parcel.recycle:()V
        15: .line 200
            aload 2 /* _data */
            invokevirtual android.os.Parcel.recycle:()V
        16: .line 202
            iload 4 /* _result */
            ireturn
        end local 4 // boolean _result
        end local 3 // android.os.Parcel _reply
        end local 2 // android.os.Parcel _data
        end local 1 // java.lang.String permission
        end local 0 // android.os.IPermissionController$Stub$Proxy this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Landroid/os/IPermissionController$Stub$Proxy;
            0   17     1  permission  Ljava/lang/String;
            1   17     2       _data  Landroid/os/Parcel;
            2   17     3      _reply  Landroid/os/Parcel;
            9   10     4     _result  Z
           14   17     4     _result  Z
      Exception table:
        from    to  target  type
           2    10      10  any
    Exceptions:
      throws android.os.RemoteException
    MethodParameters:
            Name  Flags
      permission  

  public int getPackageUid(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // android.os.IPermissionController$Stub$Proxy this
        start local 1 // java.lang.String packageName
        start local 2 // int flags
         0: .line 206
            invokestatic android.os.Parcel.obtain:()Landroid/os/Parcel;
            astore 3 /* _data */
        start local 3 // android.os.Parcel _data
         1: .line 207
            invokestatic android.os.Parcel.obtain:()Landroid/os/Parcel;
            astore 4 /* _reply */
        start local 4 // android.os.Parcel _reply
         2: .line 210
            aload 3 /* _data */
            ldc "android.os.IPermissionController"
            invokevirtual android.os.Parcel.writeInterfaceToken:(Ljava/lang/String;)V
         3: .line 211
            aload 3 /* _data */
            aload 1 /* packageName */
            invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
         4: .line 212
            aload 3 /* _data */
            iload 2 /* flags */
            invokevirtual android.os.Parcel.writeInt:(I)V
         5: .line 213
            aload 0 /* this */
            getfield android.os.IPermissionController$Stub$Proxy.mRemote:Landroid/os/IBinder;
            iconst_5
            aload 3 /* _data */
            aload 4 /* _reply */
            iconst_0
            invokeinterface android.os.IBinder.transact:(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
            pop
         6: .line 214
            aload 4 /* _reply */
            invokevirtual android.os.Parcel.readException:()V
         7: .line 215
            aload 4 /* _reply */
            invokevirtual android.os.Parcel.readInt:()I
            istore 5 /* _result */
        start local 5 // int _result
         8: .line 216
            goto 13
        end local 5 // int _result
         9: .line 217
      StackMap locals: android.os.IPermissionController$Stub$Proxy java.lang.String int android.os.Parcel android.os.Parcel
      StackMap stack: java.lang.Throwable
            astore 6
        10: .line 218
            aload 4 /* _reply */
            invokevirtual android.os.Parcel.recycle:()V
        11: .line 219
            aload 3 /* _data */
            invokevirtual android.os.Parcel.recycle:()V
        12: .line 220
            aload 6
            athrow
        start local 5 // int _result
        13: .line 218
      StackMap locals: int
      StackMap stack:
            aload 4 /* _reply */
            invokevirtual android.os.Parcel.recycle:()V
        14: .line 219
            aload 3 /* _data */
            invokevirtual android.os.Parcel.recycle:()V
        15: .line 221
            iload 5 /* _result */
            ireturn
        end local 5 // int _result
        end local 4 // android.os.Parcel _reply
        end local 3 // android.os.Parcel _data
        end local 2 // int flags
        end local 1 // java.lang.String packageName
        end local 0 // android.os.IPermissionController$Stub$Proxy this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Landroid/os/IPermissionController$Stub$Proxy;
            0   16     1  packageName  Ljava/lang/String;
            0   16     2        flags  I
            1   16     3        _data  Landroid/os/Parcel;
            2   16     4       _reply  Landroid/os/Parcel;
            8    9     5      _result  I
           13   16     5      _result  I
      Exception table:
        from    to  target  type
           2     9       9  any
    Exceptions:
      throws android.os.RemoteException
    MethodParameters:
             Name  Flags
      packageName  
      flags        
}
SourceFile: "IPermissionController.java"
NestHost: android.os.IPermissionController
InnerClasses:
  public abstract Stub = android.os.IPermissionController$Stub of android.os.IPermissionController
  private Proxy = android.os.IPermissionController$Stub$Proxy of android.os.IPermissionController$Stub