Loading services/core/java/com/android/server/locksettings/LockSettingsService.java +1 −1 Original line number Diff line number Diff line Loading @@ -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); Loading services/core/java/com/android/server/locksettings/SyntheticPasswordManager.java +8 −1 Original line number Diff line number Diff line Loading @@ -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) { Loading Loading
services/core/java/com/android/server/locksettings/LockSettingsService.java +1 −1 Original line number Diff line number Diff line Loading @@ -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); Loading
services/core/java/com/android/server/locksettings/SyntheticPasswordManager.java +8 −1 Original line number Diff line number Diff line Loading @@ -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) { Loading