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

Commit e2571305 authored by Kevin Chyn's avatar Kevin Chyn
Browse files

Announce UDPFS enrollment percentage

Bug: 187460696
Test: manual
Change-Id: I5989a67e1fa1ed078677a69b2d841d5f1f1ee691
parent 869e9968
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1046,6 +1046,8 @@
    <string name="security_settings_udfps_enroll_repeat_message">Touch &amp; hold each time the fingerprint icon moves. This helps capture your full fingerprint.</string>
    <!-- Message shown in fingerprint enrollment asking users to repeat touching the fingerprint sensor.-->
    <string name="security_settings_udfps_enroll_repeat_a11y_message">This helps capture your full fingerprint</string>
    <!-- Message read to a11y users when enrollment progress is made. The number is from 0 to 100. [CHAR LIMIT=NONE]-->
    <string name="security_settings_udfps_enroll_progress_a11y_message">Enrolling fingerprint <xliff:g id="percentage" example="10">%d</xliff:g> percent</string>
    <!-- Title shown in fingerprint enrollment dialog once enrollment is completed [CHAR LIMIT=29] -->
    <string name="security_settings_fingerprint_enroll_finish_title">Fingerprint added</string>
    <!-- Message shown in fingerprint enrollment dialog once enrollment is completed -->
+16 −2
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ import android.text.TextUtils;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityManager;
import android.view.animation.AnimationUtils;
import android.view.animation.Interpolator;
@@ -112,6 +113,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
    private boolean mRestoring;
    private Vibrator mVibrator;
    private boolean mIsSetupWizard;
    private AccessibilityManager mAccessibilityManager;
    private boolean mIsAccessibilityEnabled;

    @Override
@@ -123,8 +125,8 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
                fingerprintManager.getSensorPropertiesInternal();
        mCanAssumeUdfps = props.size() == 1 && props.get(0).isAnyUdfpsType();

        final AccessibilityManager am = getSystemService(AccessibilityManager.class);
        mIsAccessibilityEnabled = am.isEnabled();
        mAccessibilityManager = getSystemService(AccessibilityManager.class);
        mIsAccessibilityEnabled = mAccessibilityManager.isEnabled();

        if (mCanAssumeUdfps) {
            if (BiometricUtils.isReverseLandscape(getApplicationContext())) {
@@ -359,6 +361,18 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
        if (!mCanAssumeUdfps) {
            mErrorText.removeCallbacks(mTouchAgainRunnable);
            mErrorText.postDelayed(mTouchAgainRunnable, HINT_TIMEOUT_DURATION);
        } else {
            if (mIsAccessibilityEnabled) {
                final int percent = (int) (((float)(steps - remaining) / (float) steps) * 100);
                CharSequence cs = getString(
                        R.string.security_settings_udfps_enroll_progress_a11y_message, percent);
                AccessibilityEvent e = AccessibilityEvent.obtain();
                e.setEventType(AccessibilityEvent.TYPE_ANNOUNCEMENT);
                e.setClassName(getClass().getName());
                e.setPackageName(getPackageName());
                e.getText().add(cs);
                mAccessibilityManager.sendAccessibilityEvent(e);
            }
        }
    }