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)
Use Markdown for this comment
Set severity, which reflects how much the issue affects the use of the product
Assign issue to yourself
Pending code changes (auto-populated)
[ID: 84651]
Story points rate the relative effort of work in a Fibonacci-like format: 0, 0.5, 1, 2, 3, 5, 8, 13, 20, 40, 100. Each team will estimate work on a slightly different scale, which means the values in this field are likely only meaningful to the team that owns the Buganizer component in which the issue resides.
See Atlassian's Agile Coach for more information on how to use story points for estimation: https://www.atlassian.com/agile/project-management/estimation [ID: 746686]
Set the version(s) of the product affected by this issue (comma-separated list)
Set the version(s) of the product in which the issue should be fixed (comma-separated list)
Set the version(s) of the product in which the issue fix was verified (comma-separated list)
Set if this issue occurs in production
[ID: 85206]
Set Reporter
Set Type
Set priority, which reflects how soon the issue should be fixed
Set Status
Set Assignee
Set Verifier
Remove item
View or edit staffing
View issue level access limits(Press Alt + Right arrow for more information)
Description
The direct boot datastore's error handling for
FileNotFoundException
during data access in direct boot mode (before user unlock) may not be fully comprehensive. The current implementation relies on parsing the Android errno exception message, which is unstable and not guaranteed to be consistent across devices or SDK levels. This means that aFileNotFoundException
during an attempt to read from user-encrypted storage in direct boot might not always be correctly identified as an invalid direct boot usage scenario, potentially leading to incorrect behavior (like returning theserializer.defaultValue
instead of throwingInvalidDirectBootUsageException
).We should explore ways to enhance the direct boot check - longer term, we should consider a solution similar to connecting to binder services only available in user-encrypted storage (which has proven a reliable solution on G3), to avoid the reliance on potentially unstable exception message parsing.