1 /* 2 * Copyright (C) 2024 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.settings.biometrics.fingerprint2.lib.domain.interactor 18 19 import android.hardware.fingerprint.FingerprintEnrollOptions 20 import com.android.settings.biometrics.fingerprint2.lib.model.EnrollReason 21 import com.android.settings.biometrics.fingerprint2.lib.model.FingerEnrollState 22 import kotlinx.coroutines.flow.Flow 23 24 /** Interactor that enrolls a fingerprint */ 25 interface EnrollFingerprintInteractor { 26 /** 27 * Runs [FingerprintManager.enroll] with the [hardwareAuthToken] and [EnrollReason] for this 28 * enrollment. If successful data in the [fingerprintEnrollState] should be populated. 29 */ enrollnull30 suspend fun enroll( 31 hardwareAuthToken: ByteArray?, 32 enrollReason: EnrollReason, 33 fingerprintEnrollOptions: FingerprintEnrollOptions, 34 ): Flow<FingerEnrollState> 35 } 36