diff --git a/engine/src/flutter/shell/platform/android/io/flutter/plugin/editing/TextInputPlugin.java b/engine/src/flutter/shell/platform/android/io/flutter/plugin/editing/TextInputPlugin.java index d0727f1845..d5a48eb27c 100644 --- a/engine/src/flutter/shell/platform/android/io/flutter/plugin/editing/TextInputPlugin.java +++ b/engine/src/flutter/shell/platform/android/io/flutter/plugin/editing/TextInputPlugin.java @@ -73,21 +73,24 @@ public class TextInputPlugin implements MethodCallHandler { } } - private static int inputTypeFromTextInputType(String inputType) { + private static int inputTypeFromTextInputType(String inputType, boolean obscureText) { if (inputType.equals("TextInputType.datetime")) return InputType.TYPE_CLASS_DATETIME; if (inputType.equals("TextInputType.number")) return InputType.TYPE_CLASS_NUMBER; if (inputType.equals("TextInputType.phone")) return InputType.TYPE_CLASS_PHONE; - return InputType.TYPE_CLASS_TEXT; + return obscureText + ? InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS + : InputType.TYPE_CLASS_TEXT; } public InputConnection createInputConnection(FlutterView view, EditorInfo outAttrs) throws JSONException { if (mClient == 0) return null; - outAttrs.inputType = inputTypeFromTextInputType(mConfiguration.getString("inputType")); + outAttrs.inputType = inputTypeFromTextInputType(mConfiguration.getString("inputType"), + mConfiguration.optBoolean("obscureText")); outAttrs.actionLabel = mConfiguration.getString("actionLabel"); outAttrs.imeOptions = EditorInfo.IME_ACTION_DONE | EditorInfo.IME_FLAG_NO_FULLSCREEN; InputConnectionAdaptor connection = new InputConnectionAdaptor(view, mClient, this, diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterTextInputPlugin.mm b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterTextInputPlugin.mm index 9e26b3a3f5..775b5c3cdd 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterTextInputPlugin.mm +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterTextInputPlugin.mm @@ -548,6 +548,7 @@ static UIKeyboardType ToUIKeyboardType(NSString* inputType) { - (void)setTextInputClient:(int)client withConfiguration:(NSDictionary*)configuration { _view.keyboardType = ToUIKeyboardType(configuration[@"inputType"]); + _view.secureTextEntry = [configuration[@"obscureText"] boolValue]; [_view setTextInputClient:client]; [_view reloadInputViews]; }