Merge "Save mConfirmingCredentials state"

This commit is contained in:
Kevin Chyn
2020-08-04 17:37:32 +00:00
committed by Android (Google) Code Review

View File

@@ -43,6 +43,8 @@ import com.google.android.setupdesign.span.LinkSpan;
public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase
implements LinkSpan.OnClickListener { implements LinkSpan.OnClickListener {
private static final String KEY_CONFIRMING_CREDENTIALS = "confirming_credentials";
private UserManager mUserManager; private UserManager mUserManager;
private boolean mHasPassword; private boolean mHasPassword;
private boolean mBiometricUnlockDisabledByAdmin; private boolean mBiometricUnlockDisabledByAdmin;
@@ -127,6 +129,10 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
mConfirmingCredentials = savedInstanceState.getBoolean(KEY_CONFIRMING_CREDENTIALS);
}
Intent intent = getIntent(); Intent intent = getIntent();
if (intent.getStringExtra(WizardManagerHelper.EXTRA_THEME) == null) { if (intent.getStringExtra(WizardManagerHelper.EXTRA_THEME) == null) {
// Put the theme in the intent so it gets propagated to other activities in the flow // Put the theme in the intent so it gets propagated to other activities in the flow
@@ -149,15 +155,17 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase
mUserManager = UserManager.get(this); mUserManager = UserManager.get(this);
updatePasswordQuality(); updatePasswordQuality();
if (!mHasPassword) { if (!mConfirmingCredentials) {
// No password registered, launch into enrollment wizard. if (!mHasPassword) {
mConfirmingCredentials = true; // No password registered, launch into enrollment wizard.
launchChooseLock(); mConfirmingCredentials = true;
} else if (mToken == null) { launchChooseLock();
// It's possible to have a token but mLaunchedConfirmLock == false, since } else if (mToken == null) {
// ChooseLockGeneric can pass us a token. // It's possible to have a token but mLaunchedConfirmLock == false, since
mConfirmingCredentials = true; // ChooseLockGeneric can pass us a token.
launchConfirmLock(getConfirmLockTitleResId(), getChallenge()); mConfirmingCredentials = true;
launchConfirmLock(getConfirmLockTitleResId(), getChallenge());
}
} }
} }
@@ -178,6 +186,12 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase
} }
} }
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putBoolean(KEY_CONFIRMING_CREDENTIALS, mConfirmingCredentials);
}
@Override @Override
protected boolean shouldFinishWhenBackgrounded() { protected boolean shouldFinishWhenBackgrounded() {
return super.shouldFinishWhenBackgrounded() && !mConfirmingCredentials && !mNextClicked; return super.shouldFinishWhenBackgrounded() && !mConfirmingCredentials && !mNextClicked;