tree a2fe29e12f5152fb1eb8972c25dc8040e4d54084
parent ca974ab0c37c3cf11c650eecec1142dcbc690bab
author stuartmorgan <stuartmorgan@google.com> 1671217806 -0500
committer GitHub <noreply@github.com> 1671217806 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJjnMKOCRBK7hj4Ov3rIwAAbB8IACkIS9kpQW0AMR5Me/AnpepV
 wo2ag/xCfH5dI81WQoLu+nWkCOQvgimJPYtDIX/SV1rkKqb6MEMs8rBZ6h/2jOIU
 0JrAXYKq2t/pWoRFAc0VXlGwOVG2ZZNSWvkmMUDKZsgmiYaB3NL2PUVC56YWs9LM
 1syVZlBV5XOWN484ozvK7e6vS5aZKhx1+bqof50XsROVrE33btJNvpezRIvmdhSQ
 LhkDN2JFz02W9/UDTbg3vOxtHTJYcxGY3pFxgmkyymDH1g3uKskUeRd5QcGwJfEx
 zkVe8jKtJ0zLp6KkALVsS3VuXO/Zd1BwmdIQvTNETBSWRfoMyQLdnuIVBBbCjjU=
 =UKpv
 -----END PGP SIGNATURE-----
 

[image_picker] Don't store null paths in lost cache (#6678)

If the user cancels image selection on Android, store nothing in the
lost image cache rather than storing an array with a null path.

While we could potentially keep this behavior and instead handle it
differently on the Dart side, returning some new "cancelled"
`LostDataResponse`, that would be semi-breaking; e.g., the current
example's lost data handling would actually throw as written if we had a
new non-`isEmpty`, non-exception, null-`file` response. Since nobody has
requested the ability to specifically detect a "lost cancel" as being
different from not having started the process of picking anything, this
doesn't make that potentially-client-breaking change. If it turns out
there's a use case for that in the future, we can revisit that (but
should not do it by storing a null entry in a file array anyway).

Fixes https://github.com/flutter/flutter/issues/114551