Loading src/com/android/settings/password/ChooseLockPassword.java +5 −6 Original line number Diff line number Diff line Loading @@ -408,9 +408,9 @@ public class ChooseLockPassword extends SettingsActivity { ViewGroup container = view.findViewById(R.id.password_container); container.setOpticalInsets(Insets.NONE); mSkipButton = (Button) view.findViewById(R.id.skip_button); mSkipButton = view.findViewById(R.id.skip_button); mSkipButton.setOnClickListener(this); mNextButton = (Button) view.findViewById(R.id.next_button); mNextButton = view.findViewById(R.id.next_button); mNextButton.setOnClickListener(this); mClearButton = view.findViewById(R.id.clear_button); mClearButton.setOnClickListener(this); Loading Loading @@ -894,12 +894,13 @@ public class ChooseLockPassword extends SettingsActivity { mPasswordRequirementAdapter.setRequirements(messages); // Enable/Disable the next button accordingly. setNextEnabled(errorCode == NO_ERROR); mClearButton.setVisibility(View.GONE); } else { // Hide password requirement view when we are just asking user to confirm the pw. mPasswordRestrictionView.setVisibility(View.GONE); setHeaderText(getString(mUiStage.getHint(mIsAlphaMode, getStageType()))); setNextEnabled(canInput && length >= mPasswordMinLength); mClearButton.setEnabled(canInput && length > 0); mClearButton.setVisibility(toVisibility(canInput && length > 0)); } int message = mUiStage.getMessage(mIsAlphaMode, getStageType()); if (message != 0) { Loading @@ -909,13 +910,11 @@ public class ChooseLockPassword extends SettingsActivity { mMessage.setVisibility(View.INVISIBLE); } mClearButton.setVisibility(toVisibility(mUiStage != Stage.Introduction)); setNextText(mUiStage.buttonText); mPasswordEntryInputDisabler.setInputEnabled(canInput); } private int toVisibility(boolean visibleOrGone) { protected int toVisibility(boolean visibleOrGone) { return visibleOrGone ? View.VISIBLE : View.GONE; } Loading src/com/android/settings/password/SetupChooseLockPassword.java +6 −2 Original line number Diff line number Diff line Loading @@ -135,9 +135,13 @@ public class SetupChooseLockPassword extends ChooseLockPassword { @Override protected void updateUi() { super.updateUi(); // Show the skip button during SUW but not during Settings > Biometric Enrollment if (mUiStage == Stage.Introduction) { mSkipButton.setVisibility(View.VISIBLE); } else { mSkipButton.setVisibility(View.GONE); } if (mOptionsButton != null) { mOptionsButton.setVisibility( mUiStage == Stage.Introduction ? View.VISIBLE : View.GONE); Loading src/com/android/settings/password/SetupChooseLockPattern.java +9 −3 Original line number Diff line number Diff line Loading @@ -59,6 +59,7 @@ public class SetupChooseLockPattern extends ChooseLockPattern { @Nullable private Button mOptionsButton; private Button mSkipButton; @Override public View onCreateView( Loading @@ -71,9 +72,8 @@ public class SetupChooseLockPattern extends ChooseLockPattern { .show(getChildFragmentManager(), null)); } // Show the skip button during SUW but not during Settings > Biometric Enrollment Button skipButton = view.findViewById(R.id.skip_button); skipButton.setVisibility(View.VISIBLE); skipButton.setOnClickListener(v -> { mSkipButton = view.findViewById(R.id.skip_button); mSkipButton.setOnClickListener(v -> { SetupSkipDialog dialog = SetupSkipDialog.newInstance( getActivity().getIntent() .getBooleanExtra(SetupSkipDialog.EXTRA_FRP_SUPPORTED, false)); Loading @@ -100,6 +100,12 @@ public class SetupChooseLockPattern extends ChooseLockPattern { stage == Stage.ChoiceTooShort || stage == Stage.FirstChoiceValid) ? View.VISIBLE : View.INVISIBLE); } if (stage.leftMode == LeftButtonMode.Gone && stage == Stage.Introduction) { mSkipButton.setVisibility(View.VISIBLE); } else { mSkipButton.setVisibility(View.GONE); } } @Override Loading tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java +40 −1 Original line number Diff line number Diff line Loading @@ -29,10 +29,13 @@ import androidx.appcompat.app.AlertDialog; import com.android.settings.R; import com.android.settings.password.ChooseLockGeneric.ChooseLockGenericFragment; import com.android.settings.password.ChooseLockPassword.ChooseLockPasswordFragment.Stage; import com.android.settings.password.ChooseLockPassword.IntentBuilder; import com.android.settings.password.SetupChooseLockPassword.SetupChooseLockPasswordFragment; import com.android.settings.testutils.shadow.SettingsShadowResources; import com.android.settings.testutils.shadow.ShadowAlertDialogCompat; import com.android.settings.testutils.shadow.ShadowUtils; import com.android.settings.widget.ScrollToParentEditText; import org.junit.After; import org.junit.Before; Loading @@ -51,7 +54,7 @@ import java.util.Collections; import java.util.List; @RunWith(RobolectricTestRunner.class) @Config(shadows = {SettingsShadowResources.class, ShadowUtils.class}) @Config(shadows = {SettingsShadowResources.class, ShadowUtils.class, ShadowAlertDialogCompat.class}) public class SetupChooseLockPasswordTest { @Before Loading Loading @@ -130,6 +133,42 @@ public class SetupChooseLockPasswordTest { .isEqualTo("bar"); } @Test public void createActivity_skipButtonInIntroductionStage_shouldBeVisible() { SetupChooseLockPassword activity = createSetupChooseLockPassword(); Button skipButton = activity.findViewById(R.id.skip_button); assertThat(skipButton).isNotNull(); assertThat(skipButton.getVisibility()).isEqualTo(View.VISIBLE); skipButton.performClick(); AlertDialog chooserDialog = ShadowAlertDialogCompat.getLatestAlertDialog(); assertThat(chooserDialog).isNotNull(); } @Test public void createActivity_inputPasswordInConfirmStage_clearButtonShouldBeVisible() { SetupChooseLockPassword activity = createSetupChooseLockPassword(); SetupChooseLockPasswordFragment fragment = (SetupChooseLockPasswordFragment) activity.getSupportFragmentManager() .findFragmentById(R.id.main_content); ScrollToParentEditText passwordEntry = activity.findViewById(R.id.password_entry); passwordEntry.setText(""); fragment.updateStage(Stage.NeedToConfirm); Button skipButton = activity.findViewById(R.id.skip_button); Button clearButton = activity.findViewById(R.id.clear_button); assertThat(skipButton.getVisibility()).isEqualTo(View.GONE); assertThat(clearButton.getVisibility()).isEqualTo(View.GONE); passwordEntry.setText("1234"); fragment.updateUi(); assertThat(skipButton.getVisibility()).isEqualTo(View.GONE); assertThat(clearButton.getVisibility()).isEqualTo(View.VISIBLE); } private SetupChooseLockPassword createSetupChooseLockPassword() { final Intent intent = SetupChooseLockPassword.modifyIntentForSetup( Loading tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java +14 −0 Original line number Diff line number Diff line Loading @@ -164,6 +164,20 @@ public class SetupChooseLockPatternTest { assertThat(findFragment(mActivity).mChosenPattern).isNull(); } @Test public void createActivity_enterPattern_clearButtonShouldBeVisible() { ChooseLockPatternFragment fragment = findFragment(mActivity); Button skipButton = mActivity.findViewById(R.id.skip_button); Button clearButton = mActivity.findViewById(R.id.footerLeftButton); assertThat(skipButton.getVisibility()).isEqualTo(View.VISIBLE); assertThat(clearButton.getVisibility()).isEqualTo(View.GONE); enterPattern(); assertThat(skipButton.getVisibility()).isEqualTo(View.GONE); assertThat(clearButton.getVisibility()).isEqualTo(View.VISIBLE); } private ChooseLockPatternFragment findFragment(FragmentActivity activity) { return (ChooseLockPatternFragment) activity.getSupportFragmentManager().findFragmentById(R.id.main_content); Loading Loading
src/com/android/settings/password/ChooseLockPassword.java +5 −6 Original line number Diff line number Diff line Loading @@ -408,9 +408,9 @@ public class ChooseLockPassword extends SettingsActivity { ViewGroup container = view.findViewById(R.id.password_container); container.setOpticalInsets(Insets.NONE); mSkipButton = (Button) view.findViewById(R.id.skip_button); mSkipButton = view.findViewById(R.id.skip_button); mSkipButton.setOnClickListener(this); mNextButton = (Button) view.findViewById(R.id.next_button); mNextButton = view.findViewById(R.id.next_button); mNextButton.setOnClickListener(this); mClearButton = view.findViewById(R.id.clear_button); mClearButton.setOnClickListener(this); Loading Loading @@ -894,12 +894,13 @@ public class ChooseLockPassword extends SettingsActivity { mPasswordRequirementAdapter.setRequirements(messages); // Enable/Disable the next button accordingly. setNextEnabled(errorCode == NO_ERROR); mClearButton.setVisibility(View.GONE); } else { // Hide password requirement view when we are just asking user to confirm the pw. mPasswordRestrictionView.setVisibility(View.GONE); setHeaderText(getString(mUiStage.getHint(mIsAlphaMode, getStageType()))); setNextEnabled(canInput && length >= mPasswordMinLength); mClearButton.setEnabled(canInput && length > 0); mClearButton.setVisibility(toVisibility(canInput && length > 0)); } int message = mUiStage.getMessage(mIsAlphaMode, getStageType()); if (message != 0) { Loading @@ -909,13 +910,11 @@ public class ChooseLockPassword extends SettingsActivity { mMessage.setVisibility(View.INVISIBLE); } mClearButton.setVisibility(toVisibility(mUiStage != Stage.Introduction)); setNextText(mUiStage.buttonText); mPasswordEntryInputDisabler.setInputEnabled(canInput); } private int toVisibility(boolean visibleOrGone) { protected int toVisibility(boolean visibleOrGone) { return visibleOrGone ? View.VISIBLE : View.GONE; } Loading
src/com/android/settings/password/SetupChooseLockPassword.java +6 −2 Original line number Diff line number Diff line Loading @@ -135,9 +135,13 @@ public class SetupChooseLockPassword extends ChooseLockPassword { @Override protected void updateUi() { super.updateUi(); // Show the skip button during SUW but not during Settings > Biometric Enrollment if (mUiStage == Stage.Introduction) { mSkipButton.setVisibility(View.VISIBLE); } else { mSkipButton.setVisibility(View.GONE); } if (mOptionsButton != null) { mOptionsButton.setVisibility( mUiStage == Stage.Introduction ? View.VISIBLE : View.GONE); Loading
src/com/android/settings/password/SetupChooseLockPattern.java +9 −3 Original line number Diff line number Diff line Loading @@ -59,6 +59,7 @@ public class SetupChooseLockPattern extends ChooseLockPattern { @Nullable private Button mOptionsButton; private Button mSkipButton; @Override public View onCreateView( Loading @@ -71,9 +72,8 @@ public class SetupChooseLockPattern extends ChooseLockPattern { .show(getChildFragmentManager(), null)); } // Show the skip button during SUW but not during Settings > Biometric Enrollment Button skipButton = view.findViewById(R.id.skip_button); skipButton.setVisibility(View.VISIBLE); skipButton.setOnClickListener(v -> { mSkipButton = view.findViewById(R.id.skip_button); mSkipButton.setOnClickListener(v -> { SetupSkipDialog dialog = SetupSkipDialog.newInstance( getActivity().getIntent() .getBooleanExtra(SetupSkipDialog.EXTRA_FRP_SUPPORTED, false)); Loading @@ -100,6 +100,12 @@ public class SetupChooseLockPattern extends ChooseLockPattern { stage == Stage.ChoiceTooShort || stage == Stage.FirstChoiceValid) ? View.VISIBLE : View.INVISIBLE); } if (stage.leftMode == LeftButtonMode.Gone && stage == Stage.Introduction) { mSkipButton.setVisibility(View.VISIBLE); } else { mSkipButton.setVisibility(View.GONE); } } @Override Loading
tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java +40 −1 Original line number Diff line number Diff line Loading @@ -29,10 +29,13 @@ import androidx.appcompat.app.AlertDialog; import com.android.settings.R; import com.android.settings.password.ChooseLockGeneric.ChooseLockGenericFragment; import com.android.settings.password.ChooseLockPassword.ChooseLockPasswordFragment.Stage; import com.android.settings.password.ChooseLockPassword.IntentBuilder; import com.android.settings.password.SetupChooseLockPassword.SetupChooseLockPasswordFragment; import com.android.settings.testutils.shadow.SettingsShadowResources; import com.android.settings.testutils.shadow.ShadowAlertDialogCompat; import com.android.settings.testutils.shadow.ShadowUtils; import com.android.settings.widget.ScrollToParentEditText; import org.junit.After; import org.junit.Before; Loading @@ -51,7 +54,7 @@ import java.util.Collections; import java.util.List; @RunWith(RobolectricTestRunner.class) @Config(shadows = {SettingsShadowResources.class, ShadowUtils.class}) @Config(shadows = {SettingsShadowResources.class, ShadowUtils.class, ShadowAlertDialogCompat.class}) public class SetupChooseLockPasswordTest { @Before Loading Loading @@ -130,6 +133,42 @@ public class SetupChooseLockPasswordTest { .isEqualTo("bar"); } @Test public void createActivity_skipButtonInIntroductionStage_shouldBeVisible() { SetupChooseLockPassword activity = createSetupChooseLockPassword(); Button skipButton = activity.findViewById(R.id.skip_button); assertThat(skipButton).isNotNull(); assertThat(skipButton.getVisibility()).isEqualTo(View.VISIBLE); skipButton.performClick(); AlertDialog chooserDialog = ShadowAlertDialogCompat.getLatestAlertDialog(); assertThat(chooserDialog).isNotNull(); } @Test public void createActivity_inputPasswordInConfirmStage_clearButtonShouldBeVisible() { SetupChooseLockPassword activity = createSetupChooseLockPassword(); SetupChooseLockPasswordFragment fragment = (SetupChooseLockPasswordFragment) activity.getSupportFragmentManager() .findFragmentById(R.id.main_content); ScrollToParentEditText passwordEntry = activity.findViewById(R.id.password_entry); passwordEntry.setText(""); fragment.updateStage(Stage.NeedToConfirm); Button skipButton = activity.findViewById(R.id.skip_button); Button clearButton = activity.findViewById(R.id.clear_button); assertThat(skipButton.getVisibility()).isEqualTo(View.GONE); assertThat(clearButton.getVisibility()).isEqualTo(View.GONE); passwordEntry.setText("1234"); fragment.updateUi(); assertThat(skipButton.getVisibility()).isEqualTo(View.GONE); assertThat(clearButton.getVisibility()).isEqualTo(View.VISIBLE); } private SetupChooseLockPassword createSetupChooseLockPassword() { final Intent intent = SetupChooseLockPassword.modifyIntentForSetup( Loading
tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java +14 −0 Original line number Diff line number Diff line Loading @@ -164,6 +164,20 @@ public class SetupChooseLockPatternTest { assertThat(findFragment(mActivity).mChosenPattern).isNull(); } @Test public void createActivity_enterPattern_clearButtonShouldBeVisible() { ChooseLockPatternFragment fragment = findFragment(mActivity); Button skipButton = mActivity.findViewById(R.id.skip_button); Button clearButton = mActivity.findViewById(R.id.footerLeftButton); assertThat(skipButton.getVisibility()).isEqualTo(View.VISIBLE); assertThat(clearButton.getVisibility()).isEqualTo(View.GONE); enterPattern(); assertThat(skipButton.getVisibility()).isEqualTo(View.GONE); assertThat(clearButton.getVisibility()).isEqualTo(View.VISIBLE); } private ChooseLockPatternFragment findFragment(FragmentActivity activity) { return (ChooseLockPatternFragment) activity.getSupportFragmentManager().findFragmentById(R.id.main_content); Loading