Status Update
Comments
an...@gmail.com <an...@gmail.com> #2
This error also applies to Redmi 9 with Android 10. This issue was first reported
I'm using
Attached is a screenshot of the Android Device Monitor, showing the callbacks invoked, when clicking the fallback button and entering the correct pattern.
Device info
ro.odm.product.cpu.abilist=arm64-v8a,armeabi-v7a,armeabi
ro.odm.product.cpu.abilist32=armeabi-v7a,armeabi
ro.odm.product.cpu.abilist64=arm64-v8a
# begin common build properties
# autogenerated by build/make/tools/buildinfo_common.sh
ro.odm.build.date=Mon Jun 7 23:17:58 CST 2021
ro.odm.build.date.utc=1623079078
ro.odm.build.fingerprint=Redmi/lancelot_tr/lancelot:10/QP1A.190711.020/V12.0.3.0.QJCTRXM:user/release-keys
ro.odm.build.id=QP1A.190711.020
ro.odm.build.tags=release-keys
ro.odm.build.type=user
ro.odm.build.version.incremental=V12.0.3.0.QJCTRXM
ro.odm.build.version.release=10
ro.odm.build.version.sdk=29
ro.product.odm.brand=Redmi
ro.product.odm.device=lancelot
ro.product.odm.manufacturer=Xiaomi
ro.product.odm.model=lancelot
ro.product.odm.name=lancelot_tr
ro.product.odm.marketname=Redmi 9
Description
Some Xiaomi devices do not handle properly the credential fallback. Pressing the fallback button of the prompt or using the wrong finger to trigger the automatic credential fallback cause an immediate
BiometricPrompt.ERROR_CANCELED
(5) to be emitted. The credential activity starts regardless, but its result, be it success or failure, won't be passed back to the application.I could work around this issue by forking the androidx library and forcing this condition to be true for Xiaomi devices.
launchConfirmCredentialActivity()
is going to show theBiometricPrompt
and it will handle the credential fallback correctly.So far I managed to reproduce the issue on a Redmi Note 8 Pro with Android 10. Not all the Xiaomi devices behave incorrectly, but I have no more info on this.
This appears to be the behavior of the native
BiometricPrompt
, so it is probably a vendor specific bug, but it is probably worth implementing some workaround in the library if feasible.Here some information on the device affected by the issue: