io.flutter.plugin.editing

## Class TextInputPlugin

- java.lang.Object
- - io.flutter.plugin.editing.TextInputPlugin

-     public class TextInputPlugin
      extends Object

  Android implementation of the text input plugin.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `TextInputPlugin(View view, TextInputChannel textInputChannel, PlatformViewsController platformViewsController)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `autofill(SparseArray<AutofillValue> values)`
    `void` | `clearPlatformViewClient(int platformViewId)` Clears a platform view text input client if it is the current input target.
    `InputConnection` | `createInputConnection(View view, EditorInfo outAttrs)`
    `void` | `destroy()` Detaches the text input plugin from the platform views controller.
    `void` | `didChangeEditingState(boolean textChanged, boolean selectionChanged, boolean composingRegionChanged)`
    `InputMethodManager` | `getInputMethodManager()`
    `AndroidKeyProcessor` | `getKeyEventProcessor()`
    `InputConnection` | `getLastInputConnection()`
    `void` | `lockPlatformViewInputConnection()` Use the current platform view input connection until unlockPlatformViewInputConnection is called.
    `void` | `onProvideAutofillVirtualStructure(ViewStructure structure, int flags)`
    `void` | `sendTextInputAppPrivateCommand(String action, Bundle data)`
    `void` | `setKeyEventProcessor(AndroidKeyProcessor processor)`
    `void` | `unlockPlatformViewInputConnection()` Unlocks the input connection.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### TextInputPlugin

          public TextInputPlugin(View view,
                                 @NonNull
                                 TextInputChannel textInputChannel,
                                 @NonNull
                                 PlatformViewsController platformViewsController)

  - ### Method Detail

    - #### getInputMethodManager

          @NonNull
          public InputMethodManager getInputMethodManager()

    - #### getKeyEventProcessor

          @NonNull
          public AndroidKeyProcessor getKeyEventProcessor()

    - #### setKeyEventProcessor

          public void setKeyEventProcessor(AndroidKeyProcessor processor)

    - #### lockPlatformViewInputConnection

          public void lockPlatformViewInputConnection()

      Use the current platform view input connection until unlockPlatformViewInputConnection is called.

      The current input connection instance is cached and any following call to @{link createInputConnection} returns the cached connection until unlockPlatformViewInputConnection is called.

      This is a no-op if the current input target isn't a platform view.

      This is used to preserve an input connection when moving a platform view from one virtual display to another.

    - #### unlockPlatformViewInputConnection

          public void unlockPlatformViewInputConnection()

      Unlocks the input connection.

      See also: @{link lockPlatformViewInputConnection}.

    - #### destroy

          public void destroy()

      Detaches the text input plugin from the platform views controller.

      The TextInputPlugin instance should not be used after calling this.

    - #### createInputConnection

          public InputConnection createInputConnection(View view,
                                                       EditorInfo outAttrs)

    - #### getLastInputConnection

          @Nullable
          public InputConnection getLastInputConnection()

    - #### clearPlatformViewClient

          public void clearPlatformViewClient(int platformViewId)

      Clears a platform view text input client if it is the current input target.

      This is called when a platform view is disposed to make sure we're not hanging to a stale input connection.

    - #### sendTextInputAppPrivateCommand

          public void sendTextInputAppPrivateCommand(String action,
                                                     Bundle data)

    - #### didChangeEditingState

          public void didChangeEditingState(boolean textChanged,
                                            boolean selectionChanged,
                                            boolean composingRegionChanged)

    - #### onProvideAutofillVirtualStructure

          public void onProvideAutofillVirtualStructure(ViewStructure structure,
                                                        int flags)

    - #### autofill

          public void autofill(SparseArray<AutofillValue> values)