Commit Graph
989 Commits
Author SHA1 Message Date
Joshua GrossandFacebook GitHub Bot aad423d59e Support RCTModernEventEmitter+RCTEventEmitter in ReactSwitchEvent Event class
Summary:
Support RCTModernEventEmitter+RCTEventEmitter in an Event class(es). This improves perf in Fabric. Migrate any constructor callsites to the new constructor and deprecate the previous one.

Changelog: [Internal]

Reviewed By: PeteTheHeat, mdvacca

Differential Revision: D26056823

fbshipit-source-id: 1d25afb2d4cfd7e539214d4592e361260f98fc56
2021-01-28 14:07:31 -08:00
Joshua GrossandFacebook GitHub Bot 1dcb4cfe7f Support RCTModernEventEmitter+RCTEventEmitter in RefreshEvent Event class
Summary:
Support RCTModernEventEmitter+RCTEventEmitter in an Event class(es). This improves perf in Fabric. Migrate any constructor callsites to the new constructor and deprecate the previous one.

Changelog: [Internal]

Reviewed By: PeteTheHeat, mdvacca

Differential Revision: D26056815

fbshipit-source-id: d0e03a69f84de47385e064c74f0a79c52c61022d
2021-01-28 14:07:31 -08:00
Joshua GrossandFacebook GitHub Bot a8d7c2cd62 Support RCTModernEventEmitter+RCTEventEmitter in PickerItemSelectEvent Event class
Summary:
Support RCTModernEventEmitter+RCTEventEmitter in an Event class(es). This improves perf in Fabric. Migrate any constructor callsites to the new constructor and deprecate the previous one.

Changelog: [Internal]

Reviewed By: PeteTheHeat, mdvacca

Differential Revision: D26056813

fbshipit-source-id: e3b0132fac6335e83ff5b1992424edcb98703803
2021-01-28 14:07:31 -08:00
Joshua GrossandFacebook GitHub Bot f6af7b2a58 Support RCTModernEventEmitter+RCTEventEmitter in ReactSlidingCompleteEvent Event class
Summary:
Support RCTModernEventEmitter+RCTEventEmitter in an Event class(es). This improves perf in Fabric. Migrate any constructor callsites to the new constructor and deprecate the previous one.

Changelog: [Internal]

Reviewed By: PeteTheHeat, mdvacca

Differential Revision: D26056808

fbshipit-source-id: aa7ff9520a6a2470c642f06797757e1c0362abe9
2021-01-28 14:07:31 -08:00
Joshua GrossandFacebook GitHub Bot 6e62100297 Support RCTModernEventEmitter+RCTEventEmitter in ReactContentSizeChangedEvent Event class
Summary:
Support RCTModernEventEmitter+RCTEventEmitter in an Event class(es). This improves perf in Fabric. Migrate any constructor callsites to the new constructor and deprecate the previous one.

Changelog: [Internal]

Reviewed By: PeteTheHeat, mdvacca

Differential Revision: D26056802

fbshipit-source-id: 72eb498673aecce48145c785a4c2a48e0432059d
2021-01-28 14:07:30 -08:00
Joshua GrossandFacebook GitHub Bot db5bc2f766 Support RCTModernEventEmitter+RCTEventEmitter in ShowEvent Event class
Summary:
Support RCTModernEventEmitter+RCTEventEmitter in an Event class(es). This improves perf in Fabric. Migrate any constructor callsites to the new constructor and deprecate the previous one.

Changelog: [Internal]

Reviewed By: PeteTheHeat, mdvacca

Differential Revision: D26056723

fbshipit-source-id: c20183a4a1189f13b15a138968937080888a200b
2021-01-28 14:07:30 -08:00
Joshua GrossandFacebook GitHub Bot 1575e7ffe3 Support RCTModernEventEmitter+RCTEventEmitter in ScrollEvent Event class
Summary:
Support RCTModernEventEmitter+RCTEventEmitter in an Event class(es). This improves perf in Fabric. Migrate any constructor callsites to the new constructor and deprecate the previous one.

Changelog: [Internal]

Reviewed By: PeteTheHeat, mdvacca

Differential Revision: D26056720

fbshipit-source-id: f36a6caf4e748c915b66f66fd9b4cad6826ecacf
2021-01-28 14:07:30 -08:00
Joshua GrossandFacebook GitHub Bot 583d6229c6 Support RCTModernEventEmitter+RCTEventEmitter in RequestCloseEvent Event class
Summary:
Support RCTModernEventEmitter+RCTEventEmitter in an Event class(es). This improves perf in Fabric. Migrate any constructor callsites to the new constructor and deprecate the previous one.

Changelog: [Internal]

Reviewed By: PeteTheHeat, mdvacca

Differential Revision: D26056714

fbshipit-source-id: 215d8e44d7909f30f4a45f57e5d22a32a635d0ba
2021-01-28 14:07:29 -08:00
Joshua GrossandFacebook GitHub Bot 42274b0ba8 Support RCTModernEventEmitter+RCTEventEmitter in ReactTextInputSubmitEditingEvent Event class
Summary:
Support RCTModernEventEmitter+RCTEventEmitter in an Event class(es). This improves perf in Fabric. Migrate any constructor callsites to the new constructor and deprecate the previous one.

Changelog: [Internal]

Reviewed By: PeteTheHeat, mdvacca

Differential Revision: D26056700

fbshipit-source-id: b3452125678ec8770dec9587106b8bf0f2490027
2021-01-28 14:07:29 -08:00
Joshua GrossandFacebook GitHub Bot ae979a14d6 Support RCTModernEventEmitter+RCTEventEmitter in ReactTextInputSelectionEvent Event class
Summary:
Support RCTModernEventEmitter+RCTEventEmitter in an Event class(es). This improves perf in Fabric. Migrate any constructor callsites to the new constructor and deprecate the previous one.

Changelog: [Internal]

Reviewed By: PeteTheHeat, mdvacca

Differential Revision: D26056696

fbshipit-source-id: 50c0f01164e078b0ad32f66dda80c965f731f1fb
2021-01-28 14:07:29 -08:00
Joshua GrossandFacebook GitHub Bot 2b0d69976f Support RCTModernEventEmitter+RCTEventEmitter in ReactTextInputKeyPressEvent Event class
Summary:
Support RCTModernEventEmitter+RCTEventEmitter in an Event class(es). This improves perf in Fabric. Migrate any constructor callsites to the new constructor and deprecate the previous one.

Changelog: [Internal]

Reviewed By: PeteTheHeat, mdvacca

Differential Revision: D26056690

fbshipit-source-id: 208982ca5b53985bd8079c4b206a7eb4bb883494
2021-01-28 14:07:28 -08:00
Joshua GrossandFacebook GitHub Bot 8e2b45fe79 Support RCTModernEventEmitter+RCTEventEmitter in ReactTextInputFocusEvent Event class
Summary:
Support RCTModernEventEmitter+RCTEventEmitter in an Event class(es). This improves perf in Fabric. Migrate any constructor callsites to the new constructor and deprecate the previous one.

Changelog: [Internal]

Reviewed By: PeteTheHeat, mdvacca

Differential Revision: D26056685

fbshipit-source-id: a9abb451e62c9e378b0a5667fa4c5f82952bd02b
2021-01-28 14:07:28 -08:00
Joshua GrossandFacebook GitHub Bot a5a94ce786 Support RCTModernEventEmitter+RCTEventEmitter in ReactTextInputEvent Event class
Summary:
Support RCTModernEventEmitter+RCTEventEmitter in an Event class(es). This improves perf in Fabric. Migrate any constructor callsites to the new constructor and deprecate the previous one.

Changelog: [Internal]

Reviewed By: PeteTheHeat, mdvacca

Differential Revision: D26056680

fbshipit-source-id: 2a57f15c01a585af9ddbe08cf6dd60922d4f64b3
2021-01-28 14:07:28 -08:00
Joshua GrossandFacebook GitHub Bot 346b1f1df4 Support RCTModernEventEmitter+RCTEventEmitter in ReactTextInputEndEditingEvent Event class
Summary:
Support RCTModernEventEmitter+RCTEventEmitter in an Event class(es). This improves perf in Fabric. Migrate any constructor callsites to the new constructor and deprecate the previous one.

Changelog: [Internal]

Reviewed By: PeteTheHeat, mdvacca

Differential Revision: D26056676

fbshipit-source-id: 6baa5d9ba0ef15218ce02cbb51862f18d98b465c
2021-01-28 14:07:28 -08:00
Joshua GrossandFacebook GitHub Bot a01cea10f6 Support RCTModernEventEmitter+RCTEventEmitter in ReactTextInputBlurEvent Event class
Summary:
Support RCTModernEventEmitter+RCTEventEmitter in an Event class(es). This improves perf in Fabric. Migrate any constructor callsites to the new constructor and deprecate the previous one.

Changelog: [Internal]

Reviewed By: PeteTheHeat, mdvacca

Differential Revision: D26056672

fbshipit-source-id: 2f3e4b9bbed339f15b22fe87e27d81af083fd481
2021-01-28 14:07:27 -08:00
Joshua GrossandFacebook GitHub Bot 8569e9933f Support RCTModernEventEmitter+RCTEventEmitter in ReactTextChangedEvent Event class
Summary:
Support RCTModernEventEmitter+RCTEventEmitter in an Event class(es). This improves perf in Fabric. Migrate any constructor callsites to the new constructor and deprecate the previous one.

Changelog: [Internal]

Reviewed By: PeteTheHeat, mdvacca

Differential Revision: D26055276

fbshipit-source-id: f38f9e94ab313fb842d1e3037ab667cd460f1043
2021-01-28 14:07:27 -08:00
Joshua GrossandFacebook GitHub Bot aa9c8abd1a Support RCTModernEventEmitter+RCTEventEmitter in ViewGroupClickEvent Event class
Summary:
Support RCTModernEventEmitter+RCTEventEmitter in an Event class(es). This improves perf in Fabric. Migrate any constructor callsites to the new constructor and deprecate the previous one.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D26054855

fbshipit-source-id: 9592d854962d53f64d836b8361256cac5c4325df
2021-01-28 14:07:27 -08:00
Joshua GrossandFacebook GitHub Bot 5d2f77553c Support RCTModernEventEmitter+RCTEventEmitter in DrawerClosedEvent, DrawerOpenedEvent, DrawerSlideEvent, DrawerStateChangedEvent Event classes
Summary:
Support RCTModernEventEmitter +RCTEventEmitter in an Event class(es). This improves perf in Fabric. Migrate any constructor callsites to the new constructor and deprecate the previous one.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D26043861

fbshipit-source-id: 37757508c835cbd1181f0e0e774abc62fdbfee2b
2021-01-28 14:07:26 -08:00
Joshua GrossandFacebook GitHub Bot 72d0ddc16f Refactor Event to encourage and ease migration to RCTModernEventEmitter support
Summary:
The `Event` interface has been improved such that:

1. `getEventData` is now a default method on Event that returns null
2. `dispatch` has a default implementation that relies on getEventName() and getEventData()
3. `dispatchModern` can detect if surfaceId and event data are present; if not, it falls back to dispatch

This will dramatically ease future migrations: at some point in the (distant) future, we can simply delete RCTEventEmitter and
all use-cases will be supported by the current `Event` class without needing to introduce a 3rd transitional interface; and 99%
of all Event classes can be simplified, delet their `dispatch` implementation and need no further work.

At their core, all Events are simply: (1) a name, (2) data, (3) a target (surfaceId and tag). The interface now reflects that but still
allows for flexibility of the data and names being generated on-demand if necessary; but for the vast majority of Event classes, code
will be dramatically simplified.

I also migrate a single Event class, ContentSizeChangeEvent, to use this new method of dispatch.

Changelog: [Android][Changed] Added convenience methods to simplify native Event classes and ease migrations

Reviewed By: mdvacca

Differential Revision: D26043325

fbshipit-source-id: bc308105f7f6e654d45fd156dbf4a2bcbc45819c
2021-01-28 14:07:26 -08:00
generatedunixname89002005325674andFacebook GitHub Bot d368d11a0f Daily arc lint --take GOOGLEJAVAFORMAT
Reviewed By: zertosh

Differential Revision: D26043994

fbshipit-source-id: 7e49a747e07fb7dcb01c92bba7cb88d9e3266f69
2021-01-25 04:19:55 -08:00
Joshua GrossandFacebook GitHub Bot 5d62b4a19a Rename Event.dispatchV2 -> dispatchModern
Summary:
See title. dispatchV2 was just introduced yesterday, so nothing relies on it yet / it's safe to rename (there are no released versions of RN with `dispatchV2`).

And... dispatchModern is a better name.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D26039008

fbshipit-source-id: 009ae721b8caef23a389c33b51f6f8952a6a73da
2021-01-24 22:13:11 -08:00
Joshua GrossandFacebook GitHub Bot ee10932e26 Support RCTModernEventEmitter in for ReactTextInput* Event classes
Summary:
Support RCTEventEmitterV2 in ReactTextInput*Event classes for optimal Fabric perf. Backwards-compatible with non-Fabric renderer.

Changelog: [Changed][Android] Old native ReactTextInput*Event creation APIs have changed, and will be removed in the (distant) future. The old methods will work for now with minor perf implications for Fabric.

Reviewed By: mdvacca

Differential Revision: D26031261

fbshipit-source-id: 7c972ecfd1e395104c4639995bb5ecc5f7c6baae
2021-01-22 19:32:15 -08:00
Joshua GrossandFacebook GitHub Bot ddabf3fd56 Support RCTModernEventEmitter in ImageLoadEvent
Summary:
Support RCTEventEmitterV2 in ImageLoadEvent for optimal Fabric perf. Backwards-compatible with non-Fabric renderer.

Changelog: [Changed][Android] Old native ImageLoadEvent creation APIs have changed, and will be removed in the (distant) future. The old methods will work for now with minor perf implications for Fabric.

Reviewed By: mdvacca

Differential Revision: D26029773

fbshipit-source-id: c8e00e06a2f9d6682367f9099bdf7f5fc12890e0
2021-01-22 19:32:15 -08:00
Joshua GrossandFacebook GitHub Bot 62f0dee235 Migrate ScrollEvent to RCTModernEventEmitter
Summary:
Motivation: perf, simplicity, adhering to new SurfaceMountingManager APIs available to us. Backwards-compatible with events sent through old system or Fabric, to Fabric or non-Fabric Views.

Changelog: [Changed][Android] Old Native method to create ScrollEvent has been deprecated and will be removed at some point in the (distant) future

Reviewed By: mdvacca

Differential Revision: D26027105

fbshipit-source-id: b9dba5b56c2bfed3b8fc4488c54b271b85ab5fa0
2021-01-22 19:32:14 -08:00
Joshua GrossandFacebook GitHub Bot 8357b39908 Rename String surfaceID to surfaceName/moduleName, add int surfaceId to ThemedReactContext
Summary:
There's a field called `surfaceID` in a couple of classes that isn't the same as the integer `surfaceId` in Fabric.

For consistency, I've deprecated a couple of them, or renamed when appropriate.

In addition, now we're passing the actual integer surfaceId into the ThemedReactContext. This means that every single View created in Fabric gets annotated with the surfaceId it's in. Currently this isn't used, but the idea is that now each View has a mapping back to its surface, which could be used to simplify / optimize operations with SurfaceMountingManager. In particular, we might be able to use this in the future to optimize animations and/or event emitters.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D26021571

fbshipit-source-id: b7db7de123db07fa928a6f815be86bdbb030e62c
2021-01-22 19:32:14 -08:00
David VaccaandFacebook GitHub Bot 65975dd28d Change type of SwipeRefreshLayoutManager.size prop from Int to String
Summary:
This diff changes the type of the SwipeRefreshLayoutManager.size prop from Int to String in Fabric.

The current implementation of this prop allows JS developers to use "int" type when fabric is enables and "int or string" types when using Fabric is disabled.
Since long term we want to only support "string" type for this prop, I'm changing the type of the prop to be String.

After my diff Fabric will start supporting only "string" types, non fabric screens will keep supporting "int or string" values.

**Will this break production?**
No, because there are no usages of RefreshControl.Size prop in fbsource

**What about if someone start using this prop next week?**
IMO It's very unlikely because of the nature of this prop, I will be monitoring next week and if there's an usage it will be detected by flow when trying to land D25933457.

Changelog: [Android][Changed] - RefreshControl.size prop changed its type to string, the valid values are: 'default' and 'large'

Reviewed By: JoshuaGross

Differential Revision: D25933458

fbshipit-source-id: 55067d7405b063f1e8d9bb7a5fd7731f5f168960
2021-01-17 02:57:02 -08:00
David VaccaandFacebook GitHub Bot 5348a98207 Migrate lookup of EventDispatcher to not depend on UIManagerModule
Summary:
This diff migrates all the lookups of EventDispatcher to not depend on UIManagerModule anymore.
This refactor is necessary because:
- Users running in Fabric / Venice should not load on the UIManagerModule class
- D25858934 will introduce a change that will break all of these callsites

In the migration I'm relying on the method UIManagerHelper.getEventDispatcherFromReactTag() that returns the correct EventDispatcher for a reactTag.

I'm planning to land this change early in the week (to catch potential errors in alpha / beta versions)

As a followup we need to deprecate and prevent developers to continue using getNativeModule(UIManagerModule.class) moving forward. That will be part of another diff

changelog: [internal] internal

Reviewed By: JoshuaGross

Differential Revision: D25858933

fbshipit-source-id: e26c99759307517b5bef483274fe0e0d71bb4c6c
2021-01-11 15:43:58 -08:00
Valentin SherginandFacebook GitHub Bot e37e56b042 Back out "Add onFocus and onBlur to Pressable."
Summary:
I suspect it's causing T82781515.

Changelog:
[Category][Type] - Backout of "[react-native][PR] Add onFocus and onBlur to Pressable."

Reviewed By: p-sun

Differential Revision: D25864414

fbshipit-source-id: efba9136edba97d5bd2a0de15f9ddae7dfd24e51
2021-01-10 13:56:27 -08:00
Igor KlemenskiandFacebook GitHub Bot cab4da7288 Add onFocus and onBlur to Pressable. (#30405)
Summary:
Starting to upstream keyboard-related features from React Native Windows - this is the Android implementation.
Exposing onFocus and onBlur callbacks on Pressable; they're already declared for View in ViewPropTypes.js, which Pressable wraps.

Registering event listeners in ReactViewManager to listen for native focus events.
## Changelog

<!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
https://github.com/facebook/react-native/wiki/Changelog
-->

[Android] [Added] - Add onFocus/onBlur for Pressable on Android.

Pull Request resolved: https://github.com/facebook/react-native/pull/30405

Test Plan:
Tested on v63-stable, since building master on Windows is now broken. Screenshots from RNTester running on the emulator:
![image](https://user-images.githubusercontent.com/12816515/99320373-59777e80-2820-11eb-91a8-704fff4aa13d.png)
![image](https://user-images.githubusercontent.com/12816515/99320412-6f853f00-2820-11eb-98f2-f9cd29e8aa0d.png)

Reviewed By: mdvacca

Differential Revision: D25444566

Pulled By: appden

fbshipit-source-id: ce0efd3e3b199a508df0ba1ce484b4de17471432
2021-01-08 13:59:48 -08:00
Joshua GrossandFacebook GitHub Bot 249b341a41 Don't redraw images when props don't change
Summary:
Right now we assume in the Image component that any prop changes requires a redraw of the image, even if the props set are identical.

Noop prop updates can be caused in Fabric by LayoutAnimations. This may go away in the future, but only when we have a new animations system.

I don't think most other components need to be concerned with this, and many other components already guard against unnecessary redraws. Since the image "flashes"
when it is loaded, unlike most other native components, this issue is more noticeable for images.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D25727482

fbshipit-source-id: 75ffa456bddc1208900733140ce4ff19f7e2c11e
2020-12-29 15:54:44 -08:00
Kevin GozaliandFacebook GitHub Bot 15a3a01082 Android: use Fabric component codegen output instead of checked in files
Summary:
For core components, we can start using the codegen output during build time instead of the checked in files in: https://github.com/facebook/react-native/tree/master/ReactAndroid/src/main/java/com/facebook/react/viewmanagers

Note: Some files seemed to be handwritten, so this only removed those that use codegen.

Changelog: [Internal]

Reviewed By: JoshuaGross

Differential Revision: D25453157

fbshipit-source-id: f7eabddfd3fd668bef0c4aef3fddcb38c8b046a0
2020-12-21 22:43:35 -08:00
Ron EdelsteinandFacebook GitHub Bot 933cef6d9a More explicit marking of autoglob as False
Summary:
In preparation for flipping the default, marking autoglob as False in places where it isn't explicitly specified.

Changelog: [Internal]

Reviewed By: strulovich

Differential Revision: D25497305

fbshipit-source-id: 142e5caca2d67efcb3c25067a36934f7f6dd4b21
2020-12-11 16:45:55 -08:00
Joshua GrossandFacebook GitHub Bot c1f9a4562c Remove clipChildRectsIfOverflowIsHidden feature flag and associated code
Summary:
The flag `clipChildRectsIfOverflowIsHidden` has been set to false for a little over a year. Delete it and associated callsites.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D25451696

fbshipit-source-id: a6067b2e25124f6bdef336c2ddead719dd44cca9
2020-12-09 21:17:25 -08:00
Joshua GrossandFacebook GitHub Bot 4690effc5c Remove enableSpannableCacheByReadableNativeMapEquality flag
Summary:
This has been true for 100% of users for months; clean up the old code.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D25451470

fbshipit-source-id: feae59ce746869b9d84d6aaa69be10e91181f03a
2020-12-09 21:17:25 -08:00
Joshua GrossandFacebook GitHub Bot 4bc40bf8e6 Remove code no longer needed for debugging T78035906
Summary:
This code was useful for debugging T78035906 but is no longer needed.

I'm a bit conflicted about removing it, since such issues could crop up again in the future - but they're very rare, and hopefully now we know how to avoid them.

tl;dr: Make sure that mount instructions are not executed *during* a draw or measure.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D25450846

fbshipit-source-id: e261f13db252d22773e373a5de744ecc8c380a43
2020-12-09 21:17:24 -08:00
Joshua GrossandFacebook GitHub Bot e020c6c0a7 Removing gating code for Fabric; don't initialize ViewGroupDrawingOrderHelper for RVG in Fabric
Summary:
This code and this class isn't needed in Fabric, so don't create it during construction. Lazy-load it when it's needed outside of Fabric.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D25450724

fbshipit-source-id: d14d8f03c194716f2aba0e499f3282ad2d1c1d29
2020-12-09 21:17:24 -08:00
Tim YungandFacebook GitHub Bot f6b8736b09 RN: Update ViewConfig for ScrollView
Summary:
Updates `ReactScrollViewManager` and the `ViewConfig` for `ScrollView` so that they are equivalent.

- `inverted` was missing.
- `contentOffset` was missing differ on Android. (However, there does not seem to be any perceivable behavior difference besides the native `ViewConfig` being different.)

Changelog:
[Internal]

Reviewed By: JoshuaGross

Differential Revision: D25084470

fbshipit-source-id: 8bea3b7a692c1038819a4147b174583a4faa71e9
2020-11-19 02:52:00 -08:00
Joshua GrossandFacebook GitHub Bot bbd0f03481 Removing pre-API 21 code
Summary:
We don't support pre-API 21/Android <5/pre-Lollipop anymore; delete related code or checks.

No need for this to make it to the changelog, this announcement was already made.

Changelog: [Internal]

Reviewed By: ejanzer

Differential Revision: D24965249

fbshipit-source-id: e537e62e8eb18878c29afe17b8c7861d095a37b7
2020-11-16 12:43:14 -08:00
Hank ChenandFacebook GitHub Bot 00d9deaf6b Android: font-family is not apply when secureTextEntry is true (#30164)
Summary:
This pr fixes: https://github.com/facebook/react-native/issues/30123 .

When secureTextEntry is true, setInputType will set the inputType of textInput to password type.
Password type default font-family will be monospace font, so we need to setTypeface after the setInputType.

## Changelog

[Android] [Fixed] - Font family is not apply when secureTextEntry is true.

Pull Request resolved: https://github.com/facebook/react-native/pull/30164

Test Plan:
Before this pr:
![alt text](https://i.imgur.com/mAxLhnB.png)

After this pr:
![alt text](https://i.imgur.com/zoGYDxN.png)

Please initiated a new project and replaced the App.js with the following code:
```
iimport React from 'react';
import {SafeAreaView, TextInput} from 'react-native';

const App = () => {
  return (
    <SafeAreaView>
      <TextInput
        id={'email'}
        placeholder={'Email'}
        secureTextEntry={false}
        style={{fontFamily: 'Helvetica', fontSize: 14, fontWeight: '400'}}
      />

      <TextInput
        id={'password'}
        placeholder={'Password'}
        secureTextEntry={true}
        style={{fontFamily: 'Helvetica', fontSize: 14, fontWeight: '400'}}
      />
    </SafeAreaView>
  );
};

export default App;
```

Thanks you so much for your code review!

Reviewed By: cpojer

Differential Revision: D24686222

Pulled By: hramos

fbshipit-source-id: 863ebe1dba36cac7d91b2735fe6e914ac839ed44
2020-11-06 12:26:41 -08:00
generatedunixname89002005325674andFacebook GitHub Bot 1903f6680d Daily arc lint --take GOOGLEJAVAFORMAT
Reviewed By: zertosh

Differential Revision: D24561115

fbshipit-source-id: f9b1a529e4421be77c5baae5f3eab450602fb988
2020-10-27 15:01:48 -07:00
Emily JanzerandFacebook GitHub Bot bb8d0f5732 Set color filter so that the arrow matches the text color
Summary: We support setting the text color in the ReactPicker component, but we don't apply the text color to the little arrow icon that appears next to it. This diff applies the color tint from the picker's primary text color (set with a style prop on the main picker component, *not* the 'color' prop on the Picker.Item) to the background of the picker, which tints the arrow icon.

Reviewed By: makovkastar

Differential Revision: D24480642

fbshipit-source-id: 7ce84d616ae677da8975be9444428392020c57dc
2020-10-27 14:57:37 -07:00
Jason SafaiyehandFacebook GitHub Bot dd4298a377 Remove left over code from deprecating Android < 21 (#30243)
Summary:
Came to learn RN is deprecating Android 19, 20: https://github.com/facebook/react-native/commit/a17ff44adcf003dd4e4ef2301e1f80b77913f712

Did a quick check of left over code from the deprecation.

## Changelog

<!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
https://github.com/facebook/react-native/wiki/Changelog
-->

[Android] [Deprecated] - Cleanup usages of deprecated Android API

Pull Request resolved: https://github.com/facebook/react-native/pull/30243

Reviewed By: fkgozali

Differential Revision: D24548084

Pulled By: JoshuaGross

fbshipit-source-id: 3054ca1455bcff2bd5c9791633942dc0cca7cb2c
2020-10-26 18:49:11 -07:00
Joshua GrossandFacebook GitHub Bot 46eb3ec474 Disable childrenDrawingOrder of ReactViewGroup in Fabric
Summary:
Fabric should be inserting Views into the hierarchy in the correct order based on z-index already, so there should be no reason to enable this mechanism.

At best it's a perf pessimisation and at worst it could be causing consistency issues or crashing (TBD). Most likely this is a noop.

Changelog: [Internal]

Reviewed By: ejanzer

Differential Revision: D24512203

fbshipit-source-id: b9336240ef8506742bcbd8d08fc8b830f82cdfe2
2020-10-24 07:22:16 -07:00
Joshua GrossandFacebook GitHub Bot 81c184dce1 Followup to D24379607, update minsdk
Summary:
Followup to D24379607 (https://github.com/facebook/react-native/commit/a17ff44adcf003dd4e4ef2301e1f80b77913f712), update target SDK scattered throughout code

Changelog: [Internal]

Reviewed By: ejanzer

Differential Revision: D24510634

fbshipit-source-id: 356e172027e48db498253dcb15373007f42db292
2020-10-23 19:50:08 -07:00
Joshua GrossandFacebook GitHub Bot d527e03842 Add some diagnostics to aid in debugging ReactViewGroup.dispatchDraw crashes
Summary:
I want to see if the child count changes before/after this method execute; that would help pinpoint the cause of these crashes.

Changelog: [Internal]

Reviewed By: yungsters

Differential Revision: D24510064

fbshipit-source-id: 11b4baf15bc5e0beb23d65546605b378d84d1b20
2020-10-23 19:46:15 -07:00
Oleksandr MelnykovandFacebook GitHub Bot d238da71aa Do not crash when ScrollView snapToOffsets is empty
Summary:
The value of the `ScrollView.snapToOffsets` property can be an empty array (most likely an issue in the product code), which will crash the app. This diff adds a check to prevent crashing in this scenario and falling back to the default snap behaviour.

Changelog:
[Android][Fixed] - Do not crash when ScrollView snapToOffsets is empty

Reviewed By: sammy-SC

Differential Revision: D24502365

fbshipit-source-id: c63b8e3b8f2fb323ebd6c962ee628015934d8e11
2020-10-23 05:10:54 -07:00
Joshua GrossandFacebook GitHub Bot f8eaab4fdc Workaround for T76236115 and swallow crash while using TextEdit
Summary:
There's a crash for a small number of users that looks like it is happening when cutting the text via a context menu, or deleting content near the end.

This is only happening because we cache the Spannable and it detects changes due to the cache mechanism itself. I'm making a minor change that will hopefully result
in Spannables being copied instead of the same Spannable instances being used for display on the View and measurement; and also swallowing this error, since it should
not be considered as a fatal, unrecoverable error for now. Hopefully we can delete entirely in the future.

Changelog: [Internal]

Reviewed By: shergin

Differential Revision: D24430622

fbshipit-source-id: 495458b3d85733e46a7e62b5c954b7cb6b00470b
2020-10-22 13:53:19 -07:00
Joshua GrossandFacebook GitHub Bot 49f10fd2e5 Remove code for API level 20 and below
Summary:
We've deprecated API 20 and below. This is just a cleanup to remove code that assumes API level <21.

Changelog: [Android][Deprecated] Deprecate support of Android API levels 19 and 20.

Reviewed By: fkgozali

Differential Revision: D24380233

fbshipit-source-id: d8f98d7cb19446a60ba36137f1f9290e35f27c02
2020-10-20 17:00:47 -07:00
Joshua GrossandFacebook GitHub Bot 7c2f46ce3f Collect extra logging if ReactViewGroup.dispatchDraw crashes
Summary:
dispatchDraw,  dispatchGetDisplayList, updateDisplayListIfDirty, recreateChildDisplayList, etc, can all crash internally for a variety of reasons and it can be very tricky to track down the root cause. This isn't a fix, this just adds extra logging to hopefully make debugging easier.

Changelog: [Internal]

Reviewed By: shergin

Differential Revision: D24166149

fbshipit-source-id: 1bbaf34a92a9bcac5a594a25522c66e6e0cc80ca
2020-10-07 23:12:55 -07:00
Joshua GrossandFacebook GitHub Bot e41ee42967 Add more off-by-default logging options for debug-mode builds: ReactEditText, TextLayoutManager
Summary:
Put more logging behind debug-build-only build flags.

Changelog: [Internal]

Reviewed By: shergin

Differential Revision: D24120153

fbshipit-source-id: 3b33db3e701a2bd3304c7c6502d58eb84e6bdc7f
2020-10-05 18:57:02 -07:00