From e8ae62c0ce95703849d1e465e091dea59e2ee93a Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Fri, 4 Aug 2023 18:38:49 +0000 Subject: [PATCH 1/2] LockSettingsService: remove TODO for getCredentialTypeInternal() The TODO for getCredentialTypeInternal() was added by ag/9569544 ("Introduce Lockscreen PIN credential as first-class citizen"), which predated ag/16692269 ("Add a binder cache to ILockSettings#getCredentialType"). As the latter change effectively addressed the TODO, remove the TODO. Test: N/A Change-Id: Ia9a33053f9e0db030bfd4272c2c4318278f896a4 --- .../com/android/server/locksettings/LockSettingsService.java | 1 - 1 file changed, 1 deletion(-) diff --git a/services/core/java/com/android/server/locksettings/LockSettingsService.java b/services/core/java/com/android/server/locksettings/LockSettingsService.java index 489044f9486a8..a4d08b06d6206 100644 --- a/services/core/java/com/android/server/locksettings/LockSettingsService.java +++ b/services/core/java/com/android/server/locksettings/LockSettingsService.java @@ -1317,7 +1317,6 @@ public class LockSettingsService extends ILockSettings.Stub { return getCredentialTypeInternal(userId); } - // TODO: this is a hot path, can we optimize it? /** * Returns the credential type of the user, can be one of {@link #CREDENTIAL_TYPE_NONE}, * {@link #CREDENTIAL_TYPE_PATTERN}, {@link #CREDENTIAL_TYPE_PIN} and From 0fb946acae29a027f048a3c15d71faec3243aaf4 Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Fri, 4 Aug 2023 21:27:49 +0000 Subject: [PATCH 2/2] Improve the LockSettingsService class comment Test: N/A Change-Id: I20d209b634fa1a45008273b242f72efb7673e7a6 --- .../locksettings/LockSettingsService.java | 37 +++++++++++++++++-- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/locksettings/LockSettingsService.java b/services/core/java/com/android/server/locksettings/LockSettingsService.java index a4d08b06d6206..af66bef7ae590 100644 --- a/services/core/java/com/android/server/locksettings/LockSettingsService.java +++ b/services/core/java/com/android/server/locksettings/LockSettingsService.java @@ -195,9 +195,40 @@ import javax.crypto.SecretKey; import javax.crypto.spec.GCMParameterSpec; /** - * Keeps the lock pattern/password data and related settings for each user. Used by - * LockPatternUtils. Needs to be a service because Settings app also needs to be able to save - * lockscreen information for secondary users. + * LockSettingsService (LSS) mainly has the following responsibilities: + *

+ *

+ *

+ * The main clients of LockSettingsService are Keyguard (i.e. the lockscreen UI, which is part of + * System UI), the Settings app (com.android.settings), and other parts of system_server. Most + * methods are protected by ACCESS_KEYGUARD_SECURE_STORAGE which only system processes can have. * * @hide */