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

Commit 1fc759a3 authored by Automerger Merge Worker's avatar Automerger Merge Worker Committed by Android (Google) Code Review
Browse files

Merge "Merge "Enforce owner rights check to get/setMimeGroup" into sc-dev am:...

Merge "Merge "Enforce owner rights check to get/setMimeGroup" into sc-dev am: fe786600 am: cb222108"
parents e3601fc3 29acf42b
Loading
Loading
Loading
Loading
+19 −9
Original line number Diff line number Diff line
@@ -23184,16 +23184,17 @@ public class PackageManagerService extends IPackageManager.Stub
        if (UserHandle.getAppId(callingUid) == Process.SYSTEM_UID) {
            return;
        }
        final String[] callerPackageNames = getPackagesForUid(callingUid);
        if (!ArrayUtils.contains(callerPackageNames, pkg)) {
            throw new SecurityException("Calling uid " + callingUid
                    + " does not own package " + pkg);
        }
        final int callingUserId = UserHandle.getUserId(callingUid);
        PackageInfo pi = getPackageInfo(pkg, 0, callingUserId);
        if (pi == null) {
            throw new IllegalArgumentException("Unknown package " + pkg + " on user "
                    + callingUserId);
        }
        if (!UserHandle.isSameApp(pi.applicationInfo.uid, callingUid)) {
            throw new SecurityException("Calling uid " + callingUid
                    + " does not own package " + pkg);
        }
    }
    @Override
@@ -27943,7 +27944,7 @@ public class PackageManagerService extends IPackageManager.Stub
        @Override
        public List<String> getMimeGroup(String packageName, String mimeGroup) {
            return PackageManagerService.this.getMimeGroup(packageName, mimeGroup);
            return PackageManagerService.this.getMimeGroupInternal(packageName, mimeGroup);
        }
        @Override
@@ -28569,9 +28570,11 @@ public class PackageManagerService extends IPackageManager.Stub
    @Override
    public void setMimeGroup(String packageName, String mimeGroup, List<String> mimeTypes) {
        boolean changed = mSettings.getPackageLPr(packageName)
                .setMimeGroup(mimeGroup, mimeTypes);
        enforceOwnerRights(packageName, Binder.getCallingUid());
        final boolean changed;
        synchronized (mLock) {
            changed = mSettings.getPackageLPr(packageName).setMimeGroup(mimeGroup, mimeTypes);
        }
        if (changed) {
            applyMimeGroupChanges(packageName, mimeGroup);
        }
@@ -28579,8 +28582,15 @@ public class PackageManagerService extends IPackageManager.Stub
    @Override
    public List<String> getMimeGroup(String packageName, String mimeGroup) {
        enforceOwnerRights(packageName, Binder.getCallingUid());
        return getMimeGroupInternal(packageName, mimeGroup);
    }
    private List<String> getMimeGroupInternal(String packageName, String mimeGroup) {
        synchronized (mLock) {
            return mSettings.getPackageLPr(packageName).getMimeGroup(mimeGroup);
        }
    }
    @Override
    public void setSplashScreenTheme(@NonNull String packageName, @Nullable String themeId,