Commit Graph
22124 Commits
Author SHA1 Message Date
Samuel Susla fdb2bb76ec Refactor componentNameByReactViewName into separate file
Summary:
Changelog: [internal]

Extract componentNameByReactViewName to separate file so it can be used elsewhere.

Reviewed By: shergin, mdvacca

Differential Revision: D26946159

fbshipit-source-id: cf69df1f80f1c1938fc667f4666a5d3fec5a9658
2021-03-11 11:53:14 -08:00
Joshua Gross 6d1a4d3864 Add more debug logs to ReactHorizontalScrollView
Summary:
Just adding more logs I found useful while playing around with the last diff (to verify that these methods were not actually implicated at all).

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D26972725

fbshipit-source-id: 0e048e1edbfbe5ed32c5277f17a7197e0afdc04f
2021-03-11 10:57:47 -08:00
Joshua Gross b9b23e1ab1 Fix incorrect platform auto-scroll to right when height changes
Summary:
When the height of a HorizontalScrollView changes and there is a `layout` event, it can cause the underlying platform View code to scroll slightly to the right.

I'm... not really sure why, even after looking at the View code for a while. But it is clearly detectable and mirrors issues with RTL that were fixed recently.

This might warrant more investigation, but I believe the fix is relatively safe - we detect if there's an autoscroll only if the height changes and only if the scroll happens in "layout". That scopes the hack pretty well to just this bug.

There aren't really times when we actually want layout to scroll to the right, so... I think this is reasonable.

Changelog: [Changed][Android] Fixed issue that causes HorizontalScrollView to shift to the right when a TextInput is selected and keyboard pops up

Reviewed By: mdvacca

Differential Revision: D26972710

fbshipit-source-id: 441b1a3f07b9b68195a9e5e9a0c8d75c9d24a109
2021-03-11 10:57:47 -08:00
David Biedenbach 310a6bcf4b Fix Issue 10718: Add iOS support for progressViewOffset (#30737)
Summary:
Fixes https://github.com/facebook/react-native/issues/10718, bringing `progressViewOffset` support to iOS.

Thanks to Taylor123 for the initial PR upon which this fix is based.

## Changelog

[iOS] [Fix] - `progressViewOffset` prop of `RefreshControl` and `VirtualizedList` now works on iOS

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

Test Plan:
Tested with quick-and-dirty sample app.

![progressViewOffset-iOS](https://user-images.githubusercontent.com/1563532/104526540-82fe1d80-55b7-11eb-9f99-e025bedf4874.gif)

## Documentation

The corresponding documentation update PR can be found [here](https://github.com/facebook/react-native-website/pull/2441).

Reviewed By: kacieb

Differential Revision: D26813977

Pulled By: sammy-SC

fbshipit-source-id: 45cc5a647d70e44a29c6391b7586cb41ca011bef
2021-03-11 10:27:25 -08:00
Joshua Gross 896baf79d5 Fix crash in ReactHorizontalScrollView debug logging
Summary:
Does not impact prod or even debug builds unless you switch on the debug flag. The issue is that we were trying to coerce booleans to integers.

Changelog: [internal]

Reviewed By: mdvacca

Differential Revision: D26970274

fbshipit-source-id: 3327029ae3afc307dd19b089c23c190cb9e3150c
2021-03-10 20:21:50 -08:00
Nick Gerleman 4fb9e2f6a3 Add tests describing current sticky header realization behavior (#31075)
Summary:
See https://github.com/react-native-community/discussions-and-proposals/pull/335 for extra context.

A VirtualizedList may have sticky headers, forwarded on to ScrollView. These sticky headers are exempt from virtualization once realized for the first time. This change documents the behavior of keeping sticky header cells realized after scrolling away.

This scenario performs the same behavior as creating an internal "realization window" for sticky headers with a single cell window size. Generalizing the concept of realization windows should be shaped to support the existing sticky header scenario.

## 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
-->

[Internal] [Added] - Add tests describing current sticky header realization behavior

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

Reviewed By: lunaleaps

Differential Revision: D26767582

Pulled By: appden

fbshipit-source-id: 0d151bd6046fcb5384c646205aafa1ca7edf6c77
2021-03-10 17:10:22 -08:00
Tim Yung 035718ba97 RN: Restore Deprecated Event Methods
Summary:
Restore deprecated event listener removal methods in order to minimize breaking changes for the next release. The methods will work, but they will not report a warning via `console.error`.

Changelog:
[General][Added] - `EventEmitter.removeListener` now emits a deprecation notice.
[General][Added] - Restored `AppState.removeEventListener` with a deprecation notice.
[General][Added] - Restored `Keyboard.removeEventListener` with a deprecation notice.
[General][Added] - Restored `Linking.removeEventListener` with a deprecation notice.

Reviewed By: nadiia, kacieb

Differential Revision: D26589441

fbshipit-source-id: 7d89982a182cf2163136e157d4c1beee91c30393
2021-03-10 16:06:26 -08:00
Tim Yung c47a03563d RN: Change Dimensions to Return EventSubscription
Summary:
Changes `Dimensions.addEventListener` to return an `EventSubscription` object that has a `remove()` method on it.

In an upcoming commit, calling `Dimensions.removeEventListener` will lead to a deprecation warning.

Changelog:
[General][Change] - `Dimensions.addEventListener` now returns an `EventSubscription`.

Reviewed By: kacieb

Differential Revision: D26808827

fbshipit-source-id: 0cfdc65b83c177f60937c1aa3a4cf633592f73d7
2021-03-10 16:06:26 -08:00
Daniel Andersson 42fa4a6a4e Fix incorrect comment about strictEquals
Summary:
The documentation of jsi::Value::strictEquals was confusing it with SameValue (which differs in treatment of signed zeroes and NaN). Fix it by referring to the correct part of the spec.

Changelog:
[Internal][Fixed] - Fix incorrect comment

Reviewed By: avp

Differential Revision: D26430216

fbshipit-source-id: 0ea4208fbdda40c87f8028231ddefb2323b6eb96
2021-03-10 15:33:31 -08:00
Ramanpreet Nara 2b2c69aab1 Prevent TurboModuleManagerDelegate.mHybridData from being dead-code eliminated
Summary:
mHybridData should have a SuppressWarnings("unsed") annotation on it. Furthermore, we should add a DoNotStrip annotation, to make sure that the HybridData object doesn't get removed. We do the same in TurboModuleManager:

https://www.internalfb.com/intern/diffusion/FBS/browsefile/master/xplat/js/react-native-github/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java?commit=5e1cd0c2ed84ff8e718473ff26145733868ebaba&lines=46-48

Changelog: [Internal]

Created from Diffusion's 'Open in Editor' feature.

Reviewed By: fkgozali

Differential Revision: D26958686

fbshipit-source-id: 83c0626c0681966dfcda7f6e4fb4cbeac8340b3f
2021-03-10 15:10:51 -08:00
Ramanpreet Nara 23d9bf1a24 Make I18nManagerModule TurboModule-compatible
Summary:
This NativeModule will now be type-safe, and TurboModule-compatible.

Changelog: [Internal]

Reviewed By: fkgozali

Differential Revision: D26956332

fbshipit-source-id: 6651a003c70819934869dd6a8c664ef984d0efcb
2021-03-10 14:55:29 -08:00
Eric Rozell b15f8a30e7 Fixes layout of nodes with YGDisplayNone and YGPositionTypeAbsolute (#1068)
Summary:
Pull Request resolved: https://github.com/facebook/yoga/pull/1068

There is an issue in react-native when the Yoga node position type is set to absolute and display: none is set where the node layout calculation gives the absolute dimensions, rather than the expected 0 x 0.

Here are some OSS issues tracking this:
https://github.com/facebook/react-native/issues/18415
https://github.com/microsoft/react-native-windows/issues/7289

## Changelog

[General] [Fix] - Fixes layout of nodes with YGDisplayNone and YGPositionTypeAbsolute

Reviewed By: Andrey-Mishanin

Differential Revision: D26849307

fbshipit-source-id: 197618aa3c4e1b3b7efeba7ea4efd30b2d1c982d
2021-03-10 13:12:04 -08:00
Andrew Coates 81c895fb3f Fix various C++ warnings (#31002)
Summary:
Fix warnings about implicit type truncation.

## Changelog

[Internal] [Fixed] - Fix various C++ warnings

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

Test Plan:
Almost all the changes here are simply making explicit conversions which are already occurring.  With the exception of a couple of constants being changed from doubles to floats.

With these changes I am able to remove a bunch of warning suppressions in react-native-windows.

Reviewed By: shergin

Differential Revision: D26900502

Pulled By: rozele

fbshipit-source-id: d5e415282815c2212a840a863713287bbf118c10
2021-03-10 12:39:12 -08:00
Andrei Shikov 4170726dfa Move to Maven Central for flipper deps
Summary:
Changelog: [Internal]

Flipper moved to maven central recently, so we can remove exceptions for it.

Reviewed By: fkgozali

Differential Revision: D26915353

fbshipit-source-id: c245e25ecb0eef1e279f197c2717673ec9ce3ca1
2021-03-10 08:38:13 -08:00
Samuel Susla 56e0309b78 Send onDismiss event when Modal is dismissed
Summary:
Changelog: [internal]

"onDismiss" event wasn't called in Fabric. This diff adds it.
Paper implementation of Modal uses `RCTEventEmitter` instead of callback to deliver the event. To align better with Paper, Fabric will follow this pattern.

Reviewed By: shergin

Differential Revision: D26911312

fbshipit-source-id: b0de619c5a02c3378d1f7ac3ce1b705bb5fb634d
2021-03-10 05:47:47 -08:00
Pranjal Shankhdhar cdf3182793 Remove worker_requirement files
Summary:
Changelog:

These are no longer being used by Buck, we can just remove them.

Reviewed By: zigwei

Differential Revision: D26913017

fbshipit-source-id: c75a07b2dc8c337ceef6da275b0046c0ac048ba7
2021-03-10 04:25:43 -08:00
Yan Zhang ffba25c648 add a hide-on-scroll feature to ScrollView
Summary:
Add a stickyHeaderHiddenOnScroll option to keep the sticky header hidden during scrolling down, and only slide in when scrolling up
Changelog:
[General][Added] - Add a stickyHeaderHiddenOnScroll option to keep the sticky header hidden during scrolling down, and only slide in when scrolling up

Reviewed By: JoshuaGross

Differential Revision: D26900810

fbshipit-source-id: 6bfb1a4da07fff0763223d60836df187f9d95dd6
2021-03-09 12:36:20 -08:00
Samuel Susla 311d2fb0c5 Disable swipe down gesture in Modal component
Summary:
Changelog: [internal]

Paper implementation prevents swipe to dismiss gesture in Modal.

https://www.internalfb.com/intern/diffusion/FBS/browse/master/xplat/js/react-native-github/React/Views/RCTModalHostViewController.m?commit=9d1f344633fb&lines=25-30

This diff implements the same in Fabric.

Reviewed By: ShikaSD

Differential Revision: D26910753

fbshipit-source-id: cb036ce0a9cd57c7d549a1a58eb941d8e64f2468
2021-03-09 11:55:30 -08:00
Valentin Shergin 2f67c8d5b7 Fabric: surfaceId-based that controls Surface status methods were removed from Scheduler
Summary:
We don't use them anymore.

Changelog: [Internal] Fabric-specific internal change.

Differential Revision: D26376683

fbshipit-source-id: 801e9225502005ed01317ed396346176b2f2f5bc
2021-03-09 11:50:43 -08:00
David Vacca aba11daff8 Integrate global.__nativeComponentRegistry__hasComponent into NativeComponentRegistry.js
Summary:
This diff creates a new unstable method (unstable_hasComponent) to expose `global.__nativeComponentRegistry__hasComponent` into NativeComponentRegistry.js

changelog: [internal] internal

Reviewed By: yungsters

Differential Revision: D26716903

fbshipit-source-id: 52ff63b2779f41770b292cfc0b9022b1669d59fe
2021-03-09 10:39:20 -08:00
Igor Klemenski e69f1c9f50 Fix unsafe cast and detect resize overflow. (#31106)
Summary:
Removing unsafe cast from `int` to `uint16_t`.
Also, adding code to detect multiplication overflow during buffer resize.

## 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
-->

[General] [Fix] - Fix unsafe cast and detect overflow in MapBuffer.

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

Test Plan: Code compiles in Visual Studio 2019 without the unsafe cast warning (or error depending on the configuration).

Reviewed By: mdvacca

Differential Revision: D26865138

Pulled By: rozele

fbshipit-source-id: 4692a38b05fc873e31fbbe94d70803244e82de5d
2021-03-09 08:47:31 -08:00
Sam Goldman d4d2e90ec6 Turn on new signatures mode
Summary:
This mode re-implements parts of the types-first architecture, and is a step
toward types-first 2.0, which will greatly reduce memory usage. In this mode,
Flow finds some errors that were missed before.

Changelog: [Internal][Changed] Updated to Flow's new signatures mode for types-first

Reviewed By: panagosg7

Differential Revision: D26890348

fbshipit-source-id: 4c0bc4960a79ae2c4fa4c420bac506c9b2565beb
2021-03-08 23:29:21 -08:00
David Vacca fddac5908c Create MC to gate execution of JS Responder in Fabric Android
Summary:
Create MC to gate execution of JS Responder in Fabric Android

MC.react_fabric.enable_js_responder_fabric_android is enabled by default in the server

changelog: [internal] internal

Reviewed By: JoshuaGross

Differential Revision: D26905296

fbshipit-source-id: 82504174394d1e10fd017435cccd38952404fda0
2021-03-08 21:58:34 -08:00
Joshua Gross 1163599989 Horizontal/ScrollView: rename reactScrollTo to scrollTo
Summary:
We can override the `scrollTo` method and it's likely/possible that Android internals are calling scrollTo directly. So, we can capture
more cases where the scroll position is changing and needs to be updated in Fabric State.

Unfortunately we still cannot override smoothScrollTo because it is marked as final. For now we just keep the custom `reactSmoothScrollTo` method
and hope that we can catch more cases with `scrollTo`.

Changelog: [Internal]

Reviewed By: sammy-SC, mdvacca

Differential Revision: D26887028

fbshipit-source-id: e2678f1a20640d598abbec9671d6102635f65bb2
2021-03-08 15:30:51 -08:00
Joshua Gross de5e16f55c Back out "Try reduce flackiness of VeniceTest"
Summary:
Original commit changeset: 5af216e6bfa3

Changelog: [Internal]

Reviewed By: yungsters, mdvacca

Differential Revision: D26894424

fbshipit-source-id: 32cc4af2283ef9e80eaf57552c3dcfb3c1fa3c67
2021-03-08 15:09:04 -08:00
David Vacca 64f6f5e618 Cleanup TextAttributeProps class
Summary:
Quick cleanup of the TextAttributeProps class

There's no behavior changes expected

changelog: [internal] internal

Reviewed By: JoshuaGross

Differential Revision: D26886807

fbshipit-source-id: b9ea9905a3767bd9540584adfb13bbd1ca976ea4
2021-03-08 13:08:39 -08:00
Andrei Shikov 8dc5ca6a6a Use SurfaceHandler in ReactSurface
Summary:
Changelog: [Internal]

Updates `ReactSurface` to use `SurfaceHandler` internally.
This removes most of the internal state in `ReactSurface` and propagates all the calls to the `SurfaceHandler`.

`FabricUIManager` now uses `SurfaceHandler` to start/stop the surface.
SurfaceId is still used for view operations. SurfaceId is also now mutable to play better with existing Android infra.

Reviewed By: shergin, mdvacca

Differential Revision: D26112992

fbshipit-source-id: 52e6860084d739381317035dc3011956d452063c
2021-03-08 12:20:41 -08:00
Samuel Susla 8b821f8f12 Remove incorrect assert from ScrollViewShadowNode
Summary:
Changelog: [internal]

The assumption was wrong. There can be more than one view on iOS in ScrollView. The other view is pull the refresh component.

Reviewed By: mdvacca

Differential Revision: D26880403

fbshipit-source-id: 69fb1668b5ee7d5f4a4ab3c89222587689c10591
2021-03-08 02:02:15 -08:00
Joshua Gross b84ae3875c Immediately destroy C++ state when deleteView is processed
Summary:
Followup to D26858584 (https://github.com/facebook/react-native/commit/00959ffd6b9aebf52ca51ce7a747a375b5a8cdd1). We should also immediately destroy C++ state memory (which will decrement a shared_ptr) when deleting a view.

This could improve memory while a surface is being used.

Changelog: [Internal]

Reviewed By: fkgozali

Differential Revision: D26876537

fbshipit-source-id: fc8353bed47db8fdbf5c7f6c6253ac788c460d9a
2021-03-07 13:19:50 -08:00
Samuel Susla 077e434d77 Do not retain UIManager inside background executor
Summary:
Changelog: [internal]

UIManager shouldn't be retained in lambda because if it outlives runtime it causes a crash.

UIManager -> ComponentDescriptorRegistry -> ParagraphComponentDescriptor -> TextLayoutManager's cache -> AttributedString::Fragment -> ShaviewView -> EventEmitter -> EventTarget -> Pointer

This is the chain of ownership that can cause a crash if UIManager is retained for longer than JS runtime.

{F459238235}

Reviewed By: JoshuaGross

Differential Revision: D26851194

fbshipit-source-id: 644cdee34ba9286618659d847fb2e78bc301d049
2021-03-07 04:40:26 -08:00
Ramanpreet Nara c94ef1e3b3 Introduce TurboModule.initialize()
Summary:
NativeModules have an initialize() method that they use to allocate any resources, set up listeners, etc. This diff imports that method into the TurboModule interface. This way, we don't have to cast TurboModules to NativeModules to initialize them. Also, it makes sense to import this initialization mechanism into the TurboModule infra.

Changelog: [Internal]

Reviewed By: JoshuaGross

Differential Revision: D26871552

fbshipit-source-id: b8ae515b22928ed678b4003096e0756e991e10ff
2021-03-06 20:30:18 -08:00
Ramanpreet Nara 3f0df9788b Migrate all NativeModules to invalidate()
Summary:
This diff migrates all NativeModules away from onCatalystInstanceDestroy() to the invalidate() method.

Changelog: [Internal]

Reviewed By: JoshuaGross

Differential Revision: D26871595

fbshipit-source-id: 132f6b75e485361835769a2b53bc742eefa47b59
2021-03-06 20:30:17 -08:00
Ramanpreet Nara 18c8417290 Deprecate NativeModule.onCatalystInstanceDestroy()
Summary:
## Rationale
The CatalystInstance is going away after we delete the bridge. So, we should migrate away from onCatalystInstanceDestroy() to something else: invalidate().

## Changes
- Introduce the NativeModule.invalidate() cleanup hook.
- Both the NativeModule and TurboModule infra now call this invalidate() method, **as opposed to** onCatalystInstanceDestroy(), to perform NativeModule cleanup.
- **Is this safe?** All our NativeModules extend BaseJavaModule. BaseJavaModule.invalidate() delegates to NativeModule.onCatalystInstanceDestroy(), so NativeModules that implement onCatalystInstanceDestroy(), but not invalidate(), still have their onCatalystInstanceDestroy() method called.

Changelog: [Android][Deprecated] - Deprecate NativeModule.onCatalystInstanceDestroy() for NativeModule.invalidate()

Reviewed By: JoshuaGross

Differential Revision: D26871001

fbshipit-source-id: e3bdfa0cf653ecbfe42791631bc6229af62f4817
2021-03-06 20:30:17 -08:00
Hans Halverson d477f80113 Deploy Flow v0.146.0
Summary: Changelog: [Internal]

Reviewed By: mroch

Differential Revision: D26835439

fbshipit-source-id: 2607c3185485c8bd2c7e868dd2e3e0c06866f1f9
2021-03-06 11:37:57 -08:00
Joshua Gross 8e2fa86c63 Add debug logging capabilities to ReactHorizontalScrollView
Summary:
When debugging this class a lot, I found it helpful to have these logs and it would have been nice if they were here already - I had to rewrite these several times.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D26836318

fbshipit-source-id: 08eb9ae19923fc593d1aba031586a02a193d6b2d
2021-03-05 22:49:47 -08:00
Joshua Gross 365e12430a Fix content origin offset for RTL scripts
Summary:
changelog: [internal]

There were three separate problems preventing measure infra to work correctly with views inside horizontal scroll view in RTL environment.

1. Initial offset is wasn't communicated to Fabric. This is resolved separately as it doesn't affect only RTL: D26778991 (https://github.com/facebook/react-native/commit/630ac87591eb9d535bc32c6c42c624bfc3f1953f).
3. On Android when layout direction is RTL, offset of scrollview is calculated from right.

Reviewed By: mdvacca

Differential Revision: D26779860

fbshipit-source-id: 61572c78091a1f5417102eb38d88ba7d172e6102
2021-03-05 22:49:47 -08:00
Joshua Gross fc032cd8d8 Fix RTL content jumping
Summary:
Whenever layout updates in a horizontal scrollview, in RTL mode we adjust the position - the impact *should* be that initially, we jump from position 0 to the right side of the scroll view,
such that scrolling starts from the right.

However, we were doing this entirely too aggressively before. We should only make this adjustment *if the layout changes the width*.

Changelog: [Android][Changed] Fixed jumpy RTL horizontal ScrollViews. If you have Android-specific JS hacks for handling RTL in ScrollViews, you probably can/probably want to remove them, because they should be reliable now and require fewer hacks.

Reviewed By: mdvacca

Differential Revision: D26771366

fbshipit-source-id: de11bd1cae1414018d88ce44b3583a8b15f3b330
2021-03-05 22:49:47 -08:00
Joshua Gross 00959ffd6b Destroy Fabric State objects earlier in Java
Summary:
There are races between BackgroundExecutor and Fabric/View teardown, where, because of the way things are set up currently, a View will strongly retain a pointer into some native State object which can keep a host of other objects alive in C++, even after stopSurface, and even after RN itself starts tearing down.

To alleviate this, we more aggressively clear State from Java, without waiting for Java GC: 1) on stopSurface, 2) whenever a State object is stale from Java's perspective.

This should allow us to keep all common updateState semantics, while only introducing a new edge-case that stateWrapper can be destroyed during mounting if stopSurface happens at the same time. In those cases, checking for NPEs should be sufficient.

The possible race condition only really happens with updateState, so it's easier to check for. There should practically be no cases where there's a race between `stopSurface` and `getState`, because `getState` is only really called around state updates and view preallocation, and never after; we still check for NPEs in those cases, but it shouldn't be an issue.

Changelog: [Internal]

Reviewed By: thurn, sammy-SC, mdvacca

Differential Revision: D26858584

fbshipit-source-id: 2ef7467220865380037d69d8de322fe8797f6a12
2021-03-05 18:42:39 -08:00
Joshua Gross 47779de424 Make sure that FrescoModule is subscribed to LifecycleEventListener events, and unsubscribes in onCatalystInstanceDestroy
Summary:
If modules are *not* eagerly init'd and expect lifecycle events, make sure (1) onHostResume is called immediately it it's currently active and (2) that listeners are removed in onCatalystInstanceDestroy.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D26859161

fbshipit-source-id: 654c055c53c0e420c6d9f2b0135055aec34269c9
2021-03-05 18:42:38 -08:00
Joshua Gross 4f38973b06 Make sure that DeviceInfoModule is subscribed to LifecycleEventListener events, and unsubscribes in onCatalystInstanceDestroy
Summary:
If modules are *not* eagerly init'd and expect lifecycle events, make sure (1) onHostResume is called immediately it it's currently active and (2) that listeners are removed in onCatalystInstanceDestroy.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D26859157

fbshipit-source-id: 754a5b4ede8defa8b7742cc42e09cc7cbfe4e18d
2021-03-05 18:42:38 -08:00
Joshua Gross 77a23bdf0f Make sure that TimingModule is subscribed to LifecycleEventListener events, and unsubscribes in onCatalystInstanceDestroy
Summary:
If modules are *not* eagerly init'd and expect lifecycle events, make sure (1) onHostResume is called immediately it it's currently active and (2) that listeners are removed in onCatalystInstanceDestroy.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D26859160

fbshipit-source-id: ce84deafd1f20d1680d333d1a176b0493623a4ee
2021-03-05 18:42:37 -08:00
Joshua Gross c2e44103b9 Make sure that AppStateModule is subscribed to LifecycleEventListener events, and unsubscribes in onCatalystInstanceDestroy
Summary:
If modules are *not* eagerly init'd and expect lifecycle events, make sure (1) onHostResume is called immediately it it's currently active and (2) that listeners are removed in onCatalystInstanceDestroy.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D26859205

fbshipit-source-id: 5398d24d2592de3fbb80ca59192b5b46543aa5c5
2021-03-05 18:42:37 -08:00
Joshua Gross 66febd1e34 Make sure that AccessibilityInfoModule is subscribed to LifecycleEventListener events, and unsubscribes in onCatalystInstanceDestroy
Summary:
If modules are *not* eagerly init'd and expect lifecycle events, make sure (1) onHostResume is called immediately it it's currently active and (2) that listeners are removed in onCatalystInstanceDestroy.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D26859159

fbshipit-source-id: 8e47cedd4b218a47b33d1209f3ede2fd1531015d
2021-03-05 18:42:37 -08:00
Joshua Gross 014c6f9636 Make sure that NativeAnimatedModule is subscribed to LifecycleEventListener events, and unsubscribes in onCatalystInstanceDestroy
Summary:
If modules are *not* eagerly init'd and expect lifecycle events, make sure (1) onHostResume is called immediately it it's currently active and (2) that listeners are removed in onCatalystInstanceDestroy.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D26859158

fbshipit-source-id: 4966d3c49d194c4cb4063edf3a035f6077b76cd9
2021-03-05 18:42:36 -08:00
Joshua Gross aa305b34e3 Make sure that DialogModule is subscribed to LifecycleEventListener events
Summary:
I'm not sure what broke this, but in some cases, DialogModule doesn't get subscribed to LifecycleEventListener events.

This seems to fix it.

Changelog: [Internal]

Reviewed By: mdvacca, RSNara

Differential Revision: D26856016

fbshipit-source-id: 868baf102b85b202180adcbb8bb181dfe603188f
2021-03-05 18:42:36 -08:00
Samuel Susla a206f4fc2e Back out "Don't retain State in StateWrapperImpl"
Summary:
Changelog: [internal]

Original commit changeset: 0703c6dccc62

Reviewed By: yungsters

Differential Revision: D26849056

fbshipit-source-id: 2c6fca3ef06ac4868979d0a93c04c0eabdd56eb0
2021-03-05 10:45:25 -08:00
Samuel Susla 283512cc42 Fix Yoga's right to left offset in horizontal scroll view
Summary:
Changelog: [internal]

Yoga offsets content view of scrollview in RTL environment. React Native Classis deals with it by using a separate component [ScrollContentView](https://github.com/facebook/react-native/blob/6e6443afd04a847ef23fb6254a84e48c70b45896/React/Views/ScrollView/RCTScrollContentShadowView.m#L18-L25
) and making the adjustment there.

In New React Native Renderer, it can be handled inside `ScrollViewShadowNode`.

Reviewed By: JoshuaGross

Differential Revision: D26817121

fbshipit-source-id: ad48374ef19b802d25e919ac0aae05c5890762f2
2021-03-05 10:27:28 -08:00
Lulu Wu 772fbf0a7d Fix venice test failure
Summary:
Changelog:
[Android][Changed] - Remove duplicate dependency

Reviewed By: mdvacca

Differential Revision: D26835371

fbshipit-source-id: 2a32b80bc0bb834f92473d003b940f8ffd3495fb
2021-03-05 05:16:49 -08:00
Lulu Wu 2b708560fc Fix ReactEditText crash
Summary:
Found this crash when rendering ReactEditText under Venice, from comment it's supposed to be called only in Paper, so I adde a Venice check to avoid calling this method.

{F446844248}

Changelog:
[Android][Changed] - Add a new check to avoid calling this method

Reviewed By: mdvacca

Differential Revision: D26781457

fbshipit-source-id: f4c2e890156a37e35aa153c736b50924254e67bc
2021-03-05 04:24:11 -08:00
Joshua Gross a65cd683ae Align View creation flow between Fabric and non-Fabric
Summary:
Ship responsibility for most View creation logic to ViewManager, where it already largely lies, and simplify code in Fabric and non-Fabric mounting layers.

Notably, some of this work was *already* being duplicated so we can expect an extremely tiny perf gain here.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D26742711

fbshipit-source-id: 4213766d4cd366bc69cd47d4654f7b269bb9e7f4
2021-03-04 22:22:34 -08:00