Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f6a58a36 authored by Joe Bolinger's avatar Joe Bolinger
Browse files

Drop PendingIntent extras from external packages during enrollment.

Bug: 388528350
Flag: EXEMPT bugfix
Test: atest FingerprintEnrollIntroductionTest FaceEnrollIntroductionTest
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:4ccdeee849d5fef78498ba33cadc525523efcbd7)
Merged-In: I61281dcf95e53100a96d6a218f3f00fd1b4ea3f9
Change-Id: I61281dcf95e53100a96d6a218f3f00fd1b4ea3f9
parent 9e7a97cf
Loading
Loading
Loading
Loading
+18 −2
Original line number Diff line number Diff line
@@ -48,6 +48,8 @@ import com.google.android.setupdesign.span.LinkSpan;
import com.google.android.setupdesign.template.RequireScrollMixin;
import com.google.android.setupdesign.util.DynamicColorPalette;

import java.util.List;

/**
 * Abstract base class for the intro onboarding activity for biometric enrollment.
 */
@@ -232,6 +234,19 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase
                });
    }

    @Override
    protected void onStart() {
        super.onStart();

        if (!getPackageName().equals(getCallingPackage())) {
            for (String key : List.of(MultiBiometricEnrollHelper.EXTRA_SKIP_PENDING_ENROLL,
                    MultiBiometricEnrollHelper.EXTRA_ENROLL_AFTER_FACE,
                    MultiBiometricEnrollHelper.EXTRA_ENROLL_AFTER_FINGERPRINT)) {
                getIntent().removeExtra(key);
            }
        }
    }

    @Override
    protected void onResume() {
        super.onResume();
@@ -443,14 +458,15 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase
        getIntent().removeExtra(MultiBiometricEnrollHelper.EXTRA_ENROLL_AFTER_FINGERPRINT);
    }

    protected void removeEnrollNextBiometricIfSkipEnroll(@Nullable Intent data) {
    private void removeEnrollNextBiometricIfSkipEnroll(@Nullable Intent data) {
        if (data != null
                && data.getBooleanExtra(
                        MultiBiometricEnrollHelper.EXTRA_SKIP_PENDING_ENROLL, false)) {
            removeEnrollNextBiometric();
        }
    }
    protected void handleBiometricResultSkipOrFinished(int resultCode, @Nullable Intent data) {

    private void handleBiometricResultSkipOrFinished(int resultCode, @Nullable Intent data) {
        removeEnrollNextBiometricIfSkipEnroll(data);
        if (resultCode == RESULT_SKIP) {
            onEnrollmentSkipped(data);