From 62c0c3c324aca7eaf78d7d5e0c8a6ae0213e1f80 Mon Sep 17 00:00:00 2001 From: Maurice Lam Date: Mon, 10 Jul 2017 18:15:10 -0700 Subject: [PATCH] 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 --- .../android/settings/password/ChooseLockPassword.java | 4 ++-- .../settings/password/SetupChooseLockPassword.java | 19 ++++++++++++++++--- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/com/android/settings/password/ChooseLockPassword.java b/src/com/android/settings/password/ChooseLockPassword.java index 0f5037598e..239b6cde80 100644 --- a/src/com/android/settings/password/ChooseLockPassword.java +++ b/src/com/android/settings/password/ChooseLockPassword.java @@ -202,7 +202,7 @@ public class ChooseLockPassword extends SettingsActivity { 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 @@ public class ChooseLockPassword extends SettingsActivity { /** * 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 8a7028ebc7..0b21129850 100644 --- a/src/com/android/settings/password/SetupChooseLockPassword.java +++ b/src/com/android/settings/password/SetupChooseLockPassword.java @@ -21,6 +21,7 @@ import android.app.Fragment; 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 @@ public class SetupChooseLockPassword extends ChooseLockPassword { @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 @@ public class SetupChooseLockPassword extends ChooseLockPassword { 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 @@ public class SetupChooseLockPassword extends ChooseLockPassword { } } } + + @Override + protected void updateUi() { + super.updateUi(); + if (mOptionsButton != null) { + mOptionsButton.setVisibility( + mUiStage == Stage.Introduction ? View.VISIBLE : View.GONE); + } + } } } -- 2.11.0