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

Commit e02da8f2 authored by Felipe Leme's avatar Felipe Leme Committed by Android (Google) Code Review
Browse files

Merge "Refactored PackageManager.onNewUserCreated() to handle user pre-creation logic."

parents 9424749d f5905554
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -23643,8 +23643,20 @@ public class PackageManagerService extends IPackageManager.Stub
        }
    }
    void onNewUserCreated(final int userId) {
    void onNewUserCreated(@UserIdInt int userId, boolean convertedFromPreCreated) {
        if (DEBUG_PERMISSIONS) {
            Slog.d(TAG, "onNewUserCreated(id=" + userId
                    + ", convertedFromPreCreated=" + convertedFromPreCreated + ")");
        }
        if (!convertedFromPreCreated) {
            mPermissionManager.onNewUserCreated(userId);
            return;
        }
        if (!readPermissionStateForUser(userId)) {
            // Could not read the existing permissions, re-grant them.
            Slog.i(TAG, "re-granting permissions for pre-created user " + userId);
            mPermissionManager.onNewUserCreated(userId);
        }
    }
    boolean readPermissionStateForUser(@UserIdInt int userId) {
+2 −5
Original line number Diff line number Diff line
@@ -3497,7 +3497,7 @@ public class UserManagerService extends IUserManager.Stub {
            }

            t.traceBegin("PM.onNewUserCreated-" + userId);
            mPm.onNewUserCreated(userId);
            mPm.onNewUserCreated(userId, /* convertedFromPreCreated= */ false);
            t.traceEnd();
            if (preCreate) {
                // Must start user (which will be stopped right away, through
@@ -3570,10 +3570,7 @@ public class UserManagerService extends IUserManager.Stub {
            writeUserListLP();
        }
        updateUserIds();
        if (!mPm.readPermissionStateForUser(preCreatedUser.id)) {
            // Could not read the existing permissions, re-grant them.
            mPm.onNewUserCreated(preCreatedUser.id);
        }
        mPm.onNewUserCreated(preCreatedUser.id, /* convertedFromPreCreated= */ true);
        dispatchUserAdded(preCreatedUser);
        return preCreatedUser;
    }