biometric update

This commit is contained in:
Milos Kozak 2021-02-11 13:31:09 +01:00
parent a2702fbc12
commit c8dd373c37
3 changed files with 24 additions and 24 deletions

View file

@ -7,7 +7,7 @@ android {
compileSdkVersion 28
defaultConfig {
minSdkVersion 24
minSdkVersion 26
targetSdkVersion 28
versionCode 1
versionName "1.0"

View file

@ -10,7 +10,7 @@ dependencies {
api 'androidx.legacy:legacy-support-v4:1.0.0'
api "androidx.appcompat:appcompat:$appcompat_verison"
api "androidx.preference:preference-ktx:$preferencektx_version"
api 'androidx.biometric:biometric:1.0.1'
api 'androidx.biometric:biometric:1.1.0'
api "androidx.browser:browser:1.3.0"
api "androidx.activity:activity-ktx:${activityVersion}"
api "androidx.lifecycle:lifecycle-runtime-ktx:2.2.0"

View file

@ -1,7 +1,7 @@
package info.nightscout.androidaps.utils.protection
import androidx.biometric.BiometricConstants
import androidx.biometric.BiometricPrompt
import androidx.biometric.BiometricPrompt.*
import androidx.fragment.app.FragmentActivity
import info.nightscout.androidaps.core.R
import info.nightscout.androidaps.utils.ToastUtils
@ -16,43 +16,43 @@ object BiometricCheck {
override fun onAuthenticationError(errorCode: Int, errString: CharSequence) {
super.onAuthenticationError(errorCode, errString)
when (errorCode) {
BiometricConstants.ERROR_UNABLE_TO_PROCESS,
BiometricConstants.ERROR_TIMEOUT,
BiometricConstants.ERROR_CANCELED,
BiometricConstants.ERROR_LOCKOUT,
BiometricConstants.ERROR_VENDOR,
BiometricConstants.ERROR_LOCKOUT_PERMANENT,
BiometricConstants.ERROR_USER_CANCELED -> {
ERROR_UNABLE_TO_PROCESS,
ERROR_TIMEOUT,
ERROR_CANCELED,
ERROR_LOCKOUT,
ERROR_VENDOR,
ERROR_LOCKOUT_PERMANENT,
ERROR_USER_CANCELED -> {
ToastUtils.showToastInUiThread(activity.baseContext, errString.toString())
// fallback to master password
runOnUiThread(Runnable {
runOnUiThread {
passwordCheck.queryPassword(activity, R.string.master_password, R.string.key_master_password, { ok?.run() }, { cancel?.run() }, { fail?.run() })
})
}
}
BiometricConstants.ERROR_NEGATIVE_BUTTON ->
ERROR_NEGATIVE_BUTTON ->
cancel?.run()
BiometricConstants.ERROR_NO_DEVICE_CREDENTIAL -> {
ERROR_NO_DEVICE_CREDENTIAL -> {
ToastUtils.showToastInUiThread(activity.baseContext, errString.toString())
// no pin set
// fallback to master password
runOnUiThread(Runnable {
runOnUiThread {
passwordCheck.queryPassword(activity, R.string.master_password, R.string.key_master_password, { ok?.run() }, { cancel?.run() }, { fail?.run() })
})
}
}
BiometricConstants.ERROR_NO_SPACE,
BiometricConstants.ERROR_HW_UNAVAILABLE,
BiometricConstants.ERROR_HW_NOT_PRESENT,
BiometricConstants.ERROR_NO_BIOMETRICS ->
runOnUiThread(Runnable {
ERROR_NO_SPACE,
ERROR_HW_UNAVAILABLE,
ERROR_HW_NOT_PRESENT,
ERROR_NO_BIOMETRICS ->
runOnUiThread {
passwordCheck.queryPassword(activity, R.string.master_password, R.string.key_master_password, { ok?.run() }, { cancel?.run() }, { fail?.run() })
})
}
}
}
override fun onAuthenticationSucceeded(result: BiometricPrompt.AuthenticationResult) {
override fun onAuthenticationSucceeded(result: AuthenticationResult) {
super.onAuthenticationSucceeded(result)
// Called when a biometric is recognized.
ok?.run()
@ -65,7 +65,7 @@ object BiometricCheck {
}
})
val promptInfo = BiometricPrompt.PromptInfo.Builder()
val promptInfo = PromptInfo.Builder()
.setTitle(activity.getString(title))
.setDescription(activity.getString(R.string.biometric_title))
.setNegativeButtonText(activity.getString(R.string.cancel)) // not possible with setDeviceCredentialAllowed