1
0
Fork 0

For #7603 - Temporarily do not show biometric prompt for OnePlus devices

master
Emily Kager 2020-02-07 18:24:44 +01:00 committed by Jeff Boek
parent ca60e3fbe3
commit 17d7928cc9
1 changed files with 17 additions and 9 deletions

View File

@ -140,15 +140,23 @@ class LoginsFragment : PreferenceFragmentCompat(), AccountObserver {
override fun onAuthenticationProblems() = updateSyncPreferenceNeedsReauth() override fun onAuthenticationProblems() = updateSyncPreferenceNeedsReauth()
val isHardwareAvailable: Boolean by lazy { val isHardwareAvailable: Boolean by lazy {
if (Build.VERSION.SDK_INT >= M) { // Temporary fix for certain devices that can't use the current biometrics library
context?.let { // https://github.com/mozilla-mobile/fenix/issues/7603
val bm = BiometricManager.from(it) when {
val canAuthenticate = bm.canAuthenticate() Build.MANUFACTURER.toLowerCase().contains("oneplus") -> {
!(canAuthenticate == BiometricManager.BIOMETRIC_ERROR_NO_HARDWARE || false
canAuthenticate == BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE) }
} ?: false Build.VERSION.SDK_INT >= M -> {
} else { context?.let {
false val bm = BiometricManager.from(it)
val canAuthenticate = bm.canAuthenticate()
!(canAuthenticate == BiometricManager.BIOMETRIC_ERROR_NO_HARDWARE ||
canAuthenticate == BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE)
} ?: false
}
else -> {
false
}
} }
} }