Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d5aeed9f authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Temporary fix for PermissionInfo.FLAG_INSTALLED returned in PackageInfo."

parents 39192c4e 9de217a8
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -198,6 +198,11 @@ public final class BasePermission {
                == PermissionInfo.PROTECTION_DANGEROUS;
    }

    public boolean isInstalled() {
        return mPermissionInfo != null
                && (mPermissionInfo.flags & PermissionInfo.FLAG_INSTALLED) != 0;
    }

    public boolean isRemoved() {
        return mPermissionInfo != null
                && (mPermissionInfo.flags & PermissionInfo.FLAG_REMOVED) != 0;
+6 −2
Original line number Diff line number Diff line
@@ -2352,19 +2352,23 @@ public class PermissionManagerService extends IPermissionManager.Stub {

                final PermissionInfo permissionInfo = PackageInfoUtils.generatePermissionInfo(p,
                        PackageManager.GET_META_DATA);
                final BasePermission bp;
                if (p.isTree()) {
                    final BasePermission bp = BasePermission.createOrUpdate(
                    bp = BasePermission.createOrUpdate(
                            mPackageManagerInt,
                            mSettings.getPermissionTreeLocked(p.getName()), permissionInfo, pkg,
                            mSettings.getAllPermissionTreesLocked(), chatty);
                    mSettings.putPermissionTreeLocked(p.getName(), bp);
                } else {
                    final BasePermission bp = BasePermission.createOrUpdate(
                    bp = BasePermission.createOrUpdate(
                            mPackageManagerInt,
                            mSettings.getPermissionLocked(p.getName()),
                            permissionInfo, pkg, mSettings.getAllPermissionTreesLocked(), chatty);
                    mSettings.putPermissionLocked(p.getName(), bp);
                }
                if (bp.isInstalled()) {
                    p.setFlags(p.getFlags() | PermissionInfo.FLAG_INSTALLED);
                }
            }
        }
    }