Class TextInputChannel

  • public class TextInputChannel
    extends Object
    TextInputChannel is a platform channel between Android and Flutter that is used to communicate information about the user's text input.

    When the user presses an action button like "done" or "next", that action is sent from Android to Flutter through this TextInputChannel.

    When an input system in the Flutter app wants to show the keyboard, or hide it, or configure editing state, etc. a message is sent from Flutter to Android through this TextInputChannel.

    TextInputChannel comes with a default MethodChannel.MethodCallHandler that parses incoming messages from Flutter. Register a TextInputChannel.TextInputMethodHandler to respond to standard Flutter text input messages.

    • Constructor Detail

      • TextInputChannel

        public TextInputChannel​(@NonNull
                                DartExecutor dartExecutor)
        Constructs a TextInputChannel that connects Android to the Dart code running in dartExecutor.

        The given dartExecutor is permitted to be idle or executing code.

        See DartExecutor.

    • Method Detail

      • requestExistingInputState

        public void requestExistingInputState()
        Instructs Flutter to reattach the last active text input client, if any.

        This is necessary when the view hierarchy has been detached and reattached to a FlutterEngine, as the engine may have kept alive a text editing client on the Dart side.

      • updateEditingState

        public void updateEditingState​(int inputClientId,
                                       String text,
                                       int selectionStart,
                                       int selectionEnd,
                                       int composingStart,
                                       int composingEnd)
        Instructs Flutter to update its text input editing state to reflect the given configuration.
      • updateEditingStateWithDeltas

        public void updateEditingStateWithDeltas​(int inputClientId,
                                                 ArrayList<TextEditingDelta> batchDeltas)
      • newline

        public void newline​(int inputClientId)
        Instructs Flutter to execute a "newline" action.
      • go

        public void go​(int inputClientId)
        Instructs Flutter to execute a "go" action.
      • search

        public void search​(int inputClientId)
        Instructs Flutter to execute a "search" action.
      • send

        public void send​(int inputClientId)
        Instructs Flutter to execute a "send" action.
      • done

        public void done​(int inputClientId)
        Instructs Flutter to execute a "done" action.
      • next

        public void next​(int inputClientId)
        Instructs Flutter to execute a "next" action.
      • previous

        public void previous​(int inputClientId)
        Instructs Flutter to execute a "previous" action.
      • unspecifiedAction

        public void unspecifiedAction​(int inputClientId)
        Instructs Flutter to execute an "unspecified" action.
      • commitContent

        public void commitContent​(int inputClientId,
                                  Map<String,​Object> content)
        Instructs Flutter to commit inserted content back to the text channel.
      • performPrivateCommand

        public void performPrivateCommand​(int inputClientId,
                                          String action,
                                          Bundle data)
      • onConnectionClosed

        public void onConnectionClosed​(int inputClientId)
        Instructs Flutter to execute a "onConnectionClosed" action.