tree e0140feac5581d6ad3caf997ff093fa612dbafef
parent 7bf95f41e4b0ca936fcc7f4cc889b17dbbff862c
author Tanay Neotia <50850142+tneotia@users.noreply.github.com> 1675194378 -0500
committer GitHub <noreply@github.com> 1675194378 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJj2XAKCRBK7hj4Ov3rIwAAmp8IAKYdaXN8cWPk+1FWEEPZuuWM
 owK89AphYQb6M+1/GX4YX5oytLQ5IaL4KHYXicjpFrqd5mZIKbtiVahL1XLUeVWw
 qIaa3MTXyOqfaw0zuDzu4+MUZSbN7EKqcQCbt/euhtI6oi+7CsmYwiEnkYKu4ALW
 YCWG4uTmfFJjOZLnyviqNAirHalDZrKqBQrgnq0ezeqZip0iXIS7gBM8jkIpsU43
 KHVURtaYY78i7CLELjpJwoXFbxqFTozKGOGZXdYwlYt4dwy3TOlBdcYDZ/5JUH/5
 z1mgkJM8si6IcMLuD5NWrMfPZKS0cGMEyW5RQ+XKK7AoqksPZ1P2ts/gpPorEGE=
 =Af9Q
 -----END PGP SIGNATURE-----
 

Add support for image insertion on Android (#110052)

* Add support for image insertion on Android

* Fix checks

* Use proper Dart syntax on snippet

* Specify type annotation on list

* Fix nits, add some asserts, and improve example code

* Add missing import

* Fix nullsafety error

* Fix nullsafety error

* Remove reference to contentCommitMimeTypes in docs

* Fix nits

* Fix warnings and import

* Add test for content commit in editable_text_test.dart

* Check that URIs are equal in test

* Fix nits and rename functions / classes to be more self-explanatory

* Fix failing debugFillProperties tests

* Add empty implementation to `insertContent` in TextInputClient

* Tweak documentation slightly

* Improve docs for contentInsertionMimeTypes and fix assert

* Rework contentInsertionMimeType asserts

* Add test for onContentInserted example

* Switch implementation to a configuration class for more granularity in setting mime types

* Fix nits

* Improve docs and fix doc tests

* Fix more nits (LongCatIsLooong)

* Fix failing tests

* Make parameters (guaranteed by platform to be non-nullable) non-nullable

* Fix analysis issues