Files
packages_apps_Settings/src/com/android/settings/safetycenter/BiometricSourcesUtils.java
Bill Lin 2e8d1fa67c Revert "Launch multiple biometric enrollment when no biometric is enrolled"
This reverts commit c4ee2b83e5.

Reason for revert: b/404133188
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:cb181c50b5b0a04f7aec81aaa96657ca5c22c611)
Merged-In: I523ab1cc638ac9782a6b60a7f640f620bb3aae22
Change-Id: I523ab1cc638ac9782a6b60a7f640f620bb3aae22
2025-03-18 08:48:14 -07:00

99 lines
3.5 KiB
Java

/*
* Copyright (C) 2025 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.settings.safetycenter;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.safetycenter.SafetyEvent;
import android.safetycenter.SafetySourceData;
import android.safetycenter.SafetySourceIssue;
import android.safetycenter.SafetySourceStatus;
/** Static helpers for setting SafetyCenter data for biometric safety sources. */
public final class BiometricSourcesUtils {
public static final int REQUEST_CODE_COMBINED_BIOMETRIC_SETTING = 10;
public static final int REQUEST_CODE_FACE_SETTING = 20;
public static final int REQUEST_CODE_FINGERPRINT_SETTING = 30;
private BiometricSourcesUtils() {}
/** Sets data for one of the biometrics sources */
public static void setBiometricSafetySourceData(
String safetySourceId,
Context context,
String title,
String summary,
PendingIntent pendingIntent,
boolean enabled,
boolean hasEnrolled,
SafetyEvent safetyEvent) {
setBiometricSafetySourceData(
safetySourceId,
context,
title,
summary,
pendingIntent,
enabled,
hasEnrolled,
safetyEvent,
null
);
}
/** Sets data for one of the biometrics sources */
public static void setBiometricSafetySourceData(
String safetySourceId,
Context context,
String title,
String summary,
PendingIntent pendingIntent,
boolean enabled,
boolean hasEnrolled,
SafetyEvent safetyEvent,
SafetySourceIssue safetySourceIssue) {
int severityLevel =
enabled && hasEnrolled
? SafetySourceData.SEVERITY_LEVEL_INFORMATION
: SafetySourceData.SEVERITY_LEVEL_UNSPECIFIED;
SafetySourceStatus status =
new SafetySourceStatus.Builder(title, summary, severityLevel)
.setPendingIntent(pendingIntent)
.setEnabled(enabled)
.build();
SafetySourceData.Builder builder = new SafetySourceData.Builder().setStatus(status);
if (safetySourceIssue != null) {
builder.addIssue(safetySourceIssue);
}
SafetySourceData safetySourceData = builder.build();
SafetyCenterManagerWrapper.get()
.setSafetySourceData(context, safetySourceId, safetySourceData, safetyEvent);
}
/** Helper method for creating a pending intent. */
public static PendingIntent createPendingIntent(
Context context, Intent intent, int requestCode) {
return PendingIntent.getActivity(
context, requestCode, intent, PendingIntent.FLAG_IMMUTABLE);
}
}