Loading src/com/android/settings/biometrics/fingerprint/FingerprintErrorDialog.java +8 −2 Original line number Diff line number Diff line Loading @@ -123,7 +123,10 @@ public class FingerprintErrorDialog extends InstrumentedDialogFragment { dialog.show(fragmentManager, FingerprintErrorDialog.class.getName()); } private static int getErrorMessage(int errMsgId) { /** * Gets dialog message as error id inside {@link FingerprintManager} */ public static int getErrorMessage(int errMsgId) { switch (errMsgId) { case FingerprintManager.FINGERPRINT_ERROR_TIMEOUT: // This message happens when the underlying crypto layer decides to revoke Loading @@ -137,7 +140,10 @@ public class FingerprintErrorDialog extends InstrumentedDialogFragment { } } private static int getErrorTitle(int errMsgId) { /** * Gets dialog title as error id inside {@link FingerprintManager} */ public static int getErrorTitle(int errMsgId) { switch (errMsgId) { case FingerprintManager.FINGERPRINT_ERROR_UNABLE_TO_PROCESS: return R.string Loading src/com/android/settings/biometrics2/data/repository/FingerprintRepository.java +4 −1 Original line number Diff line number Diff line Loading @@ -98,8 +98,11 @@ public class FingerprintRepository { return resources.getInteger(R.integer.suw_max_fingerprints_enrollable); } /** * Gets the first FingerprintSensorPropertiesInternal from FingerprintManager */ @Nullable private FingerprintSensorPropertiesInternal getFirstFingerprintSensorPropertiesInternal() { public FingerprintSensorPropertiesInternal getFirstFingerprintSensorPropertiesInternal() { final List<FingerprintSensorPropertiesInternal> props = mSensorPropertiesCache; if (props == null) { // Handle this case if it really happens Loading src/com/android/settings/biometrics2/factory/BiometricsViewModelFactory.java +2 −1 Original line number Diff line number Diff line Loading @@ -113,13 +113,14 @@ public class BiometricsViewModelFactory implements ViewModelProvider.Factory { new FingerprintUpdater(application), userId); } } else if (modelClass.isAssignableFrom(FingerprintEnrollEnrollingViewModel.class)) { final Integer userId = extras.get(USER_ID_KEY); final FingerprintRepository fingerprint = provider.getFingerprintRepository( application); final AccessibilityRepository accessibility = provider.getAccessibilityRepository( application); final VibratorRepository vibrator = provider.getVibratorRepository(application); if (fingerprint != null && accessibility != null && vibrator != null) { return (T) new FingerprintEnrollEnrollingViewModel(application, fingerprint, return (T) new FingerprintEnrollEnrollingViewModel(application, userId, fingerprint, accessibility, vibrator); } } Loading src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingErrorDialog.java 0 → 100644 +95 −0 Original line number Diff line number Diff line /* * Copyright 2021 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.biometrics2.ui.view; import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.ErrorDialogData; import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ERROR_DIALOG_ACTION_RESTART; 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 android.app.Dialog; import android.app.settings.SettingsEnums; import android.content.Context; import android.hardware.biometrics.BiometricConstants; import android.os.Bundle; import androidx.appcompat.app.AlertDialog; import androidx.lifecycle.ViewModelProvider; import com.android.settings.R; import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; /** * Fingerprint error dialog, will be shown when an error occurs during fingerprint enrollment. */ public class FingerprintEnrollEnrollingErrorDialog extends InstrumentedDialogFragment { private FingerprintEnrollEnrollingViewModel mViewModel; @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); final ErrorDialogData data = mViewModel.getErrorDialogLiveData().getValue(); final int errMsgId = data.getErrMsgId(); final boolean canAssumeUdfps = mViewModel.canAssumeUdfps(); final boolean wasTimeout = errMsgId == BiometricConstants.BIOMETRIC_ERROR_TIMEOUT; builder.setTitle(data.getErrTitle()) .setMessage(data.getErrMsg()) .setCancelable(false); if (wasTimeout && canAssumeUdfps) { builder.setPositiveButton( R.string.security_settings_fingerprint_enroll_dialog_try_again, (dialog, which) -> { dialog.dismiss(); mViewModel.onErrorDialogAction(FINGERPRINT_ERROR_DIALOG_ACTION_RESTART); }); builder.setNegativeButton( R.string.security_settings_fingerprint_enroll_dialog_ok, (dialog, which) -> { dialog.dismiss(); mViewModel.onErrorDialogAction( FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_TIMEOUT); }); } else { builder.setPositiveButton( R.string.security_settings_fingerprint_enroll_dialog_ok, (dialog, which) -> { dialog.dismiss(); mViewModel.onErrorDialogAction(wasTimeout ? FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_TIMEOUT : FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_FINISH); }); } final AlertDialog dialog = builder.create(); dialog.setCanceledOnTouchOutside(false); return dialog; } @Override public int getMetricsCategory() { return SettingsEnums.DIALOG_FINGERPINT_ERROR; } @Override public void onAttach(Context context) { mViewModel = new ViewModelProvider(getActivity()).get( FingerprintEnrollEnrollingViewModel.class); super.onAttach(context); } } src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingRfpsFragment.java +363 −84 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
src/com/android/settings/biometrics/fingerprint/FingerprintErrorDialog.java +8 −2 Original line number Diff line number Diff line Loading @@ -123,7 +123,10 @@ public class FingerprintErrorDialog extends InstrumentedDialogFragment { dialog.show(fragmentManager, FingerprintErrorDialog.class.getName()); } private static int getErrorMessage(int errMsgId) { /** * Gets dialog message as error id inside {@link FingerprintManager} */ public static int getErrorMessage(int errMsgId) { switch (errMsgId) { case FingerprintManager.FINGERPRINT_ERROR_TIMEOUT: // This message happens when the underlying crypto layer decides to revoke Loading @@ -137,7 +140,10 @@ public class FingerprintErrorDialog extends InstrumentedDialogFragment { } } private static int getErrorTitle(int errMsgId) { /** * Gets dialog title as error id inside {@link FingerprintManager} */ public static int getErrorTitle(int errMsgId) { switch (errMsgId) { case FingerprintManager.FINGERPRINT_ERROR_UNABLE_TO_PROCESS: return R.string Loading
src/com/android/settings/biometrics2/data/repository/FingerprintRepository.java +4 −1 Original line number Diff line number Diff line Loading @@ -98,8 +98,11 @@ public class FingerprintRepository { return resources.getInteger(R.integer.suw_max_fingerprints_enrollable); } /** * Gets the first FingerprintSensorPropertiesInternal from FingerprintManager */ @Nullable private FingerprintSensorPropertiesInternal getFirstFingerprintSensorPropertiesInternal() { public FingerprintSensorPropertiesInternal getFirstFingerprintSensorPropertiesInternal() { final List<FingerprintSensorPropertiesInternal> props = mSensorPropertiesCache; if (props == null) { // Handle this case if it really happens Loading
src/com/android/settings/biometrics2/factory/BiometricsViewModelFactory.java +2 −1 Original line number Diff line number Diff line Loading @@ -113,13 +113,14 @@ public class BiometricsViewModelFactory implements ViewModelProvider.Factory { new FingerprintUpdater(application), userId); } } else if (modelClass.isAssignableFrom(FingerprintEnrollEnrollingViewModel.class)) { final Integer userId = extras.get(USER_ID_KEY); final FingerprintRepository fingerprint = provider.getFingerprintRepository( application); final AccessibilityRepository accessibility = provider.getAccessibilityRepository( application); final VibratorRepository vibrator = provider.getVibratorRepository(application); if (fingerprint != null && accessibility != null && vibrator != null) { return (T) new FingerprintEnrollEnrollingViewModel(application, fingerprint, return (T) new FingerprintEnrollEnrollingViewModel(application, userId, fingerprint, accessibility, vibrator); } } Loading
src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingErrorDialog.java 0 → 100644 +95 −0 Original line number Diff line number Diff line /* * Copyright 2021 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.biometrics2.ui.view; import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.ErrorDialogData; import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ERROR_DIALOG_ACTION_RESTART; 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 android.app.Dialog; import android.app.settings.SettingsEnums; import android.content.Context; import android.hardware.biometrics.BiometricConstants; import android.os.Bundle; import androidx.appcompat.app.AlertDialog; import androidx.lifecycle.ViewModelProvider; import com.android.settings.R; import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; /** * Fingerprint error dialog, will be shown when an error occurs during fingerprint enrollment. */ public class FingerprintEnrollEnrollingErrorDialog extends InstrumentedDialogFragment { private FingerprintEnrollEnrollingViewModel mViewModel; @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); final ErrorDialogData data = mViewModel.getErrorDialogLiveData().getValue(); final int errMsgId = data.getErrMsgId(); final boolean canAssumeUdfps = mViewModel.canAssumeUdfps(); final boolean wasTimeout = errMsgId == BiometricConstants.BIOMETRIC_ERROR_TIMEOUT; builder.setTitle(data.getErrTitle()) .setMessage(data.getErrMsg()) .setCancelable(false); if (wasTimeout && canAssumeUdfps) { builder.setPositiveButton( R.string.security_settings_fingerprint_enroll_dialog_try_again, (dialog, which) -> { dialog.dismiss(); mViewModel.onErrorDialogAction(FINGERPRINT_ERROR_DIALOG_ACTION_RESTART); }); builder.setNegativeButton( R.string.security_settings_fingerprint_enroll_dialog_ok, (dialog, which) -> { dialog.dismiss(); mViewModel.onErrorDialogAction( FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_TIMEOUT); }); } else { builder.setPositiveButton( R.string.security_settings_fingerprint_enroll_dialog_ok, (dialog, which) -> { dialog.dismiss(); mViewModel.onErrorDialogAction(wasTimeout ? FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_TIMEOUT : FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_FINISH); }); } final AlertDialog dialog = builder.create(); dialog.setCanceledOnTouchOutside(false); return dialog; } @Override public int getMetricsCategory() { return SettingsEnums.DIALOG_FINGERPINT_ERROR; } @Override public void onAttach(Context context) { mViewModel = new ViewModelProvider(getActivity()).get( FingerprintEnrollEnrollingViewModel.class); super.onAttach(context); } }
src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingRfpsFragment.java +363 −84 File changed.Preview size limit exceeded, changes collapsed. Show changes