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

Commit c083cb71 authored by Christopher Tate's avatar Christopher Tate Committed by Android Git Automerger
Browse files

am 5de04119: am 0f8ec44b: Merge "Prune shared users that the system declares...

am 5de04119: am 0f8ec44b: Merge "Prune shared users that the system declares but does not use" into klp-dev

* commit '5de04119':
  Prune shared users that the system declares but does not use
parents c8b9ea3d 5de04119
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1349,6 +1349,9 @@ public class PackageManagerService extends IPackageManager.Stub {
            //delete tmp files
            deleteTempPackageFiles();

            // Remove any shared userIDs that have no associated packages
            mSettings.pruneSharedUsersLPw();

            if (!mOnlyCore) {
                EventLog.writeEvent(EventLogTags.BOOT_PROGRESS_PMS_DATA_SCAN_START,
                        SystemClock.uptimeMillis());
+13 −0
Original line number Diff line number Diff line
@@ -351,6 +351,19 @@ final class Settings {
        return null;
    }

    void pruneSharedUsersLPw() {
        ArrayList<String> removeStage = new ArrayList<String>();
        for (Map.Entry<String,SharedUserSetting> entry : mSharedUsers.entrySet()) {
            final SharedUserSetting sus = entry.getValue();
            if (sus == null || sus.packages.size() == 0) {
                removeStage.add(entry.getKey());
            }
        }
        for (int i = 0; i < removeStage.size(); i++) {
            mSharedUsers.remove(removeStage.get(i));
        }
    }

    // Transfer ownership of permissions from one package to another.
    void transferPermissionsLPw(String origPkg, String newPkg) {
        // Transfer ownership of permissions to the new package.