fix(android): report the biometric failure instead of destroying the cache

The launch-time auto-open received boUnavailable and wiped the cache, seconds after the write path had proved the device could authenticate. The diagnosis was wrong and the reaction irreversible. An automatic action now never clears the vault: it logs the cause and leaves the user on the unlock screen. Only an explicit tap on Open, followed by a clean refusal from the system, may clear it. PMA.Biometric keeps the reason in LastBiometricError, and a Java-layer exception now maps to boFailed rather than boUnavailable - an exception says nothing about the device. The log memo also wraps: it was cutting off exactly the end of the message, which is where the cause is named.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
r-zakarya
2026-08-15 13:42:07 +01:00
parent 5187da3070
commit 09048410e1
4 changed files with 164 additions and 10 deletions
+39
View File
@@ -0,0 +1,39 @@
.\Android64\Debug\pmserverApk\classes\pmserverApk.classes
.\Android64\Debug\pmserverApk\res\drawable-anydpi-v31\splash_vector.xml
.\Android64\Debug\pmserverApk\res\drawable-anydpi-v26\ic_launcher.xml
.\Android64\Debug\pmserverApk\res\drawable-hdpi\ic_launcher.png
.\Android64\Debug\pmserverApk\res\drawable-night-anydpi-v21\splash_vector.xml
.\Android64\Debug\pmserverApk\AndroidManifest.xml
.\Android64\Debug\pmserverApk\res\drawable-mdpi\ic_launcher.png
.\Android64\Debug\pmserverApk\res\drawable-xxhdpi\ic_launcher.png
.\Android64\Debug\pmserverApk\res\drawable-xxxhdpi\ic_launcher.png
.\Android64\Debug\pmserverApk\res\values-night-v21\colors.xml
.\Android64\Debug\pmserverApk\res\drawable-xhdpi\ic_notification.png
.\Android64\Debug\pmserverApk\res\drawable-large\splash_image.png
.\Android64\Debug\pmserverApk\res\drawable\ic_launcher_monochrome.xml
.\Android64\Debug\pmserverApk\res\drawable-anydpi-v21\splash_image_def.xml
.\Android64\Debug\pmserverApk\library\lib\armeabi\libpmserverApk.so
.\Android64\Debug\pmserverApk\res\values-v31\styles.xml
.\Android64\Debug\pmserverApk\res\values\colors.xml
.\Android64\Debug\pmserverApk\res\drawable\splash_image_def.xml
.\Android64\Debug\pmserverApk\res\drawable-hdpi\ic_notification.png
.\Android64\Debug\pmserverApk\res\drawable-xxxhdpi\ic_notification.png
.\Android64\Debug\pmserverApk\library\lib\mips\libpmserverApk.so
.\Android64\Debug\pmserverApk\res\drawable-xhdpi\ic_launcher.png
.\Android64\Debug\pmserverApk\res\drawable\splash_vector.xml
.\Android64\Debug\pmserverApk\library\lib\armeabi-v7a\libpmserverApk.so
.\Android64\Debug\pmserverApk\res\drawable-mdpi\ic_notification.png
.\Android64\Debug\pmserverApk\res\drawable-ldpi\ic_launcher.png
.\Android64\Debug\pmserverApk\res\drawable-xlarge\splash_image.png
.\Android64\Debug\pmserverApk\res\drawable-night-anydpi-v31\splash_vector.xml
.\Android64\Debug\pmserverApk\res\values\styles.xml
.\Android64\Debug\pmserverApk\res\drawable-small\splash_image.png
.\Android64\Debug\pmserverApk\res\drawable-anydpi-v24\ic_notification.xml
.\Android64\Debug\pmserverApk\res\values\strings.xml
.\Android64\Debug\pmserverApk\res\values-v21\styles.xml
.\Android64\Debug\pmserverApk\library\lib\arm64-v8a\libpmserverApk.so
.\Android64\Debug\pmserverApk\res\drawable-xxhdpi\ic_notification.png
.\Android64\Debug\pmserverApk\res\drawable\ic_launcher_foreground.xml
.\Android64\Debug\pmserverApk\res\drawable\ic_launcher_background.xml
.\Android64\Debug\pmserverApk\res\drawable-anydpi-v33\ic_launcher.xml
.\Android64\Debug\pmserverApk\res\drawable-normal\splash_image.png