Reland sfps enroll improvement feature with feature provider

Prior cl, ag/24720067, was reverted due to platinum failed,
this cl fixes the fails (NPE on UDFPS).

Bug: 288155127
Bug: 305132251
Test: Manually check on Lynx and Felix
Test: atest BiometricsE2eTests:FingerprintEnrollSuccessTest
Test: abtd for platinum, see b/305048300#comment14
Change-Id: I90f4ea14853edf03abd8ffe0b7874894eb2d4f81
This commit is contained in:
Wu Ahan
2023-09-11 04:54:42 +00:00
parent 55b8e79016
commit 667341c343
12 changed files with 362 additions and 42 deletions

View File

@@ -21,6 +21,7 @@ import com.android.settings.accessibility.AccessibilitySearchFeatureProvider
import com.android.settings.accounts.AccountFeatureProvider
import com.android.settings.applications.ApplicationFeatureProvider
import com.android.settings.biometrics.face.FaceFeatureProvider
import com.android.settings.biometrics.fingerprint.FingerprintFeatureProvider
import com.android.settings.biometrics2.factory.BiometricsRepositoryProvider
import com.android.settings.bluetooth.BluetoothFeatureProvider
import com.android.settings.connecteddevice.fastpair.FastPairFeatureProvider
@@ -104,8 +105,16 @@ abstract class FeatureFactory {
*/
abstract val bluetoothFeatureProvider: BluetoothFeatureProvider
/**
* Retrieves implementation for Face feature.
*/
abstract val faceFeatureProvider: FaceFeatureProvider
/**
* Retrieves implementation for Fingerprint feature.
*/
abstract val fingerprintFeatureProvider: FingerprintFeatureProvider
/**
* Gets implementation for Biometrics repository provider.
*/

View File

@@ -29,6 +29,8 @@ import com.android.settings.accounts.AccountFeatureProviderImpl
import com.android.settings.applications.ApplicationFeatureProviderImpl
import com.android.settings.biometrics.face.FaceFeatureProvider
import com.android.settings.biometrics.face.FaceFeatureProviderImpl
import com.android.settings.biometrics.fingerprint.FingerprintFeatureProvider
import com.android.settings.biometrics.fingerprint.FingerprintFeatureProviderImpl
import com.android.settings.biometrics2.factory.BiometricsRepositoryProviderImpl
import com.android.settings.bluetooth.BluetoothFeatureProvider
import com.android.settings.bluetooth.BluetoothFeatureProviderImpl
@@ -145,6 +147,10 @@ open class FeatureFactoryImpl : FeatureFactory() {
override val faceFeatureProvider: FaceFeatureProvider by lazy { FaceFeatureProviderImpl() }
override val fingerprintFeatureProvider: FingerprintFeatureProvider by lazy {
FingerprintFeatureProviderImpl()
}
override val biometricsRepositoryProvider by lazy { BiometricsRepositoryProviderImpl() }
override val wifiTrackerLibProvider: WifiTrackerLibProvider by lazy {