Prevent a crash when no cursor drawable is set
Summary: React Native 0.43 added additional functionality to setSelectionColor that also tints the cursor drawable of the View. However, some views may not have a cursor drawable set in which case, the code will crash when attempting to load a drawable with resource id 0. We encountered this in our RN 0.45 upgrade in the Airbnb app. lelandrichardson Closes https://github.com/facebook/react-native/pull/14789 Differential Revision: D6386076 Pulled By: shergin fbshipit-source-id: faa5a1edb3be8d08988f46205c0f22d17b63b5bc
This commit is contained in:
parent
d7ab9496bc
commit
1e18d907bf
|
@ -332,6 +332,11 @@ public class ReactTextInputManager extends BaseViewManager<ReactEditText, Layout
|
|||
cursorDrawableResField.setAccessible(true);
|
||||
int drawableResId = cursorDrawableResField.getInt(view);
|
||||
|
||||
// The view has no cursor drawable.
|
||||
if (drawableResId == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
Drawable drawable = ContextCompat.getDrawable(view.getContext(), drawableResId);
|
||||
if (color != null) {
|
||||
drawable.setColorFilter(color, PorterDuff.Mode.SRC_IN);
|
||||
|
|
Loading…
Reference in New Issue