summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/password/SetupChooseLockPattern.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/settings/password/SetupChooseLockPattern.java')
-rw-r--r--src/com/android/settings/password/SetupChooseLockPattern.java73
1 files changed, 58 insertions, 15 deletions
diff --git a/src/com/android/settings/password/SetupChooseLockPattern.java b/src/com/android/settings/password/SetupChooseLockPattern.java
index 0b272f5b93..8e59d8c582 100644
--- a/src/com/android/settings/password/SetupChooseLockPattern.java
+++ b/src/com/android/settings/password/SetupChooseLockPattern.java
@@ -16,16 +16,17 @@
package com.android.settings.password;
-import android.app.Fragment;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
-import androidx.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+
import com.android.settings.R;
import com.android.settings.SetupRedactionInterstitial;
@@ -53,11 +54,23 @@ public class SetupChooseLockPattern extends ChooseLockPattern {
return SetupChooseLockPatternFragment.class;
}
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ // Show generic pattern title when pattern lock screen launch in Setup wizard flow before
+ // fingerprint and face setup.
+ setTitle(R.string.lockpassword_choose_your_screen_lock_header);
+ }
+
public static class SetupChooseLockPatternFragment extends ChooseLockPatternFragment
implements ChooseLockTypeDialogFragment.OnLockTypeSelectedListener {
+ private static final String TAG_SKIP_SCREEN_LOCK_DIALOG = "skip_screen_lock_dialog";
+
@Nullable
private Button mOptionsButton;
+ private boolean mLeftButtonIsSkip;
@Override
public View onCreateView(
@@ -67,23 +80,35 @@ public class SetupChooseLockPattern extends ChooseLockPattern {
mOptionsButton = view.findViewById(R.id.screen_lock_options);
mOptionsButton.setOnClickListener((btn) ->
ChooseLockTypeDialogFragment.newInstance(mUserId)
- .show(getChildFragmentManager(), null));
- }
- // enable skip button only during setup wizard and not with fingerprint flow.
- if (!mForFingerprint) {
- Button skipButton = view.findViewById(R.id.skip_button);
- skipButton.setVisibility(View.VISIBLE);
- skipButton.setOnClickListener(v -> {
- SetupSkipDialog dialog = SetupSkipDialog.newInstance(
- getActivity().getIntent()
- .getBooleanExtra(SetupSkipDialog.EXTRA_FRP_SUPPORTED, false));
- dialog.show(getFragmentManager());
- });
+ .show(getChildFragmentManager(), TAG_SKIP_SCREEN_LOCK_DIALOG));
}
+ // Show the skip button during SUW but not during Settings > Biometric Enrollment
+ mSkipOrClearButton.setOnClickListener(this::onSkipOrClearButtonClick);
return view;
}
@Override
+ protected void onSkipOrClearButtonClick(View view) {
+ if (mLeftButtonIsSkip) {
+ SetupSkipDialog dialog = SetupSkipDialog.newInstance(
+ getActivity().getIntent()
+ .getBooleanExtra(SetupSkipDialog.EXTRA_FRP_SUPPORTED, false),
+ /* isPatternMode= */ true,
+ /* isAlphaMode= */ false,
+ getActivity().getIntent()
+ .getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_FOR_FINGERPRINT,
+ false),
+ getActivity().getIntent()
+ .getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_FOR_FACE, false)
+
+ );
+ dialog.show(getFragmentManager());
+ return;
+ }
+ super.onSkipOrClearButtonClick(view);
+ }
+
+ @Override
public void onLockTypeSelected(ScreenLockType lock) {
if (ScreenLockType.PATTERN == lock) {
return;
@@ -97,7 +122,25 @@ public class SetupChooseLockPattern extends ChooseLockPattern {
if (!getResources().getBoolean(R.bool.config_lock_pattern_minimal_ui)
&& mOptionsButton != null) {
mOptionsButton.setVisibility(
- stage == Stage.Introduction ? View.VISIBLE : View.INVISIBLE);
+ (stage == Stage.Introduction || stage == Stage.HelpScreen ||
+ stage == Stage.ChoiceTooShort || stage == Stage.FirstChoiceValid)
+ ? View.VISIBLE : View.INVISIBLE);
+ }
+
+ if (stage.leftMode == LeftButtonMode.Gone && stage == Stage.Introduction) {
+ mSkipOrClearButton.setVisibility(View.VISIBLE);
+ mSkipOrClearButton.setText(getActivity(), R.string.skip_label);
+ mLeftButtonIsSkip = true;
+ } else {
+ mLeftButtonIsSkip = false;
+ }
+
+ // Show generic pattern message when pattern lock screen launch in Setup wizard flow
+ // before fingerprint and face setup.
+ if (stage.message == ID_EMPTY_MESSAGE) {
+ mMessageText.setText("");
+ } else {
+ mMessageText.setText(stage.message);
}
}