openConnectionIfNeeded method
void
openConnectionIfNeeded()
inherited
Implementation
void openConnectionIfNeeded() {
if (!shouldCreateInputConnection) {
return;
}
if (!hasConnection) {
_lastKnownRemoteTextEditingValue = textEditingValue;
_textInputConnection = TextInput.attach(
this,
TextInputConfiguration(
inputType: TextInputType.multiline,
readOnly: widget.configurations.readOnly,
inputAction: widget.configurations.textInputAction,
enableSuggestions: !widget.configurations.readOnly,
keyboardAppearance: widget.configurations.keyboardAppearance ??
CupertinoTheme.maybeBrightnessOf(context) ??
Theme.of(context).brightness,
textCapitalization: widget.configurations.textCapitalization,
allowedMimeTypes:
widget.configurations.contentInsertionConfiguration == null
? const <String>[]
: widget.configurations.contentInsertionConfiguration!
.allowedMimeTypes,
),
);
_updateSizeAndTransform();
//update IME position for Windows
_updateComposingRectIfNeeded();
//update IME position for Macos
_updateCaretRectIfNeeded();
_textInputConnection!.setEditingState(_lastKnownRemoteTextEditingValue!);
}
_textInputConnection!.show();
}