Disable auto-correct for text editing when obscureText is set (flutter/engine#3661)

This commit is contained in:
Chris Bracken
2017-05-09 14:55:58 -07:00
committed by GitHub
parent cc3ffeb6f0
commit 08bbbdfe3f
2 changed files with 7 additions and 3 deletions

View File

@@ -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,

View File

@@ -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];
}