react-native/React/Modules
Janic Duplessis c9fae2fb93 Native Animated - Restore default values when removing props on iOS
Summary:
This fixes a bug that causes properties to keep stale values because they were not restored to their default after being removed when their value was controlled by native animated.

To fix this we restore default values in `disconnectFromView` by updating views with null values for all props that we modified previously. However this causes another issue where we lose any props that were set by the normal process because NativeAnimated operations are always executed after UIManager operatations. To fix this I added a way to hook into UIManager view updating process to be able to execute NativeAnimated operations either before or after updating native views.

In the case of disconnecting we want to do it before updating views so that it does: Value changed by native animated -> value restored to default -> (optional) value updated by normal prop.

This PR also depends on #10658.

**Test plan**
Tested that this fixed a particular bug in an app that uses ex-navigation + native animations where a navbar w
Closes https://github.com/facebook/react-native/pull/11819

Differential Revision: D4752566

Pulled By: javache

fbshipit-source-id: 68ee28200ffeba859ae1b98ac753bd7dcb8910f0
2017-03-28 05:33:02 -07:00
..
JSCSamplingProfiler.h Move all header imports to "<React/..>" 2016-11-23 07:58:39 -08:00
JSCSamplingProfiler.m Mark __unused completion block args 2017-01-13 12:43:31 -08:00
RCTAccessibilityManager.h Move all header imports to "<React/..>" 2016-11-23 07:58:39 -08:00
RCTAccessibilityManager.m Update RCTNetworking, RCTNetInfo and RCTLocationManager to use new events system 2016-05-25 04:28:36 -07:00
RCTAlertManager.h Move all header imports to "<React/..>" 2016-11-23 07:58:39 -08:00
RCTAlertManager.m Add one more parameter(keyboardType) to AlertIOS.promot(). 2017-01-19 14:43:37 -08:00
RCTAppState.h Move all header imports to "<React/..>" 2016-11-23 07:58:39 -08:00
RCTAppState.m iOS: Provide correct initial value for AppState.currentState 2016-07-12 23:28:22 -07:00
RCTAsyncLocalStorage.h Move all header imports to "<React/..>" 2016-11-23 07:58:39 -08:00
RCTAsyncLocalStorage.m Enforcing semi-colon consistency between dev and release modes when calling RCTLog* 2016-11-16 07:28:32 -08:00
RCTClipboard.h Move all header imports to "<React/..>" 2016-11-23 07:58:39 -08:00
RCTClipboard.m remove unused includes in fbobjc/Libraries 2017-02-19 18:33:49 -08:00
RCTDevLoadingView.h Move all header imports to "<React/..>" 2016-11-23 07:58:39 -08:00
RCTDevLoadingView.m Show packager progress in UI 2016-10-13 11:43:41 -07:00
RCTDevMenu.h Add RCTDevSettings module 2017-02-24 07:00:16 -08:00
RCTDevMenu.m Remove unused websocket-executor-name and websocket-executor-port options 2017-03-22 05:38:04 -07:00
RCTDevSettings.h Remove unused websocket-executor-name and websocket-executor-port options 2017-03-22 05:38:04 -07:00
RCTDevSettings.mm Remove unused websocket-executor-name and websocket-executor-port options 2017-03-22 05:38:04 -07:00
RCTDeviceInfo.h Introduce `DeviceInfo` as a new native module 2017-03-17 17:01:57 -07:00
RCTDeviceInfo.m Introduce `DeviceInfo` as a new native module 2017-03-17 17:01:57 -07:00
RCTEventEmitter.h Move all header imports to "<React/..>" 2016-11-23 07:58:39 -08:00
RCTEventEmitter.m Eagerly change the listeners count 2017-03-20 12:49:00 -07:00
RCTExceptionsManager.h Move all header imports to "<React/..>" 2016-11-23 07:58:39 -08:00
RCTExceptionsManager.m Remove deprecated RCTReloadNotification 2016-12-07 16:28:33 -08:00
RCTI18nManager.h Move all header imports to "<React/..>" 2016-11-23 07:58:39 -08:00
RCTI18nManager.m Provide forceRTL for LTR language to test 2016-08-04 12:28:30 -07:00
RCTI18nUtil.h Provide forceRTL for LTR language to test 2016-08-04 12:28:30 -07:00
RCTI18nUtil.m enable RTL layout by default for all apps 2016-09-06 17:58:47 -07:00
RCTKeyboardObserver.h Move all header imports to "<React/..>" 2016-11-23 07:58:39 -08:00
RCTKeyboardObserver.m Apple TV support 1: existing Objective C code should compile for tvOS 2016-09-27 06:28:33 -07:00
RCTRedBox.h Move all header imports to "<React/..>" 2016-11-23 07:58:39 -08:00
RCTRedBox.m Dismiss redbox upon pressing reload 2017-01-13 03:58:47 -08:00
RCTSourceCode.h Move all header imports to "<React/..>" 2016-11-23 07:58:39 -08:00
RCTSourceCode.m Cleanup RCTSourceCode 2016-11-18 05:13:31 -08:00
RCTStatusBarManager.h Move all header imports to "<React/..>" 2016-11-23 07:58:39 -08:00
RCTStatusBarManager.m Revert D4450924: Expose StatusBar height on iOS 2017-01-25 17:59:30 -08:00
RCTTVNavigationEventEmitter.h Apple TV support 4: support for input (tvOS focus engine) 2016-12-19 06:28:40 -08:00
RCTTVNavigationEventEmitter.m Apple TV support 4: support for input (tvOS focus engine) 2016-12-19 06:28:40 -08:00
RCTTiming.h Move all header imports to "<React/..>" 2016-11-23 07:58:39 -08:00
RCTTiming.m remove incorrect `__unused` modifier 2016-09-06 02:43:40 -07:00
RCTUIManager.h Native Animated - Restore default values when removing props on iOS 2017-03-28 05:33:02 -07:00
RCTUIManager.m Native Animated - Restore default values when removing props on iOS 2017-03-28 05:33:02 -07:00