Add API to provide complexity validation error Currently there is no method for SUW to retrieve the feedback String when user password/PIN/pattern does not meet the complexity requirement. We create a new API checkValidLockForMessage to retrieve the respective Strings shown to users in Settings when password does not meet the requirement. Additionally, we update LIBRARY_VERSION to 2. Bug: 268506426 Test: manual - build passes when InitialSetupService in CarSettings implements the method Change-Id: I37ca7d0b5eec178f993770ba806fc428b7eda0c8 Merged-In: I37ca7d0b5eec178f993770ba806fc428b7eda0c8
diff --git a/library/utils/src/com/android/car/setupwizardlib/IInitialLockSetupService.aidl b/library/utils/src/com/android/car/setupwizardlib/IInitialLockSetupService.aidl index 305195b..3cc4bd4 100644 --- a/library/utils/src/com/android/car/setupwizardlib/IInitialLockSetupService.aidl +++ b/library/utils/src/com/android/car/setupwizardlib/IInitialLockSetupService.aidl
@@ -44,5 +44,19 @@ * deserializable by the service. */ int setLock(in int lockType, in byte[] password) = 3; + + /** + * Added in LIBRARY_VERSION = 2. + * + * Returns a message String combing all input validation error messages to + * directly display to user. If there is no error and the credentialBytes + * is valid then it will return an empty String. The String returned should + * be the same message as shown to users in the Security Settings page + * and should be properly localized. + + * @param credentialBytes input value in bytes representing one of + * Password, PIN, or Pattern input. + */ + String checkValidLockAndReturnError(in int lockType, in byte[] credentialBytes) = 4; }
diff --git a/library/utils/src/com/android/car/setupwizardlib/InitialLockSetupConstants.java b/library/utils/src/com/android/car/setupwizardlib/InitialLockSetupConstants.java index 8ca5c6e..7362cd1 100644 --- a/library/utils/src/com/android/car/setupwizardlib/InitialLockSetupConstants.java +++ b/library/utils/src/com/android/car/setupwizardlib/InitialLockSetupConstants.java
@@ -27,8 +27,12 @@ /** * The library version. All relevant changes should bump this version number and ensure * all relevant parts of the interface handle backwards compatibility. + * + * Library version 1: Initial implementation + * Library version 2: Add API checkValidLockAndReturnError to allow complexity validation + * error to be retrieved from Settings. */ - int LIBRARY_VERSION = 1; + int LIBRARY_VERSION = 2; /** * Lock types supported by the InitialLockSetupService.