Merge "[BiometricsV2] Refactor AutoCredentialViewModel" into main

This commit is contained in:
Treehugger Robot
2023-08-09 08:37:45 +00:00
committed by Android (Google) Code Review
2 changed files with 16 additions and 40 deletions

View File

@@ -64,11 +64,8 @@ class AutoCredentialViewModel(
*/
interface ChallengeGenerator {
/** Get callback that will be called later after challenge generated */
fun getCallback(): GenerateChallengeCallback?
/** Set callback that will be called later after challenge generated */
fun setCallback(callback: GenerateChallengeCallback?)
/** Callback that will be called later after challenge generated */
var callback: GenerateChallengeCallback?
/** Method for generating challenge from FingerprintManager or FaceManager */
fun generateChallenge(userId: Int)
@@ -79,30 +76,16 @@ class AutoCredentialViewModel(
private val fingerprintRepository: FingerprintRepository
) : ChallengeGenerator {
private var mCallback: GenerateChallengeCallback? = null
override fun getCallback(): GenerateChallengeCallback? {
return mCallback
}
override fun setCallback(callback: GenerateChallengeCallback?) {
mCallback = callback
}
override var callback: GenerateChallengeCallback? = null
override fun generateChallenge(userId: Int) {
val callback = mCallback
if (callback == null) {
callback?.let {
fingerprintRepository.generateChallenge(userId) {
sensorId: Int, uid: Int, challenge: Long ->
it.onChallengeGenerated(sensorId, uid, challenge)
}
} ?:run {
Log.e(TAG, "generateChallenge, null callback")
return
}
fingerprintRepository.generateChallenge(userId) {
sensorId: Int, uid: Int, challenge: Long ->
callback.onChallengeGenerated(
sensorId,
uid,
challenge
)
}
}
@@ -160,7 +143,7 @@ class AutoCredentialViewModel(
revokeGkPwHandle: Boolean,
scope: CoroutineScope
) {
challengeGenerator.setCallback(object : GenerateChallengeCallback {
challengeGenerator.callback = object : GenerateChallengeCallback {
override fun onChallengeGenerated(sensorId: Int, userId: Int, challenge: Long) {
var illegalStateExceptionCaught = false
try {
@@ -188,7 +171,7 @@ class AutoCredentialViewModel(
}
}
}
})
}
challengeGenerator.generateChallenge(userId)
}

View File

@@ -507,20 +507,13 @@ class AutoCredentialViewModelTest {
var challenge = CredentialModel.INVALID_CHALLENGE
var callbackRunCount = 0
private var _callback: AutoCredentialViewModel.GenerateChallengeCallback? = null
override fun getCallback(): AutoCredentialViewModel.GenerateChallengeCallback? {
return _callback
}
override fun setCallback(callback: AutoCredentialViewModel.GenerateChallengeCallback?) {
_callback = callback
}
override var callback: AutoCredentialViewModel.GenerateChallengeCallback? = null
override fun generateChallenge(userId: Int) {
val callback = _callback ?: return
callback.onChallengeGenerated(sensorId, this.userId, challenge)
++callbackRunCount
callback?.let {
it.onChallengeGenerated(sensorId, this.userId, challenge)
++callbackRunCount
}
}
}