Snap for 9727520 from f212a943a38bbdaa0d6488ab4d540f7c04dfd337 to tm-qpr3-release

Change-Id: Ie0df0ca569e2d76fb357e19523d9ab2ad7d88f3d
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.