Don't surface BiometricsSafetySource for private profile

The biometric lock for pirvate profile is handled separately.

Bug: 286539356
Test: manual
Change-Id: Iec0a98a40f0ff0c303f450a340720782a4e37f00
This commit is contained in:
Manish Singh
2024-01-12 13:14:32 +00:00
parent 65dcdcbdd8
commit 7e1a9138c3
2 changed files with 13 additions and 1 deletions

View File

@@ -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);

View File

@@ -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);