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

Commit 50dcf795 authored by Kevin Chyn's avatar Kevin Chyn
Browse files

Update combined settings summary

Display strings based on number of enrollments

Bug: 185804815
Test: manual on-device
Change-Id: I47be2a53b37c36b3136cd233001db7cadf123ae9
parent a435a5a2
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -887,8 +887,8 @@
    <string name="fingerprint_enable_keyguard_toggle_title">screen lock</string>
    <!-- Message showing the current number of fingerprints set up. Shown for a menu item that launches fingerprint settings or enrollment. -->
    <plurals name="security_settings_fingerprint_preference_summary">
        <item quantity="one"><xliff:g id="count">%1$d</xliff:g> fingerprint set up</item>
        <item quantity="other"><xliff:g id="count">%1$d</xliff:g> fingerprints set up</item>
        <item quantity="one">Fingerprint added</item>
        <item quantity="other"><xliff:g id="count">%1$d</xliff:g> fingerprints added</item>
    </plurals>
    <!-- message shown in summary field when no fingerprints are registered -->
    <string name="security_settings_fingerprint_preference_summary_none"></string>
@@ -969,9 +969,13 @@
    <!-- Biometric settings --><skip />
    <!-- Title shown for menu item that launches biometric settings. [CHAR LIMIT=66] -->
    <string name="security_settings_biometric_preference_title">Face &amp; fingerprint unlock</string>
    <string name="security_settings_biometric_preference_title">Face &amp; Fingerprint Unlock</string>
    <!-- Message shown in summary field of biometric settings. [CHAR LIMIT=66] -->
    <string name="security_settings_biometric_preference_summary">Face and fingerprint</string>
    <string name="security_settings_biometric_preference_summary_none_enrolled">Tap to set up</string>
    <!-- Message shown in summary field of biometric settings when face is enrolled, and multiple fingerprints are enrolled. [CHAR LIMIT=66]-->
    <string name="security_settings_biometric_preference_summary_both_fp_multiple">Face and fingerprints added</string>
    <!-- Message shown in summary field of biometric settings when face is enrolled, and a single fingerprintis enrolled. [CHAR LIMIT=66]-->
    <string name="security_settings_biometric_preference_summary_both_fp_single">Face and fingerprint added</string>
    <!-- Introduction shown in face and fingerprint page to introduce the biometric feature. [CHAR LIMIT=NONE]-->
    <string name="biometric_settings_intro">When you set up face unlock and fingerprint, your phone will ask for your fingerprint when you wear a mask or are in a dark area.</string>
    <!-- Biometric category title - biometric options for unlocking the device. [CHAR LIMIT=50] -->
+34 −2
Original line number Diff line number Diff line
@@ -16,6 +16,10 @@
package com.android.settings.biometrics.combination;

import android.content.Context;
import android.hardware.face.FaceManager;
import android.hardware.fingerprint.FingerprintManager;

import androidx.annotation.Nullable;

import com.android.settings.R;
import com.android.settings.Settings;
@@ -30,6 +34,10 @@ public class CombinedBiometricStatusPreferenceController extends
        BiometricStatusPreferenceController {
    private static final String KEY_BIOMETRIC_SETTINGS = "biometric_settings";

    @Nullable
    FingerprintManager mFingerprintManager;
    @Nullable
    FaceManager mFaceManager;

    public CombinedBiometricStatusPreferenceController(Context context) {
        this(context, KEY_BIOMETRIC_SETTINGS);
@@ -37,6 +45,8 @@ public class CombinedBiometricStatusPreferenceController extends

    public CombinedBiometricStatusPreferenceController(Context context, String key) {
        super(context, key);
        mFingerprintManager = Utils.getFingerprintManagerOrNull(context);
        mFaceManager = Utils.getFaceManagerOrNull(context);
    }

    @Override
@@ -51,12 +61,34 @@ public class CombinedBiometricStatusPreferenceController extends

    @Override
    protected String getSummaryTextEnrolled() {
        return mContext.getString(R.string.security_settings_biometric_preference_summary);
        // Note that this is currently never called (see the super class)
        return mContext.getString(
                R.string.security_settings_biometric_preference_summary_none_enrolled);
    }

    @Override
    protected String getSummaryTextNoneEnrolled() {
        return mContext.getString(R.string.security_settings_biometric_preference_summary);
        final int numFingerprintsEnrolled = mFingerprintManager != null ?
                mFingerprintManager.getEnrolledFingerprints(getUserId()).size() : 0;
        final boolean faceEnrolled = mFaceManager != null
                && mFaceManager.hasEnrolledTemplates(getUserId());

        if (faceEnrolled && numFingerprintsEnrolled > 1) {
            return mContext.getString(
                    R.string.security_settings_biometric_preference_summary_both_fp_multiple);
        } else if (faceEnrolled && numFingerprintsEnrolled == 1) {
            return mContext.getString(
                    R.string.security_settings_biometric_preference_summary_both_fp_single);
        } else if (faceEnrolled) {
            return mContext.getString(R.string.security_settings_face_preference_summary);
        } else if (numFingerprintsEnrolled > 0) {
            return mContext.getResources().getQuantityString(
                    R.plurals.security_settings_fingerprint_preference_summary,
                    numFingerprintsEnrolled, numFingerprintsEnrolled);
        } else {
            return mContext.getString(
                    R.string.security_settings_biometric_preference_summary_none_enrolled);
        }
    }

    @Override