(1/N) Biometric error dialog

Add an error dialog to help user recover from biometric error for
identity check feature

Flags: android.hardware.biometrics.flag.mandatory_biometrics
Fixes: 358641110
Fixes: 358179610
Test: atest DevelopmentSettingsDashboardFragmentTest

Change-Id: I6099bc57672b945fa4fa4de98be35bd097403b22
This commit is contained in:
Diya Bera
2024-09-16 22:48:11 +00:00
parent 3f7e49dbc6
commit 5335e26b29
6 changed files with 325 additions and 0 deletions

View File

@@ -76,6 +76,7 @@ import com.android.settings.development.graphicsdriver.GraphicsDriverEnableAngle
import com.android.settings.development.qstile.DevelopmentTiles;
import com.android.settings.development.storage.SharedDataPreferenceController;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.password.ConfirmDeviceCredentialActivity;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.actionbar.SearchMenuController;
import com.android.settings.widget.SettingsMainSwitchBar;
@@ -377,6 +378,8 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra
userId, false /* hideBackground */);
} else if (biometricAuthStatus != Utils.BiometricStatus.NOT_ACTIVE) {
mSwitchBar.setChecked(false);
BiometricErrorDialog.showBiometricErrorDialog(
getActivity(), biometricAuthStatus);
} else {
//Reset biometrics once enable dialog is shown
mIsBiometricsAuthenticated = false;
@@ -559,6 +562,10 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra
if (resultCode == RESULT_OK) {
mIsBiometricsAuthenticated = true;
mSwitchBar.setChecked(true);
} else if (resultCode
== ConfirmDeviceCredentialActivity.BIOMETRIC_LOCKOUT_ERROR_RESULT) {
BiometricErrorDialog.showBiometricErrorDialog(getActivity(),
Utils.BiometricStatus.LOCKOUT);
}
}
for (AbstractPreferenceController controller : mPreferenceControllers) {