Description of change

On some supported platforms, the application can be moved into
the background where it is expected to consume fewer resources.
For example, a backgrounded application on Android should avoid consuming
unnecessary memory and has no need to retain references to views.
Before this change, the Android-specific platform code could
lose state information about editable text fields when
the app moved back to the foreground.
This is seen, for example,
when text entered in a TextField widget is lost to
the Java code, but is still remembered in the Dart code.

As of this change,
the platform side now sends a textInput channel
message called TextInput.requestExistingState.
This notifies the Dart code that, when the app wakes up,
it should re-establish any text input connections
and notify the platform of its most
recently known editing state.

Migration guide

If you previously implemented or extended TextEditingClient,
you must now add the appropriate override for currentTextEditingValue.