Files
69668888a9 Android file inputs import photos and documents through the system picker
Carry accept and multiple through request kind 18; ending an auth wait uses 19.
Offer convertible HEIC sources, convert to upright JPEG at quality 0.9 without
source metadata, and validate the converted filename. Preserve display names and carry Android's MIME
mappings for accept extensions and display-name suffixes into validation.
Use the backported photo picker's limit of 100 below API 33.

Copy under the result's temporary read grant without taking persistable
permissions. Keep staging filenames independent of display names and remove
interrupted staging at the next process launch. Keep requests open until
completion, carry the picked-path counter across runner replacement, and remove
staging and copied files when their Change is refused. Keep published copies
through timer or layout errors, and hold deferred copies until their event commits
or is dropped. Cancel requests delivered without an activity and recreate evicted
staging directories before each allocation.

Cover backported multiple selection, persisted grants at capacity, long names,
provider reads under modeled grants across activity recreation, conversion, MIME
validation, overlapping imports and receipt-based copy retention. Robolectric
models the provider's read gate; native Android picker, grant lifetime and HEIC
qualification remain outstanding.

Part of #377.

Co-authored-by: juanclaudiopardo <[email protected]>
Co-Authored-By: GPT-6 Astra <[email protected]>
2026-11-13 04:25:16 -08:00
..