public abstract class android.os.IPermissionController$Stub extends android.os.Binder implements android.os.IPermissionController
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: android.os.IPermissionController$Stub
  super_class: android.os.Binder
{
  private static final java.lang.String DESCRIPTOR;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "android.os.IPermissionController"

  static final int TRANSACTION_checkPermission;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final int TRANSACTION_noteOp;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final int TRANSACTION_getPackagesForUid;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  static final int TRANSACTION_isRuntimePermission;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  static final int TRANSACTION_getPackageUid;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.os.IPermissionController$Stub this
         0: .line 14
            aload 0 /* this */
            invokespecial android.os.Binder.<init>:()V
         1: .line 16
            aload 0 /* this */
            aload 0 /* this */
            ldc "android.os.IPermissionController"
            invokevirtual android.os.IPermissionController$Stub.attachInterface:(Landroid/os/IInterface;Ljava/lang/String;)V
         2: .line 17
            return
        end local 0 // android.os.IPermissionController$Stub this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/os/IPermissionController$Stub;

  public static android.os.IPermissionController asInterface(android.os.IBinder);
    descriptor: (Landroid/os/IBinder;)Landroid/os/IPermissionController;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // android.os.IBinder obj
         0: .line 24
            aload 0 /* obj */
            ifnonnull 2
         1: .line 25
            aconst_null
            areturn
         2: .line 27
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            ldc "android.os.IPermissionController"
            invokeinterface android.os.IBinder.queryLocalInterface:(Ljava/lang/String;)Landroid/os/IInterface;
            astore 1 /* iin */
        start local 1 // android.os.IInterface iin
         3: .line 28
            aload 1 /* iin */
            ifnull 5
            aload 1 /* iin */
            instanceof android.os.IPermissionController
            ifeq 5
         4: .line 29
            aload 1 /* iin */
            checkcast android.os.IPermissionController
            areturn
         5: .line 31
      StackMap locals: android.os.IInterface
      StackMap stack:
            new android.os.IPermissionController$Stub$Proxy
            dup
            aload 0 /* obj */
            invokespecial android.os.IPermissionController$Stub$Proxy.<init>:(Landroid/os/IBinder;)V
            areturn
        end local 1 // android.os.IInterface iin
        end local 0 // android.os.IBinder obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0   obj  Landroid/os/IBinder;
            3    6     1   iin  Landroid/os/IInterface;
    MethodParameters:
      Name  Flags
      obj   

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

  public boolean onTransact(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=10, args_size=5
        start local 0 // android.os.IPermissionController$Stub 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 39
            ldc "android.os.IPermissionController"
            astore 5 /* descriptor */
        start local 5 // java.lang.String descriptor
         1: .line 40
            iload 1 /* code */
            lookupswitch { // 6
                    1: 4
                    2: 14
                    3: 22
                    4: 28
                    5: 36
           1598968902: 2
              default: 43
          }
         2: .line 44
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* reply */
            aload 5 /* descriptor */
            invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
         3: .line 45
            iconst_1
            ireturn
         4: .line 49
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            aload 5 /* descriptor */
            invokevirtual android.os.Parcel.enforceInterface:(Ljava/lang/String;)V
         5: .line 51
            aload 2 /* data */
            invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
            astore 6 /* _arg0 */
        start local 6 // java.lang.String _arg0
         6: .line 53
            aload 2 /* data */
            invokevirtual android.os.Parcel.readInt:()I
            istore 7 /* _arg1 */
        start local 7 // int _arg1
         7: .line 55
            aload 2 /* data */
            invokevirtual android.os.Parcel.readInt:()I
            istore 8 /* _arg2 */
        start local 8 // int _arg2
         8: .line 56
            aload 0 /* this */
            aload 6 /* _arg0 */
            iload 7 /* _arg1 */
            iload 8 /* _arg2 */
            invokevirtual android.os.IPermissionController$Stub.checkPermission:(Ljava/lang/String;II)Z
            istore 9 /* _result */
        start local 9 // boolean _result
         9: .line 57
            aload 3 /* reply */
            invokevirtual android.os.Parcel.writeNoException:()V
        10: .line 58
            aload 3 /* reply */
            iload 9 /* _result */
            ifeq 11
            iconst_1
            goto 12
      StackMap locals: android.os.IPermissionController$Stub int android.os.Parcel android.os.Parcel int java.lang.String java.lang.String int int int
      StackMap stack: android.os.Parcel
        11: iconst_0
      StackMap locals: android.os.IPermissionController$Stub int android.os.Parcel android.os.Parcel int java.lang.String java.lang.String int int int
      StackMap stack: android.os.Parcel int
        12: invokevirtual android.os.Parcel.writeInt:(I)V
        13: .line 59
            iconst_1
            ireturn
        end local 9 // boolean _result
        end local 8 // int _arg2
        end local 7 // int _arg1
        end local 6 // java.lang.String _arg0
        14: .line 63
      StackMap locals: android.os.IPermissionController$Stub int android.os.Parcel android.os.Parcel int java.lang.String
      StackMap stack:
            aload 2 /* data */
            aload 5 /* descriptor */
            invokevirtual android.os.Parcel.enforceInterface:(Ljava/lang/String;)V
        15: .line 65
            aload 2 /* data */
            invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
            astore 6 /* _arg0 */
        start local 6 // java.lang.String _arg0
        16: .line 67
            aload 2 /* data */
            invokevirtual android.os.Parcel.readInt:()I
            istore 7 /* _arg1 */
        start local 7 // int _arg1
        17: .line 69
            aload 2 /* data */
            invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
            astore 8 /* _arg2 */
        start local 8 // java.lang.String _arg2
        18: .line 70
            aload 0 /* this */
            aload 6 /* _arg0 */
            iload 7 /* _arg1 */
            aload 8 /* _arg2 */
            invokevirtual android.os.IPermissionController$Stub.noteOp:(Ljava/lang/String;ILjava/lang/String;)I
            istore 9 /* _result */
        start local 9 // int _result
        19: .line 71
            aload 3 /* reply */
            invokevirtual android.os.Parcel.writeNoException:()V
        20: .line 72
            aload 3 /* reply */
            iload 9 /* _result */
            invokevirtual android.os.Parcel.writeInt:(I)V
        21: .line 73
            iconst_1
            ireturn
        end local 9 // int _result
        end local 8 // java.lang.String _arg2
        end local 7 // int _arg1
        end local 6 // java.lang.String _arg0
        22: .line 77
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            aload 5 /* descriptor */
            invokevirtual android.os.Parcel.enforceInterface:(Ljava/lang/String;)V
        23: .line 79
            aload 2 /* data */
            invokevirtual android.os.Parcel.readInt:()I
            istore 6 /* _arg0 */
        start local 6 // int _arg0
        24: .line 80
            aload 0 /* this */
            iload 6 /* _arg0 */
            invokevirtual android.os.IPermissionController$Stub.getPackagesForUid:(I)[Ljava/lang/String;
            astore 7 /* _result */
        start local 7 // java.lang.String[] _result
        25: .line 81
            aload 3 /* reply */
            invokevirtual android.os.Parcel.writeNoException:()V
        26: .line 82
            aload 3 /* reply */
            aload 7 /* _result */
            invokevirtual android.os.Parcel.writeStringArray:([Ljava/lang/String;)V
        27: .line 83
            iconst_1
            ireturn
        end local 7 // java.lang.String[] _result
        end local 6 // int _arg0
        28: .line 87
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            aload 5 /* descriptor */
            invokevirtual android.os.Parcel.enforceInterface:(Ljava/lang/String;)V
        29: .line 89
            aload 2 /* data */
            invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
            astore 6 /* _arg0 */
        start local 6 // java.lang.String _arg0
        30: .line 90
            aload 0 /* this */
            aload 6 /* _arg0 */
            invokevirtual android.os.IPermissionController$Stub.isRuntimePermission:(Ljava/lang/String;)Z
            istore 7 /* _result */
        start local 7 // boolean _result
        31: .line 91
            aload 3 /* reply */
            invokevirtual android.os.Parcel.writeNoException:()V
        32: .line 92
            aload 3 /* reply */
            iload 7 /* _result */
            ifeq 33
            iconst_1
            goto 34
      StackMap locals: android.os.IPermissionController$Stub int android.os.Parcel android.os.Parcel int java.lang.String java.lang.String int
      StackMap stack: android.os.Parcel
        33: iconst_0
      StackMap locals: android.os.IPermissionController$Stub int android.os.Parcel android.os.Parcel int java.lang.String java.lang.String int
      StackMap stack: android.os.Parcel int
        34: invokevirtual android.os.Parcel.writeInt:(I)V
        35: .line 93
            iconst_1
            ireturn
        end local 7 // boolean _result
        end local 6 // java.lang.String _arg0
        36: .line 97
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            aload 5 /* descriptor */
            invokevirtual android.os.Parcel.enforceInterface:(Ljava/lang/String;)V
        37: .line 99
            aload 2 /* data */
            invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
            astore 6 /* _arg0 */
        start local 6 // java.lang.String _arg0
        38: .line 101
            aload 2 /* data */
            invokevirtual android.os.Parcel.readInt:()I
            istore 7 /* _arg1 */
        start local 7 // int _arg1
        39: .line 102
            aload 0 /* this */
            aload 6 /* _arg0 */
            iload 7 /* _arg1 */
            invokevirtual android.os.IPermissionController$Stub.getPackageUid:(Ljava/lang/String;I)I
            istore 8 /* _result */
        start local 8 // int _result
        40: .line 103
            aload 3 /* reply */
            invokevirtual android.os.Parcel.writeNoException:()V
        41: .line 104
            aload 3 /* reply */
            iload 8 /* _result */
            invokevirtual android.os.Parcel.writeInt:(I)V
        42: .line 105
            iconst_1
            ireturn
        end local 8 // int _result
        end local 7 // int _arg1
        end local 6 // java.lang.String _arg0
        43: .line 109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* code */
            aload 2 /* data */
            aload 3 /* reply */
            iload 4 /* flags */
            invokespecial android.os.Binder.onTransact:(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
            ireturn
        end local 5 // java.lang.String descriptor
        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.IPermissionController$Stub this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   44     0        this  Landroid/os/IPermissionController$Stub;
            0   44     1        code  I
            0   44     2        data  Landroid/os/Parcel;
            0   44     3       reply  Landroid/os/Parcel;
            0   44     4       flags  I
            1   44     5  descriptor  Ljava/lang/String;
            6   14     6       _arg0  Ljava/lang/String;
            7   14     7       _arg1  I
            8   14     8       _arg2  I
            9   14     9     _result  Z
           16   22     6       _arg0  Ljava/lang/String;
           17   22     7       _arg1  I
           18   22     8       _arg2  Ljava/lang/String;
           19   22     9     _result  I
           24   28     6       _arg0  I
           25   28     7     _result  [Ljava/lang/String;
           30   36     6       _arg0  Ljava/lang/String;
           31   36     7     _result  Z
           38   43     6       _arg0  Ljava/lang/String;
           39   43     7       _arg1  I
           40   43     8     _result  I
    Exceptions:
      throws android.os.RemoteException
    MethodParameters:
       Name  Flags
      code   
      data   
      reply  
      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