Change theme
Help
Press space for more information.
Show links for this issue (Shortcut: i, l)
Copy issue ID
Previous Issue (Shortcut: k)
Next Issue (Shortcut: j)
Sign in to use full features.
Vote: I am impacted
Notification menu
Refresh (Shortcut: Shift+r)
Go home (Shortcut: u)
Pending code changes (auto-populated)
View issue level access limits(Press Alt + Right arrow for more information)
Unintended behavior
View staffing
Description
Fatal Exception: java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
at java.util.ArrayList.get(ArrayList.java:437)
at androidx.fragment.app.FragmentStore.findFragmentByTag(FragmentStore.java:270)
at androidx.fragment.app.FragmentManager.findFragmentByTag(FragmentManager.java:1830)
at androidx.biometric.BiometricPrompt.findBiometricFragment(BiometricPrompt.java:1056)
at androidx.biometric.BiometricPrompt.cancelAuthentication(BiometricPrompt.java:1009)
BUILD INFO
- OS version: Android 10 and above
- Biometric library version: 1.1.0
STEPS TO REPRODUCE
This seems to be very spurious and could not find exact steps to reproduce. But able to see crashes due to this.
EXPECTED RESULTS
When we programatically call `cancelAuthentication` when the biometric prompt is open we should dismiss the dialog without any crash
OBSERVED RESULTS
On performing `cancelAuthentication` the internal `findFragmentByTag` is checking over the size and when iteration when the dialog is dismissed before iteration completes, we will see crash