Remove multi-biometric interstitial screen in SUW

On devices with multiple biometric sensors, this removes the
interstitial screen in Setup Wizard that let the user choose whether to
enroll face, fingerprint, or both. Instead, such devices will always
show face enrollment followed by fingerprint, with the option to skip
either or both.

Test: Manually tested all enroll/skip combinations in SUW

Fixes: 183720580
Change-Id: I7f045579f732196bde28dd96e9443e4bb4c906ae
This commit is contained in:
Curtis Belmonte
2021-04-16 15:09:03 -07:00
parent 4752ea17b9
commit 5f1d13e3b0
7 changed files with 18 additions and 358 deletions

View File

@@ -16,7 +16,6 @@
package com.android.settings.biometrics;
import android.app.Activity;
import android.app.PendingIntent;
import android.content.Intent;
import android.hardware.face.FaceManager;
@@ -24,6 +23,7 @@ import android.hardware.fingerprint.FingerprintManager;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.fragment.app.FragmentActivity;
import com.android.settings.password.ChooseLockSettingsHelper;
@@ -39,13 +39,13 @@ public class MultiBiometricEnrollHelper {
public static final String EXTRA_ENROLL_AFTER_FACE = "enroll_after_face";
@NonNull private final BiometricEnrollActivity mActivity;
@NonNull private final FragmentActivity mActivity;
private final long mGkPwHandle;
private final int mUserId;
private final boolean mRequestEnrollFace;
private final boolean mRequestEnrollFingerprint;
MultiBiometricEnrollHelper(@NonNull BiometricEnrollActivity activity, int userId,
MultiBiometricEnrollHelper(@NonNull FragmentActivity activity, int userId,
boolean enrollFace, boolean enrollFingerprint, long gkPwHandle) {
mActivity = activity;
mUserId = userId;
@@ -108,10 +108,8 @@ public class MultiBiometricEnrollHelper {
void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.d(TAG, "RequestCode: " + requestCode + " resultCode: " + resultCode);
if (resultCode != Activity.RESULT_CANCELED) {
BiometricUtils.removeGatekeeperPasswordHandle(mActivity, mGkPwHandle);
mActivity.setResult(resultCode);
mActivity.finish();
}
BiometricUtils.removeGatekeeperPasswordHandle(mActivity, mGkPwHandle);
mActivity.setResult(resultCode);
mActivity.finish();
}
}