diff --git a/src/com/android/settings/biometrics/combination/CombinedBiometricStatusUtils.java b/src/com/android/settings/biometrics/combination/CombinedBiometricStatusUtils.java index 1ca4278d0b0..d3e8fa77645 100644 --- a/src/com/android/settings/biometrics/combination/CombinedBiometricStatusUtils.java +++ b/src/com/android/settings/biometrics/combination/CombinedBiometricStatusUtils.java @@ -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. */ diff --git a/src/com/android/settings/biometrics/face/FaceStatusUtils.java b/src/com/android/settings/biometrics/face/FaceStatusUtils.java index 80ffb03b0b2..7c075cc31e0 100644 --- a/src/com/android/settings/biometrics/face/FaceStatusUtils.java +++ b/src/com/android/settings/biometrics/face/FaceStatusUtils.java @@ -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. */ diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintStatusUtils.java b/src/com/android/settings/biometrics/fingerprint/FingerprintStatusUtils.java index bb689945420..1005e3f6be7 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintStatusUtils.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintStatusUtils.java @@ -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. diff --git a/src/com/android/settings/safetycenter/BiometricsSafetySource.java b/src/com/android/settings/safetycenter/BiometricsSafetySource.java index d3e31895c64..ac486d708c1 100644 --- a/src/com/android/settings/safetycenter/BiometricsSafetySource.java +++ b/src/com/android/settings/safetycenter/BiometricsSafetySource.java @@ -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, diff --git a/src/com/android/settings/safetycenter/LockScreenSafetySource.java b/src/com/android/settings/safetycenter/LockScreenSafetySource.java index ed3ebc004f5..de20e24fe6f 100644 --- a/src/com/android/settings/safetycenter/LockScreenSafetySource.java +++ b/src/com/android/settings/safetycenter/LockScreenSafetySource.java @@ -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; }