mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Do not use autofill methods on Android APIs older than Oreo (26)
Summary: Autofill Hints were added in [Android API 26](https://developer.android.com/reference/android/view/View.html#setAutofillHints(java.lang.String...)). Without this runtime check, pre-26 devices will crash. [Android][Fixed] - Fixes crash on pre-26 Android devices when setting text content type Reviewed By: lunaleaps Differential Revision: D14479468 fbshipit-source-id: 238c1efd6aea682a93ecb45e1123aaed6bdcd9e3
This commit is contained in:
committed by
Facebook Github Bot
parent
7d84d0dc07
commit
d4aa1e7a52
+6
-1
@@ -71,7 +71,7 @@ public class ReactTextInputManager extends BaseViewManager<ReactEditText, Layout
|
||||
private static final int FOCUS_TEXT_INPUT = 1;
|
||||
private static final int BLUR_TEXT_INPUT = 2;
|
||||
|
||||
private static final int INPUT_TYPE_KEYBOARD_NUMBER_PAD = InputType.TYPE_CLASS_NUMBER;
|
||||
private static final int INPUT_TYPE_KEYBOARD_NUMBER_PAD = InputType.TYPE_CLASS_NUMBER;
|
||||
private static final int INPUT_TYPE_KEYBOARD_DECIMAL_PAD = INPUT_TYPE_KEYBOARD_NUMBER_PAD |
|
||||
InputType.TYPE_NUMBER_FLAG_DECIMAL;
|
||||
private static final int INPUT_TYPE_KEYBOARD_NUMBERED = INPUT_TYPE_KEYBOARD_DECIMAL_PAD |
|
||||
@@ -569,6 +569,11 @@ public class ReactTextInputManager extends BaseViewManager<ReactEditText, Layout
|
||||
|
||||
@ReactProp(name = "autoComplete")
|
||||
public void setTextContentType(ReactEditText view, @Nullable String autocomplete) {
|
||||
// Autofill hints were added in Android API 26.
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (autocomplete == null) {
|
||||
setImportantForAutofill(view, View.IMPORTANT_FOR_AUTOFILL_NO);
|
||||
} else if ("username".equals(autocomplete)) {
|
||||
|
||||
Reference in New Issue
Block a user