Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cca6e815 authored by Danny Burakov's avatar Danny Burakov Committed by Android (Google) Code Review
Browse files

Merge "Update biometric message to allow identifying special messages like...

Merge "Update biometric message to allow identifying special messages like auth failure and auth lockout." into main
parents af64c7cf a7a7667e
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -21,9 +21,12 @@ import com.android.systemui.biometrics.domain.interactor.FingerprintPropertyInte
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.deviceentry.shared.model.ErrorFaceAuthenticationStatus
import com.android.systemui.deviceentry.shared.model.FaceFailureMessage
import com.android.systemui.deviceentry.shared.model.FaceLockoutMessage
import com.android.systemui.deviceentry.shared.model.FaceMessage
import com.android.systemui.deviceentry.shared.model.FaceTimeoutMessage
import com.android.systemui.deviceentry.shared.model.FailedFaceAuthenticationStatus
import com.android.systemui.deviceentry.shared.model.FingerprintFailureMessage
import com.android.systemui.deviceentry.shared.model.FingerprintLockoutMessage
import com.android.systemui.deviceentry.shared.model.FingerprintMessage
import com.android.systemui.deviceentry.shared.model.HelpFaceAuthenticationStatus
@@ -97,11 +100,7 @@ constructor(
        fingerprintAuthInteractor.fingerprintHelp
            .sample(biometricSettingsInteractor.fingerprintAuthCurrentlyAllowed, ::Pair)
            .filter { (_, fingerprintAuthAllowed) -> fingerprintAuthAllowed }
            .map { (helpStatus, _) ->
                FingerprintMessage(
                    helpStatus.msg,
                )
            }
            .map { (helpStatus, _) -> FingerprintMessage(helpStatus.msg) }

    private val fingerprintFailMessage: Flow<FingerprintMessage> =
        fingerprintPropertyInteractor.isUdfps.flatMapLatest { isUdfps ->
@@ -109,7 +108,7 @@ constructor(
                .sample(biometricSettingsInteractor.fingerprintAuthCurrentlyAllowed)
                .filter { fingerprintAuthAllowed -> fingerprintAuthAllowed }
                .map {
                    FingerprintMessage(
                    FingerprintFailureMessage(
                        if (isUdfps) {
                            resources.getString(
                                com.android.internal.R.string.fingerprint_udfps_error_not_match
@@ -118,7 +117,7 @@ constructor(
                            resources.getString(
                                com.android.internal.R.string.fingerprint_error_not_match
                            )
                        },
                        }
                    )
                }
        }
@@ -154,7 +153,7 @@ constructor(
        faceFailure
            .sample(biometricSettingsInteractor.faceAuthCurrentlyAllowed)
            .filter { faceAuthCurrentlyAllowed -> faceAuthCurrentlyAllowed }
            .map { FaceMessage(resources.getString(R.string.keyguard_face_failed)) }
            .map { FaceFailureMessage(resources.getString(R.string.keyguard_face_failed)) }

    private val faceErrorMessage: Flow<FaceMessage> =
        faceError
@@ -173,6 +172,7 @@ constructor(
                            FaceTimeoutMessage(status.msg)
                        }
                    }
                    status.isLockoutError() -> FaceLockoutMessage(status.msg)
                    else -> FaceMessage(status.msg)
                }
            }
+6 −0
Original line number Diff line number Diff line
@@ -32,9 +32,15 @@ data class FaceTimeoutMessage(
    private val faceTimeoutMessage: String?,
) : FaceMessage(faceTimeoutMessage)

data class FaceLockoutMessage(private val msg: String?) : FaceMessage(msg)

data class FaceFailureMessage(private val msg: String) : FaceMessage(msg)

/** Fingerprint biometric message */
open class FingerprintMessage(fingerprintMessage: String?) : BiometricMessage(fingerprintMessage)

data class FingerprintLockoutMessage(
    private val fingerprintLockoutMessage: String?,
) : FingerprintMessage(fingerprintLockoutMessage)

data class FingerprintFailureMessage(private val msg: String?) : FingerprintMessage(msg)