Save isCanceled state and restore when rotation

- Create mIsCanceled field in FingerprintEnrollEnrolling
- Override onSaveInstanceState and save mIsCanceled state
- onCreate restore mIsCanceled
- shouldStartAutomatically() return mRestoring && !mIsCanceled
- Integrate FingerprintErrorDialog with "try again"-> Clear mIsCanceled

Bug: 237103873
Test: manual enroll UDFPS, and wait for timeout, seeing timeout error
dialog showing above fingerprint enrollment pad.

Change-Id: I3a3010ca12aa0b23fd122a8afc9b82adf5656fb8
This commit is contained in:
lbill
2022-07-12 05:06:09 +00:00
committed by Bill Lin
parent 51d087cd67
commit d7f53d4180
2 changed files with 27 additions and 3 deletions

View File

@@ -18,11 +18,13 @@ package com.android.settings.biometrics.fingerprint;
import static com.android.settings.biometrics.BiometricEnrollBase.RESULT_FINISHED;
import static com.android.settings.biometrics.BiometricEnrollBase.RESULT_TIMEOUT;
import static com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling.KEY_STATE_CANCELED;
import android.app.Activity;
import android.app.Dialog;
import android.app.settings.SettingsEnums;
import android.content.DialogInterface;
import android.content.Intent;
import android.hardware.biometrics.BiometricConstants;
import android.hardware.fingerprint.FingerprintManager;
import android.os.Bundle;
@@ -68,7 +70,11 @@ public class FingerprintErrorDialog extends InstrumentedDialogFragment {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
getActivity().recreate();
Activity activity = getActivity();
Intent intent = activity.getIntent();
intent.putExtra(KEY_STATE_CANCELED, false);
activity.startActivity(intent);
activity.finish();
}
})
.setNegativeButton(