Loading src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingRfpsFragment.java +44 −34 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.graphics.drawable.Animatable2; import android.graphics.drawable.AnimatedVectorDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.LayerDrawable; import android.hardware.fingerprint.FingerprintManager; import android.os.Bundle; import android.text.TextUtils; import android.util.Log; Loading @@ -40,7 +41,7 @@ import android.view.animation.Interpolator; import android.widget.ProgressBar; import android.widget.TextView; import androidx.annotation.IdRes; import androidx.activity.OnBackPressedCallback; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; Loading @@ -52,7 +53,6 @@ import com.android.settings.R; import com.android.settings.biometrics.fingerprint.FingerprintErrorDialog; import com.android.settings.biometrics2.ui.model.EnrollmentProgress; import com.android.settings.biometrics2.ui.model.EnrollmentStatusMessage; import com.android.settings.biometrics2.ui.viewmodel.DeviceRotationViewModel; import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel; import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollProgressViewModel; Loading Loading @@ -80,7 +80,6 @@ public class FingerprintEnrollEnrollingRfpsFragment extends Fragment { private static final int HINT_TIMEOUT_DURATION = 2500; private FingerprintEnrollEnrollingViewModel mEnrollingViewModel; private DeviceRotationViewModel mRotationViewModel; private FingerprintEnrollProgressViewModel mProgressViewModel; private Interpolator mFastOutSlowInInterpolator; Loading @@ -92,13 +91,13 @@ public class FingerprintEnrollEnrollingRfpsFragment extends Fragment { private ProgressBar mProgressBar; private ObjectAnimator mProgressAnim; private TextView mErrorText; private FooterBarMixin mFooterBarMixin; private AnimatedVectorDrawable mIconAnimationDrawable; private AnimatedVectorDrawable mIconBackgroundBlinksDrawable; private int mIconTouchCount; private final View.OnClickListener mOnSkipClickListener = v -> { mProgressViewModel.cancelEnrollment(); mEnrollingViewModel.onSkipButtonClick(); mEnrollingViewModel.setOnSkipPressed(); cancelEnrollment(); }; private final Observer<EnrollmentProgress> mProgressObserver = progress -> { Loading Loading @@ -128,16 +127,21 @@ public class FingerprintEnrollEnrollingRfpsFragment extends Fragment { } }; private int mIconTouchCount; @Override public void onAttach(@NonNull Context context) { final FragmentActivity activity = getActivity(); final ViewModelProvider provider = new ViewModelProvider(activity); mEnrollingViewModel = provider.get(FingerprintEnrollEnrollingViewModel.class); mRotationViewModel = provider.get(DeviceRotationViewModel.class); mProgressViewModel = provider.get(FingerprintEnrollProgressViewModel.class); super.onAttach(context); requireActivity().getOnBackPressedDispatcher().addCallback(new OnBackPressedCallback(true) { @Override public void handleOnBackPressed() { setEnabled(false); mEnrollingViewModel.setOnBackPressed(); cancelEnrollment(); } }); } @Nullable Loading Loading @@ -198,8 +202,7 @@ public class FingerprintEnrollEnrollingRfpsFragment extends Fragment { mErrorText = containView.findViewById(R.id.error_text); mProgressBar = containView.findViewById(R.id.fingerprint_progress_bar); mFooterBarMixin = containView.getMixin(FooterBarMixin.class); mFooterBarMixin.setSecondaryButton( containView.getMixin(FooterBarMixin.class).setSecondaryButton( new FooterButton.Builder(activity) .setText(R.string.security_settings_fingerprint_enroll_enrolling_skip) .setListener(mOnSkipClickListener) Loading Loading @@ -263,39 +266,28 @@ public class FingerprintEnrollEnrollingRfpsFragment extends Fragment { } } private void onCancelEnrollment(@IdRes int errorMsgId) { // TODO // showErrorDialog() will cause onWindowFocusChanged(false), set mIsCanceled to false // before showErrorDialog() to prevent that another error dialog is triggered again. // TODO mIsCanceled = true; // TODO mIsOrientationChanged = false; mEnrollingViewModel.showErrorDialog(new FingerprintEnrollEnrollingViewModel.ErrorDialogData( mView.getContext().getString(FingerprintErrorDialog.getErrorMessage(errorMsgId)), mView.getContext().getString(FingerprintErrorDialog.getErrorTitle(errorMsgId)), errorMsgId )); cancelEnrollment(); stopIconAnimation(); } @Override public void onStop() { stopIconAnimation(); removeEnrollmentObserver(); if (!getActivity().isChangingConfigurations()) { removeEnrollmentObservers(); if (!getActivity().isChangingConfigurations() && mProgressViewModel.isEnrolling()) { mProgressViewModel.cancelEnrollment(); } super.onStop(); } private void removeEnrollmentObserver() { private void removeEnrollmentObservers() { preRemoveEnrollmentObservers(); mProgressViewModel.getErrorMessageLiveData().removeObserver(mErrorMessageObserver); } private void preRemoveEnrollmentObservers() { mProgressViewModel.getProgressLiveData().removeObserver(mProgressObserver); mProgressViewModel.getHelpMessageLiveData().removeObserver(mHelpMessageObserver); mProgressViewModel.getErrorMessageLiveData().removeObserver(mErrorMessageObserver); } private void cancelEnrollment() { removeEnrollmentObserver(); preRemoveEnrollmentObservers(); mProgressViewModel.cancelEnrollment(); } Loading @@ -318,7 +310,27 @@ public class FingerprintEnrollEnrollingRfpsFragment extends Fragment { } private void onEnrollmentError(@NonNull EnrollmentStatusMessage errorMessage) { onCancelEnrollment(errorMessage.getMsgId()); stopIconAnimation(); removeEnrollmentObservers(); if (mEnrollingViewModel.getOnBackPressed() && errorMessage.getMsgId() == FingerprintManager.FINGERPRINT_ERROR_CANCELED) { mEnrollingViewModel.onCancelledDueToOnBackPressed(); } else if (mEnrollingViewModel.getOnSkipPressed() && errorMessage.getMsgId() == FingerprintManager.FINGERPRINT_ERROR_CANCELED) { mEnrollingViewModel.onCancelledDueToOnSkipPressed(); } else { final int errMsgId = errorMessage.getMsgId(); mEnrollingViewModel.showErrorDialog( new FingerprintEnrollEnrollingViewModel.ErrorDialogData( mView.getContext().getString( FingerprintErrorDialog.getErrorMessage(errMsgId)), mView.getContext().getString( FingerprintErrorDialog.getErrorTitle(errMsgId)), errMsgId )); mProgressViewModel.cancelEnrollment(); } } private void onEnrollmentProgressChange(@NonNull EnrollmentProgress progress) { Loading Loading @@ -398,7 +410,6 @@ public class FingerprintEnrollEnrollingRfpsFragment extends Fragment { } } @Override public void onDestroy() { // TODO stopListenOrientationEvent(); Loading Loading @@ -444,7 +455,6 @@ public class FingerprintEnrollEnrollingRfpsFragment extends Fragment { private void showIconTouchDialog() { mIconTouchCount = 0; //TODO EnrollingActivity should observe live data and add dialog fragment mEnrollingViewModel.onIconTouchDialogShow(); } Loading src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingSfpsFragment.java +1 −1 Original line number Diff line number Diff line Loading @@ -113,7 +113,7 @@ public class FingerprintEnrollEnrollingSfpsFragment extends Fragment { private boolean mHaveShownSfpsRightEdgeLottie; private final View.OnClickListener mOnSkipClickListener = (v) -> mEnrollingViewModel.onSkipButtonClick(); (v) -> mEnrollingViewModel.onCancelledDueToOnSkipPressed(); private final Observer<EnrollmentProgress> mProgressObserver = progress -> { // TODO }; Loading src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingUdfpsFragment.java +1 −1 Original line number Diff line number Diff line Loading @@ -107,7 +107,7 @@ public class FingerprintEnrollEnrollingUdfpsFragment extends Fragment { private boolean mIsAccessibilityEnabled; private final View.OnClickListener mOnSkipClickListener = (v) -> mEnrollingViewModel.onSkipButtonClick(); (v) -> mEnrollingViewModel.onCancelledDueToOnSkipPressed(); private final Observer<EnrollmentProgress> mProgressObserver = progress -> { // TODO }; Loading src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivity.java +6 −2 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnr import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ENROLL_ENROLLING_ACTION_DONE; import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ENROLL_ENROLLING_ACTION_SHOW_ICON_TOUCH_DIALOG; import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ENROLL_ENROLLING_ACTION_SKIP; import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_BACK_PRESSED; import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_FINISH; import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_TIMEOUT; import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FingerprintEnrollEnrollingAction; Loading Loading @@ -453,8 +454,7 @@ public class FingerprintEnrollmentActivity extends FragmentActivity { private void onFindSensorAction(@FingerprintEnrollFindSensorAction int action) { switch (action) { case FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_SKIP: { onSetActivityResult( new ActivityResult(BiometricEnrollBase.RESULT_SKIP, null)); onSetActivityResult(new ActivityResult(BiometricEnrollBase.RESULT_SKIP, null)); return; } case FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_DIALOG: { Loading Loading @@ -487,6 +487,10 @@ public class FingerprintEnrollmentActivity extends FragmentActivity { onSetActivityResult(new ActivityResult(BiometricEnrollBase.RESULT_TIMEOUT, null)); break; } case FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_BACK_PRESSED: { getSupportFragmentManager().popBackStack(); break; } } } Loading src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollEnrollingViewModel.java +45 −3 Original line number Diff line number Diff line Loading @@ -71,11 +71,17 @@ public class FingerprintEnrollEnrollingViewModel extends AndroidViewModel { */ public static final int FINGERPRINT_ENROLL_ENROLLING_ACTION_DISMISS_ICON_TOUCH_DIALOG = 3; /** * Has got latest cancelled event due to back key */ public static final int FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_BACK_PRESSED = 4; @IntDef(prefix = { "FINGERPRINT_ENROLL_ENROLLING_ACTION_" }, value = { FINGERPRINT_ENROLL_ENROLLING_ACTION_SKIP, FINGERPRINT_ENROLL_ENROLLING_ACTION_DONE, FINGERPRINT_ENROLL_ENROLLING_ACTION_SHOW_ICON_TOUCH_DIALOG, FINGERPRINT_ENROLL_ENROLLING_ACTION_DISMISS_ICON_TOUCH_DIALOG FINGERPRINT_ENROLL_ENROLLING_ACTION_DISMISS_ICON_TOUCH_DIALOG, FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_BACK_PRESSED }) @Retention(RetentionPolicy.SOURCE) public @interface FingerprintEnrollEnrollingAction {} Loading Loading @@ -103,8 +109,9 @@ public class FingerprintEnrollEnrollingViewModel extends AndroidViewModel { @Retention(RetentionPolicy.SOURCE) public @interface FingerprintErrorDialogAction {} private final int mUserId; private boolean mOnBackPressed; private boolean mOnSkipPressed; private final FingerprintRepository mFingerprintRepository; private final AccessibilityRepository mAccessibilityRepository; private final VibratorRepository mVibratorRepository; Loading Loading @@ -162,14 +169,26 @@ public class FingerprintEnrollEnrollingViewModel extends AndroidViewModel { mErrorDialogActionLiveData.postValue(action); } public boolean getOnSkipPressed() { return mOnSkipPressed; } /** * User clicks skip button */ public void onSkipButtonClick() { public void setOnSkipPressed() { mOnSkipPressed = true; } /** * Enrolling is cacelled because user clicks skip */ public void onCancelledDueToOnSkipPressed() { final int action = FINGERPRINT_ENROLL_ENROLLING_ACTION_SKIP; if (DEBUG) { Log.d(TAG, "onSkipButtonClick, post action " + action); } mOnSkipPressed = false; mActionLiveData.postValue(action); } Loading @@ -184,6 +203,29 @@ public class FingerprintEnrollEnrollingViewModel extends AndroidViewModel { mActionLiveData.postValue(action); } public boolean getOnBackPressed() { return mOnBackPressed; } /** * Back key is pressed. */ public void setOnBackPressed() { mOnBackPressed = true; } /** * Enrollment is cancelled because back key is pressed. */ public void onCancelledDueToOnBackPressed() { final int action = FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_BACK_PRESSED; if (DEBUG) { Log.d(TAG, "onCancelledEventReceivedAfterOnBackPressed, post action " + action); } mOnBackPressed = false; mActionLiveData.postValue(action); } /** * Icon touch dialog show */ Loading Loading
src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingRfpsFragment.java +44 −34 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.graphics.drawable.Animatable2; import android.graphics.drawable.AnimatedVectorDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.LayerDrawable; import android.hardware.fingerprint.FingerprintManager; import android.os.Bundle; import android.text.TextUtils; import android.util.Log; Loading @@ -40,7 +41,7 @@ import android.view.animation.Interpolator; import android.widget.ProgressBar; import android.widget.TextView; import androidx.annotation.IdRes; import androidx.activity.OnBackPressedCallback; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; Loading @@ -52,7 +53,6 @@ import com.android.settings.R; import com.android.settings.biometrics.fingerprint.FingerprintErrorDialog; import com.android.settings.biometrics2.ui.model.EnrollmentProgress; import com.android.settings.biometrics2.ui.model.EnrollmentStatusMessage; import com.android.settings.biometrics2.ui.viewmodel.DeviceRotationViewModel; import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel; import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollProgressViewModel; Loading Loading @@ -80,7 +80,6 @@ public class FingerprintEnrollEnrollingRfpsFragment extends Fragment { private static final int HINT_TIMEOUT_DURATION = 2500; private FingerprintEnrollEnrollingViewModel mEnrollingViewModel; private DeviceRotationViewModel mRotationViewModel; private FingerprintEnrollProgressViewModel mProgressViewModel; private Interpolator mFastOutSlowInInterpolator; Loading @@ -92,13 +91,13 @@ public class FingerprintEnrollEnrollingRfpsFragment extends Fragment { private ProgressBar mProgressBar; private ObjectAnimator mProgressAnim; private TextView mErrorText; private FooterBarMixin mFooterBarMixin; private AnimatedVectorDrawable mIconAnimationDrawable; private AnimatedVectorDrawable mIconBackgroundBlinksDrawable; private int mIconTouchCount; private final View.OnClickListener mOnSkipClickListener = v -> { mProgressViewModel.cancelEnrollment(); mEnrollingViewModel.onSkipButtonClick(); mEnrollingViewModel.setOnSkipPressed(); cancelEnrollment(); }; private final Observer<EnrollmentProgress> mProgressObserver = progress -> { Loading Loading @@ -128,16 +127,21 @@ public class FingerprintEnrollEnrollingRfpsFragment extends Fragment { } }; private int mIconTouchCount; @Override public void onAttach(@NonNull Context context) { final FragmentActivity activity = getActivity(); final ViewModelProvider provider = new ViewModelProvider(activity); mEnrollingViewModel = provider.get(FingerprintEnrollEnrollingViewModel.class); mRotationViewModel = provider.get(DeviceRotationViewModel.class); mProgressViewModel = provider.get(FingerprintEnrollProgressViewModel.class); super.onAttach(context); requireActivity().getOnBackPressedDispatcher().addCallback(new OnBackPressedCallback(true) { @Override public void handleOnBackPressed() { setEnabled(false); mEnrollingViewModel.setOnBackPressed(); cancelEnrollment(); } }); } @Nullable Loading Loading @@ -198,8 +202,7 @@ public class FingerprintEnrollEnrollingRfpsFragment extends Fragment { mErrorText = containView.findViewById(R.id.error_text); mProgressBar = containView.findViewById(R.id.fingerprint_progress_bar); mFooterBarMixin = containView.getMixin(FooterBarMixin.class); mFooterBarMixin.setSecondaryButton( containView.getMixin(FooterBarMixin.class).setSecondaryButton( new FooterButton.Builder(activity) .setText(R.string.security_settings_fingerprint_enroll_enrolling_skip) .setListener(mOnSkipClickListener) Loading Loading @@ -263,39 +266,28 @@ public class FingerprintEnrollEnrollingRfpsFragment extends Fragment { } } private void onCancelEnrollment(@IdRes int errorMsgId) { // TODO // showErrorDialog() will cause onWindowFocusChanged(false), set mIsCanceled to false // before showErrorDialog() to prevent that another error dialog is triggered again. // TODO mIsCanceled = true; // TODO mIsOrientationChanged = false; mEnrollingViewModel.showErrorDialog(new FingerprintEnrollEnrollingViewModel.ErrorDialogData( mView.getContext().getString(FingerprintErrorDialog.getErrorMessage(errorMsgId)), mView.getContext().getString(FingerprintErrorDialog.getErrorTitle(errorMsgId)), errorMsgId )); cancelEnrollment(); stopIconAnimation(); } @Override public void onStop() { stopIconAnimation(); removeEnrollmentObserver(); if (!getActivity().isChangingConfigurations()) { removeEnrollmentObservers(); if (!getActivity().isChangingConfigurations() && mProgressViewModel.isEnrolling()) { mProgressViewModel.cancelEnrollment(); } super.onStop(); } private void removeEnrollmentObserver() { private void removeEnrollmentObservers() { preRemoveEnrollmentObservers(); mProgressViewModel.getErrorMessageLiveData().removeObserver(mErrorMessageObserver); } private void preRemoveEnrollmentObservers() { mProgressViewModel.getProgressLiveData().removeObserver(mProgressObserver); mProgressViewModel.getHelpMessageLiveData().removeObserver(mHelpMessageObserver); mProgressViewModel.getErrorMessageLiveData().removeObserver(mErrorMessageObserver); } private void cancelEnrollment() { removeEnrollmentObserver(); preRemoveEnrollmentObservers(); mProgressViewModel.cancelEnrollment(); } Loading @@ -318,7 +310,27 @@ public class FingerprintEnrollEnrollingRfpsFragment extends Fragment { } private void onEnrollmentError(@NonNull EnrollmentStatusMessage errorMessage) { onCancelEnrollment(errorMessage.getMsgId()); stopIconAnimation(); removeEnrollmentObservers(); if (mEnrollingViewModel.getOnBackPressed() && errorMessage.getMsgId() == FingerprintManager.FINGERPRINT_ERROR_CANCELED) { mEnrollingViewModel.onCancelledDueToOnBackPressed(); } else if (mEnrollingViewModel.getOnSkipPressed() && errorMessage.getMsgId() == FingerprintManager.FINGERPRINT_ERROR_CANCELED) { mEnrollingViewModel.onCancelledDueToOnSkipPressed(); } else { final int errMsgId = errorMessage.getMsgId(); mEnrollingViewModel.showErrorDialog( new FingerprintEnrollEnrollingViewModel.ErrorDialogData( mView.getContext().getString( FingerprintErrorDialog.getErrorMessage(errMsgId)), mView.getContext().getString( FingerprintErrorDialog.getErrorTitle(errMsgId)), errMsgId )); mProgressViewModel.cancelEnrollment(); } } private void onEnrollmentProgressChange(@NonNull EnrollmentProgress progress) { Loading Loading @@ -398,7 +410,6 @@ public class FingerprintEnrollEnrollingRfpsFragment extends Fragment { } } @Override public void onDestroy() { // TODO stopListenOrientationEvent(); Loading Loading @@ -444,7 +455,6 @@ public class FingerprintEnrollEnrollingRfpsFragment extends Fragment { private void showIconTouchDialog() { mIconTouchCount = 0; //TODO EnrollingActivity should observe live data and add dialog fragment mEnrollingViewModel.onIconTouchDialogShow(); } Loading
src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingSfpsFragment.java +1 −1 Original line number Diff line number Diff line Loading @@ -113,7 +113,7 @@ public class FingerprintEnrollEnrollingSfpsFragment extends Fragment { private boolean mHaveShownSfpsRightEdgeLottie; private final View.OnClickListener mOnSkipClickListener = (v) -> mEnrollingViewModel.onSkipButtonClick(); (v) -> mEnrollingViewModel.onCancelledDueToOnSkipPressed(); private final Observer<EnrollmentProgress> mProgressObserver = progress -> { // TODO }; Loading
src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingUdfpsFragment.java +1 −1 Original line number Diff line number Diff line Loading @@ -107,7 +107,7 @@ public class FingerprintEnrollEnrollingUdfpsFragment extends Fragment { private boolean mIsAccessibilityEnabled; private final View.OnClickListener mOnSkipClickListener = (v) -> mEnrollingViewModel.onSkipButtonClick(); (v) -> mEnrollingViewModel.onCancelledDueToOnSkipPressed(); private final Observer<EnrollmentProgress> mProgressObserver = progress -> { // TODO }; Loading
src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivity.java +6 −2 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnr import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ENROLL_ENROLLING_ACTION_DONE; import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ENROLL_ENROLLING_ACTION_SHOW_ICON_TOUCH_DIALOG; import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ENROLL_ENROLLING_ACTION_SKIP; import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_BACK_PRESSED; import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_FINISH; import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_TIMEOUT; import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FingerprintEnrollEnrollingAction; Loading Loading @@ -453,8 +454,7 @@ public class FingerprintEnrollmentActivity extends FragmentActivity { private void onFindSensorAction(@FingerprintEnrollFindSensorAction int action) { switch (action) { case FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_SKIP: { onSetActivityResult( new ActivityResult(BiometricEnrollBase.RESULT_SKIP, null)); onSetActivityResult(new ActivityResult(BiometricEnrollBase.RESULT_SKIP, null)); return; } case FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_DIALOG: { Loading Loading @@ -487,6 +487,10 @@ public class FingerprintEnrollmentActivity extends FragmentActivity { onSetActivityResult(new ActivityResult(BiometricEnrollBase.RESULT_TIMEOUT, null)); break; } case FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_BACK_PRESSED: { getSupportFragmentManager().popBackStack(); break; } } } Loading
src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollEnrollingViewModel.java +45 −3 Original line number Diff line number Diff line Loading @@ -71,11 +71,17 @@ public class FingerprintEnrollEnrollingViewModel extends AndroidViewModel { */ public static final int FINGERPRINT_ENROLL_ENROLLING_ACTION_DISMISS_ICON_TOUCH_DIALOG = 3; /** * Has got latest cancelled event due to back key */ public static final int FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_BACK_PRESSED = 4; @IntDef(prefix = { "FINGERPRINT_ENROLL_ENROLLING_ACTION_" }, value = { FINGERPRINT_ENROLL_ENROLLING_ACTION_SKIP, FINGERPRINT_ENROLL_ENROLLING_ACTION_DONE, FINGERPRINT_ENROLL_ENROLLING_ACTION_SHOW_ICON_TOUCH_DIALOG, FINGERPRINT_ENROLL_ENROLLING_ACTION_DISMISS_ICON_TOUCH_DIALOG FINGERPRINT_ENROLL_ENROLLING_ACTION_DISMISS_ICON_TOUCH_DIALOG, FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_BACK_PRESSED }) @Retention(RetentionPolicy.SOURCE) public @interface FingerprintEnrollEnrollingAction {} Loading Loading @@ -103,8 +109,9 @@ public class FingerprintEnrollEnrollingViewModel extends AndroidViewModel { @Retention(RetentionPolicy.SOURCE) public @interface FingerprintErrorDialogAction {} private final int mUserId; private boolean mOnBackPressed; private boolean mOnSkipPressed; private final FingerprintRepository mFingerprintRepository; private final AccessibilityRepository mAccessibilityRepository; private final VibratorRepository mVibratorRepository; Loading Loading @@ -162,14 +169,26 @@ public class FingerprintEnrollEnrollingViewModel extends AndroidViewModel { mErrorDialogActionLiveData.postValue(action); } public boolean getOnSkipPressed() { return mOnSkipPressed; } /** * User clicks skip button */ public void onSkipButtonClick() { public void setOnSkipPressed() { mOnSkipPressed = true; } /** * Enrolling is cacelled because user clicks skip */ public void onCancelledDueToOnSkipPressed() { final int action = FINGERPRINT_ENROLL_ENROLLING_ACTION_SKIP; if (DEBUG) { Log.d(TAG, "onSkipButtonClick, post action " + action); } mOnSkipPressed = false; mActionLiveData.postValue(action); } Loading @@ -184,6 +203,29 @@ public class FingerprintEnrollEnrollingViewModel extends AndroidViewModel { mActionLiveData.postValue(action); } public boolean getOnBackPressed() { return mOnBackPressed; } /** * Back key is pressed. */ public void setOnBackPressed() { mOnBackPressed = true; } /** * Enrollment is cancelled because back key is pressed. */ public void onCancelledDueToOnBackPressed() { final int action = FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_BACK_PRESSED; if (DEBUG) { Log.d(TAG, "onCancelledEventReceivedAfterOnBackPressed, post action " + action); } mOnBackPressed = false; mActionLiveData.postValue(action); } /** * Icon touch dialog show */ Loading