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