Update work profile app lock to latest spec

* Updated text and description for PIN, password and pattern
* Added enterprise logo to work profile lock

Bug: 141290838
Test: Manual testing
      atest com.android.systemui.biometrics.AuthBiometricViewTest
      atest com.android.systemui.biometrics.AuthContainerViewTest

Change-Id: Iac6c9ca15e7446cbd7cce9fc1a1ac4e1c867bf31
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index 8a96484..315cba1 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -688,6 +688,15 @@
         return um.getCredentialOwnerProfile(userId);
     }
 
+    /**
+     * Returns the credential type of the given user id.
+     */
+    public static @LockPatternUtils.CredentialType int getCredentialType(Context context,
+            int userId) {
+        final LockPatternUtils lpu = new LockPatternUtils(context);
+        return lpu.getCredentialTypeForUser(userId);
+    }
+
     private static final StringBuilder sBuilder = new StringBuilder(50);
     private static final java.util.Formatter sFormatter = new java.util.Formatter(
             sBuilder, Locale.getDefault());
diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
index 8947f8f..6f505bd 100644
--- a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
+++ b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
@@ -182,6 +182,15 @@
         if ((mTitle == null) && isManagedProfile) {
             mTitle = getTitleFromOrganizationName(mUserId);
         }
+        final @LockPatternUtils.CredentialType int credentialType = Utils.getCredentialType(
+                mContext, effectiveUserId);
+        if (mTitle == null) {
+            mTitle = getTitleFromCredentialType(credentialType, isManagedProfile);
+        }
+        if (mDetails == null) {
+            mDetails = getDetailsFromCredentialType(credentialType, isManagedProfile);
+        }
+
         mChooseLockSettingsHelper = new ChooseLockSettingsHelper(this);
         final LockPatternUtils lockPatternUtils = new LockPatternUtils(this);
 
@@ -233,6 +242,44 @@
         }
     }
 
+    private String getTitleFromCredentialType(@LockPatternUtils.CredentialType int credentialType,
+            boolean isManagedProfile) {
+        switch (credentialType) {
+            case LockPatternUtils.CREDENTIAL_TYPE_PIN:
+                return isManagedProfile
+                        ? getString(R.string.lockpassword_confirm_your_work_pin_header)
+                        : getString(R.string.lockpassword_confirm_your_pin_header);
+            case LockPatternUtils.CREDENTIAL_TYPE_PATTERN:
+                return isManagedProfile
+                        ? getString(R.string.lockpassword_confirm_your_work_pattern_header)
+                        : getString(R.string.lockpassword_confirm_your_pattern_header);
+            case LockPatternUtils.CREDENTIAL_TYPE_PASSWORD:
+                return isManagedProfile
+                        ? getString(R.string.lockpassword_confirm_your_work_password_header)
+                        : getString(R.string.lockpassword_confirm_your_password_header);
+        }
+        return null;
+    }
+
+    private String getDetailsFromCredentialType(@LockPatternUtils.CredentialType int credentialType,
+            boolean isManagedProfile) {
+        switch (credentialType) {
+            case LockPatternUtils.CREDENTIAL_TYPE_PIN:
+                return isManagedProfile
+                        ? getString(R.string.lockpassword_confirm_your_pin_generic_profile)
+                        : getString(R.string.lockpassword_confirm_your_pin_generic);
+            case LockPatternUtils.CREDENTIAL_TYPE_PATTERN:
+                return isManagedProfile
+                        ? getString(R.string.lockpassword_confirm_your_pattern_generic_profile)
+                        : getString(R.string.lockpassword_confirm_your_pattern_generic);
+            case LockPatternUtils.CREDENTIAL_TYPE_PASSWORD:
+                return isManagedProfile
+                        ? getString(R.string.lockpassword_confirm_your_password_generic_profile)
+                        : getString(R.string.lockpassword_confirm_your_password_generic);
+        }
+        return null;
+    }
+
     @Override
     protected void onStart() {
         super.onStart();