Split biometrics resource into three.

Bug: 388476345
Test: Treehugger
Flag: com.android.settings.flags.biometrics_onboarding_education
Relnote: N/a
Change-Id: Ie6761f318e64e1cf2782c538d7b6af5b5094faa1
This commit is contained in:
Jan Tomljanovic
2025-01-09 17:30:19 +00:00
parent 2a828c6bde
commit 406b5dface
16 changed files with 1374 additions and 209 deletions

View File

@@ -0,0 +1,68 @@
/*
* 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.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) {
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 safetySourceData =
new SafetySourceData.Builder().setStatus(status).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);
}
}