beemdevelopment / Aegis

A free, secure and open source app for Android to manage your 2-step verification tokens.
https://getaegis.app
GNU General Public License v3.0
9.09k stars 382 forks source link

Biometric unlock not working #1127

Closed Suncatcher closed 1 year ago

Suncatcher commented 1 year ago

On one of my devices I never receive biometric unlock prompt in Aegis, on others it is working fine. The device has fingerprint sensor, I can use it in other apps. Device: Xiaomi Mi11i (K40 Pro+) M2012K11G Firmware: MIUI by xiaomi.eu 12.0.8 RKKCNXM

michaelschattgen commented 1 year ago

Are you sure you're not running into our password reminder? We implemented a password reminder to decrease the chances of people forgetting their passwords. If someone forgets their password, they may lose access to their vault. You can either type in your password once (recommended), or disable the password reminder in the settings.

https://github.com/beemdevelopment/Aegis/blob/master/FAQ.md#why-does-aegis-keep-prompting-me-for-my-password-even-though-i-have-enabled-biometric-authentication

Or are you saying it's not working at all?

Suncatcher commented 1 year ago

Yes, I am sure. I know how password reminder works, it popps up occasionally, not all the times. This is how it works on my other phone (Galaxy S9), but in this device the biometric unlock never popped up, though it it enabled in settings.

Suncatcher commented 1 year ago

Here is the log attached

--------- beginning of main
05-06 08:16:12.061 24878 24878 E velopment.aegi: Not starting debugger since process cannot load the jdwp agent.
05-06 08:16:12.218 24878 24878 I Perf    : Connecting to perf service.
05-06 08:16:12.223 24878 24878 D NetworkSecurityConfig: No Network Security Config specified, using platform default
05-06 08:16:12.223 24878 24878 D NetworkSecurityConfig: No Network Security Config specified, using platform default
05-06 08:16:12.247 24878 24878 W velopment.aegi: Accessing hidden field Ljava/util/Collections$SynchronizedCollection;->mutex:Ljava/lang/Object; (greylist-max-o, reflection, denied)
05-06 08:16:12.247 24878 24878 W velopment.aegi: Accessing hidden method Ljava/util/Collections$SynchronizedSet;-><init>(Ljava/util/Set;Ljava/lang/Object;)V (greylist-max-o, reflection, denied)
05-06 08:16:12.247 24878 24878 W velopment.aegi: Accessing hidden method Ljava/util/Collections$SynchronizedCollection;-><init>(Ljava/util/Collection;Ljava/lang/Object;)V (greylist-max-o, reflection, denied)
05-06 08:16:12.263 24878 24878 D View    : com.beemdevelopment.aegis initForcedUseForceDark: 1
05-06 08:16:12.316 24878 24878 W PhoneWindow: Previously focused view reported id 2131296763 during save, but can't be found during restore.
--------- beginning of system
05-06 08:16:12.319 24878 24878 I Timeline: Timeline: Activity_launch_request time:40474427
05-06 08:16:12.403 24878 24878 D FrameIndicator: support status: 1 0x746bf8b018 0x746bf8b4c4
05-06 08:16:12.405 24878  5292 I AdrenoGLES-0: QUALCOMM build                   : 56c8b3e99c, Ib409dfc204
05-06 08:16:12.405 24878  5292 I AdrenoGLES-0: Build Date                       : 12/07/20
05-06 08:16:12.405 24878  5292 I AdrenoGLES-0: OpenGL ES Shader Compiler Version: EV031.35.01.02
05-06 08:16:12.405 24878  5292 I AdrenoGLES-0: Local Branch                     : 
05-06 08:16:12.405 24878  5292 I AdrenoGLES-0: Remote Branch                    : 
05-06 08:16:12.405 24878  5292 I AdrenoGLES-0: Remote Branch                    : 
05-06 08:16:12.405 24878  5292 I AdrenoGLES-0: Reconstruct Branch               : 
05-06 08:16:12.405 24878  5292 I AdrenoGLES-0: Build Config                     : S P 10.0.7 AArch64
05-06 08:16:12.405 24878  5292 I AdrenoGLES-0: Driver Path                      : /vendor/lib64/egl/libGLESv2_adreno.so
05-06 08:16:12.407 24878  5292 I AdrenoGLES-0: PFP: 0x016dc094, ME: 0x00000000
05-06 08:16:12.422 24878 24878 W MirrorManager: this model don't Support
05-06 08:16:12.422 24878 24878 V TextView: sendCursorInfo support:false
05-06 08:16:12.441 24878 24878 I AssistStructure: Flattened final assist data: 2172 bytes, containing 1 windows, 14 views
05-06 08:16:32.125 24878 24878 D CompatibilityChangeReporter: Compat change id reported: 150939131; UID 10288; state: ENABLED
05-06 08:16:33.259 24878 24878 D FrameIndicator: support status: 1 0x746bf8b018 0x746bf8b4c4
05-06 08:16:33.471 24878 24878 D FrameIndicator: support status: 1 0x746bf8b018 0x746bf8b4c4
05-06 08:16:33.644 24878 24878 V TextView: sendCursorInfo support:false
05-06 08:16:33.663 24878 24878 I AssistStructure: Flattened final assist data: 2624 bytes, containing 1 windows, 19 views
05-06 08:16:35.032 24878 24878 W AutofillManager: setSaveUiState(630411182, false) called on existing session 630411182; cancelling it
05-06 08:16:35.090 24878 24878 W IInputConnectionWrapper: getTextBeforeCursor on inactive InputConnection
05-06 08:16:35.094 24878 24878 W IInputConnectionWrapper: getTextAfterCursor on inactive InputConnection
05-06 08:16:35.095 24878 24878 W IInputConnectionWrapper: getSelectedText on inactive InputConnection
05-06 08:16:35.097 24878 24878 W IInputConnectionWrapper: getTextBeforeCursor on inactive InputConnection
05-06 08:17:03.946 24878 24878 W Choreographer: Frame time is 0.198301 ms in the future!  Check that graphics HAL is generating vsync timestamps using the correct timebase.
05-06 08:17:07.608 24878  5275 W System  : A resource failed to call release. 
05-06 08:17:10.518 24878  5275 W System  : A resource failed to call dispose. 
05-06 08:17:11.038 24878 24878 W Choreographer: Frame time is 0.180754 ms in the future!  Check that graphics HAL is generating vsync timestamps using the correct timebase.
05-06 08:17:13.956 24878 24878 I Timeline: Timeline: Activity_launch_request time:40536064
05-06 08:17:14.019 24878 24878 D FrameIndicator: support status: 1 0x746d5d7018 0x746d5d74c4
05-06 08:17:14.028 24878 24878 V TextView: sendCursorInfo support:false
05-06 08:17:14.046 24878 24878 I AssistStructure: Flattened final assist data: 2172 bytes, containing 1 windows, 14 views
05-06 08:17:22.011 24878 24878 D FrameIndicator: support status: 1 0x746d5d7018 0x746d5d74c4
05-06 08:17:22.192 24878 24878 D FrameIndicator: support status: 1 0x746d5d7018 0x746d5d74c4
05-06 08:17:23.797 24878 24878 W AutofillManager: setSaveUiState(1306281391, false) called on existing session 1306281391; cancelling it
05-06 08:17:23.896 24878 24878 V TextView: sendCursorInfo support:false
05-06 08:17:23.902 24878 24878 I AssistStructure: Flattened final assist data: 2624 bytes, containing 1 windows, 19 views
05-06 08:17:25.719 24878 24878 D FrameIndicator: support status: 1 0x746d5d7018 0x746d5d74c4
05-06 08:17:27.083 24878 24878 I Timeline: Timeline: Activity_launch_request time:40549191
05-06 08:17:27.161 24878 24878 D FrameIndicator: support status: 1 0x746d5d7018 0x746d5d74c4
05-06 08:17:27.168 24878 24878 V TextView: sendCursorInfo support:false
05-06 08:17:27.180 24878 24878 I AssistStructure: Flattened final assist data: 2172 bytes, containing 1 windows, 14 views
05-06 08:17:27.421 24878  5292 D OpenGLRenderer: endAllActiveAnimators on 0xb40000746dd61600 (MenuPopupWindow$MenuDropDownListView) with handle 0xb40000746b80b420
05-06 08:17:33.770 24878 24878 D FrameIndicator: support status: 1 0x746d5d7018 0x746d5d74c4
05-06 08:17:33.932 24878 24878 D FrameIndicator: support status: 1 0x746d5d7018 0x746d5d74c4
05-06 08:17:35.597 24878 24878 W AutofillManager: setSaveUiState(797885455, false) called on existing session 797885455; cancelling it
05-06 08:17:40.593 24878 24878 D FrameIndicator: support status: 1 0x746d5d7018 0x746d5d74c4
05-06 08:17:41.219 24878 24878 I Timeline: Timeline: Activity_launch_request time:40563327
05-06 08:17:41.287 24878 24878 D FrameIndicator: support status: 1 0x746d5d7018 0x746d5d74c4
05-06 08:17:41.297 24878 24878 V TextView: sendCursorInfo support:false
05-06 08:17:41.318 24878 24878 I AssistStructure: Flattened final assist data: 2172 bytes, containing 1 windows, 14 views
05-06 08:17:41.558 24878  5292 D OpenGLRenderer: endAllActiveAnimators on 0xb40000740eadc000 (MenuPopupWindow$MenuDropDownListView) with handle 0xb40000740e97fc00
05-06 08:17:47.943 24878 24878 D FrameIndicator: support status: 1 0x746d5d7018 0x746d5d74c4
05-06 08:17:48.103 24878 24878 D FrameIndicator: support status: 1 0x746d5d7018 0x746d5d74c4
05-06 08:17:49.287 24878 24878 W AutofillManager: setSaveUiState(1950147897, false) called on existing session 1950147897; cancelling it
05-06 08:17:49.313 24878 24878 D FrameIndicator: support status: 1 0x746d5d7018 0x746d5d74c4

During capturing the log I just manually locked and unlocked passwordly consequently several times

michaelschattgen commented 1 year ago

Are you still able to manually trigger it by tapping "biometrics" under the unlock button or does it not show up at all? I assume you have seen the popup in Aegis at least once while activating the biometrics unlock.

The provided log doesn't show anything about the biometrics prompt. Could you perhaps send us a log while you're manually tapping "biometrics" to open the prompt?

Suncatcher commented 1 year ago

BTW, in your contributing guidelines the log capturing command is wrong, it throws error both in Windows Terminal and in CMD

C:\platform-tools>adb logcat --pid=$(adb shell pidof -s com.beemdevelopment.aegis) > debug.log

logcat: pid $(adb out of range.

I had to go separately to adb shell and get the aegis process PID, and replace the variable with literal, then only it worked I guess this is because this command is for BASH, but not all people use *nix in everyday work, you should extend the guidelines

Suncatcher commented 1 year ago

Are you still able to manually trigger it by tapping "biometrics" under the unlock button or does it not show up at all?

not showing at all

Suncatcher commented 1 year ago

OK, I got it to work by disabling and re-enabling the toggle in settings. The question why it did not work before with enabled toggle? Defintiely a bug, maybe Heisenbug

michaelschattgen commented 1 year ago

My guess would be that you imported a vault or cleared data after enabling biometrics unlock. The bug you were experiencing is probably caused by an issue that was reported just earlier today: #1126.

Closing this as it automatically fixed for you, we will look into the bug described in #1126.

Steve-Cooley commented 4 months ago

I just had this problem after restoring vault from backup. The fix was the same, I just disabled and re-enabled the feature via the toggle in settings. This caused me to have to enter my thumb print immediately after re-enabling this feature (i.e., I didn't have to close the app or the vault). I don't think this prompt appeared immediately after originally enabling this feature in this new android install.

Step by step:

  1. Save vault to file
  2. Install fresh android, full hard reset (I installed lineageOS)
  3. Install Aegis
  4. Use import feature to restore vault
  5. Login to Aegis app, verify all data intact, enable biometrics toggle (Note not prompted for print at this time)
  6. Close app, try to log in: no biometrics prompt

Then of course I came here, and saw and implemented the workaround described by @Suncatcher.

This was in version 3.0.1 installed via F-Droid.