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

Commit a8bf1197 authored by Kevin Chyn's avatar Kevin Chyn Committed by Android (Google) Code Review
Browse files

Merge "Update settings together with frameworks/base"

parents e732daa3 587bd62d
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -25,9 +25,9 @@ import android.content.res.Resources;
import android.hardware.biometrics.BiometricManager;
import android.hardware.biometrics.BiometricManager.Authenticators;
import android.hardware.face.FaceManager;
import android.hardware.face.FaceSensorProperties;
import android.hardware.face.FaceSensorPropertiesInternal;
import android.hardware.fingerprint.FingerprintManager;
import android.hardware.fingerprint.FingerprintSensorProperties;
import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
import android.os.Bundle;
import android.os.UserHandle;
import android.os.UserManager;
@@ -233,13 +233,14 @@ public class BiometricEnrollActivity extends InstrumentedActivity {

        final FingerprintManager fingerprintManager = getSystemService(FingerprintManager.class);
        final FaceManager faceManager = getSystemService(FaceManager.class);
        final List<FingerprintSensorProperties> fpProperties =
                fingerprintManager.getSensorProperties();
        final List<FaceSensorProperties> faceProperties = faceManager.getSensorProperties();
        final List<FingerprintSensorPropertiesInternal> fpProperties =
                fingerprintManager.getSensorPropertiesInternal();
        final List<FaceSensorPropertiesInternal> faceProperties =
                faceManager.getSensorPropertiesInternal();

        // This would need to be updated for devices with multiple sensors of the same modality
        final boolean maxFacesEnrolled = faceManager.getEnrolledFaces(mUserId).size()
                >= faceProperties.get(0).maxTemplatesAllowed;
                >= faceProperties.get(0).maxEnrollmentsPerUser;
        final boolean maxFingerprintsEnrolled = fingerprintManager.getEnrolledFingerprints(mUserId)
                .size() >= fpProperties.get(0).maxEnrollmentsPerUser;

+4 −7
Original line number Diff line number Diff line
@@ -16,15 +16,12 @@

package com.android.settings.biometrics.face;

import android.app.PendingIntent;
import android.app.admin.DevicePolicyManager;
import android.app.settings.SettingsEnums;
import android.content.Intent;
import android.content.IntentSender;
import android.hardware.face.FaceManager;
import android.hardware.face.FaceSensorProperties;
import android.hardware.face.FaceSensorPropertiesInternal;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TextView;

@@ -32,7 +29,6 @@ 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.overlay.FeatureFactory;
import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.settingslib.RestrictedLockUtilsInternal;
@@ -173,9 +169,10 @@ public class FaceEnrollIntroduction extends BiometricEnrollIntroduction {

    private boolean maxFacesEnrolled() {
        if (mFaceManager != null) {
            final List<FaceSensorProperties> props = mFaceManager.getSensorProperties();
            final List<FaceSensorPropertiesInternal> props =
                    mFaceManager.getSensorPropertiesInternal();
            // This will need to be updated for devices with multiple face sensors.
            final int max = props.get(0).maxTemplatesAllowed;
            final int max = props.get(0).maxEnrollmentsPerUser;
            final int numEnrolledFaces = mFaceManager.getEnrolledFaces(mUserId).size();
            return numEnrolledFaces >= max;
        } else {
+3 −3
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@ import android.app.settings.SettingsEnums;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.hardware.fingerprint.FingerprintManager;
import android.hardware.fingerprint.FingerprintSensorProperties;
import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
@@ -126,8 +126,8 @@ public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction {
    @Override
    protected int checkMaxEnrolled() {
        if (mFingerprintManager != null) {
            final List<FingerprintSensorProperties> props =
                    mFingerprintManager.getSensorProperties();
            final List<FingerprintSensorPropertiesInternal> props =
                    mFingerprintManager.getSensorPropertiesInternal();
            // This will need to be updated for devices with multiple fingerprint sensors
            final int max = props.get(0).maxEnrollmentsPerUser;
            final int numEnrolledFingerprints =
+4 −2
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.content.pm.PackageManager;
import android.hardware.biometrics.SensorProperties;
import android.hardware.fingerprint.FingerprintManager;
import android.hardware.fingerprint.FingerprintSensorProperties;
import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
import android.view.View;
import android.widget.Button;

@@ -74,12 +75,13 @@ public class SetupFingerprintEnrollIntroductionTest {
        Shadows.shadowOf(application.getPackageManager())
            .setSystemFeature(PackageManager.FEATURE_FINGERPRINT, true);

        final FingerprintSensorProperties prop = new FingerprintSensorProperties(0 /* sensorId */,
        final FingerprintSensorPropertiesInternal prop = new FingerprintSensorPropertiesInternal(
                0 /* sensorId */,
                SensorProperties.STRENGTH_STRONG,
                5 /* maxEnrollmentsPerUser */,
                FingerprintSensorProperties.TYPE_REAR,
                true /* resetLockoutRequiresHardwareAuthToken */);
        final ArrayList<FingerprintSensorProperties> props = new ArrayList<>();
        final ArrayList<FingerprintSensorPropertiesInternal> props = new ArrayList<>();
        props.add(prop);
        ShadowFingerprintManager.setSensorProperties(props);

+4 −5
Original line number Diff line number Diff line
@@ -18,20 +18,19 @@ package com.android.settings.testutils.shadow;

import android.hardware.fingerprint.Fingerprint;
import android.hardware.fingerprint.FingerprintManager;
import android.hardware.fingerprint.FingerprintSensorProperties;
import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;

import org.robolectric.annotation.Implementation;
import org.robolectric.annotation.Implements;

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

@Implements(FingerprintManager.class)
public class ShadowFingerprintManager extends org.robolectric.shadows.ShadowFingerprintManager {

    private static List<FingerprintSensorProperties> sFingerprintSensorProperties;
    private static List<FingerprintSensorPropertiesInternal> sFingerprintSensorProperties;

    public static void setSensorProperties(List<FingerprintSensorProperties> props) {
    public static void setSensorProperties(List<FingerprintSensorPropertiesInternal> props) {
        sFingerprintSensorProperties = props;
    }

@@ -41,7 +40,7 @@ public class ShadowFingerprintManager extends org.robolectric.shadows.ShadowFing
    }

    @Implementation
    protected List<FingerprintSensorProperties> getSensorProperties() {
    protected List<FingerprintSensorPropertiesInternal> getSensorPropertiesInternal() {
        return sFingerprintSensorProperties;
    }
}