tree bce971bbbfa47bd8711e6859497a77dc703b2beb
parent b509dc04db47a4e04e75b976c271a9a3e99d3435
author Renzo Olivares <rmolivares@renzo-olivares.dev> 1631838598 -0700
committer GitHub <noreply@github.com> 1631838598 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJhQ+GGCRBK7hj4Ov3rIwAAYigIACUUw6B2XeJfReJOR+HWnoAK
 xFxbr4WUQKXMaLiscdGyrkc3LRDtVRvYaELHf6lJMp5BFWPxZt/7PdXb2pqnaRnT
 U4mODAbsltEtTs3hvMSL9wsyyDTMHAYEtJ83S6fM6n+IpS5cJlLVLkw3oEA7Q9gS
 P4F4ZU+1n6z6FwkVnf236JozZdmZDO26iH4Bdevz1ckkKdHUE3Th+wHe+7kxzpYG
 HcHIOKS+vjqo2fOZz0nwgNX1XM7L+TN/jusVTDMiIcVIURVZ7Sppyc9g6DrJ3NmC
 tPCtF089ST/8itCAvGUhun2ve13qqj2hhEH0I+CkqYdi0QhWomVvmHA6WWHDG/E=
 =XGRV
 -----END PGP SIGNATURE-----
 

Create DeltaTextInputClient (#90205)

* Create DeltaTextInputClient

* Remove old tests as updateEditingValueWithDeltas is no longer implemented

* fix analyzer

* Update docs

* Make example more general

* Update docs

* Add assert to check that TextInputClient is a DeltaTextInputClient

* Update assert

* More docs

* update

* Clean up docs

* updates

* Update docs

* updates

* Fix test

* add test

* updates

* remove logs

* fix tests

* Address reviewer comments

* Add text_input_utils.dart

* Address reviewer comments