Hide screen lock options button in confirm lock

Hide the screen lock options button in the confirmation stage of
SetupChooseLockPassword, so the user cannot skip out of that screen
while the screen lock is being saved.

Test: Manual
Bug: 63526104
Change-Id: I8ee8938f3ddcd9f0ff3b1812fcae667eddaf09ab
diff --git a/src/com/android/settings/password/ChooseLockPassword.java b/src/com/android/settings/password/ChooseLockPassword.java
index 0f50375..239b6cd 100644
--- a/src/com/android/settings/password/ChooseLockPassword.java
+++ b/src/com/android/settings/password/ChooseLockPassword.java
@@ -202,7 +202,7 @@
         private SaveAndFinishWorker mSaveAndFinishWorker;
         private int mRequestedQuality = DevicePolicyManager.PASSWORD_QUALITY_NUMERIC;
         private ChooseLockSettingsHelper mChooseLockSettingsHelper;
-        private Stage mUiStage = Stage.Introduction;
+        protected Stage mUiStage = Stage.Introduction;
         private PasswordRequirementAdapter mPasswordRequirementAdapter;
         private GlifLayout mLayout;
         protected boolean mForFingerprint;
@@ -820,7 +820,7 @@
         /**
          * Update the hint based on current Stage and length of password entry
          */
-        private void updateUi() {
+        protected void updateUi() {
             final boolean canInput = mSaveAndFinishWorker == null;
             String password = mPasswordEntry.getText().toString();
             final int length = password.length();
diff --git a/src/com/android/settings/password/SetupChooseLockPassword.java b/src/com/android/settings/password/SetupChooseLockPassword.java
index 8a7028e..0b21129 100644
--- a/src/com/android/settings/password/SetupChooseLockPassword.java
+++ b/src/com/android/settings/password/SetupChooseLockPassword.java
@@ -21,6 +21,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
+import android.support.annotation.Nullable;
 import android.view.View;
 import android.widget.Button;
 import android.widget.LinearLayout;
@@ -73,6 +74,9 @@
         @VisibleForTesting
         static final int REQUEST_SCREEN_LOCK_OPTIONS = 1;
 
+        @Nullable
+        private Button mOptionsButton;
+
         @Override
         public void onViewCreated(View view, Bundle savedInstanceState) {
             super.onViewCreated(view, savedInstanceState);
@@ -86,9 +90,9 @@
             boolean showOptionsButton = getActivity().getIntent().getBooleanExtra(
                     ChooseLockGenericFragment.EXTRA_SHOW_OPTIONS_BUTTON, false);
             if (showOptionsButton) {
-                Button optionsButton = view.findViewById(R.id.screen_lock_options);
-                optionsButton.setVisibility(View.VISIBLE);
-                optionsButton.setOnClickListener(this);
+                mOptionsButton = view.findViewById(R.id.screen_lock_options);
+                mOptionsButton.setVisibility(View.VISIBLE);
+                mOptionsButton.setOnClickListener(this);
             }
         }
 
@@ -168,5 +172,14 @@
                 }
             }
         }
+
+        @Override
+        protected void updateUi() {
+            super.updateUi();
+            if (mOptionsButton != null) {
+                mOptionsButton.setVisibility(
+                        mUiStage == Stage.Introduction ? View.VISIBLE : View.GONE);
+            }
+        }
     }
 }