public class android.widget.AppSecurityPermissions
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.widget.AppSecurityPermissions
  super_class: java.lang.Object
{
  public static final int WHICH_NEW;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int WHICH_ALL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 65535

  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "AppSecurityPermissions"

  private static final boolean localLOGV;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private final android.content.Context mContext;
    descriptor: Landroid/content/Context;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.view.LayoutInflater mInflater;
    descriptor: Landroid/view/LayoutInflater;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.content.pm.PackageManager mPm;
    descriptor: Landroid/content/pm/PackageManager;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Map<java.lang.String, android.widget.AppSecurityPermissions$MyPermissionGroupInfo> mPermGroups;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;>;

  private final java.util.List<android.widget.AppSecurityPermissions$MyPermissionGroupInfo> mPermGroupsList;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;>;

  private final android.widget.AppSecurityPermissions$PermissionGroupInfoComparator mPermGroupComparator;
    descriptor: Landroid/widget/AppSecurityPermissions$PermissionGroupInfoComparator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.widget.AppSecurityPermissions$PermissionInfoComparator mPermComparator;
    descriptor: Landroid/widget/AppSecurityPermissions$PermissionInfoComparator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<android.widget.AppSecurityPermissions$MyPermissionInfo> mPermsList;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Landroid/widget/AppSecurityPermissions$MyPermissionInfo;>;

  private final java.lang.CharSequence mNewPermPrefix;
    descriptor: Ljava/lang/CharSequence;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.String mPackageName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private void <init>(android.content.Context);
    descriptor: (Landroid/content/Context;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.widget.AppSecurityPermissions this
         0: .line 40
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe import com.android.internal.R cannot be resolved\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.widget.AppSecurityPermissions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/AppSecurityPermissions;
    MethodParameters:
         Name  Flags
      context  

  public void <init>(android.content.Context, java.lang.String);
    descriptor: (Landroid/content/Context;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // android.widget.AppSecurityPermissions this
        start local 1 // android.content.Context context
        start local 2 // java.lang.String packageName
         0: .line 261
            aload 0 /* this */
            aload 1 /* context */
            invokespecial android.widget.AppSecurityPermissions.<init>:(Landroid/content/Context;)V
         1: .line 262
            aload 0 /* this */
            aload 2 /* packageName */
            putfield android.widget.AppSecurityPermissions.mPackageName:Ljava/lang/String;
         2: .line 263
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* permSet */
        start local 3 // java.util.Set permSet
         3: .line 266
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPm:Landroid/content/pm/PackageManager;
            aload 2 /* packageName */
            sipush 4096
            invokevirtual android.content.pm.PackageManager.getPackageInfo:(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
            astore 4 /* pkgInfo */
        start local 4 // android.content.pm.PackageInfo pkgInfo
         4: .line 267
            goto 8
        end local 4 // android.content.pm.PackageInfo pkgInfo
      StackMap locals: android.widget.AppSecurityPermissions android.content.Context java.lang.String java.util.Set
      StackMap stack: android.content.pm.PackageManager$NameNotFoundException
         5: pop
         6: .line 268
            ldc "AppSecurityPermissions"
            new java.lang.StringBuilder
            dup
            ldc "Couldn't retrieve permissions for package:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* packageName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         7: .line 269
            return
        start local 4 // android.content.pm.PackageInfo pkgInfo
         8: .line 272
      StackMap locals: android.content.pm.PackageInfo
      StackMap stack:
            aload 4 /* pkgInfo */
            getfield android.content.pm.PackageInfo.applicationInfo:Landroid/content/pm/ApplicationInfo;
            ifnull 10
            aload 4 /* pkgInfo */
            getfield android.content.pm.PackageInfo.applicationInfo:Landroid/content/pm/ApplicationInfo;
            getfield android.content.pm.ApplicationInfo.uid:I
            iconst_m1
            if_icmpeq 10
         9: .line 273
            aload 0 /* this */
            aload 4 /* pkgInfo */
            getfield android.content.pm.PackageInfo.applicationInfo:Landroid/content/pm/ApplicationInfo;
            getfield android.content.pm.ApplicationInfo.uid:I
            aload 3 /* permSet */
            invokevirtual android.widget.AppSecurityPermissions.getAllUsedPermissions:(ILjava/util/Set;)V
        10: .line 275
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPermsList:Ljava/util/List;
            aload 3 /* permSet */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        11: .line 276
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPermsList:Ljava/util/List;
            invokevirtual android.widget.AppSecurityPermissions.setPermissions:(Ljava/util/List;)V
        12: .line 277
            return
        end local 4 // android.content.pm.PackageInfo pkgInfo
        end local 3 // java.util.Set permSet
        end local 2 // java.lang.String packageName
        end local 1 // android.content.Context context
        end local 0 // android.widget.AppSecurityPermissions this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Landroid/widget/AppSecurityPermissions;
            0   13     1      context  Landroid/content/Context;
            0   13     2  packageName  Ljava/lang/String;
            3   13     3      permSet  Ljava/util/Set<Landroid/widget/AppSecurityPermissions$MyPermissionInfo;>;
            4    5     4      pkgInfo  Landroid/content/pm/PackageInfo;
            8   13     4      pkgInfo  Landroid/content/pm/PackageInfo;
      Exception table:
        from    to  target  type
           3     4       5  Class android.content.pm.PackageManager$NameNotFoundException
    MethodParameters:
             Name  Flags
      context      
      packageName  

  public void <init>(android.content.Context, android.content.pm.PackageInfo);
    descriptor: (Landroid/content/Context;Landroid/content/pm/PackageInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // android.widget.AppSecurityPermissions this
        start local 1 // android.content.Context context
        start local 2 // android.content.pm.PackageInfo info
         0: .line 280
            aload 0 /* this */
            aload 1 /* context */
            invokespecial android.widget.AppSecurityPermissions.<init>:(Landroid/content/Context;)V
         1: .line 281
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* permSet */
        start local 3 // java.util.Set permSet
         2: .line 282
            aload 2 /* info */
            ifnonnull 4
         3: .line 283
            return
         4: .line 285
      StackMap locals: android.widget.AppSecurityPermissions android.content.Context android.content.pm.PackageInfo java.util.Set
      StackMap stack:
            aload 0 /* this */
            aload 2 /* info */
            getfield android.content.pm.PackageInfo.packageName:Ljava/lang/String;
            putfield android.widget.AppSecurityPermissions.mPackageName:Ljava/lang/String;
         5: .line 288
            aconst_null
            astore 4 /* installedPkgInfo */
        start local 4 // android.content.pm.PackageInfo installedPkgInfo
         6: .line 290
            aload 2 /* info */
            getfield android.content.pm.PackageInfo.requestedPermissions:[Ljava/lang/String;
            ifnull 13
         7: .line 292
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPm:Landroid/content/pm/PackageManager;
            aload 2 /* info */
            getfield android.content.pm.PackageInfo.packageName:Ljava/lang/String;
         8: .line 293
            sipush 4096
         9: .line 292
            invokevirtual android.content.pm.PackageManager.getPackageInfo:(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
            astore 4 /* installedPkgInfo */
        10: .line 294
            goto 12
      StackMap locals: android.widget.AppSecurityPermissions android.content.Context android.content.pm.PackageInfo java.util.Set android.content.pm.PackageInfo
      StackMap stack: android.content.pm.PackageManager$NameNotFoundException
        11: pop
        12: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* info */
            aload 3 /* permSet */
            aload 4 /* installedPkgInfo */
            invokevirtual android.widget.AppSecurityPermissions.extractPerms:(Landroid/content/pm/PackageInfo;Ljava/util/Set;Landroid/content/pm/PackageInfo;)V
        13: .line 299
      StackMap locals:
      StackMap stack:
            aload 2 /* info */
            getfield android.content.pm.PackageInfo.sharedUserId:Ljava/lang/String;
            ifnull 19
        14: .line 302
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPm:Landroid/content/pm/PackageManager;
            aload 2 /* info */
            getfield android.content.pm.PackageInfo.sharedUserId:Ljava/lang/String;
            invokevirtual android.content.pm.PackageManager.getUidForSharedUser:(Ljava/lang/String;)I
            istore 5 /* sharedUid */
        start local 5 // int sharedUid
        15: .line 303
            aload 0 /* this */
            iload 5 /* sharedUid */
            aload 3 /* permSet */
            invokevirtual android.widget.AppSecurityPermissions.getAllUsedPermissions:(ILjava/util/Set;)V
        16: .line 304
            goto 19
        end local 5 // int sharedUid
      StackMap locals:
      StackMap stack: android.content.pm.PackageManager$NameNotFoundException
        17: pop
        18: .line 305
            ldc "AppSecurityPermissions"
            new java.lang.StringBuilder
            dup
            ldc "Couldn't retrieve shared user id for: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* info */
            getfield android.content.pm.PackageInfo.packageName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        19: .line 309
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPermsList:Ljava/util/List;
            aload 3 /* permSet */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        20: .line 310
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPermsList:Ljava/util/List;
            invokevirtual android.widget.AppSecurityPermissions.setPermissions:(Ljava/util/List;)V
        21: .line 311
            return
        end local 4 // android.content.pm.PackageInfo installedPkgInfo
        end local 3 // java.util.Set permSet
        end local 2 // android.content.pm.PackageInfo info
        end local 1 // android.content.Context context
        end local 0 // android.widget.AppSecurityPermissions this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   22     0              this  Landroid/widget/AppSecurityPermissions;
            0   22     1           context  Landroid/content/Context;
            0   22     2              info  Landroid/content/pm/PackageInfo;
            2   22     3           permSet  Ljava/util/Set<Landroid/widget/AppSecurityPermissions$MyPermissionInfo;>;
            6   22     4  installedPkgInfo  Landroid/content/pm/PackageInfo;
           15   17     5         sharedUid  I
      Exception table:
        from    to  target  type
           7    10      11  Class android.content.pm.PackageManager$NameNotFoundException
          14    16      17  Class android.content.pm.PackageManager$NameNotFoundException
    MethodParameters:
         Name  Flags
      context  
      info     

  public static android.view.View getPermissionItemView(android.content.Context, java.lang.CharSequence, java.lang.CharSequence, boolean);
    descriptor: (Landroid/content/Context;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Z)Landroid/view/View;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=4
         0: .line 323
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
             Name  Flags
      context      
      grpName      
      description  
      dangerous    

  private void getAllUsedPermissions(int, java.util.Set<android.widget.AppSecurityPermissions$MyPermissionInfo>);
    descriptor: (ILjava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // android.widget.AppSecurityPermissions this
        start local 1 // int sharedUid
        start local 2 // java.util.Set permSet
         0: .line 329
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPm:Landroid/content/pm/PackageManager;
            iload 1 /* sharedUid */
            invokevirtual android.content.pm.PackageManager.getPackagesForUid:(I)[Ljava/lang/String;
            astore 3 /* sharedPkgList */
        start local 3 // java.lang.String[] sharedPkgList
         1: .line 330
            aload 3 /* sharedPkgList */
            ifnull 2
            aload 3 /* sharedPkgList */
            arraylength
            ifne 3
         2: .line 331
      StackMap locals: java.lang.String[]
      StackMap stack:
            return
         3: .line 333
      StackMap locals:
      StackMap stack:
            aload 3 /* sharedPkgList */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 7
      StackMap locals: android.widget.AppSecurityPermissions int java.util.Set java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         4: aload 7
            iload 5
            aaload
            astore 4 /* sharedPkg */
        start local 4 // java.lang.String sharedPkg
         5: .line 334
            aload 0 /* this */
            aload 4 /* sharedPkg */
            aload 2 /* permSet */
            invokevirtual android.widget.AppSecurityPermissions.getPermissionsForPackage:(Ljava/lang/String;Ljava/util/Set;)V
        end local 4 // java.lang.String sharedPkg
         6: .line 333
            iinc 5 1
      StackMap locals:
      StackMap stack:
         7: iload 5
            iload 6
            if_icmplt 4
         8: .line 336
            return
        end local 3 // java.lang.String[] sharedPkgList
        end local 2 // java.util.Set permSet
        end local 1 // int sharedUid
        end local 0 // android.widget.AppSecurityPermissions this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Landroid/widget/AppSecurityPermissions;
            0    9     1      sharedUid  I
            0    9     2        permSet  Ljava/util/Set<Landroid/widget/AppSecurityPermissions$MyPermissionInfo;>;
            1    9     3  sharedPkgList  [Ljava/lang/String;
            5    6     4      sharedPkg  Ljava/lang/String;
    Signature: (ILjava/util/Set<Landroid/widget/AppSecurityPermissions$MyPermissionInfo;>;)V
    MethodParameters:
           Name  Flags
      sharedUid  
      permSet    

  private void getPermissionsForPackage(java.lang.String, java.util.Set<android.widget.AppSecurityPermissions$MyPermissionInfo>);
    descriptor: (Ljava/lang/String;Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // android.widget.AppSecurityPermissions this
        start local 1 // java.lang.String packageName
        start local 2 // java.util.Set permSet
         0: .line 340
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPm:Landroid/content/pm/PackageManager;
            aload 1 /* packageName */
            sipush 4096
            invokevirtual android.content.pm.PackageManager.getPackageInfo:(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
            astore 3 /* pkgInfo */
        start local 3 // android.content.pm.PackageInfo pkgInfo
         1: .line 341
            aload 0 /* this */
            aload 3 /* pkgInfo */
            aload 2 /* permSet */
            aload 3 /* pkgInfo */
            invokevirtual android.widget.AppSecurityPermissions.extractPerms:(Landroid/content/pm/PackageInfo;Ljava/util/Set;Landroid/content/pm/PackageInfo;)V
        end local 3 // android.content.pm.PackageInfo pkgInfo
         2: .line 342
            goto 5
      StackMap locals:
      StackMap stack: android.content.pm.PackageManager$NameNotFoundException
         3: pop
         4: .line 343
            ldc "AppSecurityPermissions"
            new java.lang.StringBuilder
            dup
            ldc "Couldn't retrieve permissions for package: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* packageName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         5: .line 345
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.Set permSet
        end local 1 // java.lang.String packageName
        end local 0 // android.widget.AppSecurityPermissions this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Landroid/widget/AppSecurityPermissions;
            0    6     1  packageName  Ljava/lang/String;
            0    6     2      permSet  Ljava/util/Set<Landroid/widget/AppSecurityPermissions$MyPermissionInfo;>;
            1    2     3      pkgInfo  Landroid/content/pm/PackageInfo;
      Exception table:
        from    to  target  type
           0     2       3  Class android.content.pm.PackageManager$NameNotFoundException
    Signature: (Ljava/lang/String;Ljava/util/Set<Landroid/widget/AppSecurityPermissions$MyPermissionInfo;>;)V
    MethodParameters:
             Name  Flags
      packageName  
      permSet      

  private void extractPerms(android.content.pm.PackageInfo, java.util.Set<android.widget.AppSecurityPermissions$MyPermissionInfo>, android.content.pm.PackageInfo);
    descriptor: (Landroid/content/pm/PackageInfo;Ljava/util/Set;Landroid/content/pm/PackageInfo;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=16, args_size=4
        start local 0 // android.widget.AppSecurityPermissions this
        start local 1 // android.content.pm.PackageInfo info
        start local 2 // java.util.Set permSet
        start local 3 // android.content.pm.PackageInfo installedPkgInfo
         0: .line 349
            aload 1 /* info */
            getfield android.content.pm.PackageInfo.requestedPermissions:[Ljava/lang/String;
            astore 4 /* strList */
        start local 4 // java.lang.String[] strList
         1: .line 350
            aload 1 /* info */
            getfield android.content.pm.PackageInfo.requestedPermissionsFlags:[I
            astore 5 /* flagsList */
        start local 5 // int[] flagsList
         2: .line 351
            aload 4 /* strList */
            ifnull 3
            aload 4 /* strList */
            arraylength
            ifne 4
         3: .line 352
      StackMap locals: java.lang.String[] int[]
      StackMap stack:
            return
         4: .line 354
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 59
         6: .line 355
      StackMap locals: int
      StackMap stack:
            aload 4 /* strList */
            iload 6 /* i */
            aaload
            astore 7 /* permName */
        start local 7 // java.lang.String permName
         7: .line 357
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPm:Landroid/content/pm/PackageManager;
            aload 7 /* permName */
            iconst_0
            invokevirtual android.content.pm.PackageManager.getPermissionInfo:(Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;
            astore 8 /* tmpPermInfo */
        start local 8 // android.content.pm.PermissionInfo tmpPermInfo
         8: .line 358
            aload 8 /* tmpPermInfo */
            ifnonnull 10
         9: .line 359
            goto 58
        10: .line 361
      StackMap locals: java.lang.String android.content.pm.PermissionInfo
      StackMap stack:
            iconst_m1
            istore 9 /* existingIndex */
        start local 9 // int existingIndex
        11: .line 362
            aload 3 /* installedPkgInfo */
            ifnull 20
        12: .line 363
            aload 3 /* installedPkgInfo */
            getfield android.content.pm.PackageInfo.requestedPermissions:[Ljava/lang/String;
            ifnull 20
        13: .line 364
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        14: goto 19
        15: .line 365
      StackMap locals: int int
      StackMap stack:
            aload 7 /* permName */
            aload 3 /* installedPkgInfo */
            getfield android.content.pm.PackageInfo.requestedPermissions:[Ljava/lang/String;
            iload 10 /* j */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        16: .line 366
            iload 10 /* j */
            istore 9 /* existingIndex */
        17: .line 367
            goto 20
        18: .line 364
      StackMap locals:
      StackMap stack:
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        19: iload 10 /* j */
            aload 3 /* installedPkgInfo */
            getfield android.content.pm.PackageInfo.requestedPermissions:[Ljava/lang/String;
            arraylength
            if_icmplt 15
        end local 10 // int j
        20: .line 371
      StackMap locals:
      StackMap stack:
            iload 9 /* existingIndex */
            iflt 22
        21: .line 372
            aload 3 /* installedPkgInfo */
            getfield android.content.pm.PackageInfo.requestedPermissionsFlags:[I
            iload 9 /* existingIndex */
            iaload
            goto 23
      StackMap locals:
      StackMap stack:
        22: iconst_0
        23: .line 371
      StackMap locals:
      StackMap stack: int
            istore 10 /* existingFlags */
        start local 10 // int existingFlags
        24: .line 373
            aload 0 /* this */
            aload 8 /* tmpPermInfo */
            aload 5 /* flagsList */
            iload 6 /* i */
            iaload
            iload 10 /* existingFlags */
            invokevirtual android.widget.AppSecurityPermissions.isDisplayablePermission:(Landroid/content/pm/PermissionInfo;II)Z
            ifne 26
        25: .line 376
            goto 58
        26: .line 378
      StackMap locals: int
      StackMap stack:
            aload 8 /* tmpPermInfo */
            getfield android.content.pm.PermissionInfo.group:Ljava/lang/String;
            astore 11 /* origGroupName */
        start local 11 // java.lang.String origGroupName
        27: .line 379
            aload 11 /* origGroupName */
            astore 12 /* groupName */
        start local 12 // java.lang.String groupName
        28: .line 380
            aload 12 /* groupName */
            ifnonnull 31
        29: .line 381
            aload 8 /* tmpPermInfo */
            getfield android.content.pm.PermissionInfo.packageName:Ljava/lang/String;
            astore 12 /* groupName */
        30: .line 382
            aload 8 /* tmpPermInfo */
            aload 12 /* groupName */
            putfield android.content.pm.PermissionInfo.group:Ljava/lang/String;
        31: .line 384
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPermGroups:Ljava/util/Map;
            aload 12 /* groupName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.widget.AppSecurityPermissions$MyPermissionGroupInfo
            astore 13 /* group */
        start local 13 // android.widget.AppSecurityPermissions$MyPermissionGroupInfo group
        32: .line 385
            aload 13 /* group */
            ifnonnull 45
        33: .line 386
            aconst_null
            astore 14 /* grp */
        start local 14 // android.content.pm.PermissionGroupInfo grp
        34: .line 387
            aload 11 /* origGroupName */
            ifnull 36
        35: .line 388
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPm:Landroid/content/pm/PackageManager;
            aload 11 /* origGroupName */
            iconst_0
            invokevirtual android.content.pm.PackageManager.getPermissionGroupInfo:(Ljava/lang/String;I)Landroid/content/pm/PermissionGroupInfo;
            astore 14 /* grp */
        36: .line 390
      StackMap locals: android.widget.AppSecurityPermissions$MyPermissionGroupInfo android.content.pm.PermissionGroupInfo
      StackMap stack:
            aload 14 /* grp */
            ifnull 39
        37: .line 391
            new android.widget.AppSecurityPermissions$MyPermissionGroupInfo
            dup
            aload 14 /* grp */
            invokespecial android.widget.AppSecurityPermissions$MyPermissionGroupInfo.<init>:(Landroid/content/pm/PermissionGroupInfo;)V
            astore 13 /* group */
        38: .line 392
            goto 44
        39: .line 397
      StackMap locals:
      StackMap stack:
            aload 8 /* tmpPermInfo */
            aload 8 /* tmpPermInfo */
            getfield android.content.pm.PermissionInfo.packageName:Ljava/lang/String;
            putfield android.content.pm.PermissionInfo.group:Ljava/lang/String;
        40: .line 398
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPermGroups:Ljava/util/Map;
            aload 8 /* tmpPermInfo */
            getfield android.content.pm.PermissionInfo.group:Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.widget.AppSecurityPermissions$MyPermissionGroupInfo
            astore 13 /* group */
        41: .line 399
            aload 13 /* group */
            ifnonnull 43
        42: .line 400
            new android.widget.AppSecurityPermissions$MyPermissionGroupInfo
            dup
            aload 8 /* tmpPermInfo */
            invokespecial android.widget.AppSecurityPermissions$MyPermissionGroupInfo.<init>:(Landroid/content/pm/PermissionInfo;)V
            astore 13 /* group */
        43: .line 402
      StackMap locals:
      StackMap stack:
            new android.widget.AppSecurityPermissions$MyPermissionGroupInfo
            dup
            aload 8 /* tmpPermInfo */
            invokespecial android.widget.AppSecurityPermissions$MyPermissionGroupInfo.<init>:(Landroid/content/pm/PermissionInfo;)V
            astore 13 /* group */
        44: .line 404
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPermGroups:Ljava/util/Map;
            aload 8 /* tmpPermInfo */
            getfield android.content.pm.PermissionInfo.group:Ljava/lang/String;
            aload 13 /* group */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 14 // android.content.pm.PermissionGroupInfo grp
        45: .line 406
      StackMap locals:
      StackMap stack:
            aload 3 /* installedPkgInfo */
            ifnull 48
        46: .line 407
            iload 10 /* existingFlags */
            iconst_2
            iand
            ifne 48
        47: .line 406
            iconst_1
            goto 49
      StackMap locals:
      StackMap stack:
        48: iconst_0
      StackMap locals:
      StackMap stack: int
        49: istore 14 /* newPerm */
        start local 14 // boolean newPerm
        50: .line 408
            new android.widget.AppSecurityPermissions$MyPermissionInfo
            dup
            aload 8 /* tmpPermInfo */
            invokespecial android.widget.AppSecurityPermissions$MyPermissionInfo.<init>:(Landroid/content/pm/PermissionInfo;)V
            astore 15 /* myPerm */
        start local 15 // android.widget.AppSecurityPermissions$MyPermissionInfo myPerm
        51: .line 409
            aload 15 /* myPerm */
            aload 5 /* flagsList */
            iload 6 /* i */
            iaload
            putfield android.widget.AppSecurityPermissions$MyPermissionInfo.mNewReqFlags:I
        52: .line 410
            aload 15 /* myPerm */
            iload 10 /* existingFlags */
            putfield android.widget.AppSecurityPermissions$MyPermissionInfo.mExistingReqFlags:I
        53: .line 413
            aload 15 /* myPerm */
            iload 14 /* newPerm */
            putfield android.widget.AppSecurityPermissions$MyPermissionInfo.mNew:Z
        54: .line 414
            aload 2 /* permSet */
            aload 15 /* myPerm */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 15 // android.widget.AppSecurityPermissions$MyPermissionInfo myPerm
        end local 14 // boolean newPerm
        end local 13 // android.widget.AppSecurityPermissions$MyPermissionGroupInfo group
        end local 12 // java.lang.String groupName
        end local 11 // java.lang.String origGroupName
        end local 10 // int existingFlags
        end local 9 // int existingIndex
        end local 8 // android.content.pm.PermissionInfo tmpPermInfo
        55: .line 415
            goto 58
      StackMap locals: android.widget.AppSecurityPermissions android.content.pm.PackageInfo java.util.Set android.content.pm.PackageInfo java.lang.String[] int[] int java.lang.String
      StackMap stack: android.content.pm.PackageManager$NameNotFoundException
        56: pop
        57: .line 416
            ldc "AppSecurityPermissions"
            new java.lang.StringBuilder
            dup
            ldc "Ignoring unknown permission:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* permName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.i:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        end local 7 // java.lang.String permName
        58: .line 354
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        59: iload 6 /* i */
            aload 4 /* strList */
            arraylength
            if_icmplt 6
        end local 6 // int i
        60: .line 419
            return
        end local 5 // int[] flagsList
        end local 4 // java.lang.String[] strList
        end local 3 // android.content.pm.PackageInfo installedPkgInfo
        end local 2 // java.util.Set permSet
        end local 1 // android.content.pm.PackageInfo info
        end local 0 // android.widget.AppSecurityPermissions this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   61     0              this  Landroid/widget/AppSecurityPermissions;
            0   61     1              info  Landroid/content/pm/PackageInfo;
            0   61     2           permSet  Ljava/util/Set<Landroid/widget/AppSecurityPermissions$MyPermissionInfo;>;
            0   61     3  installedPkgInfo  Landroid/content/pm/PackageInfo;
            1   61     4           strList  [Ljava/lang/String;
            2   61     5         flagsList  [I
            5   60     6                 i  I
            7   58     7          permName  Ljava/lang/String;
            8   55     8       tmpPermInfo  Landroid/content/pm/PermissionInfo;
           11   55     9     existingIndex  I
           14   20    10                 j  I
           24   55    10     existingFlags  I
           27   55    11     origGroupName  Ljava/lang/String;
           28   55    12         groupName  Ljava/lang/String;
           32   55    13             group  Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;
           34   45    14               grp  Landroid/content/pm/PermissionGroupInfo;
           50   55    14           newPerm  Z
           51   55    15            myPerm  Landroid/widget/AppSecurityPermissions$MyPermissionInfo;
      Exception table:
        from    to  target  type
           7     9      56  Class android.content.pm.PackageManager$NameNotFoundException
          10    25      56  Class android.content.pm.PackageManager$NameNotFoundException
          26    55      56  Class android.content.pm.PackageManager$NameNotFoundException
    Signature: (Landroid/content/pm/PackageInfo;Ljava/util/Set<Landroid/widget/AppSecurityPermissions$MyPermissionInfo;>;Landroid/content/pm/PackageInfo;)V
    MethodParameters:
                  Name  Flags
      info              
      permSet           
      installedPkgInfo  

  public int getPermissionCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.widget.AppSecurityPermissions this
         0: .line 422
            aload 0 /* this */
            ldc 65535
            invokevirtual android.widget.AppSecurityPermissions.getPermissionCount:(I)I
            ireturn
        end local 0 // android.widget.AppSecurityPermissions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/AppSecurityPermissions;

  private java.util.List<android.widget.AppSecurityPermissions$MyPermissionInfo> getPermissionList(android.widget.AppSecurityPermissions$MyPermissionGroupInfo, int);
    descriptor: (Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;I)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.widget.AppSecurityPermissions this
        start local 1 // android.widget.AppSecurityPermissions$MyPermissionGroupInfo grp
        start local 2 // int which
         0: .line 426
            iload 2 /* which */
            iconst_4
            if_icmpne 2
         1: .line 427
            aload 1 /* grp */
            getfield android.widget.AppSecurityPermissions$MyPermissionGroupInfo.mNewPermissions:Ljava/util/ArrayList;
            areturn
         2: .line 429
      StackMap locals:
      StackMap stack:
            aload 1 /* grp */
            getfield android.widget.AppSecurityPermissions$MyPermissionGroupInfo.mAllPermissions:Ljava/util/ArrayList;
            areturn
        end local 2 // int which
        end local 1 // android.widget.AppSecurityPermissions$MyPermissionGroupInfo grp
        end local 0 // android.widget.AppSecurityPermissions this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Landroid/widget/AppSecurityPermissions;
            0    3     1    grp  Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;
            0    3     2  which  I
    Signature: (Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;I)Ljava/util/List<Landroid/widget/AppSecurityPermissions$MyPermissionInfo;>;
    MethodParameters:
       Name  Flags
      grp    
      which  

  public int getPermissionCount(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // android.widget.AppSecurityPermissions this
        start local 1 // int which
         0: .line 434
            iconst_0
            istore 2 /* N */
        start local 2 // int N
         1: .line 435
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 436
      StackMap locals: int int
      StackMap stack:
            iload 2 /* N */
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPermGroupsList:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast android.widget.AppSecurityPermissions$MyPermissionGroupInfo
            iload 1 /* which */
            invokevirtual android.widget.AppSecurityPermissions.getPermissionList:(Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;I)Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iadd
            istore 2 /* N */
         4: .line 435
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPermGroupsList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 3
        end local 3 // int i
         6: .line 438
            iload 2 /* N */
            ireturn
        end local 2 // int N
        end local 1 // int which
        end local 0 // android.widget.AppSecurityPermissions this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Landroid/widget/AppSecurityPermissions;
            0    7     1  which  I
            1    7     2      N  I
            2    6     3      i  I
    MethodParameters:
       Name  Flags
      which  

  public android.view.View getPermissionsView();
    descriptor: ()Landroid/view/View;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.widget.AppSecurityPermissions this
         0: .line 442
            aload 0 /* this */
            ldc 65535
            iconst_0
            invokevirtual android.widget.AppSecurityPermissions.getPermissionsView:(IZ)Landroid/view/View;
            areturn
        end local 0 // android.widget.AppSecurityPermissions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/AppSecurityPermissions;

  public android.view.View getPermissionsViewWithRevokeButtons();
    descriptor: ()Landroid/view/View;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.widget.AppSecurityPermissions this
         0: .line 446
            aload 0 /* this */
            ldc 65535
            iconst_1
            invokevirtual android.widget.AppSecurityPermissions.getPermissionsView:(IZ)Landroid/view/View;
            areturn
        end local 0 // android.widget.AppSecurityPermissions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/AppSecurityPermissions;

  public android.view.View getPermissionsView(int);
    descriptor: (I)Landroid/view/View;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.widget.AppSecurityPermissions this
        start local 1 // int which
         0: .line 450
            aload 0 /* this */
            iload 1 /* which */
            iconst_0
            invokevirtual android.widget.AppSecurityPermissions.getPermissionsView:(IZ)Landroid/view/View;
            areturn
        end local 1 // int which
        end local 0 // android.widget.AppSecurityPermissions this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Landroid/widget/AppSecurityPermissions;
            0    1     1  which  I
    MethodParameters:
       Name  Flags
      which  

  private android.view.View getPermissionsView(int, boolean);
    descriptor: (IZ)Landroid/view/View;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.widget.AppSecurityPermissions this
         0: .line 454
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.widget.AppSecurityPermissions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/AppSecurityPermissions;
    MethodParameters:
              Name  Flags
      which         
      showRevokeUI  

  private void displayPermissions(java.util.List<android.widget.AppSecurityPermissions$MyPermissionGroupInfo>, android.widget.LinearLayout, int, );
    descriptor: (Ljava/util/List;Landroid/widget/LinearLayout;IZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=13, args_size=5
        start local 0 // android.widget.AppSecurityPermissions this
        start local 1 // java.util.List groups
        start local 2 // android.widget.LinearLayout permListView
        start local 3 // int which
        start local 4 // boolean showRevokeUI
         0: .line 472
            aload 2 /* permListView */
            invokevirtual android.widget.LinearLayout.removeAllViews:()V
         1: .line 474
            ldc 8.0
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mContext:Landroid/content/Context;
            invokevirtual android.content.Context.getResources:()Landroid/content/res/Resources;
            invokevirtual android.content.res.Resources.getDisplayMetrics:()Landroid/util/DisplayMetrics;
            getfield android.util.DisplayMetrics.density:F
            fmul
            f2i
            istore 5 /* spacing */
        start local 5 // int spacing
         2: .line 476
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 29
         4: .line 477
      StackMap locals: int int
      StackMap stack:
            aload 1 /* groups */
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast android.widget.AppSecurityPermissions$MyPermissionGroupInfo
            astore 7 /* grp */
        start local 7 // android.widget.AppSecurityPermissions$MyPermissionGroupInfo grp
         5: .line 478
            aload 0 /* this */
            aload 7 /* grp */
            iload 3 /* which */
            invokevirtual android.widget.AppSecurityPermissions.getPermissionList:(Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;I)Ljava/util/List;
            astore 8 /* perms */
        start local 8 // java.util.List perms
         6: .line 479
            iconst_0
            istore 9 /* j */
        start local 9 // int j
         7: goto 27
         8: .line 480
      StackMap locals: android.widget.AppSecurityPermissions$MyPermissionGroupInfo java.util.List int
      StackMap stack:
            aload 8 /* perms */
            iload 9 /* j */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast android.widget.AppSecurityPermissions$MyPermissionInfo
            astore 10 /* perm */
        start local 10 // android.widget.AppSecurityPermissions$MyPermissionInfo perm
         9: .line 481
            aload 0 /* this */
            aload 7 /* grp */
            aload 10 /* perm */
            iload 9 /* j */
            ifne 10
            iconst_1
            goto 11
      StackMap locals: android.widget.AppSecurityPermissions java.util.List android.widget.LinearLayout int int int int android.widget.AppSecurityPermissions$MyPermissionGroupInfo java.util.List int android.widget.AppSecurityPermissions$MyPermissionInfo
      StackMap stack: android.widget.AppSecurityPermissions android.widget.AppSecurityPermissions$MyPermissionGroupInfo android.widget.AppSecurityPermissions$MyPermissionInfo
        10: iconst_0
        11: .line 482
      StackMap locals: android.widget.AppSecurityPermissions java.util.List android.widget.LinearLayout int int int int android.widget.AppSecurityPermissions$MyPermissionGroupInfo java.util.List int android.widget.AppSecurityPermissions$MyPermissionInfo
      StackMap stack: android.widget.AppSecurityPermissions android.widget.AppSecurityPermissions$MyPermissionGroupInfo android.widget.AppSecurityPermissions$MyPermissionInfo int
            iload 3 /* which */
            iconst_4
            if_icmpeq 12
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mNewPermPrefix:Ljava/lang/CharSequence;
            goto 13
      StackMap locals: android.widget.AppSecurityPermissions java.util.List android.widget.LinearLayout int int int int android.widget.AppSecurityPermissions$MyPermissionGroupInfo java.util.List int android.widget.AppSecurityPermissions$MyPermissionInfo
      StackMap stack: android.widget.AppSecurityPermissions android.widget.AppSecurityPermissions$MyPermissionGroupInfo android.widget.AppSecurityPermissions$MyPermissionInfo int
        12: aconst_null
      StackMap locals: android.widget.AppSecurityPermissions java.util.List android.widget.LinearLayout int int int int android.widget.AppSecurityPermissions$MyPermissionGroupInfo java.util.List int android.widget.AppSecurityPermissions$MyPermissionInfo
      StackMap stack: android.widget.AppSecurityPermissions android.widget.AppSecurityPermissions$MyPermissionGroupInfo android.widget.AppSecurityPermissions$MyPermissionInfo int java.lang.CharSequence
        13: iload 4 /* showRevokeUI */
        14: .line 481
            invokevirtual android.widget.AppSecurityPermissions.getPermissionItemView:(Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;Landroid/widget/AppSecurityPermissions$MyPermissionInfo;ZLjava/lang/CharSequence;Z)Landroid/widget/AppSecurityPermissions$PermissionItemView;
            astore 11 /* view */
        start local 11 // android.view.View view
        15: .line 483
            new android.widget.LinearLayout$LayoutParams
            dup
        16: .line 484
            iconst_m1
        17: .line 485
            bipush -2
        18: .line 483
            invokespecial android.widget.LinearLayout$LayoutParams.<init>:(II)V
            astore 12 /* lp */
        start local 12 // android.widget.LinearLayout$LayoutParams lp
        19: .line 486
            iload 9 /* j */
            ifne 21
        20: .line 487
            aload 12 /* lp */
            iload 5 /* spacing */
            putfield android.widget.LinearLayout$LayoutParams.topMargin:I
        21: .line 489
      StackMap locals: android.view.View android.widget.LinearLayout$LayoutParams
      StackMap stack:
            iload 9 /* j */
            aload 7 /* grp */
            getfield android.widget.AppSecurityPermissions$MyPermissionGroupInfo.mAllPermissions:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            if_icmpne 23
        22: .line 490
            aload 12 /* lp */
            iload 5 /* spacing */
            putfield android.widget.LinearLayout$LayoutParams.bottomMargin:I
        23: .line 492
      StackMap locals:
      StackMap stack:
            aload 2 /* permListView */
            invokevirtual android.widget.LinearLayout.getChildCount:()I
            ifne 25
        24: .line 493
            aload 12 /* lp */
            dup
            getfield android.widget.LinearLayout$LayoutParams.topMargin:I
            iconst_2
            imul
            putfield android.widget.LinearLayout$LayoutParams.topMargin:I
        25: .line 495
      StackMap locals:
      StackMap stack:
            aload 2 /* permListView */
            aload 11 /* view */
            aload 12 /* lp */
            invokevirtual android.widget.LinearLayout.addView:(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
        end local 12 // android.widget.LinearLayout$LayoutParams lp
        end local 11 // android.view.View view
        end local 10 // android.widget.AppSecurityPermissions$MyPermissionInfo perm
        26: .line 479
            iinc 9 /* j */ 1
      StackMap locals:
      StackMap stack:
        27: iload 9 /* j */
            aload 8 /* perms */
            invokeinterface java.util.List.size:()I
            if_icmplt 8
        end local 9 // int j
        end local 8 // java.util.List perms
        end local 7 // android.widget.AppSecurityPermissions$MyPermissionGroupInfo grp
        28: .line 476
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 6 /* i */
            aload 1 /* groups */
            invokeinterface java.util.List.size:()I
            if_icmplt 4
        end local 6 // int i
        30: .line 498
            return
        end local 5 // int spacing
        end local 4 // boolean showRevokeUI
        end local 3 // int which
        end local 2 // android.widget.LinearLayout permListView
        end local 1 // java.util.List groups
        end local 0 // android.widget.AppSecurityPermissions this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   31     0          this  Landroid/widget/AppSecurityPermissions;
            0   31     1        groups  Ljava/util/List<Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;>;
            0   31     2  permListView  Landroid/widget/LinearLayout;
            0   31     3         which  I
            0   31     4  showRevokeUI  Z
            2   31     5       spacing  I
            3   30     6             i  I
            5   28     7           grp  Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;
            6   28     8         perms  Ljava/util/List<Landroid/widget/AppSecurityPermissions$MyPermissionInfo;>;
            7   28     9             j  I
            9   26    10          perm  Landroid/widget/AppSecurityPermissions$MyPermissionInfo;
           15   26    11          view  Landroid/view/View;
           19   26    12            lp  Landroid/widget/LinearLayout$LayoutParams;
    Signature: (Ljava/util/List<Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;>;Landroid/widget/LinearLayout;IZ)V
    MethodParameters:
              Name  Flags
      groups        
      permListView  
      which         
      showRevokeUI  

  private android.widget.AppSecurityPermissions$PermissionItemView getPermissionItemView(android.widget.AppSecurityPermissions$MyPermissionGroupInfo, android.widget.AppSecurityPermissions$MyPermissionInfo, boolean, java.lang.CharSequence, boolean);
    descriptor: (Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;Landroid/widget/AppSecurityPermissions$MyPermissionInfo;ZLjava/lang/CharSequence;Z)Landroid/widget/AppSecurityPermissions$PermissionItemView;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=6
        start local 0 // android.widget.AppSecurityPermissions this
        start local 1 // android.widget.AppSecurityPermissions$MyPermissionGroupInfo grp
        start local 2 // android.widget.AppSecurityPermissions$MyPermissionInfo perm
        start local 3 // boolean first
        start local 4 // java.lang.CharSequence newPermPrefix
        start local 5 // boolean showRevokeUI
         0: .line 502
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mContext:Landroid/content/Context;
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mInflater:Landroid/view/LayoutInflater;
            aload 1 /* grp */
            aload 2 /* perm */
            iload 3 /* first */
            aload 4 /* newPermPrefix */
         1: .line 503
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPackageName:Ljava/lang/String;
            iload 5 /* showRevokeUI */
         2: .line 502
            invokestatic android.widget.AppSecurityPermissions.getPermissionItemView:(Landroid/content/Context;Landroid/view/LayoutInflater;Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;Landroid/widget/AppSecurityPermissions$MyPermissionInfo;ZLjava/lang/CharSequence;Ljava/lang/String;Z)Landroid/widget/AppSecurityPermissions$PermissionItemView;
            areturn
        end local 5 // boolean showRevokeUI
        end local 4 // java.lang.CharSequence newPermPrefix
        end local 3 // boolean first
        end local 2 // android.widget.AppSecurityPermissions$MyPermissionInfo perm
        end local 1 // android.widget.AppSecurityPermissions$MyPermissionGroupInfo grp
        end local 0 // android.widget.AppSecurityPermissions this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Landroid/widget/AppSecurityPermissions;
            0    3     1            grp  Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;
            0    3     2           perm  Landroid/widget/AppSecurityPermissions$MyPermissionInfo;
            0    3     3          first  Z
            0    3     4  newPermPrefix  Ljava/lang/CharSequence;
            0    3     5   showRevokeUI  Z
    MethodParameters:
               Name  Flags
      grp            
      perm           
      first          
      newPermPrefix  
      showRevokeUI   

  private static android.widget.AppSecurityPermissions$PermissionItemView getPermissionItemView(android.content.Context, android.view.LayoutInflater, android.widget.AppSecurityPermissions$MyPermissionGroupInfo, android.widget.AppSecurityPermissions$MyPermissionInfo, boolean, java.lang.CharSequence, java.lang.String, boolean);
    descriptor: (Landroid/content/Context;Landroid/view/LayoutInflater;Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;Landroid/widget/AppSecurityPermissions$MyPermissionInfo;ZLjava/lang/CharSequence;Ljava/lang/String;Z)Landroid/widget/AppSecurityPermissions$PermissionItemView;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=8
         0: .line 511
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
               Name  Flags
      context        
      inflater       
      grp            
      perm           
      first          
      newPermPrefix  
      packageName    
      showRevokeUI   

  private static android.view.View getPermissionItemViewOld(android.content.Context, android.view.LayoutInflater, java.lang.CharSequence, java.lang.CharSequence, boolean, android.graphics.drawable.Drawable);
    descriptor: (Landroid/content/Context;Landroid/view/LayoutInflater;Ljava/lang/CharSequence;Ljava/lang/CharSequence;ZLandroid/graphics/drawable/Drawable;)Landroid/view/View;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=6
         0: .line 519
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
           Name  Flags
      context    
      inflater   
      grpName    
      permList   
      dangerous  
      icon       

  private boolean isDisplayablePermission(android.content.pm.PermissionInfo, int, int);
    descriptor: (Landroid/content/pm/PermissionInfo;II)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=11, args_size=4
        start local 0 // android.widget.AppSecurityPermissions this
        start local 1 // android.content.pm.PermissionInfo pInfo
        start local 2 // int newReqFlags
        start local 3 // int existingReqFlags
         0: .line 538
            aload 1 /* pInfo */
            getfield android.content.pm.PermissionInfo.protectionLevel:I
            bipush 15
            iand
            istore 4 /* base */
        start local 4 // int base
         1: .line 539
            iload 4 /* base */
            ifne 2
            iconst_1
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 5 /* isNormal */
        start local 5 // boolean isNormal
         4: .line 542
            iload 5 /* isNormal */
            ifeq 6
         5: .line 543
            iconst_0
            ireturn
         6: .line 546
      StackMap locals: int
      StackMap stack:
            iload 4 /* base */
            iconst_1
            if_icmpeq 9
         7: .line 547
            aload 1 /* pInfo */
            getfield android.content.pm.PermissionInfo.protectionLevel:I
            sipush 128
            iand
            ifne 9
         8: .line 546
            iconst_0
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_1
      StackMap locals:
      StackMap stack: int
        10: istore 6 /* isDangerous */
        start local 6 // boolean isDangerous
        11: .line 549
            iload 2 /* newReqFlags */
            iconst_1
            iand
            ifeq 12
            iconst_1
            goto 13
      StackMap locals: int
      StackMap stack:
        12: iconst_0
        13: .line 548
      StackMap locals:
      StackMap stack: int
            istore 7 /* isRequired */
        start local 7 // boolean isRequired
        14: .line 551
            aload 1 /* pInfo */
            getfield android.content.pm.PermissionInfo.protectionLevel:I
            bipush 32
            iand
            ifeq 15
            iconst_1
            goto 16
      StackMap locals: int
      StackMap stack:
        15: iconst_0
        16: .line 550
      StackMap locals:
      StackMap stack: int
            istore 8 /* isDevelopment */
        start local 8 // boolean isDevelopment
        17: .line 553
            iload 3 /* existingReqFlags */
            iconst_2
            iand
            ifeq 18
            iconst_1
            goto 19
      StackMap locals: int
      StackMap stack:
        18: iconst_0
        19: .line 552
      StackMap locals:
      StackMap stack: int
            istore 9 /* wasGranted */
        start local 9 // boolean wasGranted
        20: .line 555
            iload 2 /* newReqFlags */
            iconst_2
            iand
            ifeq 21
            iconst_1
            goto 22
      StackMap locals: int
      StackMap stack:
        21: iconst_0
        22: .line 554
      StackMap locals:
      StackMap stack: int
            istore 10 /* isGranted */
        start local 10 // boolean isGranted
        23: .line 559
            iload 6 /* isDangerous */
            ifeq 25
            iload 7 /* isRequired */
            ifne 24
            iload 9 /* wasGranted */
            ifne 24
            iload 10 /* isGranted */
            ifeq 25
        24: .line 560
      StackMap locals: int
      StackMap stack:
            iconst_1
            ireturn
        25: .line 566
      StackMap locals:
      StackMap stack:
            iload 8 /* isDevelopment */
            ifeq 27
            iload 9 /* wasGranted */
            ifeq 27
        26: .line 569
            iconst_1
            ireturn
        27: .line 571
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 10 // boolean isGranted
        end local 9 // boolean wasGranted
        end local 8 // boolean isDevelopment
        end local 7 // boolean isRequired
        end local 6 // boolean isDangerous
        end local 5 // boolean isNormal
        end local 4 // int base
        end local 3 // int existingReqFlags
        end local 2 // int newReqFlags
        end local 1 // android.content.pm.PermissionInfo pInfo
        end local 0 // android.widget.AppSecurityPermissions this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   28     0              this  Landroid/widget/AppSecurityPermissions;
            0   28     1             pInfo  Landroid/content/pm/PermissionInfo;
            0   28     2       newReqFlags  I
            0   28     3  existingReqFlags  I
            1   28     4              base  I
            4   28     5          isNormal  Z
           11   28     6       isDangerous  Z
           14   28     7        isRequired  Z
           17   28     8     isDevelopment  Z
           20   28     9        wasGranted  Z
           23   28    10         isGranted  Z
    MethodParameters:
                  Name  Flags
      pInfo             
      newReqFlags       
      existingReqFlags  

  private void addPermToList(java.util.List<android.widget.AppSecurityPermissions$MyPermissionInfo>, android.widget.AppSecurityPermissions$MyPermissionInfo);
    descriptor: (Ljava/util/List;Landroid/widget/AppSecurityPermissions$MyPermissionInfo;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // android.widget.AppSecurityPermissions this
        start local 1 // java.util.List permList
        start local 2 // android.widget.AppSecurityPermissions$MyPermissionInfo pInfo
         0: .line 593
            aload 2 /* pInfo */
            getfield android.widget.AppSecurityPermissions$MyPermissionInfo.mLabel:Ljava/lang/CharSequence;
            ifnonnull 2
         1: .line 594
            aload 2 /* pInfo */
            aload 2 /* pInfo */
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPm:Landroid/content/pm/PackageManager;
            ldc 20000.0
            iconst_5
            invokevirtual android.widget.AppSecurityPermissions$MyPermissionInfo.loadSafeLabel:(Landroid/content/pm/PackageManager;FI)Ljava/lang/CharSequence;
            putfield android.widget.AppSecurityPermissions$MyPermissionInfo.mLabel:Ljava/lang/CharSequence;
         2: .line 597
      StackMap locals:
      StackMap stack:
            aload 1 /* permList */
            aload 2 /* pInfo */
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPermComparator:Landroid/widget/AppSecurityPermissions$PermissionInfoComparator;
            invokestatic java.util.Collections.binarySearch:(Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;)I
            istore 3 /* idx */
        start local 3 // int idx
         3: .line 599
            iload 3 /* idx */
            ifge 6
         4: .line 600
            iload 3 /* idx */
            ineg
            iconst_1
            isub
            istore 3 /* idx */
         5: .line 601
            aload 1 /* permList */
            iload 3 /* idx */
            aload 2 /* pInfo */
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
         6: .line 603
      StackMap locals: int
      StackMap stack:
            return
        end local 3 // int idx
        end local 2 // android.widget.AppSecurityPermissions$MyPermissionInfo pInfo
        end local 1 // java.util.List permList
        end local 0 // android.widget.AppSecurityPermissions this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Landroid/widget/AppSecurityPermissions;
            0    7     1  permList  Ljava/util/List<Landroid/widget/AppSecurityPermissions$MyPermissionInfo;>;
            0    7     2     pInfo  Landroid/widget/AppSecurityPermissions$MyPermissionInfo;
            3    7     3       idx  I
    Signature: (Ljava/util/List<Landroid/widget/AppSecurityPermissions$MyPermissionInfo;>;Landroid/widget/AppSecurityPermissions$MyPermissionInfo;)V
    MethodParameters:
          Name  Flags
      permList  
      pInfo     

  private void setPermissions(java.util.List<android.widget.AppSecurityPermissions$MyPermissionInfo>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // android.widget.AppSecurityPermissions this
        start local 1 // java.util.List permList
         0: .line 606
            aload 1 /* permList */
            ifnull 14
         1: .line 608
            aload 1 /* permList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 13
      StackMap locals: android.widget.AppSecurityPermissions java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.widget.AppSecurityPermissions$MyPermissionInfo
            astore 2 /* pInfo */
        start local 2 // android.widget.AppSecurityPermissions$MyPermissionInfo pInfo
         3: .line 610
            aload 0 /* this */
            aload 2 /* pInfo */
            aload 2 /* pInfo */
            getfield android.widget.AppSecurityPermissions$MyPermissionInfo.mNewReqFlags:I
            aload 2 /* pInfo */
            getfield android.widget.AppSecurityPermissions$MyPermissionInfo.mExistingReqFlags:I
            invokevirtual android.widget.AppSecurityPermissions.isDisplayablePermission:(Landroid/content/pm/PermissionInfo;II)Z
            ifne 5
         4: .line 612
            goto 13
         5: .line 614
      StackMap locals: android.widget.AppSecurityPermissions java.util.List android.widget.AppSecurityPermissions$MyPermissionInfo java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPermGroups:Ljava/util/Map;
            aload 2 /* pInfo */
            getfield android.widget.AppSecurityPermissions$MyPermissionInfo.group:Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.widget.AppSecurityPermissions$MyPermissionGroupInfo
            astore 4 /* group */
        start local 4 // android.widget.AppSecurityPermissions$MyPermissionGroupInfo group
         6: .line 615
            aload 4 /* group */
            ifnull 13
         7: .line 616
            aload 2 /* pInfo */
            aload 2 /* pInfo */
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPm:Landroid/content/pm/PackageManager;
            ldc 20000.0
         8: .line 617
            iconst_5
         9: .line 616
            invokevirtual android.widget.AppSecurityPermissions$MyPermissionInfo.loadSafeLabel:(Landroid/content/pm/PackageManager;FI)Ljava/lang/CharSequence;
            putfield android.widget.AppSecurityPermissions$MyPermissionInfo.mLabel:Ljava/lang/CharSequence;
        10: .line 619
            aload 0 /* this */
            aload 4 /* group */
            getfield android.widget.AppSecurityPermissions$MyPermissionGroupInfo.mAllPermissions:Ljava/util/ArrayList;
            aload 2 /* pInfo */
            invokevirtual android.widget.AppSecurityPermissions.addPermToList:(Ljava/util/List;Landroid/widget/AppSecurityPermissions$MyPermissionInfo;)V
        11: .line 620
            aload 2 /* pInfo */
            getfield android.widget.AppSecurityPermissions$MyPermissionInfo.mNew:Z
            ifeq 13
        12: .line 621
            aload 0 /* this */
            aload 4 /* group */
            getfield android.widget.AppSecurityPermissions$MyPermissionGroupInfo.mNewPermissions:Ljava/util/ArrayList;
            aload 2 /* pInfo */
            invokevirtual android.widget.AppSecurityPermissions.addPermToList:(Ljava/util/List;Landroid/widget/AppSecurityPermissions$MyPermissionInfo;)V
        end local 4 // android.widget.AppSecurityPermissions$MyPermissionGroupInfo group
        end local 2 // android.widget.AppSecurityPermissions$MyPermissionInfo pInfo
        13: .line 608
      StackMap locals: android.widget.AppSecurityPermissions java.util.List top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        14: .line 627
      StackMap locals: android.widget.AppSecurityPermissions java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPermGroups:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 27
      StackMap locals: android.widget.AppSecurityPermissions java.util.List top java.util.Iterator
      StackMap stack:
        15: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.widget.AppSecurityPermissions$MyPermissionGroupInfo
            astore 2 /* pgrp */
        start local 2 // android.widget.AppSecurityPermissions$MyPermissionGroupInfo pgrp
        16: .line 628
            aload 2 /* pgrp */
            getfield android.widget.AppSecurityPermissions$MyPermissionGroupInfo.labelRes:I
            ifne 17
            aload 2 /* pgrp */
            getfield android.widget.AppSecurityPermissions$MyPermissionGroupInfo.nonLocalizedLabel:Ljava/lang/CharSequence;
            ifnull 19
        17: .line 629
      StackMap locals: android.widget.AppSecurityPermissions java.util.List android.widget.AppSecurityPermissions$MyPermissionGroupInfo java.util.Iterator
      StackMap stack:
            aload 2 /* pgrp */
            aload 2 /* pgrp */
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPm:Landroid/content/pm/PackageManager;
            ldc 20000.0
            iconst_5
            invokevirtual android.widget.AppSecurityPermissions$MyPermissionGroupInfo.loadSafeLabel:(Landroid/content/pm/PackageManager;FI)Ljava/lang/CharSequence;
            putfield android.widget.AppSecurityPermissions$MyPermissionGroupInfo.mLabel:Ljava/lang/CharSequence;
        18: .line 631
            goto 26
        19: .line 634
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPm:Landroid/content/pm/PackageManager;
            aload 2 /* pgrp */
            getfield android.widget.AppSecurityPermissions$MyPermissionGroupInfo.packageName:Ljava/lang/String;
            iconst_0
            invokevirtual android.content.pm.PackageManager.getApplicationInfo:(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
            astore 4 /* app */
        start local 4 // android.content.pm.ApplicationInfo app
        20: .line 635
            aload 2 /* pgrp */
            aload 4 /* app */
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPm:Landroid/content/pm/PackageManager;
            ldc 20000.0
            iconst_5
            invokevirtual android.content.pm.ApplicationInfo.loadSafeLabel:(Landroid/content/pm/PackageManager;FI)Ljava/lang/CharSequence;
            putfield android.widget.AppSecurityPermissions$MyPermissionGroupInfo.mLabel:Ljava/lang/CharSequence;
        21: .line 637
            goto 26
        end local 4 // android.content.pm.ApplicationInfo app
      StackMap locals:
      StackMap stack: android.content.pm.PackageManager$NameNotFoundException
        22: pop
        23: .line 638
            aload 2 /* pgrp */
            aload 2 /* pgrp */
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPm:Landroid/content/pm/PackageManager;
            ldc 20000.0
        24: .line 639
            iconst_5
        25: .line 638
            invokevirtual android.widget.AppSecurityPermissions$MyPermissionGroupInfo.loadSafeLabel:(Landroid/content/pm/PackageManager;FI)Ljava/lang/CharSequence;
            putfield android.widget.AppSecurityPermissions$MyPermissionGroupInfo.mLabel:Ljava/lang/CharSequence;
        26: .line 643
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPermGroupsList:Ljava/util/List;
            aload 2 /* pgrp */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // android.widget.AppSecurityPermissions$MyPermissionGroupInfo pgrp
        27: .line 627
      StackMap locals: android.widget.AppSecurityPermissions java.util.List top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        28: .line 645
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPermGroupsList:Ljava/util/List;
            aload 0 /* this */
            getfield android.widget.AppSecurityPermissions.mPermGroupComparator:Landroid/widget/AppSecurityPermissions$PermissionGroupInfoComparator;
            invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
        29: .line 646
            return
        end local 1 // java.util.List permList
        end local 0 // android.widget.AppSecurityPermissions this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   30     0      this  Landroid/widget/AppSecurityPermissions;
            0   30     1  permList  Ljava/util/List<Landroid/widget/AppSecurityPermissions$MyPermissionInfo;>;
            3   13     2     pInfo  Landroid/widget/AppSecurityPermissions$MyPermissionInfo;
            6   13     4     group  Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;
           16   27     2      pgrp  Landroid/widget/AppSecurityPermissions$MyPermissionGroupInfo;
           20   22     4       app  Landroid/content/pm/ApplicationInfo;
      Exception table:
        from    to  target  type
          19    21      22  Class android.content.pm.PackageManager$NameNotFoundException
    Signature: (Ljava/util/List<Landroid/widget/AppSecurityPermissions$MyPermissionInfo;>;)V
    MethodParameters:
          Name  Flags
      permList  
}
SourceFile: "AppSecurityPermissions.java"
NestMembers:
  android.widget.AppSecurityPermissions$MyPermissionGroupInfo  android.widget.AppSecurityPermissions$MyPermissionInfo  android.widget.AppSecurityPermissions$PermissionGroupInfoComparator  android.widget.AppSecurityPermissions$PermissionInfoComparator  android.widget.AppSecurityPermissions$PermissionItemView  android.widget.AppSecurityPermissions$PermissionItemView$1
InnerClasses:
  public NameNotFoundException = android.content.pm.PackageManager$NameNotFoundException of android.content.pm.PackageManager
  public LayoutParams = android.view.ViewGroup$LayoutParams of android.view.ViewGroup
  MyPermissionGroupInfo = android.widget.AppSecurityPermissions$MyPermissionGroupInfo of android.widget.AppSecurityPermissions
  private MyPermissionInfo = android.widget.AppSecurityPermissions$MyPermissionInfo of android.widget.AppSecurityPermissions
  private PermissionGroupInfoComparator = android.widget.AppSecurityPermissions$PermissionGroupInfoComparator of android.widget.AppSecurityPermissions
  private PermissionInfoComparator = android.widget.AppSecurityPermissions$PermissionInfoComparator of android.widget.AppSecurityPermissions
  public PermissionItemView = android.widget.AppSecurityPermissions$PermissionItemView of android.widget.AppSecurityPermissions
  public LayoutParams = android.widget.LinearLayout$LayoutParams of android.widget.LinearLayout