Skip to content

Commit

Permalink
Fix setting keyboardType from breaking autoCapitalize (#27523)
Browse files Browse the repository at this point in the history
Summary:
Fix for #27510.

Setting the `InputType.TYPE_CLASS_TEXT` flag when `keyboardType` is null or default breaks autoCapitalize. Handle the case when `keyboardType` is null, default, or invalid type.

## Changelog

[Android] [Fixed] - Fix setting keyboardType from breaking autoCapitalize
Pull Request resolved: #27523

Test Plan:
Added keyboardType prop to RNTester as so
```
<TextInput autoCapitalize="words" keyboardType="default" style={styles.default} />
```
![fixedKeyboardType](https://user-images.githubusercontent.com/8675043/70872892-c96dec80-1f5f-11ea-8e33-714a67eff581.gif)

Reviewed By: makovkastar

Differential Revision: D19132261

Pulled By: JoshuaGross

fbshipit-source-id: be66f0317ed305425ebcff32046ad4bff06d367f
  • Loading branch information
safaiyeh authored and alloy committed Mar 5, 2020
1 parent dfa8fed commit d22cc4f
Showing 1 changed file with 4 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -731,6 +731,10 @@ public void setKeyboardType(ReactEditText view, @Nullable String keyboardType) {
// This will supercede secureTextEntry={false}. If it doesn't, due to the way
// the flags work out, the underlying field will end up a URI-type field.
flagsToSet = InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD;
} else {
// This prevents KEYBOARD_TYPE_FLAGS from being set when the keyboardType is
// default, unsupported or null. Setting of this flag breaks the autoCapitalize functionality.
return;
}
updateStagedInputTypeFlag(view, KEYBOARD_TYPE_FLAGS, flagsToSet);
checkPasswordType(view);
Expand Down

0 comments on commit d22cc4f

Please sign in to comment.