Merge "Support alternate button" into main
diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
index 7f362c3..47c3b3f 100644
--- a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
+++ b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
@@ -267,6 +267,7 @@
                     new ChooseLockSettingsHelper.Builder(this);
             launchedCDC = builder.setHeader(mTitle)
                     .setDescription(mDetails)
+                    .setAlternateButton(alternateButton)
                     .setExternal(true)
                     .setUserId(LockPatternUtils.USER_REPAIR_MODE)
                     .show();
diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java b/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
index cfee980..61866a3 100644
--- a/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
+++ b/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
@@ -198,8 +198,8 @@
         mCancelButton = view.findViewById(R.id.cancelButton);
         boolean showCancelButton = mRemoteValidation || getActivity().getIntent().getBooleanExtra(
                 SHOW_CANCEL_BUTTON, false);
-        boolean hasAlternateButton = (mFrp || mRemoteValidation) && !TextUtils.isEmpty(
-                mAlternateButtonText);
+        boolean hasAlternateButton = (mFrp || mRemoteValidation || mRepairMode)
+                && !TextUtils.isEmpty(mAlternateButtonText);
         mCancelButton.setVisibility(showCancelButton || hasAlternateButton
                 ? View.VISIBLE : View.GONE);
         if (hasAlternateButton) {