Fix biometric authentication launch

This commit is contained in:
Koitharu
2025-06-24 18:24:40 +03:00
parent 7404612a84
commit e8f0aa8388

View File

@@ -19,8 +19,11 @@ import androidx.biometric.BiometricManager.Authenticators.BIOMETRIC_WEAK
import androidx.biometric.BiometricManager.BIOMETRIC_SUCCESS
import androidx.biometric.registerForAuthenticationResult
import androidx.core.view.WindowInsetsCompat
import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.withResumed
import com.google.android.material.textfield.TextInputLayout
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.launch
import org.koitharu.kotatsu.R
import org.koitharu.kotatsu.core.ui.BaseActivity
import org.koitharu.kotatsu.core.ui.util.DefaultTextWatcher
@@ -68,6 +71,15 @@ class ProtectActivity :
startActivity(intent)
finishAfterTransition()
}
lifecycleScope.launch {
withResumed {
canUseBiometric = useFingerprint()
updateEndIcon()
if (!canUseBiometric) {
viewBinding.editPassword.requestFocus()
}
}
}
}
override fun onApplyWindowInsets(v: View, insets: WindowInsetsCompat): WindowInsetsCompat {
@@ -82,15 +94,6 @@ class ProtectActivity :
return insets.consumeAllSystemBarsInsets()
}
override fun onStart() {
super.onStart()
canUseBiometric = useFingerprint()
updateEndIcon()
if (!canUseBiometric) {
viewBinding.editPassword.requestFocus()
}
}
override fun onClick(v: View) {
when (v.id) {
R.id.button_next -> viewModel.tryUnlock(viewBinding.editPassword.text?.toString().orEmpty())