Merge "[BiometricsV2] Refactor AutoCredentialViewModel" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
33d480ed56
@@ -64,11 +64,8 @@ class AutoCredentialViewModel(
|
|||||||
*/
|
*/
|
||||||
interface ChallengeGenerator {
|
interface ChallengeGenerator {
|
||||||
|
|
||||||
/** Get callback that will be called later after challenge generated */
|
/** Callback that will be called later after challenge generated */
|
||||||
fun getCallback(): GenerateChallengeCallback?
|
var callback: GenerateChallengeCallback?
|
||||||
|
|
||||||
/** Set callback that will be called later after challenge generated */
|
|
||||||
fun setCallback(callback: GenerateChallengeCallback?)
|
|
||||||
|
|
||||||
/** Method for generating challenge from FingerprintManager or FaceManager */
|
/** Method for generating challenge from FingerprintManager or FaceManager */
|
||||||
fun generateChallenge(userId: Int)
|
fun generateChallenge(userId: Int)
|
||||||
@@ -79,30 +76,16 @@ class AutoCredentialViewModel(
|
|||||||
private val fingerprintRepository: FingerprintRepository
|
private val fingerprintRepository: FingerprintRepository
|
||||||
) : ChallengeGenerator {
|
) : ChallengeGenerator {
|
||||||
|
|
||||||
private var mCallback: GenerateChallengeCallback? = null
|
override var callback: GenerateChallengeCallback? = null
|
||||||
|
|
||||||
override fun getCallback(): GenerateChallengeCallback? {
|
|
||||||
return mCallback
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun setCallback(callback: GenerateChallengeCallback?) {
|
|
||||||
mCallback = callback
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun generateChallenge(userId: Int) {
|
override fun generateChallenge(userId: Int) {
|
||||||
val callback = mCallback
|
callback?.let {
|
||||||
if (callback == null) {
|
fingerprintRepository.generateChallenge(userId) {
|
||||||
|
sensorId: Int, uid: Int, challenge: Long ->
|
||||||
|
it.onChallengeGenerated(sensorId, uid, challenge)
|
||||||
|
}
|
||||||
|
} ?:run {
|
||||||
Log.e(TAG, "generateChallenge, null callback")
|
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,
|
revokeGkPwHandle: Boolean,
|
||||||
scope: CoroutineScope
|
scope: CoroutineScope
|
||||||
) {
|
) {
|
||||||
challengeGenerator.setCallback(object : GenerateChallengeCallback {
|
challengeGenerator.callback = object : GenerateChallengeCallback {
|
||||||
override fun onChallengeGenerated(sensorId: Int, userId: Int, challenge: Long) {
|
override fun onChallengeGenerated(sensorId: Int, userId: Int, challenge: Long) {
|
||||||
var illegalStateExceptionCaught = false
|
var illegalStateExceptionCaught = false
|
||||||
try {
|
try {
|
||||||
@@ -188,7 +171,7 @@ class AutoCredentialViewModel(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
challengeGenerator.generateChallenge(userId)
|
challengeGenerator.generateChallenge(userId)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -507,20 +507,13 @@ class AutoCredentialViewModelTest {
|
|||||||
var challenge = CredentialModel.INVALID_CHALLENGE
|
var challenge = CredentialModel.INVALID_CHALLENGE
|
||||||
var callbackRunCount = 0
|
var callbackRunCount = 0
|
||||||
|
|
||||||
private var _callback: AutoCredentialViewModel.GenerateChallengeCallback? = null
|
override var callback: AutoCredentialViewModel.GenerateChallengeCallback? = null
|
||||||
|
|
||||||
override fun getCallback(): AutoCredentialViewModel.GenerateChallengeCallback? {
|
|
||||||
return _callback
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun setCallback(callback: AutoCredentialViewModel.GenerateChallengeCallback?) {
|
|
||||||
_callback = callback
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun generateChallenge(userId: Int) {
|
override fun generateChallenge(userId: Int) {
|
||||||
val callback = _callback ?: return
|
callback?.let {
|
||||||
callback.onChallengeGenerated(sensorId, this.userId, challenge)
|
it.onChallengeGenerated(sensorId, this.userId, challenge)
|
||||||
++callbackRunCount
|
++callbackRunCount
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user