Spit up FingerprintManagerInteractor 2/N
Test: atest, screenshot tests passed Flag: com.android.settings.flags.fingerprint_v2_enrollment Change-Id: I1a2cf61290906e112a5a0129ef7ed3587d14de7e
This commit is contained in:
@@ -38,8 +38,12 @@ import com.android.systemui.biometrics.shared.model.FingerprintSensor
|
||||
import com.android.systemui.biometrics.shared.model.FingerprintSensorType
|
||||
import com.android.systemui.biometrics.shared.model.toFingerprintSensor
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.asStateFlow
|
||||
import kotlinx.coroutines.flow.flow
|
||||
import kotlinx.coroutines.flow.flowOf
|
||||
import kotlinx.coroutines.flow.transform
|
||||
import kotlinx.coroutines.flow.update
|
||||
|
||||
/** Fake to be used by other classes to easily fake the FingerprintManager implementation. */
|
||||
class FakeFingerprintManagerInteractor :
|
||||
@@ -52,7 +56,7 @@ class FakeFingerprintManagerInteractor :
|
||||
RenameFingerprintInteractor,
|
||||
SensorInteractor {
|
||||
|
||||
var enrollableFingerprints: Int = 5
|
||||
private val enrollableFingerprints = MutableStateFlow(5)
|
||||
var enrolledFingerprintsInternal: MutableList<FingerprintData> = mutableListOf()
|
||||
var challengeToGenerate: Pair<Long, ByteArray> = Pair(-1L, byteArrayOf())
|
||||
var authenticateAttempt = FingerprintAuthAttemptModel.Success(1)
|
||||
@@ -82,13 +86,13 @@ class FakeFingerprintManagerInteractor :
|
||||
override val enrolledFingerprints: Flow<List<FingerprintData>> = flow {
|
||||
emit(enrolledFingerprintsInternal)
|
||||
}
|
||||
override val canEnrollFingerprints: Flow<Boolean> = flow {
|
||||
emit(enrolledFingerprintsInternal.size < enrollableFingerprints)
|
||||
override val canEnrollFingerprints: Flow<Boolean> = enrollableFingerprints.transform {
|
||||
emit(enrolledFingerprintsInternal.size < it)
|
||||
}
|
||||
|
||||
override fun maxFingerprintsEnrollable(): Int {
|
||||
return enrollableFingerprints
|
||||
}
|
||||
override val maxFingerprintsEnrollable: Flow<Int> = enrollableFingerprints.asStateFlow()
|
||||
|
||||
override fun setShouldUseSettingsMaxFingerprints(useSettings: Boolean) {}
|
||||
|
||||
override val sensorPropertiesInternal: Flow<FingerprintSensor?> = flow { emit(sensorProp) }
|
||||
override val hasSideFps: Flow<Boolean> =
|
||||
@@ -110,4 +114,7 @@ class FakeFingerprintManagerInteractor :
|
||||
}
|
||||
}
|
||||
|
||||
fun setMaxEnrollableFingerprints(fingerprints: Int) {
|
||||
enrollableFingerprints.update { fingerprints }
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user