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

Commit cbc63c2b authored by Alain Vongsouvanh's avatar Alain Vongsouvanh Committed by Automerger Merge Worker
Browse files

Merge "LockSettingsService: clear gatekeeper state when removing user" into tm-dev am: 0681492c

parents 2965f6bc 0681492c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2473,7 +2473,7 @@ public class LockSettingsService extends ILockSettings.Stub {
    private void removeUser(int userId, boolean unknownUser) {
        Slog.i(TAG, "RemoveUser: " + userId);
        removeBiometricsForUser(userId);
        mSpManager.removeUser(userId);
        mSpManager.removeUser(getGateKeeperService(), userId);
        mStrongAuth.removeUser(userId);

        AndroidKeyStoreMaintenance.onUserRemoved(userId);
+8 −1
Original line number Diff line number Diff line
@@ -565,11 +565,18 @@ public class SyntheticPasswordManager {
        return response[0];
    }

    public void removeUser(int userId) {
    public void removeUser(IGateKeeperService gatekeeper, int userId) {
        for (long handle : mStorage.listSyntheticPasswordHandlesForUser(SP_BLOB_NAME, userId)) {
            destroyWeaverSlot(handle, userId);
            destroySPBlobKey(getKeyName(handle));
        }
        // Remove potential persistent state (in RPMB), to prevent them from accumulating and
        // causing problems.
        try {
            gatekeeper.clearSecureUserId(fakeUid(userId));
        } catch (RemoteException ignore) {
            Slog.w(TAG, "Failed to clear SID from gatekeeper");
        }
    }

    int getCredentialType(long handle, int userId) {