Merge "Use FingerprintSensorType in shared lib." into main
This commit is contained in:
@@ -21,7 +21,6 @@ import android.annotation.StringRes
|
||||
import android.graphics.Color
|
||||
import android.graphics.PorterDuff
|
||||
import android.graphics.PorterDuffColorFilter
|
||||
import android.hardware.fingerprint.FingerprintSensorProperties
|
||||
import android.os.Bundle
|
||||
import android.text.Html
|
||||
import android.text.method.LinkMovementMethod
|
||||
@@ -39,6 +38,7 @@ import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.Fing
|
||||
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 FingerprintEnrollmentIntroV2Fragment : Fragment(R.layout.fingerprint_v2_en
|
||||
val iconShield: ImageView = view.requireViewById(R.id.icon_shield)
|
||||
val footerMessage6: TextView = view.requireViewById(R.id.footer_message_6)
|
||||
when (sensorType) {
|
||||
FingerprintSensorProperties.TYPE_UDFPS_ULTRASONIC,
|
||||
FingerprintSensorProperties.TYPE_UDFPS_OPTICAL -> {
|
||||
FingerprintSensorType.UDFPS_ULTRASONIC,
|
||||
FingerprintSensorType.UDFPS_OPTICAL -> {
|
||||
footerMessage6.visibility = View.VISIBLE
|
||||
iconShield.visibility = View.VISIBLE
|
||||
}
|
||||
|
@@ -16,20 +16,24 @@
|
||||
|
||||
package com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel
|
||||
|
||||
import android.hardware.fingerprint.FingerprintSensorProperties
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintManagerInteractor
|
||||
import com.android.systemui.biometrics.shared.model.FingerprintSensorType
|
||||
import com.android.systemui.biometrics.shared.model.toSensorType
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.transform
|
||||
import kotlinx.coroutines.flow.filterNotNull
|
||||
import kotlinx.coroutines.flow.map
|
||||
|
||||
/** Represents all of the fingerprint information needed for fingerprint enrollment. */
|
||||
class FingerprintEnrollViewModel(fingerprintManagerInteractor: FingerprintManagerInteractor) :
|
||||
ViewModel() {
|
||||
|
||||
/** Represents the stream of [FingerprintSensorProperties.SensorType] */
|
||||
val sensorType: Flow<Int> =
|
||||
fingerprintManagerInteractor.sensorPropertiesInternal.transform { it?.sensorType }
|
||||
/** Represents the stream of [FingerprintSensorType] */
|
||||
val sensorType: Flow<FingerprintSensorType> =
|
||||
fingerprintManagerInteractor.sensorPropertiesInternal.filterNotNull().map {
|
||||
it.sensorType.toSensorType()
|
||||
}
|
||||
|
||||
class FingerprintEnrollViewModelFactory(val interactor: FingerprintManagerInteractor) :
|
||||
ViewModelProvider.Factory {
|
||||
|
@@ -17,7 +17,6 @@
|
||||
package com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel
|
||||
|
||||
import android.hardware.fingerprint.FingerprintManager
|
||||
import android.hardware.fingerprint.FingerprintSensorProperties
|
||||
import android.util.Log
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
@@ -25,6 +24,8 @@ import androidx.lifecycle.viewModelScope
|
||||
import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintManagerInteractor
|
||||
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.FingerprintSensorType
|
||||
import com.android.systemui.biometrics.shared.model.toSensorType
|
||||
import kotlinx.coroutines.CoroutineDispatcher
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.MutableSharedFlow
|
||||
@@ -89,11 +90,13 @@ class FingerprintSettingsViewModel(
|
||||
|
||||
private val _consumerShouldAuthenticate: MutableStateFlow<Boolean> = MutableStateFlow(false)
|
||||
|
||||
private val _fingerprintSensorType: Flow<Int> =
|
||||
fingerprintManagerInteractor.sensorPropertiesInternal.transform { it?.sensorType }
|
||||
private val _fingerprintSensorType: Flow<FingerprintSensorType> =
|
||||
fingerprintManagerInteractor.sensorPropertiesInternal.filterNotNull().map {
|
||||
it.sensorType.toSensorType()
|
||||
}
|
||||
|
||||
private val _sensorNullOrEmpty: Flow<Boolean> =
|
||||
fingerprintManagerInteractor.sensorPropertiesInternal.map{it ==null}
|
||||
fingerprintManagerInteractor.sensorPropertiesInternal.map { it == null }
|
||||
|
||||
private val _isLockedOut: MutableStateFlow<FingerprintAuthAttemptViewModel.Error?> =
|
||||
MutableStateFlow(null)
|
||||
@@ -147,10 +150,7 @@ class FingerprintSettingsViewModel(
|
||||
return@combine false
|
||||
}
|
||||
if (
|
||||
listOf(
|
||||
FingerprintSensorProperties.TYPE_UDFPS_OPTICAL,
|
||||
FingerprintSensorProperties.TYPE_UDFPS_ULTRASONIC
|
||||
)
|
||||
listOf(FingerprintSensorType.UDFPS_ULTRASONIC, FingerprintSensorType.UDFPS_OPTICAL)
|
||||
.contains(sensorType)
|
||||
) {
|
||||
return@combine false
|
||||
|
Reference in New Issue
Block a user