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

Commit a2910ec1 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 9010110 from bbcdc919 to tm-qpr1-release

Change-Id: I9c314c19dc1e92d4f4a2e63f125879fc3188fff5
parents ba3378e5 bbcdc919
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -199,6 +199,8 @@
                    android:layout_width="16dp"
                    android:layout_width="16dp"
                    android:layout_height="wrap_content"/>
                    android:layout_height="wrap_content"/>
                <TextView
                <TextView
                    android:id="@+id/footer_learn_more"
                    android:linksClickable="true"
                    android:layout_width="match_parent"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_height="wrap_content"
                    style="@style/BiometricEnrollIntroMessage"
                    style="@style/BiometricEnrollIntroMessage"
+1 −15
Original line number Original line Diff line number Diff line
@@ -24,8 +24,6 @@ import android.view.View;
import com.android.settings.R;
import com.android.settings.R;
import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.settings.password.ChooseLockSettingsHelper;


import com.google.android.setupcompat.util.WizardManagerHelper;

/**
/**
 * Abstract base activity which handles the actual enrolling for biometrics.
 * Abstract base activity which handles the actual enrolling for biometrics.
 */
 */
@@ -62,30 +60,18 @@ public abstract class BiometricsEnrollEnrolling extends BiometricEnrollBase


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

        if (mSidecar != null) {
        if (mSidecar != null) {
            mSidecar.setListener(null);
            mSidecar.setListener(null);
        }
        }

        if (!isChangingConfigurations()) {
        if (!isChangingConfigurations()) {
            if (mSidecar != null) {
            if (mSidecar != null) {
                mSidecar.cancelEnrollment();
                mSidecar.cancelEnrollment();
                getSupportFragmentManager()
                getSupportFragmentManager()
                        .beginTransaction().remove(mSidecar).commitAllowingStateLoss();
                        .beginTransaction().remove(mSidecar).commitAllowingStateLoss();
            }
            }
            if (!WizardManagerHelper.isAnySetupWizard(getIntent())
                    && !BiometricUtils.isAnyMultiBiometricFlow(this)) {
                setResult(RESULT_TIMEOUT);
            }
            finish();
        }
        }
        }


    @Override
        super.onStop();
    protected boolean shouldFinishWhenBackgrounded() {
        // Prevent super.onStop() from finishing, since we handle this in our onStop().
        return false;
    }
    }


    @Override
    @Override
+21 −0
Original line number Original line Diff line number Diff line
@@ -31,11 +31,13 @@ import com.android.settings.R;
import com.android.settings.biometrics.BiometricEnrollBase;
import com.android.settings.biometrics.BiometricEnrollBase;
import com.android.settings.biometrics.BiometricEnrollSidecar;
import com.android.settings.biometrics.BiometricEnrollSidecar;
import com.android.settings.biometrics.BiometricErrorDialog;
import com.android.settings.biometrics.BiometricErrorDialog;
import com.android.settings.biometrics.BiometricUtils;
import com.android.settings.biometrics.BiometricsEnrollEnrolling;
import com.android.settings.biometrics.BiometricsEnrollEnrolling;
import com.android.settings.slices.CustomSliceRegistry;
import com.android.settings.slices.CustomSliceRegistry;


import com.google.android.setupcompat.template.FooterBarMixin;
import com.google.android.setupcompat.template.FooterBarMixin;
import com.google.android.setupcompat.template.FooterButton;
import com.google.android.setupcompat.template.FooterButton;
import com.google.android.setupcompat.util.WizardManagerHelper;


import java.util.ArrayList;
import java.util.ArrayList;


@@ -112,6 +114,25 @@ public class FaceEnrollEnrolling extends BiometricsEnrollEnrolling {
        startEnrollment();
        startEnrollment();
    }
    }


    @Override
    protected void onStop() {
        if (!isChangingConfigurations()) {
            if (!WizardManagerHelper.isAnySetupWizard(getIntent())
                    && !BiometricUtils.isAnyMultiBiometricFlow(this)) {
                setResult(RESULT_TIMEOUT);
            }
            finish();
        }

        super.onStop();
    }

    @Override
    protected boolean shouldFinishWhenBackgrounded() {
        // Prevent super.onStop() from finishing, since we handle this in our onStop().
        return false;
    }

    @Override
    @Override
    public void startEnrollment() {
    public void startEnrollment() {
        super.startEnrollment();
        super.startEnrollment();
+5 −1
Original line number Original line Diff line number Diff line
@@ -26,6 +26,8 @@ import android.hardware.biometrics.BiometricAuthenticator;
import android.hardware.face.FaceManager;
import android.hardware.face.FaceManager;
import android.hardware.face.FaceSensorPropertiesInternal;
import android.hardware.face.FaceSensorPropertiesInternal;
import android.os.Bundle;
import android.os.Bundle;
import android.text.Html;
import android.text.method.LinkMovementMethod;
import android.util.Log;
import android.util.Log;
import android.view.View;
import android.view.View;
import android.widget.ImageView;
import android.widget.ImageView;
@@ -120,7 +122,9 @@ public class FaceEnrollIntroduction extends BiometricEnrollIntroduction {
        infoMessageLooking.setText(getInfoMessageLooking());
        infoMessageLooking.setText(getInfoMessageLooking());
        inControlTitle.setText(getInControlTitle());
        inControlTitle.setText(getInControlTitle());
        howMessage.setText(getHowMessage());
        howMessage.setText(getHowMessage());
        inControlMessage.setText(getInControlMessage());
        inControlMessage.setText(Html.fromHtml(getString(getInControlMessage()),
                Html.FROM_HTML_MODE_LEGACY));
        inControlMessage.setMovementMethod(LinkMovementMethod.getInstance());
        lessSecure.setText(getLessSecureMessage());
        lessSecure.setText(getLessSecureMessage());


        // Set up and show the "less secure" info section if necessary.
        // Set up and show the "less secure" info section if necessary.
+56 −9
Original line number Original line Diff line number Diff line
@@ -16,6 +16,8 @@


package com.android.settings.biometrics.fingerprint;
package com.android.settings.biometrics.fingerprint;


import static android.hardware.biometrics.BiometricFingerprintConstants.FINGERPRINT_ERROR_USER_CANCELED;

import android.animation.Animator;
import android.animation.Animator;
import android.animation.ObjectAnimator;
import android.animation.ObjectAnimator;
import android.annotation.IntDef;
import android.annotation.IntDef;
@@ -51,6 +53,7 @@ import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.TextView;


import androidx.annotation.IdRes;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AlertDialog;


import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.annotations.VisibleForTesting;
@@ -80,6 +83,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
    private static final String TAG = "FingerprintEnrollEnrolling";
    private static final String TAG = "FingerprintEnrollEnrolling";
    static final String TAG_SIDECAR = "sidecar";
    static final String TAG_SIDECAR = "sidecar";
    static final String KEY_STATE_CANCELED = "is_canceled";
    static final String KEY_STATE_CANCELED = "is_canceled";
    static final String KEY_STATE_PREVIOUS_ROTATION = "previous_rotation";


    private static final int PROGRESS_BAR_MAX = 10000;
    private static final int PROGRESS_BAR_MAX = 10000;


@@ -134,6 +138,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
    private boolean mRestoring;
    private boolean mRestoring;
    private Vibrator mVibrator;
    private Vibrator mVibrator;
    private boolean mIsSetupWizard;
    private boolean mIsSetupWizard;
    private boolean mIsOrientationChanged;
    private boolean mIsCanceled;
    private boolean mIsCanceled;
    private AccessibilityManager mAccessibilityManager;
    private AccessibilityManager mAccessibilityManager;
    private boolean mIsAccessibilityEnabled;
    private boolean mIsAccessibilityEnabled;
@@ -155,6 +160,23 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
        return defaultDensity == currentDensity;
        return defaultDensity == currentDensity;
    }
    }


    @Override
    public void onWindowFocusChanged(boolean hasFocus) {
        if (hasFocus) {
            return;
        }

        // By UX design, we should ensure seamless enrollment CUJ even though user rotate device.
        // Do NOT cancel enrollment progress after rotating, adding mIsOrientationChanged
        // to judge if the focus changed was triggered by rotation, current WMS has triple callbacks
        // (true > false > true), we need to reset mIsOrientationChanged when !hasFocus callback.
        if (!mIsOrientationChanged) {
            onCancelEnrollment(FINGERPRINT_ERROR_USER_CANCELED);
        } else {
            mIsOrientationChanged = false;
        }
    }

    @Override
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.onCreate(savedInstanceState);
@@ -295,11 +317,15 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
    protected void onSaveInstanceState(Bundle outState) {
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        super.onSaveInstanceState(outState);
        outState.putBoolean(KEY_STATE_CANCELED, mIsCanceled);
        outState.putBoolean(KEY_STATE_CANCELED, mIsCanceled);
        outState.putInt(KEY_STATE_PREVIOUS_ROTATION, mPreviousRotation);
    }
    }


    private void restoreSavedState(Bundle savedInstanceState) {
    private void restoreSavedState(Bundle savedInstanceState) {
        mRestoring = true;
        mRestoring = true;
        mIsCanceled = savedInstanceState.getBoolean(KEY_STATE_CANCELED, false);
        mIsCanceled = savedInstanceState.getBoolean(KEY_STATE_CANCELED, false);
        mPreviousRotation = savedInstanceState.getInt(KEY_STATE_PREVIOUS_ROTATION,
                getDisplay().getRotation());
        mIsOrientationChanged = mPreviousRotation != getDisplay().getRotation();
    }
    }


    @Override
    @Override
@@ -337,10 +363,38 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
        }
        }
    }
    }


    @VisibleForTesting
    void onCancelEnrollment(@IdRes int errorMsgId) {
        FingerprintErrorDialog.showErrorDialog(this, errorMsgId);
        mIsCanceled = true;
        mIsOrientationChanged = false;
        cancelEnrollment();
        stopIconAnimation();
        stopListenOrientationEvent();
        if (!mCanAssumeUdfps) {
            mErrorText.removeCallbacks(mTouchAgainRunnable);
        }
    }

    @Override
    @Override
    protected void onStop() {
    protected void onStop() {
        super.onStop();
        if (!isChangingConfigurations()) {
            if (!WizardManagerHelper.isAnySetupWizard(getIntent())
                    && !BiometricUtils.isAnyMultiBiometricFlow(this)
                    && !mFromSettingsSummary) {
                setResult(RESULT_TIMEOUT);
            }
            finish();
        }
        stopIconAnimation();
        stopIconAnimation();

        super.onStop();
    }

    @Override
    protected boolean shouldFinishWhenBackgrounded() {
        // Prevent super.onStop() from finishing, since we handle this in our onStop().
        return false;
    }
    }


    @Override
    @Override
@@ -541,14 +595,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {


    @Override
    @Override
    public void onEnrollmentError(int errMsgId, CharSequence errString) {
    public void onEnrollmentError(int errMsgId, CharSequence errString) {
        FingerprintErrorDialog.showErrorDialog(this, errMsgId);
        onCancelEnrollment(errMsgId);
        mIsCanceled = true;
        cancelEnrollment();
        stopIconAnimation();
        stopListenOrientationEvent();
        if (!mCanAssumeUdfps) {
            mErrorText.removeCallbacks(mTouchAgainRunnable);
        }
    }
    }


    @Override
    @Override
Loading