diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/keyguard/data/repository/DeviceEntryFaceAuthRepository.kt (renamed from packages/SystemUI/src/com/android/systemui/keyguard/data/repository/KeyguardFaceAuthManager.kt) | 16 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/keyguard/data/repository/KeyguardFaceAuthModule.kt | 5 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/keyguard/shared/model/FaceAuthenticationModels.kt | 5 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/log/FaceAuthenticationLogger.kt | 6 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/log/dagger/LogModule.java | 4 | ||||
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/systemui/keyguard/data/repository/DeviceEntryFaceAuthRepositoryTest.kt (renamed from packages/SystemUI/tests/src/com/android/systemui/keyguard/data/repository/KeyguardFaceAuthManagerTest.kt) | 47 |
6 files changed, 48 insertions, 35 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/data/repository/KeyguardFaceAuthManager.kt b/packages/SystemUI/src/com/android/systemui/keyguard/data/repository/DeviceEntryFaceAuthRepository.kt index 88c340bfb31c..56e73980079d 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/data/repository/KeyguardFaceAuthManager.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/data/repository/DeviceEntryFaceAuthRepository.kt @@ -73,7 +73,7 @@ import kotlinx.coroutines.withContext * API to run face authentication and detection for device entry / on keyguard (as opposed to the * biometric prompt). */ -interface KeyguardFaceAuthManager { +interface DeviceEntryFaceAuthRepository { /** Provide the current face authentication state for device entry. */ val isAuthenticated: Flow<Boolean> @@ -108,7 +108,7 @@ interface KeyguardFaceAuthManager { } @SysUISingleton -class KeyguardFaceAuthManagerImpl +class DeviceEntryFaceAuthRepositoryImpl @Inject constructor( context: Context, @@ -127,7 +127,7 @@ constructor( private val keyguardInteractor: KeyguardInteractor, private val alternateBouncerInteractor: AlternateBouncerInteractor, dumpManager: DumpManager, -) : KeyguardFaceAuthManager, Dumpable { +) : DeviceEntryFaceAuthRepository, Dumpable { private var authCancellationSignal: CancellationSignal? = null private var detectCancellationSignal: CancellationSignal? = null private var faceAcquiredInfoIgnoreList: Set<Int> @@ -144,13 +144,13 @@ constructor( get() = _detectionStatus.filterNotNull() private val _isLockedOut = MutableStateFlow(false) - override val isLockedOut: Flow<Boolean> = _isLockedOut + override val isLockedOut: StateFlow<Boolean> = _isLockedOut val isDetectionSupported = faceManager?.sensorPropertiesInternal?.firstOrNull()?.supportsFaceDetection ?: false private val _isAuthRunning = MutableStateFlow(false) - override val isAuthRunning: Flow<Boolean> + override val isAuthRunning: StateFlow<Boolean> get() = _isAuthRunning private val keyguardSessionId: InstanceId? @@ -199,7 +199,7 @@ constructor( ) .boxed() .collect(Collectors.toSet()) - dumpManager.registerCriticalDumpable("KeyguardFaceAuthManagerImpl", this) + dumpManager.registerCriticalDumpable("DeviceEntryFaceAuthRepositoryImpl", this) observeFaceAuthGatingChecks() observeFaceDetectGatingChecks() @@ -495,7 +495,7 @@ constructor( } companion object { - const val TAG = "KeyguardFaceAuthManager" + const val TAG = "DeviceEntryFaceAuthRepository" /** * If no cancel signal has been received after this amount of time, assume that it is @@ -505,7 +505,7 @@ constructor( } override fun dump(pw: PrintWriter, args: Array<out String>) { - pw.println("KeyguardFaceAuthManagerImpl state:") + pw.println("DeviceEntryFaceAuthRepositoryImpl state:") pw.println(" cancellationInProgress: $cancellationInProgress") pw.println(" _isLockedOut.value: ${_isLockedOut.value}") pw.println(" _isAuthRunning.value: ${_isAuthRunning.value}") diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/data/repository/KeyguardFaceAuthModule.kt b/packages/SystemUI/src/com/android/systemui/keyguard/data/repository/KeyguardFaceAuthModule.kt index b426e54f0ac2..3c66f2424c7b 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/data/repository/KeyguardFaceAuthModule.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/data/repository/KeyguardFaceAuthModule.kt @@ -22,7 +22,10 @@ import dagger.Module @Module interface KeyguardFaceAuthModule { - @Binds fun faceAuthManager(impl: KeyguardFaceAuthManagerImpl): KeyguardFaceAuthManager + @Binds + fun deviceEntryFaceAuthRepository( + impl: DeviceEntryFaceAuthRepositoryImpl + ): DeviceEntryFaceAuthRepository @Binds fun trustRepository(impl: TrustRepositoryImpl): TrustRepository } diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/shared/model/FaceAuthenticationModels.kt b/packages/SystemUI/src/com/android/systemui/keyguard/shared/model/FaceAuthenticationModels.kt index b1c5f8fa270b..eded9c1454f2 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/shared/model/FaceAuthenticationModels.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/shared/model/FaceAuthenticationModels.kt @@ -18,7 +18,10 @@ package com.android.systemui.keyguard.shared.model import android.hardware.face.FaceManager -/** Authentication status provided by [com.android.keyguard.faceauth.KeyguardFaceAuthManager] */ +/** + * Authentication status provided by + * [com.android.systemui.keyguard.data.repository.DeviceEntryFaceAuthRepository] + */ sealed class AuthenticationStatus /** Success authentication status. */ diff --git a/packages/SystemUI/src/com/android/systemui/log/FaceAuthenticationLogger.kt b/packages/SystemUI/src/com/android/systemui/log/FaceAuthenticationLogger.kt index 1c1755a6bd37..f7355d5c11e2 100644 --- a/packages/SystemUI/src/com/android/systemui/log/FaceAuthenticationLogger.kt +++ b/packages/SystemUI/src/com/android/systemui/log/FaceAuthenticationLogger.kt @@ -9,15 +9,15 @@ import com.android.systemui.plugins.log.LogBuffer import com.android.systemui.plugins.log.LogLevel.DEBUG import javax.inject.Inject -private const val TAG = "KeyguardFaceAuthManagerLog" +private const val TAG = "DeviceEntryFaceAuthRepositoryLog" /** * Helper class for logging for - * [com.android.systemui.keyguard.data.repository.KeyguardFaceAuthManager] + * [com.android.systemui.keyguard.data.repository.DeviceEntryFaceAuthRepository] * * To enable logcat echoing for an entire buffer: * ``` - * adb shell settings put global systemui/buffer/KeyguardFaceAuthManagerLog <logLevel> + * adb shell settings put global systemui/buffer/DeviceEntryFaceAuthRepositoryLog <logLevel> * * ``` */ diff --git a/packages/SystemUI/src/com/android/systemui/log/dagger/LogModule.java b/packages/SystemUI/src/com/android/systemui/log/dagger/LogModule.java index e204defb82b6..3775e2c6bbee 100644 --- a/packages/SystemUI/src/com/android/systemui/log/dagger/LogModule.java +++ b/packages/SystemUI/src/com/android/systemui/log/dagger/LogModule.java @@ -367,13 +367,13 @@ public class LogModule { /** * Provides a {@link LogBuffer} for use by - * {@link com.android.keyguard.faceauth.KeyguardFaceAuthManagerImpl}. + * {@link com.android.systemui.keyguard.data.repository.DeviceEntryFaceAuthRepositoryImpl}. */ @Provides @SysUISingleton @FaceAuthLog public static LogBuffer provideFaceAuthLog(LogBufferFactory factory) { - return factory.create("KeyguardFaceAuthManagerLog", 300); + return factory.create("DeviceEntryFaceAuthRepositoryLog", 300); } /** diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/data/repository/KeyguardFaceAuthManagerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/data/repository/DeviceEntryFaceAuthRepositoryTest.kt index 8349b0b2d972..6e002f5a9a9a 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/data/repository/KeyguardFaceAuthManagerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/data/repository/DeviceEntryFaceAuthRepositoryTest.kt @@ -92,8 +92,8 @@ import org.mockito.MockitoAnnotations @OptIn(ExperimentalCoroutinesApi::class) @SmallTest @RunWith(JUnit4::class) -class KeyguardFaceAuthManagerTest : SysuiTestCase() { - private lateinit var underTest: KeyguardFaceAuthManagerImpl +class DeviceEntryFaceAuthRepositoryTest : SysuiTestCase() { + private lateinit var underTest: DeviceEntryFaceAuthRepositoryImpl @Mock private lateinit var faceManager: FaceManager @Mock private lateinit var bypassController: KeyguardBypassController @@ -174,14 +174,14 @@ class KeyguardFaceAuthManagerTest : SysuiTestCase() { whenever(faceManager.sensorPropertiesInternal) .thenReturn(listOf(createFaceSensorProperties(supportsFaceDetection = true))) whenever(bypassController.bypassEnabled).thenReturn(true) - underTest = createFaceAuthManagerImpl(faceManager, bypassController) + underTest = createDeviceEntryFaceAuthRepositoryImpl(faceManager, bypassController) } - private fun createFaceAuthManagerImpl( + private fun createDeviceEntryFaceAuthRepositoryImpl( fmOverride: FaceManager? = faceManager, bypassControllerOverride: KeyguardBypassController? = bypassController ) = - KeyguardFaceAuthManagerImpl( + DeviceEntryFaceAuthRepositoryImpl( mContext, fmOverride, fakeUserRepository, @@ -190,7 +190,7 @@ class KeyguardFaceAuthManagerTest : SysuiTestCase() { testDispatcher, sessionTracker, uiEventLogger, - FaceAuthenticationLogger(logcatLogBuffer("KeyguardFaceAuthManagerLog")), + FaceAuthenticationLogger(logcatLogBuffer("DeviceEntryFaceAuthRepositoryLog")), biometricSettingsRepository, deviceEntryFingerprintAuthRepository, trustRepository, @@ -270,17 +270,20 @@ class KeyguardFaceAuthManagerTest : SysuiTestCase() { @Test fun faceDetectionSupportIsTheCorrectValue() = testScope.runTest { - assertThat(createFaceAuthManagerImpl(fmOverride = null).isDetectionSupported).isFalse() + assertThat( + createDeviceEntryFaceAuthRepositoryImpl(fmOverride = null).isDetectionSupported + ) + .isFalse() whenever(faceManager.sensorPropertiesInternal).thenReturn(null) - assertThat(createFaceAuthManagerImpl().isDetectionSupported).isFalse() + assertThat(createDeviceEntryFaceAuthRepositoryImpl().isDetectionSupported).isFalse() whenever(faceManager.sensorPropertiesInternal).thenReturn(listOf()) - assertThat(createFaceAuthManagerImpl().isDetectionSupported).isFalse() + assertThat(createDeviceEntryFaceAuthRepositoryImpl().isDetectionSupported).isFalse() whenever(faceManager.sensorPropertiesInternal) .thenReturn(listOf(createFaceSensorProperties(supportsFaceDetection = false))) - assertThat(createFaceAuthManagerImpl().isDetectionSupported).isFalse() + assertThat(createDeviceEntryFaceAuthRepositoryImpl().isDetectionSupported).isFalse() whenever(faceManager.sensorPropertiesInternal) .thenReturn( @@ -289,7 +292,7 @@ class KeyguardFaceAuthManagerTest : SysuiTestCase() { createFaceSensorProperties(supportsFaceDetection = true) ) ) - assertThat(createFaceAuthManagerImpl().isDetectionSupported).isFalse() + assertThat(createDeviceEntryFaceAuthRepositoryImpl().isDetectionSupported).isFalse() whenever(faceManager.sensorPropertiesInternal) .thenReturn( @@ -298,7 +301,7 @@ class KeyguardFaceAuthManagerTest : SysuiTestCase() { createFaceSensorProperties(supportsFaceDetection = false) ) ) - assertThat(createFaceAuthManagerImpl().isDetectionSupported).isTrue() + assertThat(createDeviceEntryFaceAuthRepositoryImpl().isDetectionSupported).isTrue() } @Test @@ -325,7 +328,7 @@ class KeyguardFaceAuthManagerTest : SysuiTestCase() { testScope.runTest { whenever(faceManager.sensorPropertiesInternal) .thenReturn(listOf(createFaceSensorProperties(supportsFaceDetection = true))) - underTest = createFaceAuthManagerImpl() + underTest = createDeviceEntryFaceAuthRepositoryImpl() initCollectors() underTest.detect() @@ -341,13 +344,14 @@ class KeyguardFaceAuthManagerTest : SysuiTestCase() { testScope.runTest { whenever(faceManager.sensorPropertiesInternal) .thenReturn(listOf(createFaceSensorProperties(supportsFaceDetection = false))) - underTest = createFaceAuthManagerImpl() + underTest = createDeviceEntryFaceAuthRepositoryImpl() initCollectors() clearInvocations(faceManager) underTest.detect() - verify(faceManager, never()).detectFace(any(), any(), any()) + verify(faceManager, never()) + .detectFace(any(), any(), any(FaceAuthenticateOptions::class.java)) } @Test @@ -395,7 +399,7 @@ class KeyguardFaceAuthManagerTest : SysuiTestCase() { clearInvocations(faceManager) underTest.cancel() - advanceTimeBy(KeyguardFaceAuthManagerImpl.DEFAULT_CANCEL_SIGNAL_TIMEOUT + 1) + advanceTimeBy(DeviceEntryFaceAuthRepositoryImpl.DEFAULT_CANCEL_SIGNAL_TIMEOUT + 1) underTest.authenticate(FACE_AUTH_TRIGGERED_SWIPE_UP_ON_BOUNCER) faceAuthenticateIsCalled() @@ -408,7 +412,7 @@ class KeyguardFaceAuthManagerTest : SysuiTestCase() { R.array.config_face_acquire_device_entry_ignorelist, intArrayOf(10, 11) ) - underTest = createFaceAuthManagerImpl() + underTest = createDeviceEntryFaceAuthRepositoryImpl() initCollectors() underTest.authenticate(FACE_AUTH_TRIGGERED_SWIPE_UP_ON_BOUNCER) @@ -428,7 +432,10 @@ class KeyguardFaceAuthManagerTest : SysuiTestCase() { underTest.dump(PrintWriter(StringWriter()), emptyArray()) underTest = - createFaceAuthManagerImpl(fmOverride = null, bypassControllerOverride = null) + createDeviceEntryFaceAuthRepositoryImpl( + fmOverride = null, + bypassControllerOverride = null + ) fakeUserRepository.setSelectedUserInfo(primaryUser) underTest.dump(PrintWriter(StringWriter()), emptyArray()) @@ -547,7 +554,7 @@ class KeyguardFaceAuthManagerTest : SysuiTestCase() { whenever(faceManager.sensorPropertiesInternal) .thenReturn(listOf(createFaceSensorProperties(supportsFaceDetection = true))) whenever(bypassController.bypassEnabled).thenReturn(true) - underTest = createFaceAuthManagerImpl() + underTest = createDeviceEntryFaceAuthRepositoryImpl() initCollectors() allPreconditionsToRunFaceAuthAreTrue() @@ -568,7 +575,7 @@ class KeyguardFaceAuthManagerTest : SysuiTestCase() { testScope.runTest { featureFlags.set(FACE_AUTH_REFACTOR, false) - underTest = createFaceAuthManagerImpl() + underTest = createDeviceEntryFaceAuthRepositoryImpl() initCollectors() // Collecting any flows exposed in the public API doesn't throw any error |