Merge "Use shared lib for settings v2." into main
This commit is contained in:
@@ -17,43 +17,10 @@
|
||||
package com.android.settings.biometrics.fingerprint2.conversion
|
||||
|
||||
import android.hardware.fingerprint.FingerprintManager
|
||||
import android.hardware.fingerprint.FingerprintSensorProperties
|
||||
import android.hardware.fingerprint.FingerprintSensorPropertiesInternal
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.EnrollReason
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintSensorPropertyViewModel
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.SensorStrength
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.SensorType
|
||||
|
||||
class Util {
|
||||
companion object {
|
||||
fun sensorPropsToViewModel(
|
||||
props: FingerprintSensorPropertiesInternal
|
||||
): FingerprintSensorPropertyViewModel {
|
||||
val sensorStrength: SensorStrength =
|
||||
when (props.sensorStrength) {
|
||||
FingerprintSensorProperties.STRENGTH_CONVENIENCE -> SensorStrength.Convenient
|
||||
FingerprintSensorProperties.STRENGTH_WEAK -> SensorStrength.Weak
|
||||
FingerprintSensorProperties.STRENGTH_STRONG -> SensorStrength.Strong
|
||||
else -> SensorStrength.Unknown
|
||||
}
|
||||
val sensorType: SensorType =
|
||||
when (props.sensorType) {
|
||||
FingerprintSensorProperties.TYPE_UDFPS_OPTICAL -> SensorType.Optical
|
||||
FingerprintSensorProperties.TYPE_UDFPS_ULTRASONIC -> SensorType.Ultrasonic
|
||||
FingerprintSensorProperties.TYPE_REAR -> SensorType.RFPS
|
||||
FingerprintSensorProperties.TYPE_POWER_BUTTON -> SensorType.SFPS
|
||||
else -> SensorType.Unknown
|
||||
}
|
||||
return FingerprintSensorPropertyViewModel(
|
||||
props.sensorId,
|
||||
sensorStrength,
|
||||
props.maxEnrollmentsPerUser,
|
||||
sensorType
|
||||
)
|
||||
}
|
||||
}
|
||||
class Util
|
||||
|
||||
}
|
||||
fun EnrollReason.toOriginalReason(): Int {
|
||||
return when (this) {
|
||||
EnrollReason.EnrollEnrolling -> FingerprintManager.ENROLL_ENROLL
|
||||
|
@@ -24,14 +24,14 @@ import android.hardware.fingerprint.FingerprintManager.RemovalCallback
|
||||
import android.os.CancellationSignal
|
||||
import android.util.Log
|
||||
import com.android.settings.biometrics.GatekeeperPasswordProvider
|
||||
import com.android.settings.biometrics.fingerprint2.conversion.Util
|
||||
import com.android.settings.biometrics.fingerprint2.conversion.toOriginalReason
|
||||
import com.android.settings.biometrics.fingerprint2.shared.domain.interactor.FingerprintManagerInteractor
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.EnrollReason
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.FingerEnrollStateViewModel
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintAuthAttemptViewModel
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintViewModel
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.FingerEnrollStateViewModel
|
||||
import com.android.settings.password.ChooseLockSettingsHelper
|
||||
import com.android.systemui.biometrics.shared.model.toFingerprintSensor
|
||||
import kotlin.coroutines.resume
|
||||
import kotlin.coroutines.suspendCoroutine
|
||||
import kotlinx.coroutines.CancellableContinuation
|
||||
@@ -94,7 +94,7 @@ class FingerprintManagerInteractorImpl(
|
||||
val sensorPropertiesInternal = fingerprintManager.sensorPropertiesInternal
|
||||
emit(
|
||||
if (sensorPropertiesInternal.isEmpty()) null
|
||||
else Util.sensorPropsToViewModel(sensorPropertiesInternal.first())
|
||||
else sensorPropertiesInternal.first().toFingerprintSensor()
|
||||
)
|
||||
}
|
||||
|
||||
|
@@ -8,6 +8,7 @@ android_library {
|
||||
"**/*.kt"
|
||||
],
|
||||
static_libs: [
|
||||
"BiometricsSharedLib",
|
||||
"kotlinx-coroutines-android",
|
||||
],
|
||||
}
|
@@ -18,9 +18,9 @@ package com.android.settings.biometrics.fingerprint2.shared.domain.interactor
|
||||
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.EnrollReason
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintAuthAttemptViewModel
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintSensorPropertyViewModel
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintViewModel
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.FingerEnrollStateViewModel
|
||||
import com.android.systemui.biometrics.shared.model.FingerprintSensor
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
/**
|
||||
@@ -40,7 +40,7 @@ interface FingerprintManagerInteractor {
|
||||
val canEnrollFingerprints: Flow<Boolean>
|
||||
|
||||
/** Retrieves the sensor properties of a device */
|
||||
val sensorPropertiesInternal: Flow<FingerprintSensorPropertyViewModel?>
|
||||
val sensorPropertiesInternal: Flow<FingerprintSensor?>
|
||||
|
||||
/** Runs the authenticate flow */
|
||||
suspend fun authenticate(): FingerprintAuthAttemptViewModel
|
||||
|
@@ -32,36 +32,3 @@ sealed class FingerprintAuthAttemptViewModel {
|
||||
val message: String,
|
||||
) : FingerprintAuthAttemptViewModel()
|
||||
}
|
||||
|
||||
/** The various types of fingerprint sensors */
|
||||
sealed class SensorType {
|
||||
/** Rear fingerprint sensor */
|
||||
data object RFPS : SensorType()
|
||||
|
||||
/** Optical under display sensor */
|
||||
data object Optical : SensorType()
|
||||
|
||||
/** Ultrasonic under display sensor */
|
||||
data object Ultrasonic : SensorType()
|
||||
|
||||
/** Side fingerprint sensor */
|
||||
data object SFPS : SensorType()
|
||||
|
||||
/** Unkonwn fingerprint sensor */
|
||||
data object Unknown : SensorType()
|
||||
}
|
||||
|
||||
/** The strength of a given sensor */
|
||||
sealed class SensorStrength {
|
||||
data object Convenient : SensorStrength()
|
||||
data object Weak : SensorStrength()
|
||||
data object Strong : SensorStrength()
|
||||
data object Unknown : SensorStrength()
|
||||
}
|
||||
|
||||
data class FingerprintSensorPropertyViewModel(
|
||||
val sensorId: Int,
|
||||
val sensorStrength: SensorStrength,
|
||||
val maxEnrollmentsPerUser: Int,
|
||||
val sensorType: SensorType
|
||||
)
|
||||
|
@@ -29,7 +29,6 @@ import com.airbnb.lottie.LottieAnimationView
|
||||
import com.android.settings.R
|
||||
import com.android.settings.biometrics.fingerprint.FingerprintErrorDialog
|
||||
import com.android.settings.biometrics.fingerprint.FingerprintFindSensorAnimation
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.SensorType
|
||||
import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollFindSensorViewModel
|
||||
import com.android.systemui.biometrics.shared.model.FingerprintSensorType
|
||||
import com.google.android.setupcompat.template.FooterBarMixin
|
||||
@@ -66,9 +65,9 @@ class FingerprintEnrollFindSensorV2Fragment : Fragment() {
|
||||
viewModel.sensorType.collect {
|
||||
contentLayoutId =
|
||||
when (it) {
|
||||
SensorType.Optical,
|
||||
SensorType.Ultrasonic -> R.layout.udfps_enroll_find_sensor_layout
|
||||
SensorType.SFPS -> R.layout.sfps_enroll_find_sensor_layout
|
||||
FingerprintSensorType.UDFPS_OPTICAL,
|
||||
FingerprintSensorType.UDFPS_ULTRASONIC -> R.layout.udfps_enroll_find_sensor_layout
|
||||
FingerprintSensorType.POWER_BUTTON -> R.layout.sfps_enroll_find_sensor_layout
|
||||
else -> R.layout.fingerprint_v2_enroll_find_sensor
|
||||
}
|
||||
}
|
||||
@@ -171,14 +170,14 @@ class FingerprintEnrollFindSensorV2Fragment : Fragment() {
|
||||
illustrationLottie?.visibility = View.VISIBLE
|
||||
}
|
||||
|
||||
private fun setTexts(sensorType: SensorType, view: GlifLayout) {
|
||||
private fun setTexts(sensorType: FingerprintSensorType, view: GlifLayout) {
|
||||
when (sensorType) {
|
||||
SensorType.Optical,
|
||||
SensorType.Ultrasonic -> {
|
||||
FingerprintSensorType.UDFPS_OPTICAL,
|
||||
FingerprintSensorType.UDFPS_ULTRASONIC -> {
|
||||
view.setHeaderText(R.string.security_settings_udfps_enroll_find_sensor_title)
|
||||
view.setDescriptionText(R.string.security_settings_udfps_enroll_find_sensor_message)
|
||||
}
|
||||
SensorType.SFPS -> {
|
||||
FingerprintSensorType.POWER_BUTTON -> {
|
||||
view.setHeaderText(R.string.security_settings_sfps_enroll_find_sensor_title)
|
||||
view.setDescriptionText(R.string.security_settings_sfps_enroll_find_sensor_message)
|
||||
}
|
||||
|
@@ -35,10 +35,10 @@ import androidx.lifecycle.lifecycleScope
|
||||
import com.android.settings.R
|
||||
import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollNavigationViewModel
|
||||
import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollViewModel
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.SensorType
|
||||
import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintGatekeeperViewModel
|
||||
import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintScrollViewModel
|
||||
import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.Unicorn
|
||||
import com.android.systemui.biometrics.shared.model.FingerprintSensorType
|
||||
import com.google.android.setupcompat.template.FooterBarMixin
|
||||
import com.google.android.setupcompat.template.FooterButton
|
||||
import com.google.android.setupdesign.GlifLayout
|
||||
@@ -144,8 +144,8 @@ class FingerprintEnrollIntroV2Fragment : Fragment(R.layout.fingerprint_v2_enroll
|
||||
val iconShield: ImageView = view.requireViewById(R.id.icon_shield)
|
||||
val footerMessage6: TextView = view.requireViewById(R.id.footer_message_6)
|
||||
when (sensorType) {
|
||||
SensorType.Ultrasonic,
|
||||
SensorType.Optical -> {
|
||||
FingerprintSensorType.UDFPS_ULTRASONIC,
|
||||
FingerprintSensorType.UDFPS_OPTICAL -> {
|
||||
footerMessage6.visibility = View.VISIBLE
|
||||
iconShield.visibility = View.VISIBLE
|
||||
}
|
||||
|
@@ -22,7 +22,6 @@ import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.EnrollReason
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.FingerEnrollStateViewModel
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.SensorType
|
||||
import com.android.systemui.biometrics.shared.model.FingerprintSensorType
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
@@ -45,13 +44,13 @@ class FingerprintEnrollFindSensorViewModel(
|
||||
orientationStateViewModel: OrientationStateViewModel
|
||||
) : ViewModel() {
|
||||
/** Represents the stream of sensor type. */
|
||||
val sensorType: Flow<SensorType> =
|
||||
val sensorType: Flow<FingerprintSensorType> =
|
||||
fingerprintEnrollViewModel.sensorType.filterWhenEducationIsShown()
|
||||
private val _isUdfps: Flow<Boolean> =
|
||||
sensorType.map {
|
||||
it == SensorType.Optical || it == SensorType.Ultrasonic
|
||||
it == FingerprintSensorType.UDFPS_OPTICAL || it == FingerprintSensorType.UDFPS_ULTRASONIC
|
||||
}
|
||||
private val _isSfps: Flow<Boolean> = sensorType.map { it == SensorType.RFPS }
|
||||
private val _isSfps: Flow<Boolean> = sensorType.map { it == FingerprintSensorType.POWER_BUTTON }
|
||||
private val _isRearSfps: Flow<Boolean> =
|
||||
combineTransform(_isSfps, _isUdfps) { v1, v2 -> !v1 && !v2 }
|
||||
|
||||
@@ -95,8 +94,8 @@ class FingerprintEnrollFindSensorViewModel(
|
||||
) { sensorType, hasValidGatekeeperInfo, gatekeeperInfo, navigationViewModel ->
|
||||
val shouldStartEnroll =
|
||||
navigationViewModel.currStep == Education &&
|
||||
sensorType != SensorType.Optical &&
|
||||
sensorType != SensorType.Ultrasonic &&
|
||||
sensorType != FingerprintSensorType.UDFPS_OPTICAL &&
|
||||
sensorType != FingerprintSensorType.UDFPS_ULTRASONIC &&
|
||||
hasValidGatekeeperInfo
|
||||
if (shouldStartEnroll) (gatekeeperInfo as GatekeeperInfo.GatekeeperPasswordInfo).token
|
||||
else null
|
||||
|
@@ -20,7 +20,6 @@ import androidx.lifecycle.ViewModelProvider
|
||||
import com.android.settings.biometrics.fingerprint2.shared.domain.interactor.FingerprintManagerInteractor
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.EnrollReason
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.FingerEnrollStateViewModel
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.SensorType
|
||||
import com.android.systemui.biometrics.shared.model.FingerprintSensorType
|
||||
import kotlinx.coroutines.CoroutineDispatcher
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
@@ -46,7 +45,7 @@ class FingerprintEnrollViewModel(
|
||||
private var _consumerShouldEnroll: MutableStateFlow<Boolean> = MutableStateFlow(false)
|
||||
|
||||
/** Represents the stream of [FingerprintSensorType] */
|
||||
val sensorType: Flow<SensorType> =
|
||||
val sensorType: Flow<FingerprintSensorType> =
|
||||
fingerprintManagerInteractor.sensorPropertiesInternal.filterNotNull().map { it.sensorType }
|
||||
|
||||
/**
|
||||
|
@@ -24,7 +24,7 @@ import androidx.lifecycle.viewModelScope
|
||||
import com.android.settings.biometrics.fingerprint2.shared.domain.interactor.FingerprintManagerInteractor
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintAuthAttemptViewModel
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintViewModel
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.SensorType
|
||||
import com.android.systemui.biometrics.shared.model.FingerprintSensorType
|
||||
import kotlinx.coroutines.CoroutineDispatcher
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.MutableSharedFlow
|
||||
@@ -89,7 +89,7 @@ class FingerprintSettingsViewModel(
|
||||
|
||||
private val _consumerShouldAuthenticate: MutableStateFlow<Boolean> = MutableStateFlow(false)
|
||||
|
||||
private val _fingerprintSensorType: Flow<SensorType> =
|
||||
private val _fingerprintSensorType: Flow<FingerprintSensorType> =
|
||||
fingerprintManagerInteractor.sensorPropertiesInternal.filterNotNull().map { it.sensorType }
|
||||
|
||||
private val _sensorNullOrEmpty: Flow<Boolean> =
|
||||
@@ -146,7 +146,10 @@ class FingerprintSettingsViewModel(
|
||||
if (sensorNullOrEmpty) {
|
||||
return@combine false
|
||||
}
|
||||
if (listOf(SensorType.Ultrasonic, SensorType.Optical).contains(sensorType)) {
|
||||
if (
|
||||
listOf(FingerprintSensorType.UDFPS_ULTRASONIC, FingerprintSensorType.UDFPS_OPTICAL)
|
||||
.contains(sensorType)
|
||||
) {
|
||||
return@combine false
|
||||
}
|
||||
|
||||
|
@@ -4,6 +4,7 @@ android_library {
|
||||
"src/**/*.kt"
|
||||
],
|
||||
libs: [
|
||||
"BiometricsSharedLib",
|
||||
"FingerprintManagerInteractor",
|
||||
],
|
||||
}
|
||||
|
@@ -17,13 +17,13 @@
|
||||
package com.android.settings.testutils2
|
||||
|
||||
import com.android.settings.biometrics.fingerprint2.shared.domain.interactor.FingerprintManagerInteractor
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintAuthAttemptViewModel
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintSensorPropertyViewModel
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintViewModel
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.EnrollReason
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.FingerEnrollStateViewModel
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.SensorStrength
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.SensorType
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintAuthAttemptViewModel
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintViewModel
|
||||
import com.android.systemui.biometrics.shared.model.FingerprintSensor
|
||||
import com.android.systemui.biometrics.shared.model.FingerprintSensorType
|
||||
import com.android.systemui.biometrics.shared.model.SensorStrength
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.flow
|
||||
import kotlinx.coroutines.flow.flowOf
|
||||
@@ -39,7 +39,12 @@ class FakeFingerprintManagerInteractor : FingerprintManagerInteractor {
|
||||
var pressToAuthEnabled = true
|
||||
|
||||
var sensorProp =
|
||||
FingerprintSensorPropertyViewModel(0 /* sensorId */, SensorStrength.Strong, 5, SensorType.SFPS)
|
||||
FingerprintSensor(
|
||||
0 /* sensorId */,
|
||||
SensorStrength.STRONG,
|
||||
5,
|
||||
FingerprintSensorType.POWER_BUTTON
|
||||
)
|
||||
|
||||
override suspend fun authenticate(): FingerprintAuthAttemptViewModel {
|
||||
return authenticateAttempt
|
||||
@@ -57,7 +62,7 @@ class FakeFingerprintManagerInteractor : FingerprintManagerInteractor {
|
||||
emit(enrolledFingerprintsInternal.size < enrollableFingerprints)
|
||||
}
|
||||
|
||||
override val sensorPropertiesInternal: Flow<FingerprintSensorPropertyViewModel?> = flow {
|
||||
override val sensorPropertiesInternal: Flow<FingerprintSensor?> = flow {
|
||||
emit(sensorProp)
|
||||
}
|
||||
|
||||
@@ -79,7 +84,7 @@ class FakeFingerprintManagerInteractor : FingerprintManagerInteractor {
|
||||
}
|
||||
|
||||
override suspend fun hasSideFps(): Boolean {
|
||||
return sensorProp.sensorType == SensorType.SFPS
|
||||
return sensorProp.sensorType == FingerprintSensorType.POWER_BUTTON
|
||||
}
|
||||
|
||||
override suspend fun pressToAuthEnabled(): Boolean {
|
||||
|
@@ -18,14 +18,14 @@ package com.android.settings.fingerprint2.ui.settings
|
||||
|
||||
import androidx.arch.core.executor.testing.InstantTaskExecutorRule
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintAuthAttemptViewModel
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintSensorPropertyViewModel
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintViewModel
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.SensorStrength
|
||||
import com.android.settings.biometrics.fingerprint2.shared.model.SensorType
|
||||
import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.FingerprintSettingsNavigationViewModel
|
||||
import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.FingerprintSettingsViewModel
|
||||
import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.PreferenceViewModel
|
||||
import com.android.settings.testutils2.FakeFingerprintManagerInteractor
|
||||
import com.android.systemui.biometrics.shared.model.FingerprintSensor
|
||||
import com.android.systemui.biometrics.shared.model.FingerprintSensorType
|
||||
import com.android.systemui.biometrics.shared.model.SensorStrength
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.flow.collectLatest
|
||||
@@ -96,11 +96,11 @@ class FingerprintSettingsViewModelTest {
|
||||
fun authenticate_DoesNotRun_ifOptical() =
|
||||
testScope.runTest {
|
||||
fakeFingerprintManagerInteractor.sensorProp =
|
||||
FingerprintSensorPropertyViewModel(
|
||||
FingerprintSensor(
|
||||
0 /* sensorId */,
|
||||
SensorStrength.Strong,
|
||||
SensorStrength.STRONG,
|
||||
5 /* maxEnrollmentsPerUser */,
|
||||
SensorType.Optical,
|
||||
FingerprintSensorType.UDFPS_OPTICAL,
|
||||
)
|
||||
fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
|
||||
mutableListOf(FingerprintViewModel("a", 1, 3L))
|
||||
@@ -132,11 +132,11 @@ class FingerprintSettingsViewModelTest {
|
||||
fun authenticate_DoesNotRun_ifUltrasonic() =
|
||||
testScope.runTest {
|
||||
fakeFingerprintManagerInteractor.sensorProp =
|
||||
FingerprintSensorPropertyViewModel(
|
||||
FingerprintSensor(
|
||||
0 /* sensorId */,
|
||||
SensorStrength.Strong,
|
||||
SensorStrength.STRONG,
|
||||
5 /* maxEnrollmentsPerUser */,
|
||||
SensorType.Ultrasonic,
|
||||
FingerprintSensorType.UDFPS_ULTRASONIC,
|
||||
)
|
||||
fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
|
||||
mutableListOf(FingerprintViewModel("a", 1, 3L))
|
||||
@@ -166,11 +166,11 @@ class FingerprintSettingsViewModelTest {
|
||||
fun authenticate_DoesRun_ifNotUdfps() =
|
||||
testScope.runTest {
|
||||
fakeFingerprintManagerInteractor.sensorProp =
|
||||
FingerprintSensorPropertyViewModel(
|
||||
FingerprintSensor(
|
||||
0 /* sensorId */,
|
||||
SensorStrength.Strong,
|
||||
SensorStrength.STRONG,
|
||||
5 /* maxEnrollmentsPerUser */,
|
||||
SensorType.SFPS
|
||||
FingerprintSensorType.POWER_BUTTON
|
||||
)
|
||||
fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
|
||||
mutableListOf(FingerprintViewModel("a", 1, 3L))
|
||||
@@ -372,11 +372,11 @@ class FingerprintSettingsViewModelTest {
|
||||
|
||||
private fun setupAuth(): MutableList<FingerprintViewModel> {
|
||||
fakeFingerprintManagerInteractor.sensorProp =
|
||||
FingerprintSensorPropertyViewModel(
|
||||
FingerprintSensor(
|
||||
0 /* sensorId */,
|
||||
SensorStrength.Strong,
|
||||
SensorStrength.STRONG,
|
||||
5 /* maxEnrollmentsPerUser */,
|
||||
SensorType.SFPS
|
||||
FingerprintSensorType.POWER_BUTTON
|
||||
)
|
||||
val fingerprints =
|
||||
mutableListOf(FingerprintViewModel("a", 1, 3L), FingerprintViewModel("b", 2, 5L))
|
||||
|
Reference in New Issue
Block a user