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

Commit e7b9d042 authored by Prabal Singh's avatar Prabal Singh
Browse files

Add support for Biometrics for work Source for SC

Fixes: b/266818876
Fixes: b/238870897
Test: manually tested
Change-Id: I674b89226c445399dea69e4355b124f376e7f38d
parent c5458412
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.content.Context;
import android.hardware.biometrics.BiometricAuthenticator;
import android.hardware.face.FaceManager;
import android.hardware.fingerprint.FingerprintManager;
import android.os.UserManager;

import androidx.annotation.Nullable;

@@ -86,6 +87,18 @@ public class CombinedBiometricStatusUtils {
        return faceConsentRequired && fpConsentRequired ? faceAdmin : null;
    }

    /**
     * Returns the title of combined biometric settings entity.
     */
    public String getTitle() {
        UserManager userManager = mContext.getSystemService(UserManager.class);
        if (userManager != null && userManager.isProfile()) {
            return mContext.getString(R.string.security_settings_work_biometric_preference_title);
        } else {
            return mContext.getString(R.string.security_settings_biometric_preference_title);
        }
    }

    /**
     * Returns the summary of combined biometric settings entity.
     */
+13 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.settings.biometrics.face;
import android.content.Context;
import android.hardware.biometrics.BiometricAuthenticator;
import android.hardware.face.FaceManager;
import android.os.UserManager;

import com.android.settings.R;
import com.android.settings.Settings;
@@ -58,6 +59,18 @@ public class FaceStatusUtils {
                mContext, BiometricAuthenticator.TYPE_FACE);
    }

    /**
     * Returns the title of face settings entity.
     */
    public String getTitle() {
        UserManager userManager = mContext.getSystemService(UserManager.class);
        if (userManager != null && userManager.isProfile()) {
            return mContext.getString(R.string.security_settings_face_profile_preference_title);
        } else {
            return mContext.getString(R.string.security_settings_face_preference_title);
        }
    }

    /**
     * Returns the summary of face settings entity.
     */
+12 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.settings.biometrics.fingerprint;
import android.content.Context;
import android.hardware.biometrics.BiometricAuthenticator;
import android.hardware.fingerprint.FingerprintManager;
import android.os.UserManager;

import com.android.settings.R;
import com.android.settings.Utils;
@@ -59,6 +60,17 @@ public class FingerprintStatusUtils {
        return ParentalControlsUtils.parentConsentRequired(
                mContext, BiometricAuthenticator.TYPE_FINGERPRINT);
    }
    /**
     * Returns the title of fingerprint settings entity.
     */
    public String getTitle() {
        UserManager userManager = mContext.getSystemService(UserManager.class);
        if (userManager != null && userManager.isProfile()) {
            return mContext.getString(R.string.security_settings_work_fingerprint_preference_title);
        } else {
            return mContext.getString(R.string.security_settings_fingerprint_preference_title);
        }
    }

    /**
     * Returns the summary of fingerprint settings entity.
+3 −4
Original line number Diff line number Diff line
@@ -27,7 +27,6 @@ import android.safetycenter.SafetyEvent;
import android.safetycenter.SafetySourceData;
import android.safetycenter.SafetySourceStatus;

import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.biometrics.BiometricNavigationUtils;
import com.android.settings.biometrics.combination.CombinedBiometricStatusUtils;
@@ -63,7 +62,7 @@ public final class BiometricsSafetySource {
            final RestrictedLockUtils.EnforcedAdmin disablingAdmin =
                    combinedBiometricStatusUtils.getDisablingAdmin();
            setBiometricSafetySourceData(context,
                    context.getString(R.string.security_settings_biometric_preference_title),
                    combinedBiometricStatusUtils.getTitle(),
                    combinedBiometricStatusUtils.getSummary(),
                    createPendingIntent(context,
                            biometricNavigationUtils.getBiometricSettingsIntent(context,
@@ -83,7 +82,7 @@ public final class BiometricsSafetySource {
            final RestrictedLockUtils.EnforcedAdmin disablingAdmin =
                    faceStatusUtils.getDisablingAdmin();
            setBiometricSafetySourceData(context,
                    context.getString(R.string.security_settings_face_preference_title),
                    faceStatusUtils.getTitle(),
                    faceStatusUtils.getSummary(),
                    createPendingIntent(context,
                            biometricNavigationUtils.getBiometricSettingsIntent(context,
@@ -105,7 +104,7 @@ public final class BiometricsSafetySource {
            final RestrictedLockUtils.EnforcedAdmin disablingAdmin =
                    fingerprintStatusUtils.getDisablingAdmin();
            setBiometricSafetySourceData(context,
                    context.getString(R.string.security_settings_fingerprint_preference_title),
                    fingerprintStatusUtils.getTitle(),
                    fingerprintStatusUtils.getSummary(),
                    createPendingIntent(context,
                            biometricNavigationUtils.getBiometricSettingsIntent(context,
+6 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.Intent;
import android.os.UserHandle;
import android.os.UserManager;
import android.safetycenter.SafetyEvent;
import android.safetycenter.SafetySourceData;
import android.safetycenter.SafetySourceIssue;
@@ -56,6 +57,11 @@ public final class LockScreenSafetySource {
            return;
        }

        UserManager userManager = context.getSystemService(UserManager.class);
        if (userManager != null && userManager.isProfile()) {
            return; // LockScreen source only supports primary profile.
        }

        if (!screenLockPreferenceDetailsUtils.isAvailable()) {
            return;
        }