Move multi-biometric logic to base fp intro activity am: 0a8916a808

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15339693

Change-Id: I5ff75c167d643bea4758c05a919e629cf3766ab7
This commit is contained in:
Curtis Belmonte
2021-07-21 00:35:13 +00:00
committed by Automerger Merge Worker
2 changed files with 38 additions and 24 deletions

View File

@@ -24,6 +24,7 @@ import android.hardware.fingerprint.FingerprintManager;
import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
@@ -35,7 +36,9 @@ import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.biometrics.BiometricEnrollIntroduction;
import com.android.settings.biometrics.BiometricUtils;
import com.android.settings.biometrics.MultiBiometricEnrollHelper;
import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.settings.password.SetupSkipDialog;
import com.android.settingslib.HelpUtils;
import com.android.settingslib.RestrictedLockUtilsInternal;
@@ -89,6 +92,32 @@ public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction {
footerTitle2.setText(getFooterTitle2());
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// If user has skipped or finished enrolling, don't restart enrollment.
final boolean isEnrollRequest = requestCode == BIOMETRIC_FIND_SENSOR_REQUEST
|| requestCode == ENROLL_NEXT_BIOMETRIC_REQUEST;
final boolean isResultSkipOrFinished = resultCode == RESULT_SKIP
|| resultCode == SetupSkipDialog.RESULT_SKIP || resultCode == RESULT_FINISHED;
if (isEnrollRequest && isResultSkipOrFinished) {
data = setSkipPendingEnroll(data);
}
super.onActivityResult(requestCode, resultCode, data);
}
@Override
protected void onCancelButtonClick(View view) {
// User has explicitly canceled enroll. Don't restart it automatically.
Intent data = setSkipPendingEnroll(new Intent());
setResult(RESULT_SKIP, data);
finish();
}
@Override
protected void onSkipButtonClick(View view) {
onCancelButtonClick(view);
}
@StringRes
int getNegativeButtonTextId() {
return R.string.security_settings_fingerprint_enroll_introduction_no_thanks;
@@ -282,4 +311,13 @@ public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction {
protected int getMoreButtonTextRes() {
return R.string.security_settings_face_enroll_introduction_more;
}
@NonNull
protected static Intent setSkipPendingEnroll(@Nullable Intent data) {
if (data == null) {
data = new Intent();
}
data.putExtra(MultiBiometricEnrollHelper.EXTRA_SKIP_PENDING_ENROLL, true);
return data;
}
}

View File

@@ -29,7 +29,6 @@ import com.android.internal.widget.LockPatternUtils;
import com.android.settings.SetupWizardUtils;
import com.android.settings.Utils;
import com.android.settings.biometrics.BiometricUtils;
import com.android.settings.biometrics.MultiBiometricEnrollHelper;
import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.settings.password.SetupChooseLockGeneric;
import com.android.settings.password.SetupSkipDialog;
@@ -85,16 +84,6 @@ public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntrodu
data = setFingerprintCount(data);
}
}
// If user has skipped or finished enrolling, don't restart enrollment.
final boolean isEnrollRequest = requestCode == BIOMETRIC_FIND_SENSOR_REQUEST
|| requestCode == ENROLL_NEXT_BIOMETRIC_REQUEST;
final boolean isResultSkipOrFinished = resultCode == RESULT_SKIP
|| resultCode == SetupSkipDialog.RESULT_SKIP || resultCode == RESULT_FINISHED;
if (isEnrollRequest && isResultSkipOrFinished) {
data = setSkipPendingEnroll(data);
}
super.onActivityResult(requestCode, resultCode, data);
}
@@ -122,14 +111,6 @@ public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntrodu
return data;
}
private Intent setSkipPendingEnroll(Intent data) {
if (data == null) {
data = new Intent();
}
data.putExtra(MultiBiometricEnrollHelper.EXTRA_SKIP_PENDING_ENROLL, true);
return data;
}
@Override
protected void onCancelButtonClick(View view) {
final int resultCode;
@@ -151,11 +132,6 @@ public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntrodu
finish();
}
@Override
protected void onSkipButtonClick(View view) {
onCancelButtonClick(view);
}
/**
* Propagate lock screen metrics if the user goes back from the fingerprint setup screen
* after having added lock screen to his device.