У меня есть функция, которая по идее должна возвращать результат того, прошла ли биометрическая проверка или нет
fun fingerPrintResult():Boolean
{
val executor = Executors.newSingleThreadExecutor()
val activity: FragmentActivity = this // reference to activity
var resultReturn:Boolean = false
val biometricPrompt = BiometricPrompt(activity, executor, object : BiometricPrompt.AuthenticationCallback() {
override fun onAuthenticationError(errorCode: Int, errString: CharSequence) {
super.onAuthenticationError(errorCode, errString)
resultReturn = false
}
override fun onAuthenticationSucceeded(result: BiometricPrompt.AuthenticationResult) {
super.onAuthenticationSucceeded(result)
resultReturn = true
}
override fun onAuthenticationFailed() {
super.onAuthenticationFailed()
resultReturn = false
}
})
val promptInfo = BiometricPrompt.PromptInfo.Builder()
.setTitle("Подтвердите личность")
.setNegativeButtonText("Negative Button")
.build()
biometricPrompt.authenticate(promptInfo)
return resultReturn
}
Я ее вызываю в одной из кнопок OnItemClickListener
ad.setNegativeButton("Удалить", object : DialogInterface.OnClickListener {
override fun onClick(dialog: DialogInterface, arg1: Int) {
var isTrue: Boolean = false
isTrue = fingerPrintResult()
if(!isTrue)
{
Toast.makeText(applicationContext,"Error!", Toast.LENGTH_SHORT).show()
return
}
var value = item["id"].toString()
var db = DBHandler(parent.context)
db.deleteCountry(Integer.parseInt(value))
}
})
Но isTrue не дожидается выполнения проверки
Как заставить ее дождаться результата выполнения функции?