From 7e1a9138c3cdfd0ef68429e20f74200cfd49c62c Mon Sep 17 00:00:00 2001 From: Manish Singh Date: Fri, 12 Jan 2024 13:14:32 +0000 Subject: [PATCH] Don't surface BiometricsSafetySource for private profile The biometric lock for pirvate profile is handled separately. Bug: 286539356 Test: manual Change-Id: Iec0a98a40f0ff0c303f450a340720782a4e37f00 --- .../settings/safetycenter/BiometricsSafetySource.java | 10 ++++++++++ .../safetycenter/SafetyCenterManagerWrapper.java | 4 +++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/safetycenter/BiometricsSafetySource.java b/src/com/android/settings/safetycenter/BiometricsSafetySource.java index 94db71f143e..8e1c78644d9 100644 --- a/src/com/android/settings/safetycenter/BiometricsSafetySource.java +++ b/src/com/android/settings/safetycenter/BiometricsSafetySource.java @@ -62,6 +62,16 @@ public final class BiometricsSafetySource { } final Context profileParentContext = context.createContextAsUser(profileParentUserHandle, 0); + if (android.os.Flags.allowPrivateProfile() && userManager.isPrivateProfile()) { + // SC always expects a response from the source if the broadcast has been sent for this + // source, therefore, we need to send a null SafetySourceData. + SafetyCenterManagerWrapper.get().setSafetySourceData( + context, + SAFETY_SOURCE_ID, + /* safetySourceData= */ null, + safetyEvent); + return; + } final BiometricNavigationUtils biometricNavigationUtils = new BiometricNavigationUtils(userId); diff --git a/src/com/android/settings/safetycenter/SafetyCenterManagerWrapper.java b/src/com/android/settings/safetycenter/SafetyCenterManagerWrapper.java index e7205260833..55eb4f14dc1 100644 --- a/src/com/android/settings/safetycenter/SafetyCenterManagerWrapper.java +++ b/src/com/android/settings/safetycenter/SafetyCenterManagerWrapper.java @@ -22,6 +22,8 @@ import android.safetycenter.SafetyEvent; import android.safetycenter.SafetySourceData; import android.util.Log; +import androidx.annotation.Nullable; + import com.android.internal.annotations.VisibleForTesting; /** A wrapper for the SafetyCenterManager system service. */ @@ -49,7 +51,7 @@ public class SafetyCenterManagerWrapper { /** Sets the latest safety source data for Safety Center. */ public void setSafetySourceData(Context context, String safetySourceId, - SafetySourceData safetySourceData, + @Nullable SafetySourceData safetySourceData, SafetyEvent safetyEvent) { SafetyCenterManager safetyCenterManager = context.getSystemService(SafetyCenterManager.class);