mirror of
https://github.com/status-im/react-native.git
synced 2025-02-06 22:54:27 +00:00
Summary: Previously, `InteractionManager` was baked in at the lowest level to all touches via `ResponderEventPlugin`, which meant that any time a finger was touching the screen, `InteractionManager` would be locked. This included while doing 100% native scrolls, and thus would block progress from Relay, Incremental, or anything else scheduling events through `InteractionManager`. This diff switches to only bake it into `PanResponder` (and it remains hooked into `Animated` as before) which are the main two cases where we need 60fps JS execution and want to queue up slower tasks. This is done with a reusable higher-order-responder `InteractionManager.createResponderClass`. Depends on FYI https://github.com/facebook/react/pull/6587, https://github.com/facebook/react/pull/6584 Reviewed By: sebmarkbage Differential Revision: D3210951 fb-gh-sync-id: 682d21ac5cff704673b63d5942a903a3d8912835 fbshipit-source-id: 682d21ac5cff704673b63d5942a903a3d8912835