From e4342b1d38ca4dbf2509fabef8b2e61ae06d2714 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=9F=E6=A2=A6?= Date: Thu, 3 Aug 2017 11:50:20 +0800 Subject: [PATCH 1/2] test --- .buckconfig | 6 +- .eslintignore | 10 + .eslintrc | 43 +- .flowconfig | 18 +- .github/CODEOWNERS | 20 + .github/ISSUE_TEMPLATE.md | 131 +- .github/PULL_REQUEST_TEMPLATE.md | 35 +- .gitignore | 9 +- .travis.yml | 27 +- CONTRIBUTING.md | 181 +- ContainerShip/Dockerfile.android | 1 - ContainerShip/Dockerfile.android-base | 8 +- ContainerShip/Dockerfile.javascript | 2 +- .../run-android-ci-instrumentation-tests.js | 26 +- ContainerShip/scripts/run-ci-e2e-tests.sh | 13 +- Examples/.eslintrc | 5 - Examples/UIExplorer/UIExplorer/AppDelegate.h | 24 - .../FlexibleSizeExampleView.h | 21 - .../UpdatePropertiesExampleView.h | 21 - Examples/UIExplorer/UIExplorer/main.m | 23 - .../testLayoutExample_1-iOS10@2x.png | Bin 156259 -> 0 bytes .../testLayoutExample_1-iOS10_tvOS.png | Bin 91576 -> 0 bytes .../testLayoutExample_1@2x.png | Bin 156644 -> 0 bytes .../testLayoutExample_1_tvOS.png | Bin 90592 -> 0 bytes .../testScrollViewExample_1-iOS10@2x.png | Bin 132913 -> 0 bytes .../testScrollViewExample_1-iOS10_tvOS.png | Bin 92278 -> 0 bytes .../testScrollViewExample_1@2x.png | Bin 133046 -> 0 bytes .../testScrollViewExample_1_tvOS.png | Bin 90881 -> 0 bytes .../testSliderExample_1-iOS10@2x.png | Bin 186551 -> 0 bytes .../testSliderExample_1@2x.png | Bin 186681 -> 0 bytes .../testSwitchExample_1-iOS10@2x.png | Bin 150504 -> 0 bytes .../testSwitchExample_1@2x.png | Bin 150138 -> 0 bytes .../testTabBarExample_1-iOS10_tvOS.png | Bin 49914 -> 0 bytes .../testTabBarExample_1_tvOS.png | Bin 50184 -> 0 bytes .../testTextExample_1-iOS10@2x.png | Bin 373350 -> 0 bytes .../testTextExample_1-iOS10_tvOS.png | Bin 130218 -> 0 bytes .../testTextExample_1@2x.png | Bin 373894 -> 0 bytes .../testTextExample_1_tvOS.png | Bin 127201 -> 0 bytes .../testViewExample_1-iOS10@2x.png | Bin 179012 -> 0 bytes .../testViewExample_1-iOS10_tvOS.png | Bin 98281 -> 0 bytes .../testViewExample_1@2x.png | Bin 178742 -> 0 bytes .../testViewExample_1_tvOS.png | Bin 97544 -> 0 bytes .../RCTConvert_YGValueTests.m | 45 - .../RCTModuleMethodTests.m | 145 - .../app/src/main/res/values/strings.xml | 3 - Examples/UIExplorer/js/AdSupportIOSExample.js | 110 - Examples/UIExplorer/js/ExampleTypes.js | 39 - Examples/UIExplorer/js/ImageEditingExample.js | 331 -- Examples/UIExplorer/js/SnapshotExample.js | 80 - Examples/UIExplorer/js/UIExplorerActions.js | 71 - .../js/UIExplorerExampleContainer.js | 65 - .../js/UIExplorerNavigationReducer.js | 69 - Examples/UIExplorer/js/URIActionMap.js | 64 - Examples/UIExplorer/js/createExamplePage.js | 44 - IntegrationTests/AccessibilityManagerTest.js | 52 + .../IntegrationTestHarnessTest.js | 5 +- IntegrationTests/IntegrationTestsApp.js | 5 +- IntegrationTests/LayoutEventsTest.js | 6 +- .../ReactContentSizeUpdateTest.js | 4 +- IntegrationTests/SizeFlexibilityUpdateTest.js | 4 +- IntegrationTests/SyncMethodTest.js | 42 + IntegrationTests/TimersTest.js | 26 +- IntegrationTests/WebViewTest.js | 59 + JSCLegacyProfiler/JSCLegacyProfiler.h | 13 - JSCLegacyProfiler/JSCLegacyProfiler.mm | 311 -- JSCLegacyProfiler/Makefile | 18 - JSCLegacyProfiler/Makefile.base | 80 - JSCLegacyProfiler/json2trace | 254 - JSCLegacyProfiler/parseSDKVersion.awk | 10 - JSCLegacyProfiler/smap.py | 343 -- JSCLegacyProfiler/trace_data.py | 244 - Jenkinsfile | 10 +- LICENSE-examples | 9 - Libraries/ART/ART.xcodeproj/project.pbxproj | 130 + Libraries/ART/ReactNativeART.js | 13 +- .../RCTActionSheet.xcodeproj/project.pbxproj | 1 + Libraries/AdSupport/AdSupportIOS.js | 24 - Libraries/AdSupport/RCTAdSupport.m | 37 - .../RCTAdSupport.xcodeproj/project.pbxproj | 257 - Libraries/Animated/examples/style.css | 6 +- .../Animated/src/AnimatedImplementation.js | 56 +- .../Animated/src/__tests__/Animated-test.js | 7 - .../src/__tests__/AnimatedNative-test.js | 6 - .../Animated/src/__tests__/Easing-test.js | 2 - .../src/__tests__/Interpolation-test.js | 5 - .../Animated/src/__tests__/bezier-test.js | 1 - Libraries/AppState/AppState.js | 63 +- Libraries/BatchedBridge/BatchedBridge.js | 2 + Libraries/BatchedBridge/MessageQueue.js | 299 +- Libraries/BatchedBridge/NativeModules.js | 12 +- .../__tests__/MessageQueue-test.js | 34 +- .../__tests__/NativeModules-test.js | 10 +- Libraries/Blob/Blob.js | 153 + .../Blob/BlobTypes.js | 19 +- .../Blob/RCTBlob.xcodeproj/project.pbxproj | 347 ++ Libraries/Blob/RCTBlobManager.h | 16 + Libraries/Blob/RCTBlobManager.m | 213 + Libraries/Blob/URL.js | 69 + Libraries/CameraRoll/CameraRoll.js | 152 +- .../RCTAssetsLibraryRequestHandler.m | 10 +- .../RCTCameraRoll.xcodeproj/project.pbxproj | 3 +- Libraries/CameraRoll/RCTCameraRollManager.m | 18 +- .../AccessibilityInfo.ios.js | 43 +- .../ActivityIndicator/ActivityIndicator.js | 8 +- .../Components/AppleTV/TVViewPropTypes.js | 12 +- Libraries/Components/Button.js | 46 +- .../DatePicker/DatePickerIOS.ios.js | 8 +- .../DatePickerAndroid.android.js | 2 +- .../DrawerLayoutAndroid.android.js | 45 +- Libraries/Components/Keyboard/Keyboard.js | 8 +- .../Keyboard/KeyboardAvoidingView.js | 35 +- Libraries/Components/LazyRenderer.js | 7 +- .../MaskedView/MaskedViewIOS.android.js | 5 +- .../MaskedView/MaskedViewIOS.ios.js | 110 + .../Components/Navigation/NavigatorIOS.ios.js | 22 +- Libraries/Components/Picker/Picker.js | 94 +- .../Picker/PickerAndroid.android.js | 5 +- Libraries/Components/Picker/PickerIOS.ios.js | 15 +- .../ProgressBarAndroid.android.js | 19 +- .../ProgressViewIOS/ProgressViewIOS.ios.js | 9 +- .../RefreshControl/RefreshControl.js | 19 +- Libraries/Components/ScrollResponder.js | 27 +- Libraries/Components/ScrollView/ScrollView.js | 177 +- .../ScrollView/ScrollViewStickyHeader.js | 17 +- .../SegmentedControlIOS.ios.js | 9 +- Libraries/Components/Slider/Slider.js | 14 +- Libraries/Components/StaticRenderer.js | 6 +- Libraries/Components/StatusBar/StatusBar.js | 100 +- Libraries/Components/Switch/Switch.js | 7 +- .../Components/TabBarIOS/TabBarIOS.ios.js | 5 +- .../Components/TabBarIOS/TabBarItemIOS.ios.js | 19 +- Libraries/Components/TextInput/TextInput.js | 30 +- .../Components/TextInput/TextInputState.js | 2 +- .../ToolbarAndroid/ToolbarAndroid.android.js | 37 +- .../Touchable/BoundingDimensions.js | 2 +- Libraries/Components/Touchable/Position.js | 2 +- .../Components/Touchable/TouchableBounce.js | 18 +- .../Touchable/TouchableHighlight.js | 62 +- .../TouchableNativeFeedback.android.js | 11 +- .../Components/Touchable/TouchableOpacity.js | 16 +- .../Touchable/TouchableWithoutFeedback.js | 49 +- .../__tests__/TouchableHighlight-test.js | 2 - .../TouchableHighlight-test.js.snap | 2 + .../UnimplementedViews/UnimplementedView.js | 39 +- .../View/PlatformViewPropTypes.android.js | 6 +- .../View/PlatformViewPropTypes.ios.js} | 15 +- .../View/ReactNativeViewAttributes.js | 1 + .../Components/View/ShadowPropTypesIOS.js | 23 +- Libraries/Components/View/View.js | 113 +- Libraries/Components/View/ViewPropTypes.js | 71 +- .../Components/View/ViewStylePropTypes.js | 4 +- .../ViewPager/ViewPagerAndroid.android.js | 26 +- .../Components/WebView/WebView.android.js | 23 +- Libraries/Components/WebView/WebView.ios.js | 16 +- .../__tests__/parseErrorStack-test.js | 2 - Libraries/Core/Devtools/parseErrorStack.js | 12 +- Libraries/Core/Devtools/setupDevtools.js | 38 +- Libraries/Core/ExceptionsManager.js | 6 +- Libraries/Core/InitializeCore.js | 177 +- Libraries/Core/Timers/JSTimers.js | 411 +- Libraries/Core/Timers/JSTimersExecution.js | 241 - .../RCTDebugComponentOwnership.js | 41 - .../MissingNativeEventEmitterShim.js | 54 + Libraries/EventEmitter/NativeEventEmitter.js | 1 - .../EventEmitter/RCTDeviceEventEmitter.js | 55 +- .../EventEmitter/RCTNativeAppEventEmitter.js | 7 - Libraries/Experimental/Incremental.js | 6 +- Libraries/Experimental/IncrementalExample.js | 15 +- Libraries/Experimental/IncrementalGroup.js | 6 +- .../Experimental/IncrementalPresenter.js | 13 +- .../SwipeableRow/SwipeableListView.js | 8 +- .../SwipeableQuickActionButton.js | 10 +- .../Experimental/SwipeableRow/SwipeableRow.js | 19 +- Libraries/Experimental/WindowedListView.js | 12 +- Libraries/Geolocation/Geolocation.js | 69 +- .../RCTGeolocation.xcodeproj/project.pbxproj | 1 + Libraries/Geolocation/RCTLocationObserver.m | 90 +- Libraries/Image/AssetRegistry.js | 18 +- Libraries/Image/AssetSourceResolver.js | 4 +- Libraries/Image/Image.android.js | 13 +- Libraries/Image/Image.ios.js | 43 +- Libraries/Image/ImageBackground.js | 94 + Libraries/Image/ImageSourcePropType.js | 2 +- Libraries/Image/ImageStylePropTypes.js | 5 +- .../Image/RCTImage.xcodeproj/project.pbxproj | 29 +- Libraries/Image/RCTImageLoader.m | 1217 ++--- .../Image/RCTImageShadowView.h | 9 +- Libraries/Image/RCTImageShadowView.m | 25 + Libraries/Image/RCTImageStoreManager.m | 12 +- Libraries/Image/RCTImageUtils.h | 2 +- Libraries/Image/RCTImageUtils.m | 29 +- Libraries/Image/RCTImageView.m | 3 +- Libraries/Image/RCTImageViewManager.m | 6 + Libraries/Image/RCTLocalAssetImageLoader.m | 8 +- Libraries/Image/RelativeImageStub.js | 2 +- .../__tests__/resolveAssetSource-test.js | 6 - Libraries/Inspector/BoxInspector.js | 5 +- Libraries/Inspector/ElementProperties.js | 17 +- Libraries/Inspector/Inspector.js | 88 +- Libraries/Inspector/InspectorOverlay.js | 16 +- Libraries/Inspector/InspectorPanel.js | 3 +- Libraries/Inspector/InspectorUtils.js | 47 - .../Interaction/BridgeSpyStallHandler.js | 2 +- Libraries/Interaction/PanResponder.js | 4 +- .../Interaction/__tests__/Batchinator-test.js | 1 - .../__tests__/InteractionManager-test.js | 30 +- .../__tests__/InteractionMixin-test.js | 2 +- .../Interaction/__tests__/TaskQueue-test.js | 2 +- Libraries/LayoutAnimation/LayoutAnimation.js | 64 +- Libraries/Linking/Linking.js | 44 +- .../RCTLinking.xcodeproj/project.pbxproj | 3 + Libraries/LinkingIOS/RCTLinkingManager.h | 4 + Libraries/LinkingIOS/RCTLinkingManager.m | 27 +- Libraries/Lists/FillRateHelper.js | 240 + Libraries/Lists/FlatList.js | 238 +- Libraries/Lists/ListView/ListView.js | 255 +- .../Lists/ListView/ListViewDataSource.js | 109 +- .../Lists/ListView/__mocks__/ListViewMock.js | 12 +- Libraries/Lists/MetroListView.js | 81 +- Libraries/Lists/SectionList.js | 217 +- Libraries/Lists/ViewabilityHelper.js | 120 +- Libraries/Lists/VirtualizeUtils.js | 87 +- Libraries/Lists/VirtualizedList.js | 894 +++- Libraries/Lists/VirtualizedSectionList.js | 326 +- .../Lists/__flowtests__/FlatList-flowtest.js | 83 +- .../__flowtests__/SectionList-flowtest.js | 102 +- .../Lists/__tests__/FillRateHelper-test.js | 121 + Libraries/Lists/__tests__/FlatList-test.js | 16 +- Libraries/Lists/__tests__/SectionList-test.js | 74 +- .../Lists/__tests__/ViewabilityHelper-test.js | 606 +-- .../Lists/__tests__/VirtualizeUtils-test.js | 23 +- .../Lists/__tests__/VirtualizedList-test.js | 162 + .../__snapshots__/FlatList-test.js.snap | 124 +- .../__snapshots__/SectionList-test.js.snap | 317 +- .../VirtualizedList-test.js.snap | 828 +++ Libraries/Modal/Modal.js | 46 +- .../Drivers/RCTAnimationDriver.h | 2 + .../Drivers/RCTDecayAnimation.h | 14 + .../Drivers/RCTDecayAnimation.m | 124 + .../Drivers/RCTFrameAnimation.m | 32 +- .../Drivers/RCTSpringAnimation.m | 18 +- .../Nodes/RCTPropsAnimatedNode.h | 2 + .../Nodes/RCTPropsAnimatedNode.m | 11 +- .../RCTAnimation.xcodeproj/project.pbxproj | 19 + .../NativeAnimation/RCTNativeAnimatedModule.h | 1 + .../NativeAnimation/RCTNativeAnimatedModule.m | 12 +- .../RCTNativeAnimatedNodesManager.h | 2 + .../RCTNativeAnimatedNodesManager.m | 38 + Libraries/Network/NetInfo.js | 162 +- Libraries/Network/RCTHTTPRequestHandler.mm | 3 + Libraries/Network/RCTNetInfo.m | 78 +- .../RCTNetwork.xcodeproj/project.pbxproj | 1 + Libraries/Network/RCTNetworking.android.js | 39 +- Libraries/Network/RCTNetworking.ios.js | 33 +- Libraries/Network/RCTNetworking.mm | 14 +- Libraries/Network/__tests__/FormData-test.js | 2 - .../Network/__tests__/XMLHttpRequest-test.js | 1 - Libraries/Network/fetch.js | 4 +- Libraries/Performance/CPUProfiler.js | 43 - Libraries/Performance/RCTRenderingPerf.js | 91 - Libraries/Performance/SamplingProfiler.js | 11 +- Libraries/Performance/Systrace.js | 103 +- .../PermissionsAndroid/PermissionsAndroid.js | 12 +- Libraries/Promise.js | 4 +- .../PushNotificationIOS.js | 48 +- .../project.pbxproj | 1 + .../RCTPushNotificationManager.m | 44 +- .../FBSnapshotTestCase/FBSnapshotTestCase.h | 51 - .../FBSnapshotTestCase/FBSnapshotTestCase.m | 33 +- .../FBSnapshotTestController.h | 29 +- .../FBSnapshotTestController.m | 108 +- .../RCTTest/RCTTest.xcodeproj/project.pbxproj | 1 + Libraries/RCTTest/RCTTestModule.m | 3 + Libraries/RCTTest/RCTTestRunner.h | 17 +- Libraries/RCTTest/RCTTestRunner.m | 15 +- Libraries/RCTTest/SnapshotViewIOS.ios.js | 5 +- Libraries/ReactNative/AppContainer.js | 87 +- Libraries/ReactNative/AppRegistry.js | 38 +- Libraries/ReactNative/YellowBox.js | 25 +- Libraries/ReactNative/renderApplication.js | 27 +- .../ReactNative/requireNativeComponent.js | 20 +- Libraries/Renderer/README.md | 5 - Libraries/Renderer/REVISION | 1 + Libraries/Renderer/ReactNativeFiber-dev.js | 4708 +++++++++++++++++ Libraries/Renderer/ReactNativeFiber-prod.js | 3765 +++++++++++++ Libraries/Renderer/ReactNativeStack-dev.js | 3298 ++++++++++++ Libraries/Renderer/ReactNativeStack-prod.js | 2510 +++++++++ .../Renderer/shims/NativeMethodsMixin.js | 23 + .../shared/utils => shims}/PooledClass.js | 6 +- .../ReactDebugTool.js} | 9 +- .../Renderer/shims/ReactGlobalSharedState.js | 19 + .../renderers/native => shims}/ReactNative.js | 18 +- .../shims/ReactNativeComponentTree.js | 20 + .../ReactNativeFeatureFlags.js | 0 .../Renderer/shims/ReactNativePropRegistry.js | 20 + Libraries/Renderer/shims/ReactNativeTypes.js | 90 + .../getNextDebugID.js => shims/ReactPerf.js} | 13 +- .../fiber/isomorphic => shims}/ReactTypes.js | 26 +- .../TouchHistoryMath.js} | 16 +- .../shims/createReactNativeComponentClass.js | 20 + .../takeSnapshot.js} | 10 +- .../renderers/native/NativeMethodsMixin.js | 281 - .../native/NativeMethodsMixinUtils.js | 108 - .../native/ReactNativeAttributePayload.js | 515 -- .../native/ReactNativeBaseComponent.js | 193 - .../native/ReactNativeBridgeEventPlugin.js | 71 - .../native/ReactNativeComponentEnvironment.js | 30 - .../native/ReactNativeComponentTree.js | 92 - .../native/ReactNativeDOMIDOperations.js | 85 - .../native/ReactNativeEventEmitter.js | 201 - .../native/ReactNativeEventPluginOrder.js | 19 - .../src/renderers/native/ReactNativeFiber.js | 452 -- .../native/ReactNativeFiberErrorDialog.js | 57 - .../native/ReactNativeFiberHostComponent.js | 104 - .../ReactNativeGlobalResponderHandler.js | 29 - .../renderers/native/ReactNativeInjection.js | 60 - .../src/renderers/native/ReactNativeMount.js | 227 - .../native/ReactNativePropRegistry.js | 44 - .../native/ReactNativeReconcileTransaction.js | 132 - .../src/renderers/native/ReactNativeStack.js | 90 - .../native/ReactNativeStackInjection.js | 83 - .../renderers/native/ReactNativeTagHandles.js | 58 - .../native/ReactNativeTextComponent.js | 79 - .../native/ReactNativeViewConfigRegistry.js | 46 - .../renderers/native/__mocks__/ReactNative.js | 16 - .../ReactNativeAttributePayload-test.js | 236 - .../__tests__/ReactNativeEvents-test.js | 363 -- .../native/__tests__/ReactNativeMount-test.js | 83 - .../native/createReactNativeComponentClass.js | 62 - .../src/renderers/native/findNodeHandle.js | 128 - .../src/renderers/native/takeSnapshot.js | 55 - .../Renderer/src/renderers/noop/ReactNoop.js | 385 -- .../src/renderers/shared/ReactDebugTool.js | 438 -- .../renderers/shared/ReactInstrumentation.js | 23 - .../src/renderers/shared/ReactPerf.js | 457 -- .../shared/__tests__/ReactDebugTool-test.js | 84 - .../renderers/shared/fiber/ReactChildFiber.js | 1382 ----- .../shared/fiber/ReactDebugCurrentFiber.js | 60 - .../shared/fiber/ReactDebugFiberPerf.js | 400 -- .../src/renderers/shared/fiber/ReactFiber.js | 433 -- .../shared/fiber/ReactFiberBeginWork.js | 881 --- .../shared/fiber/ReactFiberClassComponent.js | 563 -- .../shared/fiber/ReactFiberCommitWork.js | 541 -- .../shared/fiber/ReactFiberCompleteWork.js | 367 -- .../shared/fiber/ReactFiberContext.js | 289 - .../shared/fiber/ReactFiberDevToolsHook.js | 72 - .../shared/fiber/ReactFiberErrorLogger.js | 117 - .../shared/fiber/ReactFiberHostContext.js | 141 - .../shared/fiber/ReactFiberInstrumentation.js | 23 - .../shared/fiber/ReactFiberReconciler.js | 264 - .../renderers/shared/fiber/ReactFiberRoot.js | 47 - .../shared/fiber/ReactFiberScheduler.js | 1423 ----- .../renderers/shared/fiber/ReactFiberStack.js | 92 - .../shared/fiber/ReactFiberTreeReflection.js | 268 - .../shared/fiber/ReactFiberUpdateQueue.js | 510 -- .../shared/fiber/ReactPriorityLevel.js | 25 - .../shared/fiber/ReactTypeOfSideEffect.js | 27 - .../fiber/__tests__/ReactCoroutine-test.js | 241 - .../fiber/__tests__/ReactIncremental-test.js | 2245 -------- .../ReactIncrementalErrorHandling-test.js | 1124 ---- .../__tests__/ReactIncrementalPerf-test.js | 486 -- .../ReactIncrementalReflection-test.js | 280 - .../ReactIncrementalScheduling-test.js | 409 -- .../ReactIncrementalSideEffects-test.js | 1082 ---- .../__tests__/ReactIncrementalUpdates-test.js | 376 -- .../__tests__/ReactTopLevelFragment-test.js | 163 - .../fiber/__tests__/ReactTopLevelText-test.js | 42 - .../ReactIncrementalPerf-test.js.snap | 260 - .../shared/fiber/isomorphic/ReactCoroutine.js | 106 - .../shared/fiber/isomorphic/ReactPortal.js | 59 - .../hooks/ReactHostOperationHistoryHook.js | 56 - .../hooks/ReactInvalidSetStateWarningHook.js | 42 - .../shared/shared/ReactInstanceMap.js | 45 - .../shared/shared/ReactTreeTraversal.js | 146 - .../shared/shared/event/EventConstants.js | 99 - .../shared/shared/event/EventPluginHub.js | 247 - .../shared/event/EventPluginRegistry.js | 256 - .../shared/shared/event/EventPluginUtils.js | 231 - .../shared/shared/event/EventPropagators.js | 160 - .../shared/shared/event/PluginModuleType.js | 36 - .../shared/event/ReactControlledComponent.js | 99 - .../shared/event/ReactEventEmitterMixin.js | 42 - .../shared/event/ReactGenericBatching.js | 76 - .../shared/event/ReactSyntheticEventType.js | 38 - .../shared/shared/event/SyntheticEvent.js | 316 -- .../__tests__/EventPluginRegistry-test.js | 235 - .../eventPlugins/ResponderEventPlugin.js | 592 --- .../eventPlugins/ResponderSyntheticEvent.js | 50 - .../ResponderTouchHistoryStore.js | 225 - .../event/eventPlugins/TouchHistoryMath.js | 148 - .../__tests__/ResponderEventPlugin-test.js | 1353 ----- .../shared/shared/getContextForSubtree.js | 41 - .../shared/shouldUpdateReactComponent.js | 43 - .../shared/stack/reconciler/CallbackQueue.js | 111 - .../stack/reconciler/ReactChildReconciler.js | 219 - .../reconciler/ReactComponentEnvironment.js | 53 - .../reconciler/ReactCompositeComponent.js | 1335 ----- .../ReactDefaultBatchingStrategy.js | 66 - .../stack/reconciler/ReactEmptyComponent.js | 30 - .../stack/reconciler/ReactHostComponent.js | 70 - .../stack/reconciler/ReactInstanceType.js | 49 - .../stack/reconciler/ReactMultiChild.js | 533 -- .../reconciler/ReactMultiChildUpdateTypes.js | 25 - .../shared/stack/reconciler/ReactNodeTypes.js | 40 - .../shared/stack/reconciler/ReactOwner.js | 135 - .../stack/reconciler/ReactReconciler.js | 221 - .../shared/stack/reconciler/ReactRef.js | 145 - .../reconciler/ReactSimpleEmptyComponent.js | 51 - .../stack/reconciler/ReactUpdateQueue.js | 256 - .../shared/stack/reconciler/ReactUpdates.js | 238 - .../shared/stack/reconciler/Transaction.js | 241 - .../reconciler/__tests__/Transaction-test.js | 308 -- .../getHostComponentFromComposite.js | 30 - .../reconciler/instantiateReactComponent.js | 151 - .../renderers/shared/utils/ReactErrorUtils.js | 148 - .../shared/utils/ReactFeatureFlags.js | 24 - .../utils/__tests__/ReactErrorUtils-test.js | 182 - .../utils/__tests__/accumulateInto-test.js | 51 - .../shared/utils/__tests__/adler32-test.js | 41 - .../src/renderers/shared/utils/accumulate.js | 50 - .../renderers/shared/utils/accumulateInto.js | 62 - .../src/renderers/shared/utils/adler32.js | 47 - .../shared/utils/forEachAccumulated.js | 36 - .../shared/utils/isTextInputElement.js | 50 - .../shared/utils/validateCallback.js | 26 - .../Renderer/src/shared/ReactElementType.js | 35 - .../src/shared/ReactFiberComponentTreeHook.js | 74 - .../Renderer/src/shared/ReactTypeOfWork.js | 29 - .../src/shared/types/checkReactTypeSpec.js | 26 - .../src/shared/utils/KeyEscapeUtils.js | 60 - .../src/shared/utils/ReactElementSymbol.js | 22 - .../utils/__tests__/KeyEscapeUtils-test.js | 38 - .../utils/__tests__/PooledClass-test.js | 119 - .../__tests__/reactProdInvariant-test.js | 49 - .../src/shared/utils/canDefineProperty.js | 26 - .../Renderer/src/shared/utils/deprecated.js | 69 - .../src/shared/utils/flattenChildren.js | 103 - .../src/shared/utils/getComponentName.js | 40 - .../src/shared/utils/getIteratorFn.js | 42 - .../src/shared/utils/reactProdInvariant.js | 43 - .../src/shared/utils/traverseAllChildren.js | 201 - .../Sample/Sample.xcodeproj/project.pbxproj | 3 + .../RCTSettings.xcodeproj/project.pbxproj | 3 + Libraries/Share/Share.js | 6 +- Libraries/StyleSheet/EdgeInsetsPropType.js | 13 +- Libraries/StyleSheet/LayoutPropTypes.js | 15 +- Libraries/StyleSheet/PointPropType.js | 2 +- Libraries/StyleSheet/TransformPropTypes.js | 27 +- .../StyleSheet/__tests__/flattenStyle-test.js | 2 - .../__tests__/normalizeColor-test.js | 2 - .../StyleSheet/__tests__/processColor-test.js | 2 - .../__tests__/processTransform-test.js | 2 - .../__tests__/setNormalizedColorAlpha-test.js | 3 - Libraries/StyleSheet/flattenStyle.js | 5 +- Libraries/StyleSheet/normalizeColor.js | 2 +- Libraries/StyleSheet/processColor.js | 11 +- Libraries/StyleSheet/processTransform.js | 2 +- Libraries/Text/RCTBackedTextInputDelegate.h | 30 + .../Text/RCTBackedTextInputDelegateAdapter.h | 34 + .../Text/RCTBackedTextInputDelegateAdapter.m | 237 + .../Text/RCTBackedTextInputViewProtocol.h | 35 + Libraries/Text/RCTShadowText.m | 25 +- Libraries/Text/RCTText.m | 6 +- .../Text/RCTText.xcodeproj/project.pbxproj | 62 + Libraries/Text/RCTTextField.h | 16 +- Libraries/Text/RCTTextField.m | 331 +- Libraries/Text/RCTTextFieldManager.m | 68 +- Libraries/Text/RCTTextInput.h | 62 + Libraries/Text/RCTTextInput.m | 322 ++ Libraries/Text/RCTTextManager.m | 3 +- Libraries/Text/RCTTextView.h | 14 +- Libraries/Text/RCTTextView.m | 384 +- Libraries/Text/RCTTextViewManager.m | 52 +- Libraries/Text/RCTUITextField.h | 33 + Libraries/Text/RCTUITextField.m | 165 + Libraries/Text/RCTUITextView.h | 14 +- Libraries/Text/RCTUITextView.m | 128 +- Libraries/Text/Text.js | 24 +- Libraries/Text/TextStylePropTypes.js | 2 +- Libraries/Text/TextUpdateTest.js | 19 +- .../Utilities/DebugEnvironment.js | 9 +- Libraries/Utilities/PerformanceLogger.js | 49 +- Libraries/Utilities/RCTLog.js | 7 - Libraries/Utilities/SceneTracker.js | 41 + Libraries/Utilities/__mocks__/BackHandler.js | 52 + .../Utilities/__tests__/MatrixMath-test.js | 3 - .../Utilities/__tests__/Platform-test.js | 3 - .../Utilities/__tests__/SceneTracker-test.js | 28 + .../__tests__/buildStyleInterpolator-test.js | 2 - .../deepFreezeAndThrowOnMutationInDev-test.js | 5 +- .../Utilities/__tests__/groupByEveryN-test.js | 2 - .../__tests__/mapWithSeparator-test.js | 2 - .../Utilities/__tests__/truncate-test.js | 2 - Libraries/Utilities/__tests__/utf8-test.js | 106 +- .../differ/__tests__/deepDiffer-test.js | 1 - Libraries/Utilities/logError.js | 8 +- Libraries/Utilities/throwOnWrongReactAPI.js | 32 - .../RCTVibration.xcodeproj/project.pbxproj | 1 + .../WebSocket/RCTReconnectingWebSocket.h | 1 + .../WebSocket/RCTReconnectingWebSocket.m | 5 + Libraries/WebSocket/RCTSRWebSocket.m | 37 +- .../RCTWebSocket.xcodeproj/project.pbxproj | 1 + Libraries/WebSocket/RCTWebSocketExecutor.m | 29 +- Libraries/WebSocket/RCTWebSocketModule.h | 22 + Libraries/WebSocket/RCTWebSocketModule.m | 85 +- Libraries/WebSocket/RCTWebSocketObserver.h | 17 +- .../WebSocket}/RCTWebSocketObserverProtocol.h | 0 Libraries/WebSocket/WebSocket.js | 93 +- .../WebSocket/__tests__/WebSocket-test.js | 2 +- .../polyfills/Array.es6.js | 2 + .../polyfills/Array.prototype.es6.js | 2 + .../polyfills/Number.es6.js | 2 + .../polyfills/Object.es6.js | 2 + .../polyfills/Object.es7.js | 2 + .../polyfills/String.prototype.es6.js | 2 + .../polyfills/__tests__/Object.es7-test.js | 2 - .../polyfills/babelHelpers.js | 2 + .../polyfills/console.js | 40 +- .../polyfills/error-guard.js | 2 + Libraries/react-native/React.js | 2 +- .../react-native-implementation.js | 53 +- Libraries/{Core => vendor/core}/ErrorUtils.js | 0 .../core/_shouldPolyfillES6Collection.js | 23 +- Libraries/vendor/core/mergeHelpers.js | 46 +- .../emitter}/EmitterSubscription.js | 0 .../emitter}/EventEmitter.js | 0 .../emitter}/EventEmitterWithHolding.js | 0 .../emitter}/EventHolder.js | 0 .../emitter}/EventSubscription.js | 0 .../emitter}/EventSubscriptionVendor.js | 0 .../emitter}/EventValidator.js | 0 .../emitter}/mixInEventEmitter.js | 0 README.md | 86 +- {Examples/UIExplorer => RNTester}/README.md | 18 +- .../RNTester-tvOS}/Info.plist | 0 .../RNTester.xcodeproj}/project.pbxproj | 581 +- .../xcschemes/RNTester-tvOS.xcscheme | 38 +- .../xcshareddata/xcschemes/RNTester.xcscheme | 56 +- RNTester/RNTester/AppDelegate.h | 20 + .../RNTester}/AppDelegate.m | 26 +- .../RNTester}/Base.lproj/LaunchScreen.xib | 17 +- .../AppIcon.appiconset/Contents.json | 0 .../AppIcon.appiconset/Icon-40@2x.png | Bin .../AppIcon.appiconset/Icon-40@3x.png | Bin .../AppIcon.appiconset/Icon-60@2x.png | Bin .../AppIcon.appiconset/Icon-60@3x.png | Bin .../AppIcon.appiconset/Icon-Small@2x.png | Bin .../AppIcon.appiconset/Icon-Small@3x.png | Bin .../RNTester}/Images.xcassets/Contents.json | 0 .../NavBarButtonPlus.imageset/Contents.json | 0 .../NavBarButtonPlus@3x.png | Bin .../story-background.imageset/Contents.json | 0 .../story-background@2x.png | Bin .../tabnav_list.imageset/Contents.json | 0 .../tabnav_list.imageset/tabnav_list@3x.png | Bin .../Contents.json | 0 .../tabnav_notification@3x.png | Bin .../tabnav_settings.imageset/Contents.json | 0 .../tabnav_settings@3x.png | Bin .../RNTester}/Info.plist | 2 +- .../FlexibleSizeExampleView.h | 17 + .../FlexibleSizeExampleView.m | 14 +- .../UpdatePropertiesExampleView.h | 17 + .../UpdatePropertiesExampleView.m | 14 +- .../RNTesterBundle}/ImageInBundle.png | Bin .../RNTester/RNTesterBundle}/Info.plist | 0 .../OtherImages.xcassets/Contents.json | 0 .../Contents.json | 0 .../react-logo.png | Bin .../RNTester}/legacy_image@2x.png | Bin RNTester/RNTester/main.m | 19 + .../RNTesterIntegrationTests}/Info.plist | 0 .../RCTLoggingTests.m | 14 +- .../RCTRootViewIntegrationTests.m | 26 +- .../RCTUIManagerScenarioTests.m | 14 +- .../RNTesterIntegrationTests.m | 10 +- .../RNTesterSnapshotTests.m | 21 +- .../RNTesterTestModule.m | 32 + .../testImageSnapshotTest_1@2x.png | Bin .../testImageSnapshotTest_1_tvOS.png | Bin .../testSimpleSnapshotTest_1@2x.png | Bin .../testSimpleSnapshotTest_1_tvOS.png | Bin .../testARTExample_1-iOS10@2x.png | Bin 0 -> 74812 bytes .../testARTExample_1-iOS10_tvOS.png | Bin 0 -> 60322 bytes .../testARTExample_1@2x.png | Bin 0 -> 74826 bytes .../testARTExample_1_tvOS.png | Bin 0 -> 60329 bytes .../testLayoutExample_1-iOS10@2x.png | Bin 0 -> 155825 bytes .../testLayoutExample_1-iOS10_tvOS.png | Bin 0 -> 91552 bytes .../testLayoutExample_1@2x.png | Bin 0 -> 156544 bytes .../testLayoutExample_1_tvOS.png | Bin 0 -> 90537 bytes .../testScrollViewExample_1-iOS10@2x.png | Bin 0 -> 150117 bytes .../testScrollViewExample_1-iOS10_tvOS.png | Bin 0 -> 98489 bytes .../testScrollViewExample_1@2x.png | Bin 0 -> 150099 bytes .../testScrollViewExample_1_tvOS.png | Bin 0 -> 96551 bytes .../testSliderExample_1-iOS10@2x.png | Bin 0 -> 170235 bytes .../testSliderExample_1@2x.png | Bin 0 -> 170375 bytes .../testSwitchExample_1-iOS10@2x.png | Bin 0 -> 148536 bytes .../testSwitchExample_1@2x.png | Bin 0 -> 148648 bytes .../testTabBarExample_1-iOS10@2x.png | Bin 80241 -> 79699 bytes .../testTabBarExample_1-iOS10_tvOS.png | Bin 0 -> 207866 bytes .../testTabBarExample_1@2x.png | Bin 80174 -> 79385 bytes .../testTabBarExample_1_tvOS.png | Bin 0 -> 93617 bytes .../testTextExample_1-iOS10@2x.png | Bin 0 -> 373006 bytes .../testTextExample_1-iOS10_tvOS.png | Bin 0 -> 130214 bytes .../testTextExample_1@2x.png | Bin 0 -> 373578 bytes .../testTextExample_1_tvOS.png | Bin 0 -> 127208 bytes .../testViewExample_1-iOS10@2x.png | Bin 0 -> 178582 bytes .../testViewExample_1-iOS10_tvOS.png | Bin 0 -> 98347 bytes .../testViewExample_1@2x.png | Bin 0 -> 178385 bytes .../testViewExample_1_tvOS.png | Bin 0 -> 97598 bytes .../RNTesterIntegrationTests}/blue_square.png | Bin .../RNTesterIntegrationTests}/red_square.png | Bin .../RNTesterLegacy.xcodeproj}/project.pbxproj | 480 +- .../xcschemes/RNTester-tvOS.xcscheme | 44 +- .../xcshareddata/xcschemes/RNTester.xcscheme | 56 +- .../RNTesterUnitTests}/Info.plist | 0 .../NSNotificationCenter+OCMAdditions.h | 0 .../RNTesterUnitTests}/OCMock/OCMArg.h | 0 .../RNTesterUnitTests}/OCMock/OCMConstraint.h | 0 .../RNTesterUnitTests}/OCMock/OCMLocation.h | 0 .../RNTesterUnitTests}/OCMock/OCMMacroState.h | 0 .../RNTesterUnitTests}/OCMock/OCMRecorder.h | 0 .../OCMock/OCMStubRecorder.h | 0 .../RNTesterUnitTests}/OCMock/OCMock.h | 0 .../RNTesterUnitTests}/OCMock/OCMockObject.h | 0 .../RNTesterUnitTests}/RCTAllocationTests.m | 98 +- .../RCTAnimationUtilsTests.m | 14 +- .../RNTesterUnitTests}/RCTBridgeTests.m | 37 +- .../RCTBundleURLProviderTests.m | 14 +- .../RCTComponentPropsTests.m | 36 +- .../RCTConvert_NSURLTests.m | 14 +- .../RCTConvert_YGValueTests.m | 41 + .../RNTesterUnitTests}/RCTDevMenuTests.m | 20 +- .../RCTEventDispatcherTests.m | 28 +- .../RNTesterUnitTests}/RCTFontTests.m | 14 +- .../RNTesterUnitTests}/RCTGzipTests.m | 25 +- .../RCTImageLoaderHelpers.h | 14 +- .../RCTImageLoaderHelpers.m | 14 +- .../RNTesterUnitTests}/RCTImageLoaderTests.m | 16 +- .../RNTesterUnitTests}/RCTImageUtilTests.m | 14 +- .../RNTesterUnitTests}/RCTJSCExecutorTests.m | 14 +- .../RNTesterUnitTests}/RCTJSONTests.m | 14 +- .../RCTMethodArgumentTests.m | 44 +- .../RCTModuleInitNotificationRaceTests.m | 34 +- .../RNTesterUnitTests}/RCTModuleInitTests.m | 44 +- .../RNTesterUnitTests/RCTModuleMethodTests.mm | 213 + .../RCTMultipartStreamReaderTests.m | 14 +- .../RCTNativeAnimatedNodesManagerTests.m | 194 +- .../RNTesterUnitTests}/RCTShadowViewTests.m | 15 +- .../RNTesterUnitTests}/RCTUIManagerTests.m | 14 +- .../RNTesterUnitTests}/RCTURLUtilsTests.m | 14 +- .../RCTUnicodeDecodeTests.m | 14 +- .../RNTesterUnitTestsBundle.js | 2 +- .../RNTesterUnitTests}/libOCMock.a | Bin .../UIExplorer => RNTester}/android/app/BUCK | 5 +- .../android/app/build.gradle | 4 +- .../android/app/gradle.properties | 0 .../android/app/proguard-rules.pro | 0 .../android/app/react.gradle | 0 .../android/app/src/main/AndroidManifest.xml | 8 +- .../app/src/main/assets/fonts/notoserif.ttf | Bin .../assets/fonts/notoserif_bold_italic.ttf | Bin .../react/uiapp/RNTesterActivity.java | 26 +- .../react/uiapp/RNTesterApplication.java | 20 +- .../res/drawable/ic_create_black_48dp.png | Bin .../main/res/drawable/ic_menu_black_24dp.png | Bin .../res/drawable/ic_settings_black_48dp.png | Bin .../src/main/res/drawable/launcher_icon.png | Bin .../src/main/res/drawable/legacy_image.png | Bin .../app/src/main/res/layout/activity_main.xml | 2 +- .../app/src/main/res/values/strings.xml | 3 + .../app/src/main/res/values/styles.xml | 0 RNTester/js/ARTExample.js | 92 + .../js/AccessibilityAndroidExample.android.js | 50 +- .../js/AccessibilityIOSExample.js | 14 +- .../js/ActionSheetIOSExample.js | 14 +- .../js/ActivityIndicatorExample.js | 14 +- .../js/AlertExample.js | 20 +- .../js/AlertIOSExample.js | 14 +- .../js/AnimatedExample.js | 28 +- .../js/AnimatedGratuitousApp/AnExApp.js | 14 +- .../js/AnimatedGratuitousApp/AnExBobble.js | 14 +- .../js/AnimatedGratuitousApp/AnExChained.js | 14 +- .../js/AnimatedGratuitousApp/AnExScroll.js | 14 +- .../js/AnimatedGratuitousApp/AnExSet.js | 14 +- .../js/AnimatedGratuitousApp/AnExSlides.md | 0 .../js/AnimatedGratuitousApp/AnExTilt.js | 14 +- .../js/AnimatedGratuitousApp/trees.jpg | Bin .../js/AppStateExample.js | 14 +- .../js/AssetScaledImageExample.js | 14 +- .../js/AsyncStorageExample.js | 14 +- .../js/BorderExample.js | 13 +- .../js/BoxShadowExample.js | 13 +- .../js/ButtonExample.js | 14 +- .../js/CameraRollExample.js | 81 +- .../js/CameraRollView.js | 31 +- .../js/ClipboardExample.js | 14 +- .../js/DatePickerAndroidExample.js | 53 +- .../js/DatePickerIOSExample.js | 14 +- .../js/ExampleTypes.js | 19 +- .../js/FlatListExample.js | 148 +- .../js/GeolocationExample.js | 17 +- .../js/ImageCapInsetsExample.js | 14 +- .../js/ImageEditingExample.js | 4 +- .../js/ImageExample.js | 41 +- .../js/KeyboardAvoidingViewExample.js | 12 +- .../js/LayoutAnimationExample.js | 14 +- .../js/LayoutEventsExample.js | 39 +- .../js/LayoutExample.js | 38 +- .../js/LinkingExample.js | 22 +- .../js/ListExampleShared.js | 75 +- .../js/ListViewExample.js | 24 +- .../js/ListViewGridLayoutExample.js | 18 +- .../js/ListViewPagingExample.js | 15 +- RNTester/js/MaskedViewExample.js | 196 + .../js/ModalExample.js | 31 +- .../js/MultiColumnExample.js | 49 +- .../js/NativeAnimationsExample.js | 357 +- .../js/NavigatorIOSColorsExample.js | 13 +- .../js/NavigatorIOSExample.js | 14 +- .../js/NetInfoExample.js | 14 +- .../js/OrientationChangeExample.js | 14 +- .../js/PanResponderExample.js | 18 +- .../js/PermissionsExampleAndroid.android.js | 14 +- .../js/PickerExample.js | 46 +- .../js/PickerIOSExample.js | 14 +- .../js/PointerEventsExample.js | 14 +- .../js/ProgressBarAndroidExample.android.js | 42 +- .../js/ProgressViewIOSExample.js | 18 +- .../js/PushNotificationIOSExample.js | 26 +- .../js/RCTRootViewIOSExample.js | 18 +- RNTester/js/RNTesterActions.js | 59 + .../js/RNTesterApp.android.js | 62 +- .../js/RNTesterApp.ios.js | 68 +- .../js/RNTesterBlock.js | 25 +- .../js/RNTesterButton.js | 23 +- RNTester/js/RNTesterExampleContainer.js | 53 + .../js/RNTesterExampleList.js | 88 +- .../js/RNTesterList.android.js | 26 +- .../js/RNTesterList.ios.js | 46 +- RNTester/js/RNTesterNavigationReducer.js | 57 + .../js/RNTesterPage.js | 31 +- .../js/RNTesterSettingSwitchRow.js | 10 +- .../js/RNTesterStatePersister.js | 26 +- .../js/RNTesterTitle.js | 20 +- .../UIExplorer => RNTester}/js/RTLExample.js | 51 +- .../js/RefreshControlExample.js | 14 +- .../js/RootViewSizeFlexibilityExampleApp.js | 14 +- .../js/ScrollViewExample.js | 31 +- .../js/ScrollViewSimpleExample.js | 14 +- .../js/SectionListExample.js | 123 +- .../js/SegmentedControlIOSExample.js | 14 +- .../js/SetPropertiesExampleApp.js | 14 +- .../js/ShareExample.js | 15 +- .../js/SliderExample.js | 14 +- RNTester/js/SnapshotExample.js | 64 + .../js/StatusBarExample.js | 14 +- .../js/SwipeableListViewExample.js | 24 +- .../js/SwitchExample.js | 14 +- RNTester/js/TVEventHandlerExample.js | 97 + .../js/TabBarIOSExample.js | 14 +- .../js/TextExample.android.js | 130 +- .../js/TextExample.ios.js | 20 +- .../js/TextInputExample.android.js | 25 +- .../js/TextInputExample.ios.js | 101 +- .../js/Thumbnails/bandaged.png | Bin .../js/Thumbnails/call.png | Bin .../js/Thumbnails/dislike.png | Bin .../js/Thumbnails/fist.png | Bin .../js/Thumbnails/flowers.png | Bin .../js/Thumbnails/heart.png | Bin .../js/Thumbnails/like.png | Bin .../js/Thumbnails/liking.png | Bin .../js/Thumbnails/party.png | Bin .../js/Thumbnails/poke.png | Bin .../js/Thumbnails/superlike.png | Bin .../js/Thumbnails/victory.png | Bin .../js/TimePickerAndroidExample.js | 33 +- .../js/TimerExample.js | 62 +- .../js/ToastAndroidExample.android.js | 42 +- .../js/ToolbarAndroidExample.android.js | 50 +- .../js/TouchableExample.js | 14 +- .../js/TransformExample.js | 13 +- .../js/TransparentHitTestExample.js | 0 RNTester/js/URIActionMap.js | 52 + .../js/VibrationExample.js | 16 +- .../js/VibrationIOSExample.js | 14 +- .../UIExplorer => RNTester}/js/ViewExample.js | 14 +- .../js/ViewPagerAndroidExample.android.js | 14 +- .../js/WebSocketExample.js | 154 +- .../js/WebViewExample.js | 14 +- .../UIExplorer => RNTester}/js/XHRExample.js | 14 +- .../js/XHRExampleBinaryUpload.js | 14 +- .../js/XHRExampleCookies.js | 14 +- .../js/XHRExampleDownload.js | 14 +- .../js/XHRExampleFetch.js | 14 +- .../js/XHRExampleFormData.js | 14 +- .../js/XHRExampleHeaders.js | 14 +- .../js/XHRExampleOnTimeOut.js | 14 +- .../UIExplorer => RNTester}/js/bunny.png | Bin RNTester/js/createExamplePage.js | 32 + .../UIExplorer => RNTester}/js/flux@3x.png | Bin {Examples/UIExplorer => RNTester}/js/hawk.png | Bin .../js/helloworld.html | 0 .../js/http_test_server.js | 16 +- RNTester/js/imageMask.png | Bin 0 -> 10649 bytes .../js/messagingtest.html | 0 .../UIExplorer => RNTester}/js/relay@3x.png | Bin .../js/slider-left.png | Bin .../js/slider-left@2x.png | Bin .../js/slider-right.png | Bin .../js/slider-right@2x.png | Bin .../UIExplorer => RNTester}/js/slider.png | Bin .../UIExplorer => RNTester}/js/slider@2x.png | Bin .../js/uie_comment_highlighted@2x.png | Bin .../js/uie_comment_normal@2x.png | Bin .../js/uie_thumb_big.png | Bin .../js/uie_thumb_normal@2x.png | Bin .../js/uie_thumb_selected@2x.png | Bin .../js/websocket_test_server.js | 22 +- React.podspec | 89 +- React/Base/RCTAssert.h | 10 +- ...RCTBatchedBridge.m => RCTBatchedBridge.mm} | 42 +- React/Base/RCTBridge+Private.h | 10 +- React/Base/RCTBridge.h | 10 +- React/Base/RCTBridge.m | 22 +- React/Base/RCTBridgeMethod.h | 13 +- React/Base/RCTBridgeModule.h | 65 +- React/Base/RCTConvert.h | 15 +- React/Base/RCTConvert.m | 15 +- React/Base/RCTDefines.h | 4 + React/Base/RCTJSCErrorHandling.mm | 5 +- React/Base/RCTJSEnvironment.h | 29 + React/Base/RCTJSStackFrame.m | 11 + React/Base/RCTJavaScriptLoader.mm | 24 +- React/Base/RCTModuleData.h | 13 +- React/Base/RCTModuleData.mm | 81 +- React/Base/RCTModuleMethod.h | 4 +- React/Base/RCTModuleMethod.m | 407 +- React/Base/RCTMultipartDataTask.m | 6 +- React/Base/RCTRootContentView.h | 6 +- React/Base/RCTRootContentView.m | 1 - React/Base/RCTRootView.h | 4 +- React/Base/RCTRootView.m | 22 +- React/Base/RCTTVRemoteHandler.m | 34 +- React/Base/RCTTouchHandler.m | 11 +- React/Base/RCTUtils.h | 3 + React/Base/RCTUtils.m | 31 +- React/CxxBridge/RCTCxxBridge.mm | 256 +- React/CxxBridge/RCTCxxBridgeDelegate.h | 35 + React/CxxBridge/RCTJSCHelpers.mm | 14 +- React/CxxBridge/RCTMessageThread.h | 1 + React/CxxBridge/RCTMessageThread.mm | 6 + React/CxxBridge/RCTObjcExecutor.h | 2 +- React/CxxBridge/RCTObjcExecutor.mm | 33 +- React/CxxModule/DispatchMessageQueueThread.h | 11 +- React/CxxModule/RCTCxxMethod.mm | 31 +- React/CxxModule/RCTCxxModule.h | 9 +- React/CxxModule/RCTCxxUtils.h | 19 +- React/CxxModule/RCTCxxUtils.mm | 50 +- React/CxxModule/RCTNativeModule.h | 7 +- React/CxxModule/RCTNativeModule.mm | 109 +- React/CxxUtils/RCTFollyConvert.mm | 6 +- .../RCTDevLoadingView.h | 4 + .../RCTDevLoadingView.m | 9 +- React/{Modules => DevSupport}/RCTDevMenu.h | 7 + React/{Modules => DevSupport}/RCTDevMenu.m | 6 +- .../DevSupport/RCTInspectorDevServerHelper.h | 15 + .../DevSupport/RCTInspectorDevServerHelper.mm | 74 + React/DevSupport/RCTPackagerClient.h | 15 +- React/DevSupport/RCTPackagerClient.m | 98 +- React/DevSupport/RCTPackagerClientResponder.m | 67 - React/DevSupport/RCTPackagerConnection.h | 31 + React/DevSupport/RCTPackagerConnection.m | 138 + .../RCTPackagerConnectionBridgeConfig.h | 22 + .../RCTPackagerConnectionBridgeConfig.m | 58 + ...ponder.h => RCTPackagerConnectionConfig.h} | 11 +- React/DevSupport/RCTReloadPackagerMethod.h | 5 +- React/DevSupport/RCTReloadPackagerMethod.m | 2 + .../RCTSamplingProfilerPackagerMethod.h | 7 +- .../RCTSamplingProfilerPackagerMethod.mm | 11 +- React/Executors/RCTJSCExecutor.h | 17 - React/Executors/RCTJSCExecutor.mm | 53 +- React/Inspector/RCTInspector.h | 26 + React/Inspector/RCTInspector.mm | 131 + .../RCTInspectorPackagerConnection.h | 21 + .../RCTInspectorPackagerConnection.m | 324 ++ React/Modules/RCTAccessibilityManager.m | 33 + React/Modules/RCTDevSettings.h | 12 +- React/Modules/RCTDevSettings.mm | 171 +- React/Modules/RCTDeviceInfo.m | 25 +- React/Modules/RCTEventEmitter.h | 3 + React/Modules/RCTExceptionsManager.h | 2 + React/Modules/RCTExceptionsManager.m | 3 - ...ingProfiler.h => RCTJSCSamplingProfiler.h} | 2 +- ...ingProfiler.m => RCTJSCSamplingProfiler.m} | 6 +- React/Modules/RCTLayoutAnimation.h | 38 + React/Modules/RCTLayoutAnimation.m | 155 + React/Modules/RCTLayoutAnimationGroup.h | 32 + React/Modules/RCTLayoutAnimationGroup.m | 74 + React/Modules/RCTRedBox.m | 10 +- React/Modules/RCTTiming.m | 44 +- React/Modules/RCTUIManager.h | 81 +- React/Modules/RCTUIManager.m | 504 +- .../Modules/RCTUIManagerObserverCoordinator.h | 67 + .../Modules/RCTUIManagerObserverCoordinator.m | 70 + React/Profiler/RCTJSCProfiler.h | 22 - React/Profiler/RCTJSCProfiler.m | 135 - React/Profiler/RCTPerfMonitor.m | 4 +- React/Profiler/RCTProfile.h | 4 +- React/Profiler/RCTProfile.m | 84 +- React/React.xcodeproj/project.pbxproj | 2612 +++++++-- .../project.pbxproj | 2183 +++----- React/Views/RCTComponentData.m | 45 +- React/Views/RCTFont.mm | 13 +- .../Views/RCTMaskedView.h | 6 +- React/Views/RCTMaskedView.m | 36 + .../Views/RCTMaskedViewManager.h | 7 +- React/Views/RCTMaskedViewManager.m | 24 + React/Views/RCTModalHostView.h | 1 + React/Views/RCTModalHostView.m | 7 + React/Views/RCTModalHostViewManager.h | 7 + React/Views/RCTModalHostViewManager.m | 14 + React/Views/RCTNavigatorManager.m | 2 - React/Views/RCTScrollView.h | 2 +- React/Views/RCTScrollView.m | 162 +- React/Views/RCTScrollViewManager.m | 29 +- .../Views/RCTShadowView+Hierarchy.h | 14 +- React/Views/RCTShadowView+Hierarchy.m | 23 + React/Views/RCTShadowView+Layout.h | 21 + React/Views/RCTShadowView+Layout.m | 56 + React/Views/RCTShadowView.h | 24 +- React/Views/RCTShadowView.m | 43 +- React/Views/RCTView.h | 7 - React/Views/RCTView.m | 42 +- React/Views/RCTViewManager.m | 19 +- React/Views/RCTWebView.m | 44 +- React/Views/UIView+Private.h | 3 - React/Views/UIView+React.h | 46 +- React/Views/UIView+React.m | 144 +- .../{folly.xcconfig => third-party.xcconfig} | 0 ReactAndroid/DEFS | 4 + ReactAndroid/build.gradle | 28 +- .../testing/AbstractScrollViewTestCase.java | 3 +- .../java/com/facebook/react/testing/BUCK | 6 +- .../testing/InstanceSpecForTestPackage.java | 5 - .../react/testing/ReactAppTestActivity.java | 11 + .../testing/ReactInstanceSpecForTest.java | 9 - .../testing/ReactIntegrationTestCase.java | 2 - .../react/testing/ReactTestFactory.java | 1 - .../react/testing/ReactTestHelper.java | 39 +- .../testing/ScreenshotingFrameLayout.java | 8 + .../network/NetworkRecordingModuleMock.java | 9 +- .../java/com/facebook/react/tests/BUCK | 3 +- .../tests/CatalystMeasureLayoutTest.java | 5 +- ...alystNativeJSToJavaParametersTestCase.java | 4 +- ...talystNativeJavaToJSArgumentsTestCase.java | 4 +- ...ystNativeJavaToJSReturnValuesTestCase.java | 4 +- .../CatalystSubviewsClippingTestCase.java | 6 +- .../tests/CatalystUIManagerTestCase.java | 6 +- .../react/tests/DatePickerDialogTestCase.java | 3 +- .../facebook/react/tests/JSLocaleTest.java | 1 - .../react/tests/NativeIdTestCase.java | 93 + .../react/tests/ProgressBarTestCase.java | 4 +- .../react/tests/ReactPickerTestCase.java | 3 +- .../ReactSwipeRefreshLayoutTestCase.java | 3 +- .../facebook/react/tests/ShareTestCase.java | 3 +- .../react/tests/TextInputTestCase.java | 1 - .../react/tests/TimePickerDialogTestCase.java | 3 +- .../react/tests/ViewRenderingTestCase.java | 4 +- .../src/androidTest/js/NativeIdTestModule.js | 77 + .../androidTest/js/ScrollViewTestModule.js | 7 +- ReactAndroid/src/androidTest/js/TestBundle.js | 4 + .../src/androidTest/js/UIManagerTestModule.js | 19 +- .../com/facebook/jni/CpuCapabilitiesJni.java | 27 + .../com/facebook/jni/DestructorThread.java | 132 + .../com/facebook/jni/HybridClassBase.java | 8 + .../java/com/facebook/jni/HybridData.java | 58 +- .../com/facebook/jni/JniTerminateHandler.java | 15 + .../src/main/java/com/facebook/react/BUCK | 53 +- .../com/facebook/react/BridgeCorePackage.java | 120 + .../facebook/react/CompositeReactPackage.java | 14 - .../facebook/react/CoreModulesPackage.java | 54 +- .../com/facebook/react/DebugCorePackage.java | 65 + .../com/facebook/react/LazyReactPackage.java | 11 +- .../facebook/react/MemoryPressureRouter.java | 45 +- .../react/NativeModuleRegistryBuilder.java | 19 +- .../facebook/react/ReactInstanceManager.java | 552 +- .../react/ReactInstanceManagerBuilder.java | 89 +- .../react/ReactNativeCorePackage.java | 95 + .../java/com/facebook/react/ReactPackage.java | 9 - .../com/facebook/react/ReactRootView.java | 149 +- .../java/com/facebook/react/animated/BUCK | 4 +- .../react/animated/NativeAnimatedModule.java | 85 +- .../animated/NativeAnimatedNodesManager.java | 21 +- .../com/facebook/react/bridge/Arguments.java | 255 +- .../main/java/com/facebook/react/bridge/BUCK | 21 +- .../facebook/react/bridge/BaseJavaModule.java | 457 +- .../facebook/react/bridge/CallbackImpl.java | 6 +- .../react/bridge/CatalystInstance.java | 16 +- .../CatalystInstanceImpl.java | 180 +- .../CxxCallbackImpl.java} | 8 +- .../react/bridge/CxxModuleWrapper.java | 26 + .../react/bridge/CxxModuleWrapperBase.java | 54 + .../facebook/react/bridge/ExecutorToken.java | 24 - .../FallbackJSBundleLoader.java | 2 +- .../com/facebook/react/bridge/Inspector.java | 1 + .../{cxxbridge => bridge}/JSBundleLoader.java | 18 +- .../JSCJavaScriptExecutor.java | 20 +- .../com/facebook/react/bridge/JSInstance.java | 1 - .../react/bridge/JavaMethodWrapper.java | 391 ++ .../react/bridge/JavaModuleWrapper.java | 164 + .../facebook/react/bridge/JavaOnlyArray.java | 5 + .../facebook/react/bridge/JavaOnlyMap.java | 5 + .../JavaScriptExecutor.java | 2 +- .../bridge/JavaScriptModuleRegistration.java | 71 - .../bridge/JavaScriptModuleRegistry.java | 121 +- .../facebook/react/bridge/ModuleHolder.java | 206 + .../facebook/react/bridge/NativeArray.java | 1 - .../com/facebook/react/bridge/NativeMap.java | 1 - .../facebook/react/bridge/NativeModule.java | 34 +- .../NativeModuleRegistry.java | 59 +- .../OnExecutorUnregisteredListener.java | 22 - .../ProxyJavaScriptExecutor.java | 6 +- .../facebook/react/bridge/ReactBridge.java | 12 +- .../{cxxbridge => bridge}/ReactCallback.java | 2 +- .../facebook/react/bridge/ReactContext.java | 41 +- .../facebook/react/bridge/ReactMarker.java | 70 +- .../react/bridge/ReactMarkerConstants.java | 7 +- .../ReactModuleWithSpec.java} | 19 +- .../facebook/react/bridge/ReadableArray.java | 4 + .../facebook/react/bridge/ReadableMap.java | 4 + .../react/bridge/ReadableNativeArray.java | 1 + .../react/bridge/ReadableNativeMap.java | 1 + .../react/bridge/SupportsWebWorkers.java | 15 - .../react/bridge/WritableNativeArray.java | 1 - .../react/bridge/WritableNativeMap.java | 1 - .../react/{cxxbridge => bridge}/bridge.pro | 0 .../com/facebook/react/bridge/package_js.py | 14 - .../bridge/queue/MessageQueueThreadImpl.java | 23 +- .../queue/MessageQueueThreadRegistry.java | 39 - .../bridge/queue/MessageQueueThreadSpec.java | 4 + .../ProxyQueueThreadExceptionHandler.java | 34 - .../bridge/queue/ReactQueueConfiguration.java | 5 + .../queue/ReactQueueConfigurationImpl.java | 35 +- .../queue/ReactQueueConfigurationSpec.java | 41 +- .../com/facebook/react/bridge/reactnative.pro | 27 + .../react/common/ApplicationHolder.java | 37 - .../main/java/com/facebook/react/common/BUCK | 5 +- .../DebugServerException.java | 3 +- .../facebook/react/common/ReactConstants.java | 2 +- .../facebook/react/common/ShakeDetector.java | 109 +- .../com/facebook/react/common/network/BUCK | 1 + .../facebook/react/cxxbridge/Arguments.java | 159 - .../java/com/facebook/react/cxxbridge/BUCK | 34 - .../react/cxxbridge/CxxModuleWrapper.java | 71 - .../react/cxxbridge/JavaModuleWrapper.java | 140 - .../react/cxxbridge/ModuleHolder.java | 131 - .../react/cxxbridge/SoftAssertions.java | 52 - .../react/cxxbridge/UiThreadUtil.java | 56 - .../java/com/facebook/react/devsupport/BUCK | 1 - .../react/devsupport/BundleDownloader.java | 186 + .../devsupport/DevLoadingViewController.java | 23 +- .../react/devsupport/DevServerHelper.java | 350 +- .../react/devsupport/DevSettingsActivity.java | 1 + .../devsupport/DevSupportManagerFactory.java | 21 +- .../devsupport/DevSupportManagerImpl.java | 137 +- .../devsupport/DisabledDevSupportManager.java | 10 + .../InspectorPackagerConnection.java | 91 +- .../devsupport/JSDebuggerWebSocketClient.java | 42 +- .../react/devsupport/StackTraceHelper.java | 104 +- .../interfaces/DevBundleDownloadListener.java | 18 + .../interfaces/DevSupportManager.java | 2 + .../devsupport/interfaces/StackFrame.java | 9 +- .../main/java/com/facebook/react/flat/BUCK | 4 +- .../com/facebook/react/flat/DrawBorder.java | 279 +- .../react/flat/FlatARTSurfaceViewManager.java | 20 +- .../react/flat/FlatUIImplementation.java | 176 +- .../react/flat/NativeViewWrapper.java | 13 +- .../react/flat/RCTImageViewManager.java | 8 +- .../react/flat/RCTModalHostManager.java | 2 + .../react/flat/RCTRawTextManager.java | 4 +- .../java/com/facebook/react/flat/RCTText.java | 4 +- .../react/flat/RCTTextInlineImageManager.java | 4 +- .../com/facebook/react/flat/RCTTextInput.java | 4 +- .../react/flat/RCTTextInputManager.java | 2 + .../facebook/react/flat/RCTTextManager.java | 4 +- .../facebook/react/flat/RCTViewManager.java | 38 +- .../react/flat/RCTViewPagerManager.java | 7 +- .../react/flat/RCTVirtualTextManager.java | 4 +- .../react/module/annotations/ReactModule.java | 29 +- .../react/module/model/ReactModuleInfo.java | 16 +- .../com/facebook/react/module/processing/BUCK | 6 +- .../processing/ReactModuleSpecProcessor.java | 20 +- .../AccessibilityInfoModule.java | 10 +- .../react/modules/accessibilityinfo/BUCK | 4 - .../java/com/facebook/react/modules/blob/BUCK | 22 + .../react/modules/blob/BlobModule.java | 180 + .../react/modules/blob/BlobProvider.java | 99 + .../modules/camera/CameraRollManager.java | 58 +- .../modules/camera/ImageEditingManager.java | 4 +- .../java/com/facebook/react/modules/core/BUCK | 1 + .../core/DeviceEventManagerModule.java | 2 - .../modules/core/ExceptionsManagerModule.java | 51 +- .../{JSTimersExecution.java => JSTimers.java} | 4 +- .../modules/core/ReactChoreographer.java | 36 +- .../facebook/react/modules/core/Timing.java | 155 +- .../facebook/react/modules/datepicker/BUCK | 4 +- .../com/facebook/react/modules/dialog/BUCK | 4 +- .../com/facebook/react/modules/fresco/BUCK | 7 +- .../react/modules/fresco/FrescoModule.java | 2 +- .../facebook/react/modules/i18nmanager/BUCK | 4 +- .../i18nmanager/I18nManagerModule.java | 20 +- .../modules/location/LocationModule.java | 4 +- .../com/facebook/react/modules/netinfo/BUCK | 4 +- .../react/modules/netinfo/NetInfoModule.java | 108 +- .../com/facebook/react/modules/network/BUCK | 4 +- .../modules/network/NetworkingModule.java | 54 +- .../com/facebook/react/modules/statusbar/BUCK | 4 +- .../modules/storage/AsyncStorageModule.java | 3 +- .../systeminfo/AndroidInfoHelpers.java | 42 +- .../facebook/react/modules/timepicker/BUCK | 4 +- .../com/facebook/react/modules/websocket/BUCK | 1 - .../modules/websocket/WebSocketModule.java | 190 +- .../facebook/react/packagerconnection/BUCK | 11 +- .../packagerconnection/JSPackagerClient.java | 28 +- .../PackagerConnectionSettings.java | 4 + .../ReconnectingWebSocket.java | 81 +- .../SamplingProfilerPackagerMethod.java | 55 + .../java/com/facebook/react/processing/BUCK | 3 +- .../main/java/com/facebook/react/shell/BUCK | 5 +- .../react/shell/MainReactPackage.java | 411 +- .../java/com/facebook/react/uimanager/BUCK | 6 +- .../react/uimanager/BaseViewManager.java | 13 + .../react/uimanager/MatrixMathHelper.java | 80 +- .../uimanager/NativeViewHierarchyManager.java | 61 +- .../react/uimanager/ReactShadowNode.java | 56 +- .../uimanager/ReactZIndexedViewGroup.java | 15 + .../uimanager/SizeMonitoringFrameLayout.java | 1 - .../react/uimanager/TouchTargetHelper.java | 7 +- .../react/uimanager/UIImplementation.java | 70 +- .../react/uimanager/UIManagerModule.java | 32 +- .../react/uimanager/UIViewOperationQueue.java | 197 +- .../ViewGroupDrawingOrderHelper.java | 103 + .../react/uimanager/ViewGroupManager.java | 53 +- .../uimanager/ViewManagerPropertyUpdater.java | 6 + .../react/uimanager/ViewManagerRegistry.java | 7 +- .../uimanager/ViewManagersPropertyCache.java | 5 + .../facebook/react/uimanager/ViewProps.java | 3 + .../debug/DebugComponentOwnershipModule.java | 102 - .../uimanager/events/EventDispatcher.java | 15 +- .../com/facebook/react/uimanager/util/BUCK | 13 + .../uimanager/util/ReactFindViewUtil.java | 115 + .../main/java/com/facebook/react/util/BUCK | 12 + .../com/facebook/react/util/JSStackTrace.java | 59 + .../react/views/art/ARTShapeShadowNode.java | 101 +- .../views/art/ARTSurfaceViewManager.java | 12 +- .../views/art/ARTSurfaceViewShadowNode.java | 13 + .../java/com/facebook/react/views/drawer/BUCK | 4 +- .../java/com/facebook/react/views/image/BUCK | 12 +- .../react/views/image/ReactImageView.java | 4 + .../react/views/modal/ReactModalHostView.java | 2 +- .../progressbar/ProgressBarShadowNode.java | 4 +- .../java/com/facebook/react/views/scroll/BUCK | 4 +- .../views/scroll/OnScrollDispatchHelper.java | 23 + .../scroll/ReactHorizontalScrollView.java | 21 +- .../react/views/scroll/ReactScrollView.java | 13 +- .../views/scroll/ReactScrollViewHelper.java | 21 +- .../views/scroll/ReactScrollViewManager.java | 1 - .../react/views/scroll/ScrollEvent.java | 15 + .../react/views/scroll/ScrollEventType.java | 3 +- .../react/views/scroll/VelocityHelper.java | 65 + .../java/com/facebook/react/views/slider/BUCK | 5 +- .../views/slider/ReactSliderManager.java | 7 +- .../facebook/react/views/swiperefresh/BUCK | 4 +- .../com/facebook/react/views/switchview/BUCK | 4 +- .../views/switchview/ReactSwitchManager.java | 4 +- .../react/views/text/ReactTextShadowNode.java | 10 +- .../views/text/ReactTextViewManager.java | 5 + .../FrescoBasedReactTextInlineImageSpan.java | 1 + .../com/facebook/react/views/textinput/BUCK | 4 +- .../react/views/textinput/ReactEditText.java | 4 + .../textinput/ReactTextChangedEvent.java | 12 - .../textinput/ReactTextInputManager.java | 50 +- .../textinput/ReactTextInputShadowNode.java | 4 +- .../com/facebook/react/views/toolbar/BUCK | 6 +- .../react/views/toolbar/ReactToolbar.java | 1 + .../view/ReactViewBackgroundDrawable.java | 195 +- .../react/views/view/ReactViewGroup.java | 47 +- .../react/views/view/ReactViewManager.java | 1 - .../com/facebook/react/views/viewpager/BUCK | 4 +- .../viewpager/ReactViewPagerManager.java | 5 + .../views/webview/ReactWebViewManager.java | 59 +- .../java/com/facebook/yoga/YogaAlign.java | 2 +- .../facebook/yoga/YogaBaselineFunction.java | 4 +- .../java/com/facebook/yoga/YogaConfig.java | 29 +- .../java/com/facebook/yoga/YogaConstants.java | 2 +- .../java/com/facebook/yoga/YogaDimension.java | 2 +- .../java/com/facebook/yoga/YogaDirection.java | 2 +- .../java/com/facebook/yoga/YogaDisplay.java | 2 +- .../main/java/com/facebook/yoga/YogaEdge.java | 2 +- .../yoga/YogaExperimentalFeature.java | 10 +- .../com/facebook/yoga/YogaFlexDirection.java | 2 +- .../java/com/facebook/yoga/YogaJustify.java | 2 +- .../java/com/facebook/yoga/YogaLogLevel.java | 6 +- .../java/com/facebook/yoga/YogaLogger.java | 4 +- .../facebook/yoga/YogaMeasureFunction.java | 4 +- .../com/facebook/yoga/YogaMeasureMode.java | 2 +- .../com/facebook/yoga/YogaMeasureOutput.java | 2 +- .../main/java/com/facebook/yoga/YogaNode.java | 108 +- .../java/com/facebook/yoga/YogaNodeAPI.java | 100 - .../java/com/facebook/yoga/YogaNodeType.java | 36 + .../java/com/facebook/yoga/YogaOverflow.java | 2 +- .../com/facebook/yoga/YogaPositionType.java | 2 +- .../com/facebook/yoga/YogaPrintOptions.java | 2 +- .../main/java/com/facebook/yoga/YogaUnit.java | 2 +- .../java/com/facebook/yoga/YogaValue.java | 39 +- .../main/java/com/facebook/yoga/YogaWrap.java | 2 +- .../jni/first-party/fb/include/fb/Build.h | 26 + .../first-party/fb/include/fb/Environment.h | 13 + .../first-party/fb/include/fb/fbjni/Boxed.h | 5 +- .../fb/include/fb/fbjni/ByteBuffer.h | 6 +- .../fb/include/fb/fbjni/CoreClasses-inl.h | 14 +- .../fb/include/fb/fbjni/CoreClasses.h | 31 +- .../fb/include/fb/fbjni/Exceptions.h | 16 +- .../first-party/fb/include/fb/fbjni/Hybrid.h | 103 +- .../fb/include/fb/fbjni/JWeakReference.h | 37 + .../fb/include/fb/fbjni/Meta-inl.h | 28 +- .../fb/include/fb/fbjni/MetaConvert.h | 16 +- .../fb/fbjni/ReferenceAllocators-inl.h | 12 +- .../fb/include/fb/fbjni/References-inl.h | 15 +- .../fb/include/fb/fbjni/References.h | 6 +- .../fb/include/fb/fbjni/Registration-inl.h | 195 +- .../fb/include/fb/fbjni/Registration.h | 14 - .../fb/include/jni/JniTerminateHandler.h | 18 + .../first-party/fb/include/jni/LocalString.h | 9 +- .../jni/first-party/fb/jni/ByteBuffer.cpp | 6 +- .../jni/first-party/fb/jni/Environment.cpp | 186 +- .../jni/first-party/fb/jni/Exceptions.cpp | 223 +- .../main/jni/first-party/fb/jni/Hybrid.cpp | 37 +- .../jni/first-party/fb/jni/LocalString.cpp | 3 +- .../fb/jni/android/CpuCapabilities.cpp | 70 + .../fb/jni/android/ReferenceChecking.cpp | 37 + .../src/main/jni/first-party/fb/jni/fbjni.cpp | 7 +- .../src/main/jni/first-party/fb/jni/java/BUCK | 8 + .../src/main/jni/first-party/fbgloginit/BUCK | 1 - .../jni/first-party/yogajni/jni/YGJNI.cpp | 126 +- .../{xreact => packagerconnection}/Android.mk | 23 +- .../src/main/jni/packagerconnection/BUCK | 31 + .../JSPackagerClientResponder.cpp | 32 + .../JSPackagerClientResponder.h | 22 + .../main/jni/packagerconnection/OnLoad.cpp | 17 + .../SamplingProfilerJniMethod.cpp | 53 + .../SamplingProfilerJniMethod.h | 33 + .../src/main/jni/react/jni/Android.mk | 35 +- ReactAndroid/src/main/jni/react/jni/BUCK | 55 +- .../jni/CatalystInstanceImpl.cpp | 142 +- .../jni/CatalystInstanceImpl.h | 30 +- .../jni/CxxModuleWrapper.cpp | 23 +- .../src/main/jni/react/jni/CxxModuleWrapper.h | 43 + .../main/jni/react/jni/CxxModuleWrapperBase.h | 43 + .../jni/react/jni/CxxSharedModuleWrapper.h | 33 + ReactAndroid/src/main/jni/react/jni/Dummy.cpp | 7 - .../jni/{xreact => react}/jni/JCallback.h | 8 +- .../jni/{xreact => react}/jni/JInspector.cpp | 17 +- .../jni/{xreact => react}/jni/JInspector.h | 10 +- .../jni/JMessageQueueThread.cpp | 7 - .../jni/JMessageQueueThread.h | 10 - .../{xreact => react}/jni/JNativeRunnable.h | 0 .../{xreact => react}/jni/JSCPerfLogging.cpp | 0 .../{xreact => react}/jni/JSCPerfLogging.h | 0 .../src/main/jni/react/jni/JSLoader.cpp | 63 + .../main/jni/{xreact => react}/jni/JSLoader.h | 13 +- .../jni/{xreact => react}/jni/JSLogging.cpp | 0 .../jni/{xreact => react}/jni/JSLogging.h | 0 .../jni/JavaModuleWrapper.cpp | 69 +- .../{xreact => react}/jni/JavaModuleWrapper.h | 21 +- .../jni/JavaScriptExecutorHolder.h | 5 +- .../jni/JniJSModulesUnbundle.cpp | 0 .../jni/JniJSModulesUnbundle.h | 0 .../{xreact => react}/jni/MethodInvoker.cpp | 106 +- .../jni/{xreact => react}/jni/MethodInvoker.h | 4 +- .../jni/ModuleRegistryBuilder.cpp | 29 +- .../jni/ModuleRegistryBuilder.h | 8 +- .../jni/{xreact => react}/jni/NativeArray.cpp | 0 .../jni/{xreact => react}/jni/NativeArray.h | 0 .../{xreact => react}/jni/NativeCommon.cpp | 0 .../jni/{xreact => react}/jni/NativeCommon.h | 0 .../jni/{xreact => react}/jni/NativeMap.cpp | 0 .../jni/{xreact => react}/jni/NativeMap.h | 0 .../main/jni/{xreact => react}/jni/OnLoad.cpp | 210 +- .../main/jni/{xreact => react}/jni/OnLoad.h | 3 +- .../{xreact => react}/jni/ProxyExecutor.cpp | 10 +- .../jni/{xreact => react}/jni/ProxyExecutor.h | 2 +- .../jni/ReadableNativeArray.cpp | 0 .../jni/ReadableNativeArray.h | 0 .../jni/ReadableNativeMap.cpp | 0 .../{xreact => react}/jni/ReadableNativeMap.h | 0 .../jni/WritableNativeArray.cpp | 0 .../jni/WritableNativeArray.h | 0 .../jni/WritableNativeMap.cpp | 0 .../{xreact => react}/jni/WritableNativeMap.h | 0 .../main/jni/{xreact => react}/perftests/BUCK | 0 .../{xreact => react}/perftests/OnLoad.cpp | 6 +- .../src/main/jni/xreact/jni/Android.mk | 48 - ReactAndroid/src/main/jni/xreact/jni/BUCK | 56 - .../main/jni/xreact/jni/CxxModuleWrapper.h | 55 - .../main/jni/xreact/jni/JExecutorToken.cpp | 25 - .../src/main/jni/xreact/jni/JExecutorToken.h | 61 - .../src/main/jni/xreact/jni/JSLoader.cpp | 105 - .../src/main/jni/xreact/jni/JniWebWorkers.h | 32 - .../src/main/jni/xreact/jni/WebWorkers.h | 50 - .../libraries/fresco/fresco-react-native/BUCK | 24 +- ReactAndroid/src/main/res/BUCK | 11 + .../src/main/res/devsupport/values/styles.xml | 2 +- .../main/res/views/modal/values/themes.xml | 3 +- .../main/res/views/uimanager/values/ids.xml | 8 + .../third-party/java/infer-annotations/BUCK | 6 +- .../infer-annotations-1.5.jar | Bin 11990 -> 0 bytes .../infer-annotations-4.0.jar | Bin 0 -> 14300 bytes .../src/main/third-party/java/okhttp/BUCK | 20 +- .../src/main/third-party/java/okio/BUCK | 4 +- .../src/test/java/com/facebook/react/BUCK | 1 + .../react/CompositeReactPackageTest.java | 54 - .../test/java/com/facebook/react/bridge/BUCK | 1 + .../react/bridge/BaseJavaModuleTest.java | 42 +- .../FallbackJSBundleLoaderTest.java | 2 +- .../java/com/facebook/react/cxxbridge/BUCK | 19 - .../java/com/facebook/react/devsupport/BUCK | 2 +- .../JSDebuggerWebSocketClientTest.java | 17 +- .../devsupport/StackTraceHelperTest.java | 53 + .../test/java/com/facebook/react/modules/BUCK | 1 + .../modules/network/NetworkingModuleTest.java | 47 +- .../modules/timing/TimingModuleTest.java | 31 +- .../facebook/react/packagerconnection/BUCK | 2 +- .../JSPackagerClientTest.java | 43 +- .../java/com/facebook/react/uimanager/BUCK | 2 +- .../react/uimanager/MatrixMathHelperTest.java | 29 +- .../react/uimanager/UIManagerModuleTest.java | 8 +- .../react/views/text/ReactTextTest.java | 2 +- .../react/views/textinput/TextInputTest.java | 4 +- ReactCommon/DEFS | 22 + ReactCommon/cxxreact/Android.mk | 9 +- ReactCommon/cxxreact/BUCK | 210 +- ReactCommon/cxxreact/CxxModule.h | 28 +- ReactCommon/cxxreact/CxxNativeModule.cpp | 51 +- ReactCommon/cxxreact/CxxNativeModule.h | 15 +- ReactCommon/cxxreact/ExecutorToken.h | 54 - ReactCommon/cxxreact/ExecutorTokenFactory.h | 25 - ReactCommon/cxxreact/Instance.cpp | 130 +- ReactCommon/cxxreact/Instance.h | 66 +- ReactCommon/cxxreact/JSBundleType.h | 8 +- ReactCommon/cxxreact/JSCExecutor.cpp | 484 +- ReactCommon/cxxreact/JSCExecutor.h | 72 +- ReactCommon/cxxreact/JSCLegacyProfiler.cpp | 89 - ReactCommon/cxxreact/JSCLegacyProfiler.h | 20 - ReactCommon/cxxreact/JSCLegacyTracing.cpp | 30 +- ReactCommon/cxxreact/JSCLegacyTracing.h | 4 - ReactCommon/cxxreact/JSCMemory.cpp | 18 +- ReactCommon/cxxreact/JSCMemory.h | 2 +- ReactCommon/cxxreact/JSCNativeModules.cpp | 14 +- ReactCommon/cxxreact/JSCPerfStats.cpp | 34 +- ReactCommon/cxxreact/JSCSamplingProfiler.cpp | 17 +- ReactCommon/cxxreact/JSCSamplingProfiler.h | 4 +- ReactCommon/cxxreact/JSCTracing.cpp | 167 +- ReactCommon/cxxreact/JSCTracing.h | 6 - ReactCommon/cxxreact/JSCUtils.h | 3 +- ReactCommon/cxxreact/JSCWebWorker.cpp | 135 - ReactCommon/cxxreact/JSCWebWorker.h | 93 - .../cxxreact/{Executor.h => JSExecutor.h} | 38 +- ReactCommon/cxxreact/JSIndexedRAMBundle.cpp | 2 + ReactCommon/cxxreact/JSIndexedRAMBundle.h | 9 +- ReactCommon/cxxreact/MethodCall.h | 4 +- ReactCommon/cxxreact/ModuleRegistry.cpp | 70 +- ReactCommon/cxxreact/ModuleRegistry.h | 24 +- ReactCommon/cxxreact/NativeModule.h | 11 +- ReactCommon/cxxreact/NativeToJsBridge.cpp | 256 +- ReactCommon/cxxreact/NativeToJsBridge.h | 87 +- ReactCommon/cxxreact/Platform.cpp | 29 +- ReactCommon/cxxreact/Platform.h | 59 +- ReactCommon/cxxreact/RecoverableError.h | 2 - ReactCommon/cxxreact/SampleCxxModule.cpp | 5 +- ReactCommon/cxxreact/SampleCxxModule.h | 10 +- ReactCommon/cxxreact/SharedProxyCxxModule.h | 35 + ReactCommon/cxxreact/tests/BUCK | 5 +- .../cxxreact/tests/RecoverableErrorTest.cpp | 2 +- ReactCommon/cxxreact/tests/jsbigstring.cpp | 3 +- ReactCommon/cxxreact/tests/value.cpp | 4 +- ReactCommon/jschelpers/BUCK | 115 +- .../jschelpers/InspectorInterfaces.cpp | 23 + ReactCommon/jschelpers/InspectorInterfaces.h | 55 + ReactCommon/jschelpers/JSCHelpers.cpp | 138 +- ReactCommon/jschelpers/JSCHelpers.h | 70 +- ReactCommon/jschelpers/JSCWrapper.h | 50 +- ReactCommon/jschelpers/JavaScriptCore.h | 19 +- ReactCommon/jschelpers/Unicode.h | 2 +- ReactCommon/jschelpers/Value.cpp | 123 +- ReactCommon/jschelpers/Value.h | 109 +- ReactCommon/jschelpers/systemJSCWrapper.cpp | 13 + ReactCommon/microprofiler/BUCK | 1 - ReactCommon/yoga/Android.mk | 1 + ReactCommon/yoga/Yoga.podspec | 2 +- ReactCommon/yoga/yoga/YGEnums.c | 227 + ReactCommon/yoga/yoga/YGEnums.h | 29 +- ReactCommon/yoga/yoga/YGMacros.h | 16 +- ReactCommon/yoga/yoga/YGNodeList.c | 6 +- ReactCommon/yoga/yoga/Yoga-internal.h | 19 + ReactCommon/yoga/yoga/Yoga.c | 867 +-- ReactCommon/yoga/yoga/Yoga.h | 39 +- Releases.md | 181 +- babel-preset/configs/main.js | 105 +- babel-preset/package.json | 2 +- ...transform-regenerator-runtime-insertion.js | 109 + ...ringing-modern-web-techniques-to-mobile.md | 22 + blog/2015-09-14-react-native-for-android.md | 19 + ...-23-making-react-native-apps-accessible.md | 25 + blog/2016-03-24-introducing-hot-reloading.md | 2 +- ...3-28-dive-into-react-native-performance.md | 23 + ...016-04-13-react-native-a-year-in-review.md | 20 + ...t-to-left-support-for-react-native-apps.md | 8 +- ...-02-14-using-native-driver-for-animated.md | 2 +- blog/2017-03-13-better-list-views.md | 2 +- blog/2017-06-21-react-native-monthly-1.md | 94 + blog/2017-07-28-react-native-monthly-2.md | 100 + blog/img/big-hero.jpg | Bin 0 -> 112626 bytes blog/img/blue-hero.jpg | Bin 0 -> 57509 bytes blog/img/dark-hero.png | Bin 0 -> 58300 bytes bots/IssueCommands.txt | 38 +- bots/code-analysis-bot.js | 9 + circle.yml | 20 +- danger/.babelrc | 1 + danger/README.md | 12 + danger/dangerfile.js | 136 + danger/package.json | 11 + docs/Accessibility.md | 4 +- docs/AndroidBuildingFromSource.md | 6 +- docs/Animations.md | 186 +- docs/BuildingForAppleTV.md | 94 + docs/Colors.md | 11 +- docs/CommunicationIOS.md | 6 +- docs/ComponentsAndAPIs.md | 235 + docs/Contributing.md | 226 + docs/Debugging.md | 113 +- docs/DirectManipulation.md | 95 +- docs/GestureResponderSystem.md | 2 +- docs/GettingStarted.md | 661 ++- docs/HandlingTextInput.md | 9 +- docs/HandlingTouches.md | 168 +- docs/HeadlessJSAndroid.md | 22 +- docs/HeightAndWidth.md | 6 +- docs/Images.md | 52 +- docs/IntegrationWithExistingApps.md | 613 +-- docs/JavaScriptEnvironment.md | 2 +- docs/LayoutWithFlexbox.md | 9 +- docs/LinkingLibraries.md | 2 +- docs/Maintainers.md | 246 + docs/MoreResources.md | 26 +- docs/NativeComponentsAndroid.md | 8 +- docs/NativeComponentsIOS.md | 231 +- docs/NativeMethodsMixin.md | 7 + docs/NativeModulesAndroid.md | 81 +- docs/NativeModulesIOS.md | 58 +- docs/Navigation.md | 76 +- docs/Networking.md | 55 +- docs/Performance.md | 21 +- docs/PlatformSpecificInformation.md | 21 +- docs/Props.md | 10 +- docs/RunningOnDevice.md | 267 +- docs/SignedAPKAndroid.md | 4 +- docs/State.md | 13 +- docs/Style.md | 5 +- .../ExecutorToken.java => docs/StyleGuide.md | 0 docs/Testing.md | 40 +- docs/Text.md | 10 +- docs/Timers.md | 4 +- docs/TodayWidget.md | 31 + docs/Troubleshooting.md | 4 +- docs/Tutorial.md | 27 +- docs/UnderstandingCLI.md | 6 +- docs/Upgrading.md | 79 +- docs/UsingAListView.md | 111 +- docs/UsingAScrollView.md | 18 +- flow/Map.js | 3 - flow/Position.js | 2 - flow/Promise.js | 3 - flow/Set.js | 3 +- flow/babel.js.flow | 135 - flow/console.js | 4 +- .../internal.js => flow/create-react-class.js | 11 +- flow/prop-types.js | 46 + flow/react.js | 3 - ios-cc.sh | 3 - jest-preset.json | 3 +- jest/preprocessor.js | 30 +- jest/setup.js | 77 +- local-cli/.eslintrc | 1 + local-cli/bundle/assetPathUtils.js | 20 +- local-cli/bundle/buildBundle.js | 54 +- local-cli/bundle/bundle.js | 2 +- local-cli/bundle/bundleCommandLineArgs.js | 10 + local-cli/bundle/getAssetDestPathAndroid.js | 7 +- local-cli/bundle/getAssetDestPathIOS.js | 7 +- local-cli/bundle/output/bundle.js | 82 - local-cli/bundle/output/meta.js | 40 - local-cli/bundle/output/unbundle/as-assets.js | 106 - .../bundle/output/unbundle/as-indexed-file.js | 208 - .../build-unbundle-sourcemap-with-metadata.js | 34 - local-cli/bundle/output/unbundle/index.js | 46 - local-cli/bundle/output/unbundle/util.js | 130 - .../bundle/output/unbundle/write-sourcemap.js | 29 - local-cli/bundle/types.flow.js | 37 +- local-cli/bundle/unbundle.js | 2 +- local-cli/cliEntry.js | 4 +- local-cli/commands.js | 7 +- .../core/Constants.js | 7 +- local-cli/core/__fixtures__/android.js | 29 +- .../files/AndroidManifest-debug.xml | 3 + .../core/__fixtures__/files/ReactPackage.java | 10 +- .../core/__fixtures__/files/ReactPackage.kt | 19 + .../core/__fixtures__/files/project.pbxproj | 2 +- .../android/findAndroidAppFolder.spec.js | 47 +- .../__tests__/android/findManifest.spec.js | 40 +- .../android/findPackageClassName.spec.js | 51 +- .../android/getDependencyConfig.spec.js | 73 +- .../android/getProjectConfig.spec.js | 74 +- .../__tests__/android/readManifest.spec.js | 46 +- local-cli/core/__tests__/findAssets.spec.js | 42 +- local-cli/core/__tests__/findPlugins.spec.js | 46 +- .../core/__tests__/ios/findProject.spec.js | 66 +- .../__tests__/ios/getProjectConfig.spec.js | 42 +- local-cli/core/__tests__/makeCommand.spec.js | 37 +- .../core/android/findPackageClassName.js | 8 +- local-cli/core/android/index.js | 13 +- local-cli/core/default.config.js | 126 - local-cli/core/index.js | 128 +- local-cli/dependencies/dependencies.js | 21 +- local-cli/info/info.js | 47 + local-cli/library/library.js | 2 +- .../__fixtures__/android/patchedBuild.gradle | 3 + local-cli/link/__fixtures__/project.pbxproj | 2 +- .../link/__tests__/android/applyPatch.spec.js | 2 - .../__tests__/android/isInstalled.spec.js | 9 +- .../__tests__/android/makeBuildPatch.spec.js | 8 +- .../__tests__/android/makeImportPatch.spec.js | 2 - .../android/makePackagePatch.spec.js | 2 - .../android/makeSettingsPatch.spec.js | 2 - .../android/makeStringsPatch.spec.js | 2 - .../__tests__/getDependencyConfig.spec.js | 2 - .../__tests__/getProjectDependencies.spec.js | 2 - .../link/__tests__/groupFilesByType.spec.js | 2 - .../__tests__/ios/addFileToProject.spec.js | 2 - .../ios/addProjectToLibraries.spec.js | 2 - .../__tests__/ios/addSharedLibraries.spec.js | 2 - .../link/__tests__/ios/createGroup.spec.js | 2 - .../__tests__/ios/getBuildProperty.spec.js | 2 - local-cli/link/__tests__/ios/getGroup.spec.js | 2 - .../__tests__/ios/getHeaderSearchPath.spec.js | 2 - .../__tests__/ios/getHeadersInFolder.spec.js | 2 - local-cli/link/__tests__/ios/getPlist.spec.js | 2 - .../link/__tests__/ios/getPlistPath.spec.js | 2 - .../link/__tests__/ios/getProducts.spec.js | 2 - .../__tests__/ios/hasLibraryImported.spec.js | 2 - .../link/__tests__/ios/isInstalled.spec.js | 2 - .../ios/mapHeaderSearchPaths.spec.js | 2 - .../ios/removeProjectFromLibraries.js | 2 - .../ios/removeProjectFromProject.spec.js | 2 - .../__tests__/ios/removeSharedLibrary.spec.js | 2 - .../link/__tests__/ios/writePlist.spec.js | 16 +- local-cli/link/__tests__/link.spec.js | 2 - .../link/__tests__/promiseWaterfall.spec.js | 2 - local-cli/link/android/isInstalled.js | 5 +- .../link/android/patches/makeBuildPatch.js | 7 +- local-cli/link/link.js | 4 +- local-cli/link/pollParams.js | 2 +- local-cli/runAndroid/runAndroid.js | 42 +- local-cli/runIOS/runIOS.js | 10 +- local-cli/server/checkNodeVersion.js | 2 +- local-cli/server/formatBanner.js | 108 - .../middleware/cpuProfilerMiddleware.js | 48 - local-cli/server/runServer.js | 133 +- local-cli/server/server.js | 61 +- .../__tests__/getInverseDependencies-test.js | 0 local-cli/server/util/attachHMRServer.js | 93 +- local-cli/server/util/copyToClipBoard.js | 9 +- local-cli/server/util/debugger.html | 5 +- local-cli/server/util/debuggerWorker.js | 9 +- local-cli/server/util/external/xsel | Bin 0 -> 129416 bytes .../server/util/getInverseDependencies.js | 69 + local-cli/server/util/inspectorProxy.js | 479 -- local-cli/server/util/launchChrome.js | 18 + local-cli/server/util/launchEditor.js | 6 +- local-cli/setup_env.sh | 1 + .../components/KeyboardSpacer.js | 3 +- local-cli/templates/HelloWorld/_flowconfig | 8 +- .../HelloWorld/android/app/build.gradle | 7 + .../ios/HelloWorld.xcodeproj/project.pbxproj | 41 +- local-cli/util/Config.js | 255 +- local-cli/wrong-react-native.js | 6 +- package.json | 103 +- packager/.eslintrc | 6 - packager/README.md | 155 - packager/babelRegisterOnly.js | 39 - packager/blacklist.js | 44 - packager/defaults.js | 44 - packager/react-packager.js | 136 - packager/rn-babelrc.json | 4 - packager/rn-cli.config.js | 46 - .../AssetServer/__tests__/AssetServer-test.js | 307 -- packager/src/AssetServer/index.js | 242 - packager/src/Bundler/Bundle.js | 437 -- packager/src/Bundler/BundleBase.js | 114 - packager/src/Bundler/HMRBundle.js | 55 - packager/src/Bundler/__tests__/Bundle-test.js | 426 -- .../src/Bundler/__tests__/Bundler-test.js | 367 -- packager/src/Bundler/index.js | 852 --- packager/src/Bundler/source-map/B64Builder.js | 108 - packager/src/Bundler/source-map/Generator.js | 195 - .../source-map/__tests__/B64Builder-test.js | 126 - .../source-map/__tests__/Generator-test.js | 113 - .../source-map/__tests__/source-map-test.js | 85 - packager/src/Bundler/source-map/encode.js | 127 - packager/src/Bundler/source-map/package.json | 1 - packager/src/Bundler/source-map/source-map.js | 104 - packager/src/JSTransformer/README.md | 0 .../src/JSTransformer/__mocks__/lodash.js | 13 - .../__tests__/Transformer-test.js | 89 - packager/src/JSTransformer/index.js | 167 - .../worker/__tests__/constant-folding-test.js | 122 - .../__tests__/extract-dependencies-test.js | 112 - .../worker/__tests__/inline-test.js | 337 -- .../worker/__tests__/minify-test.js | 57 - .../worker/__tests__/worker-test.js | 234 - .../JSTransformer/worker/constant-folding.js | 91 - .../worker/extract-dependencies.js | 52 - packager/src/JSTransformer/worker/index.js | 13 - packager/src/JSTransformer/worker/inline.js | 196 - packager/src/JSTransformer/worker/minify.js | 32 - packager/src/JSTransformer/worker/worker.js | 166 - packager/src/Logger/Types.js | 33 - packager/src/Logger/__mocks__/chalk.js | 37 - packager/src/Logger/__tests__/Logger-test.js | 66 - packager/src/Logger/index.js | 90 - packager/src/ModuleGraph/Graph.js | 173 - packager/src/ModuleGraph/ModuleGraph.js | 101 - .../src/ModuleGraph/__tests__/Graph-test.js | 378 -- .../ModuleGraph/__tests__/ModuleGraph-test.js | 100 - .../src/ModuleGraph/node-haste/HasteFS.js | 90 - packager/src/ModuleGraph/node-haste/Module.js | 51 - .../src/ModuleGraph/node-haste/ModuleCache.js | 65 - .../src/ModuleGraph/node-haste/Package.js | 139 - .../ModuleGraph/node-haste/node-haste.flow.js | 71 - .../src/ModuleGraph/node-haste/node-haste.js | 119 - .../src/ModuleGraph/node-haste/package.json | 1 - .../ModuleGraph/output/__tests__/util-test.js | 83 - .../src/ModuleGraph/output/as-plain-bundle.js | 47 - packager/src/ModuleGraph/output/source-map.js | 48 - packager/src/ModuleGraph/output/util.js | 85 - packager/src/ModuleGraph/package.json | 1 - packager/src/ModuleGraph/silent-console.js | 15 - packager/src/ModuleGraph/test-helpers.js | 23 - packager/src/ModuleGraph/types.flow.js | 136 - packager/src/ModuleGraph/worker.js | 25 - .../__tests__/collect-dependencies-test.js | 135 - .../worker/__tests__/optimize-module-test.js | 98 - .../worker/__tests__/transform-module-test.js | 236 - .../worker/__tests__/wrap-worker-fn-test.js | 89 - .../worker/collect-dependencies.js | 150 - packager/src/ModuleGraph/worker/generate.js | 26 - .../src/ModuleGraph/worker/optimize-module.js | 108 - .../ModuleGraph/worker/transform-module.js | 173 - .../src/ModuleGraph/worker/wrap-worker-fn.js | 62 - .../src/Resolver/__tests__/Resolver-test.js | 554 -- packager/src/Resolver/index.js | 287 - packager/src/Resolver/polyfills/prelude.js | 18 - packager/src/Resolver/polyfills/require.js | 291 - packager/src/Server/MultipartResponse.js | 84 - .../__tests__/MultipartResponse-test.js | 149 - packager/src/Server/__tests__/Server-test.js | 551 -- packager/src/Server/index.js | 939 ---- .../symbolicate/__tests__/symbolicate-test.js | 106 - .../Server/symbolicate/__tests__/util-test.js | 157 - .../symbolicate/__tests__/worker-test.js | 111 - packager/src/Server/symbolicate/package.json | 1 - packager/src/Server/symbolicate/util.js | 86 - packager/src/Server/symbolicate/worker.js | 77 - packager/src/lib/BatchProcessor.js | 110 - packager/src/lib/GlobalTransformCache.js | 279 - packager/src/lib/JsonReporter.js | 43 - packager/src/lib/ModuleTransport.js | 78 - packager/src/lib/SourceMap.js | 33 - packager/src/lib/TerminalReporter.js | 316 -- packager/src/lib/TransformCache.js | 355 -- packager/src/lib/__mocks__/TransformCache.js | 44 - packager/src/lib/__mocks__/declareOpts.js | 20 - .../src/lib/__tests__/BatchProcessor-test.js | 68 - .../__tests__/GlobalTransformCache-test.js | 91 - .../src/lib/__tests__/TransformCache-test.js | 140 - .../GlobalTransformCache-test.js.snap | 32 - .../src/lib/__tests__/declareOpts-test.js | 92 - packager/src/lib/__tests__/terminal-test.js | 112 - packager/src/lib/declareOpts.js | 75 - packager/src/lib/relativizeSourceMap.js | 38 - packager/src/lib/reporting.js | 115 - packager/src/lib/terminal.js | 182 - packager/src/node-haste/AssetModule.js | 69 - .../node-haste/Cache/__tests__/Cache-test.js | 360 -- packager/src/node-haste/Cache/index.js | 254 - .../DependencyGraph/DependencyGraphHelpers.js | 57 - .../node-haste/DependencyGraph/HasteMap.js | 172 - .../DependencyGraph/ResolutionRequest.js | 569 -- .../DependencyGraph/ResolutionResponse.js | 131 - .../DependencyGraph/assets/empty-module.js | 8 - .../node-haste/DependencyGraph/docblock.js | 83 - packager/src/node-haste/Module.js | 473 -- packager/src/node-haste/ModuleCache.js | 171 - packager/src/node-haste/Package.js | 169 - packager/src/node-haste/Polyfill.js | 57 - .../src/node-haste/__mocks__/graceful-fs.js | 308 -- .../node-haste/__tests__/AssetModule-test.js | 28 - .../src/node-haste/__tests__/Module-test.js | 412 -- packager/src/node-haste/lib/AsyncTaskGroup.js | 28 - .../src/node-haste/lib/MapWithDefaults.js | 30 - .../__tests__/getAssetDataFromName-test.js | 127 - .../__tests__/getPlatformExtension-test.js | 33 - .../node-haste/lib/getAssetDataFromName.js | 56 - .../node-haste/lib/getInverseDependencies.js | 42 - .../node-haste/lib/getPlatformExtension.js | 28 - .../src/node-haste/lib/replacePatterns.js | 14 - packager/transformer.js | 129 - react-native-cli/index.js | 11 +- react.gradle | 8 +- rn-cli.config.js | 3 + rn-get-polyfills.js | 23 + runXcodeTests.sh | 4 +- scripts/android-e2e-test.js | 13 +- scripts/bump-oss-version.js | 11 +- scripts/ios-configure-glog.sh | 41 + .../ios-install-third-party.sh | 17 +- {packager => scripts}/launchPackager.bat | 0 {packager => scripts}/launchPackager.command | 4 +- scripts/objc-test-ios.sh | 16 +- scripts/objc-test-tvos.sh | 16 +- scripts/objc-test.sh | 68 +- {packager => scripts}/packager.sh | 3 +- scripts/process-podspecs.sh | 29 +- {packager => scripts}/react-native-xcode.sh | 36 +- .../run-android-ci-instrumentation-tests.js | 11 +- scripts/run-ci-e2e-tests.js | 11 +- scripts/test-manual-e2e.sh | 10 +- scripts/validate-android-test-env.sh | 2 +- settings.gradle | 2 +- setupBabel.js | 5 +- third-party-podspecs/DoubleConversion.podspec | 17 + third-party-podspecs/Folly.podspec | 35 + third-party-podspecs/GLog.podspec | 32 + website/README.md | 5 +- website/core/AlgoliaDocSearch.js | 6 +- website/core/BlogPost.js | 6 +- website/core/BlogPostDate.js | 6 +- website/core/BlogPostExcerpt.js | 6 +- website/core/BlogPostFooter.js | 6 +- website/core/BlogPostHeader.js | 6 +- website/core/DocsSidebar.js | 21 +- website/core/EjectBanner.js | 30 + website/core/ExcerptLink.js | 6 +- website/core/Footer.js | 8 +- website/core/H2.js | 6 +- website/core/Header.js | 16 +- website/core/HeaderLinks.js | 36 +- website/core/HeaderWithGithub.js | 17 +- website/core/Hero.js | 6 +- website/core/Marked.js | 519 +- website/core/Prism.js | 418 +- website/core/ShowcaseAppIcon.js | 6 +- website/core/Site.js | 341 +- website/core/SnackPlayer.js | 136 + website/core/WebPlayer.js | 18 +- website/core/center.js | 6 +- website/jsdocs/__tests__/jsdocs-test.js | 1 - website/layout/AutodocsLayout.js | 294 +- website/layout/BlogPageLayout.js | 17 +- website/layout/BlogPostLayout.js | 7 +- website/layout/DocsLayout.js | 27 +- website/layout/PageLayout.js | 19 +- website/layout/RedirectLayout.js | 6 +- website/package.json | 9 +- website/publish-gh-pages.js | 13 +- website/server/convert.js | 15 + website/server/docsList.js | 17 +- website/server/extractDocs.js | 66 +- website/showcase.json | 48 +- website/src/react-native/404.js | 6 +- website/src/react-native/css/prism.css | 138 + website/src/react-native/css/react-native.css | 136 +- .../src/react-native/img/AVDManagerMacOS.png | Bin 0 -> 21869 bytes .../react-native/img/AVDManagerWindows.png | Bin 0 -> 17856 bytes .../img/AdministratorCommandPrompt.png | Bin 0 -> 14701 bytes ...AndroidEnvironmentVariableANDROID_HOME.png | Bin 0 -> 5829 bytes .../react-native/img/AndroidSDKManager.png | Bin 284454 -> 0 bytes .../img/AndroidSDKManagerInstallsMacOS.png | Bin 0 -> 55751 bytes .../img/AndroidSDKManagerInstallsWindows.png | Bin 0 -> 10584 bytes .../img/AndroidSDKManagerMacOS.png | Bin 0 -> 168951 bytes .../img/AndroidSDKManagerSDKToolsMacOS.png | Bin 0 -> 153719 bytes .../img/AndroidSDKManagerSDKToolsWindows.png | Bin 0 -> 53434 bytes .../img/AndroidSDKManagerWindows.png | Bin 0 -> 75490 bytes .../img/AndroidStudioCustomSetup.png | Bin 0 -> 16552 bytes .../img/AndroidStudioWelcomeMacOS.png | Bin 0 -> 66437 bytes .../img/AndroidStudioWelcomeWindows.png | Bin 0 -> 56493 bytes .../src/react-native/img/AndroidSuccess.png | Bin 48336 -> 0 bytes .../react-native/img/AndroidSuccessMacOS.png | Bin 0 -> 62381 bytes .../img/AndroidSuccessWindows.png | Bin 0 -> 66384 bytes website/src/react-native/img/Button.png | Bin 0 -> 19232 bytes .../img/ConfigureReleaseScheme.png | Bin 0 -> 69365 bytes website/src/react-native/img/CreateAVD.png | Bin 86956 -> 0 bytes .../src/react-native/img/CreateAVDMacOS.png | Bin 0 -> 96908 bytes .../src/react-native/img/CreateAVDWindows.png | Bin 0 -> 23941 bytes .../react-native/img/CreateAVDx86MacOS.png | Bin 0 -> 565647 bytes .../react-native/img/CreateAVDx86Windows.png | Bin 0 -> 74554 bytes website/src/react-native/img/Inspector.gif | Bin 0 -> 1143767 bytes .../src/react-native/img/ReactDevTools.png | Bin 0 -> 598967 bytes .../react-native/img/ReactDevToolsDollarR.gif | Bin 0 -> 2159365 bytes .../img/ReactDevToolsInspector.gif | Bin 0 -> 1952102 bytes .../img/RunningOnDeviceCodeSigning.png | Bin 0 -> 109944 bytes .../react-native/img/RunningOnDeviceReady.png | Bin 0 -> 15390 bytes .../img/TodayWidgetUnableToLoad.jpg | Bin 0 -> 37921 bytes ...droid-sdk-environment-variable-windows.png | Bin 28729 -> 0 bytes .../img/react-native-tools-avd.png | Bin 5547 -> 4455 bytes website/src/react-native/index.js | 36 +- website/src/react-native/js/scripts.js | 223 +- website/src/react-native/showcase.js | 43 +- website/src/react-native/support.js | 168 +- website/src/react-native/versions.js | 187 +- 1832 files changed, 53641 insertions(+), 76861 deletions(-) create mode 100644 .github/CODEOWNERS delete mode 100644 Examples/.eslintrc delete mode 100644 Examples/UIExplorer/UIExplorer/AppDelegate.h delete mode 100644 Examples/UIExplorer/UIExplorer/NativeExampleViews/FlexibleSizeExampleView.h delete mode 100644 Examples/UIExplorer/UIExplorer/NativeExampleViews/UpdatePropertiesExampleView.h delete mode 100644 Examples/UIExplorer/UIExplorer/main.m delete mode 100644 Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testLayoutExample_1-iOS10@2x.png delete mode 100644 Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testLayoutExample_1-iOS10_tvOS.png delete mode 100644 Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testLayoutExample_1@2x.png delete mode 100644 Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testLayoutExample_1_tvOS.png delete mode 100644 Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testScrollViewExample_1-iOS10@2x.png delete mode 100644 Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testScrollViewExample_1-iOS10_tvOS.png delete mode 100644 Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testScrollViewExample_1@2x.png delete mode 100644 Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testScrollViewExample_1_tvOS.png delete mode 100644 Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testSliderExample_1-iOS10@2x.png delete mode 100644 Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testSliderExample_1@2x.png delete mode 100644 Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testSwitchExample_1-iOS10@2x.png delete mode 100644 Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testSwitchExample_1@2x.png delete mode 100644 Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTabBarExample_1-iOS10_tvOS.png delete mode 100644 Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTabBarExample_1_tvOS.png delete mode 100644 Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTextExample_1-iOS10@2x.png delete mode 100644 Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTextExample_1-iOS10_tvOS.png delete mode 100644 Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTextExample_1@2x.png delete mode 100644 Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTextExample_1_tvOS.png delete mode 100644 Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testViewExample_1-iOS10@2x.png delete mode 100644 Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testViewExample_1-iOS10_tvOS.png delete mode 100644 Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testViewExample_1@2x.png delete mode 100644 Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testViewExample_1_tvOS.png delete mode 100644 Examples/UIExplorer/UIExplorerUnitTests/RCTConvert_YGValueTests.m delete mode 100644 Examples/UIExplorer/UIExplorerUnitTests/RCTModuleMethodTests.m delete mode 100644 Examples/UIExplorer/android/app/src/main/res/values/strings.xml delete mode 100644 Examples/UIExplorer/js/AdSupportIOSExample.js delete mode 100644 Examples/UIExplorer/js/ExampleTypes.js delete mode 100644 Examples/UIExplorer/js/ImageEditingExample.js delete mode 100644 Examples/UIExplorer/js/SnapshotExample.js delete mode 100644 Examples/UIExplorer/js/UIExplorerActions.js delete mode 100644 Examples/UIExplorer/js/UIExplorerExampleContainer.js delete mode 100644 Examples/UIExplorer/js/UIExplorerNavigationReducer.js delete mode 100644 Examples/UIExplorer/js/URIActionMap.js delete mode 100644 Examples/UIExplorer/js/createExamplePage.js create mode 100644 IntegrationTests/AccessibilityManagerTest.js create mode 100644 IntegrationTests/SyncMethodTest.js create mode 100644 IntegrationTests/WebViewTest.js delete mode 100644 JSCLegacyProfiler/JSCLegacyProfiler.h delete mode 100644 JSCLegacyProfiler/JSCLegacyProfiler.mm delete mode 100644 JSCLegacyProfiler/Makefile delete mode 100644 JSCLegacyProfiler/Makefile.base delete mode 100755 JSCLegacyProfiler/json2trace delete mode 100644 JSCLegacyProfiler/parseSDKVersion.awk delete mode 100644 JSCLegacyProfiler/smap.py delete mode 100644 JSCLegacyProfiler/trace_data.py delete mode 100644 LICENSE-examples delete mode 100644 Libraries/AdSupport/AdSupportIOS.js delete mode 100644 Libraries/AdSupport/RCTAdSupport.m delete mode 100644 Libraries/AdSupport/RCTAdSupport.xcodeproj/project.pbxproj create mode 100644 Libraries/Blob/Blob.js rename packager/src/Resolver/polyfills/prelude_dev.js => Libraries/Blob/BlobTypes.js (57%) create mode 100755 Libraries/Blob/RCTBlob.xcodeproj/project.pbxproj create mode 100755 Libraries/Blob/RCTBlobManager.h create mode 100755 Libraries/Blob/RCTBlobManager.m create mode 100644 Libraries/Blob/URL.js rename packager/index.js => Libraries/Components/MaskedView/MaskedViewIOS.android.js (80%) create mode 100644 Libraries/Components/MaskedView/MaskedViewIOS.ios.js rename packager/src/node-haste/__mocks__/fs.js => Libraries/Components/View/PlatformViewPropTypes.android.js (80%) rename Libraries/{Renderer/src/renderers/native/ReactNativeContainerInfo.js => Components/View/PlatformViewPropTypes.ios.js} (60%) delete mode 100644 Libraries/Core/Timers/JSTimersExecution.js delete mode 100644 Libraries/DebugComponentHierarchy/RCTDebugComponentOwnership.js create mode 100644 Libraries/EventEmitter/MissingNativeEventEmitterShim.js create mode 100644 Libraries/Image/ImageBackground.js rename packager/src/JSTransformer/__mocks__/worker.js => Libraries/Image/RCTImageShadowView.h (78%) create mode 100644 Libraries/Image/RCTImageShadowView.m delete mode 100644 Libraries/Inspector/InspectorUtils.js create mode 100644 Libraries/Lists/FillRateHelper.js create mode 100644 Libraries/Lists/__tests__/FillRateHelper-test.js create mode 100644 Libraries/Lists/__tests__/VirtualizedList-test.js create mode 100644 Libraries/Lists/__tests__/__snapshots__/VirtualizedList-test.js.snap create mode 100644 Libraries/NativeAnimation/Drivers/RCTDecayAnimation.h create mode 100644 Libraries/NativeAnimation/Drivers/RCTDecayAnimation.m delete mode 100644 Libraries/Performance/CPUProfiler.js delete mode 100644 Libraries/Performance/RCTRenderingPerf.js delete mode 100644 Libraries/Renderer/README.md create mode 100644 Libraries/Renderer/REVISION create mode 100644 Libraries/Renderer/ReactNativeFiber-dev.js create mode 100644 Libraries/Renderer/ReactNativeFiber-prod.js create mode 100644 Libraries/Renderer/ReactNativeStack-dev.js create mode 100644 Libraries/Renderer/ReactNativeStack-prod.js create mode 100644 Libraries/Renderer/shims/NativeMethodsMixin.js rename Libraries/Renderer/{src/shared/utils => shims}/PooledClass.js (96%) rename Libraries/Renderer/{src/ReactVersion.js => shims/ReactDebugTool.js} (60%) create mode 100644 Libraries/Renderer/shims/ReactGlobalSharedState.js rename Libraries/Renderer/{src/renderers/native => shims}/ReactNative.js (51%) create mode 100644 Libraries/Renderer/shims/ReactNativeComponentTree.js rename Libraries/Renderer/{src/renderers/native => shims}/ReactNativeFeatureFlags.js (100%) create mode 100644 Libraries/Renderer/shims/ReactNativePropRegistry.js create mode 100644 Libraries/Renderer/shims/ReactNativeTypes.js rename Libraries/Renderer/{src/shared/utils/getNextDebugID.js => shims/ReactPerf.js} (62%) rename Libraries/Renderer/{src/renderers/shared/fiber/isomorphic => shims}/ReactTypes.js (56%) rename Libraries/Renderer/{src/renderers/shared/stack/reconciler/ReactCompositeComponentTypes.js => shims/TouchHistoryMath.js} (57%) create mode 100644 Libraries/Renderer/shims/createReactNativeComponentClass.js rename Libraries/Renderer/{src/shared/types/ReactPropTypesSecret.js => shims/takeSnapshot.js} (61%) delete mode 100644 Libraries/Renderer/src/renderers/native/NativeMethodsMixin.js delete mode 100644 Libraries/Renderer/src/renderers/native/NativeMethodsMixinUtils.js delete mode 100644 Libraries/Renderer/src/renderers/native/ReactNativeAttributePayload.js delete mode 100644 Libraries/Renderer/src/renderers/native/ReactNativeBaseComponent.js delete mode 100644 Libraries/Renderer/src/renderers/native/ReactNativeBridgeEventPlugin.js delete mode 100644 Libraries/Renderer/src/renderers/native/ReactNativeComponentEnvironment.js delete mode 100644 Libraries/Renderer/src/renderers/native/ReactNativeComponentTree.js delete mode 100644 Libraries/Renderer/src/renderers/native/ReactNativeDOMIDOperations.js delete mode 100644 Libraries/Renderer/src/renderers/native/ReactNativeEventEmitter.js delete mode 100644 Libraries/Renderer/src/renderers/native/ReactNativeEventPluginOrder.js delete mode 100644 Libraries/Renderer/src/renderers/native/ReactNativeFiber.js delete mode 100644 Libraries/Renderer/src/renderers/native/ReactNativeFiberErrorDialog.js delete mode 100644 Libraries/Renderer/src/renderers/native/ReactNativeFiberHostComponent.js delete mode 100644 Libraries/Renderer/src/renderers/native/ReactNativeGlobalResponderHandler.js delete mode 100644 Libraries/Renderer/src/renderers/native/ReactNativeInjection.js delete mode 100644 Libraries/Renderer/src/renderers/native/ReactNativeMount.js delete mode 100644 Libraries/Renderer/src/renderers/native/ReactNativePropRegistry.js delete mode 100644 Libraries/Renderer/src/renderers/native/ReactNativeReconcileTransaction.js delete mode 100644 Libraries/Renderer/src/renderers/native/ReactNativeStack.js delete mode 100644 Libraries/Renderer/src/renderers/native/ReactNativeStackInjection.js delete mode 100644 Libraries/Renderer/src/renderers/native/ReactNativeTagHandles.js delete mode 100644 Libraries/Renderer/src/renderers/native/ReactNativeTextComponent.js delete mode 100644 Libraries/Renderer/src/renderers/native/ReactNativeViewConfigRegistry.js delete mode 100644 Libraries/Renderer/src/renderers/native/__mocks__/ReactNative.js delete mode 100644 Libraries/Renderer/src/renderers/native/__tests__/ReactNativeAttributePayload-test.js delete mode 100644 Libraries/Renderer/src/renderers/native/__tests__/ReactNativeEvents-test.js delete mode 100644 Libraries/Renderer/src/renderers/native/__tests__/ReactNativeMount-test.js delete mode 100644 Libraries/Renderer/src/renderers/native/createReactNativeComponentClass.js delete mode 100644 Libraries/Renderer/src/renderers/native/findNodeHandle.js delete mode 100644 Libraries/Renderer/src/renderers/native/takeSnapshot.js delete mode 100644 Libraries/Renderer/src/renderers/noop/ReactNoop.js delete mode 100644 Libraries/Renderer/src/renderers/shared/ReactDebugTool.js delete mode 100644 Libraries/Renderer/src/renderers/shared/ReactInstrumentation.js delete mode 100644 Libraries/Renderer/src/renderers/shared/ReactPerf.js delete mode 100644 Libraries/Renderer/src/renderers/shared/__tests__/ReactDebugTool-test.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/ReactChildFiber.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/ReactDebugCurrentFiber.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/ReactDebugFiberPerf.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/ReactFiber.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/ReactFiberBeginWork.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/ReactFiberClassComponent.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/ReactFiberCommitWork.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/ReactFiberCompleteWork.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/ReactFiberContext.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/ReactFiberDevToolsHook.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/ReactFiberErrorLogger.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/ReactFiberHostContext.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/ReactFiberInstrumentation.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/ReactFiberReconciler.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/ReactFiberRoot.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/ReactFiberScheduler.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/ReactFiberStack.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/ReactFiberTreeReflection.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/ReactFiberUpdateQueue.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/ReactPriorityLevel.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/ReactTypeOfSideEffect.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/__tests__/ReactCoroutine-test.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/__tests__/ReactIncremental-test.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/__tests__/ReactIncrementalErrorHandling-test.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/__tests__/ReactIncrementalPerf-test.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/__tests__/ReactIncrementalReflection-test.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/__tests__/ReactIncrementalScheduling-test.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/__tests__/ReactIncrementalSideEffects-test.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/__tests__/ReactIncrementalUpdates-test.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/__tests__/ReactTopLevelFragment-test.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/__tests__/ReactTopLevelText-test.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/__tests__/__snapshots__/ReactIncrementalPerf-test.js.snap delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/isomorphic/ReactCoroutine.js delete mode 100644 Libraries/Renderer/src/renderers/shared/fiber/isomorphic/ReactPortal.js delete mode 100644 Libraries/Renderer/src/renderers/shared/hooks/ReactHostOperationHistoryHook.js delete mode 100644 Libraries/Renderer/src/renderers/shared/hooks/ReactInvalidSetStateWarningHook.js delete mode 100644 Libraries/Renderer/src/renderers/shared/shared/ReactInstanceMap.js delete mode 100644 Libraries/Renderer/src/renderers/shared/shared/ReactTreeTraversal.js delete mode 100644 Libraries/Renderer/src/renderers/shared/shared/event/EventConstants.js delete mode 100644 Libraries/Renderer/src/renderers/shared/shared/event/EventPluginHub.js delete mode 100644 Libraries/Renderer/src/renderers/shared/shared/event/EventPluginRegistry.js delete mode 100644 Libraries/Renderer/src/renderers/shared/shared/event/EventPluginUtils.js delete mode 100644 Libraries/Renderer/src/renderers/shared/shared/event/EventPropagators.js delete mode 100644 Libraries/Renderer/src/renderers/shared/shared/event/PluginModuleType.js delete mode 100644 Libraries/Renderer/src/renderers/shared/shared/event/ReactControlledComponent.js delete mode 100644 Libraries/Renderer/src/renderers/shared/shared/event/ReactEventEmitterMixin.js delete mode 100644 Libraries/Renderer/src/renderers/shared/shared/event/ReactGenericBatching.js delete mode 100644 Libraries/Renderer/src/renderers/shared/shared/event/ReactSyntheticEventType.js delete mode 100644 Libraries/Renderer/src/renderers/shared/shared/event/SyntheticEvent.js delete mode 100644 Libraries/Renderer/src/renderers/shared/shared/event/__tests__/EventPluginRegistry-test.js delete mode 100644 Libraries/Renderer/src/renderers/shared/shared/event/eventPlugins/ResponderEventPlugin.js delete mode 100644 Libraries/Renderer/src/renderers/shared/shared/event/eventPlugins/ResponderSyntheticEvent.js delete mode 100644 Libraries/Renderer/src/renderers/shared/shared/event/eventPlugins/ResponderTouchHistoryStore.js delete mode 100644 Libraries/Renderer/src/renderers/shared/shared/event/eventPlugins/TouchHistoryMath.js delete mode 100644 Libraries/Renderer/src/renderers/shared/shared/event/eventPlugins/__tests__/ResponderEventPlugin-test.js delete mode 100644 Libraries/Renderer/src/renderers/shared/shared/getContextForSubtree.js delete mode 100644 Libraries/Renderer/src/renderers/shared/shared/shouldUpdateReactComponent.js delete mode 100644 Libraries/Renderer/src/renderers/shared/stack/reconciler/CallbackQueue.js delete mode 100644 Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactChildReconciler.js delete mode 100644 Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactComponentEnvironment.js delete mode 100644 Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactCompositeComponent.js delete mode 100644 Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactDefaultBatchingStrategy.js delete mode 100644 Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactEmptyComponent.js delete mode 100644 Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactHostComponent.js delete mode 100644 Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactInstanceType.js delete mode 100644 Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactMultiChild.js delete mode 100644 Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactMultiChildUpdateTypes.js delete mode 100644 Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactNodeTypes.js delete mode 100644 Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactOwner.js delete mode 100644 Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactReconciler.js delete mode 100644 Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactRef.js delete mode 100644 Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactSimpleEmptyComponent.js delete mode 100644 Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactUpdateQueue.js delete mode 100644 Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactUpdates.js delete mode 100644 Libraries/Renderer/src/renderers/shared/stack/reconciler/Transaction.js delete mode 100644 Libraries/Renderer/src/renderers/shared/stack/reconciler/__tests__/Transaction-test.js delete mode 100644 Libraries/Renderer/src/renderers/shared/stack/reconciler/getHostComponentFromComposite.js delete mode 100644 Libraries/Renderer/src/renderers/shared/stack/reconciler/instantiateReactComponent.js delete mode 100644 Libraries/Renderer/src/renderers/shared/utils/ReactErrorUtils.js delete mode 100644 Libraries/Renderer/src/renderers/shared/utils/ReactFeatureFlags.js delete mode 100644 Libraries/Renderer/src/renderers/shared/utils/__tests__/ReactErrorUtils-test.js delete mode 100644 Libraries/Renderer/src/renderers/shared/utils/__tests__/accumulateInto-test.js delete mode 100644 Libraries/Renderer/src/renderers/shared/utils/__tests__/adler32-test.js delete mode 100644 Libraries/Renderer/src/renderers/shared/utils/accumulate.js delete mode 100644 Libraries/Renderer/src/renderers/shared/utils/accumulateInto.js delete mode 100644 Libraries/Renderer/src/renderers/shared/utils/adler32.js delete mode 100644 Libraries/Renderer/src/renderers/shared/utils/forEachAccumulated.js delete mode 100644 Libraries/Renderer/src/renderers/shared/utils/isTextInputElement.js delete mode 100644 Libraries/Renderer/src/renderers/shared/utils/validateCallback.js delete mode 100644 Libraries/Renderer/src/shared/ReactElementType.js delete mode 100644 Libraries/Renderer/src/shared/ReactFiberComponentTreeHook.js delete mode 100644 Libraries/Renderer/src/shared/ReactTypeOfWork.js delete mode 100644 Libraries/Renderer/src/shared/types/checkReactTypeSpec.js delete mode 100644 Libraries/Renderer/src/shared/utils/KeyEscapeUtils.js delete mode 100644 Libraries/Renderer/src/shared/utils/ReactElementSymbol.js delete mode 100644 Libraries/Renderer/src/shared/utils/__tests__/KeyEscapeUtils-test.js delete mode 100644 Libraries/Renderer/src/shared/utils/__tests__/PooledClass-test.js delete mode 100644 Libraries/Renderer/src/shared/utils/__tests__/reactProdInvariant-test.js delete mode 100644 Libraries/Renderer/src/shared/utils/canDefineProperty.js delete mode 100644 Libraries/Renderer/src/shared/utils/deprecated.js delete mode 100644 Libraries/Renderer/src/shared/utils/flattenChildren.js delete mode 100644 Libraries/Renderer/src/shared/utils/getComponentName.js delete mode 100644 Libraries/Renderer/src/shared/utils/getIteratorFn.js delete mode 100644 Libraries/Renderer/src/shared/utils/reactProdInvariant.js delete mode 100644 Libraries/Renderer/src/shared/utils/traverseAllChildren.js create mode 100644 Libraries/Text/RCTBackedTextInputDelegate.h create mode 100644 Libraries/Text/RCTBackedTextInputDelegateAdapter.h create mode 100644 Libraries/Text/RCTBackedTextInputDelegateAdapter.m create mode 100644 Libraries/Text/RCTBackedTextInputViewProtocol.h create mode 100644 Libraries/Text/RCTTextInput.h create mode 100644 Libraries/Text/RCTTextInput.m create mode 100644 Libraries/Text/RCTUITextField.h create mode 100644 Libraries/Text/RCTUITextField.m rename packager/src/node-haste/types.js => Libraries/Utilities/DebugEnvironment.js (64%) create mode 100644 Libraries/Utilities/SceneTracker.js create mode 100644 Libraries/Utilities/__mocks__/BackHandler.js create mode 100644 Libraries/Utilities/__tests__/SceneTracker-test.js delete mode 100644 Libraries/Utilities/throwOnWrongReactAPI.js rename {React/Base => Libraries/WebSocket}/RCTWebSocketObserverProtocol.h (100%) rename {packager/src/Resolver => Libraries}/polyfills/Array.es6.js (97%) rename {packager/src/Resolver => Libraries}/polyfills/Array.prototype.es6.js (98%) rename {packager/src/Resolver => Libraries}/polyfills/Number.es6.js (96%) rename {packager/src/Resolver => Libraries}/polyfills/Object.es6.js (98%) rename {packager/src/Resolver => Libraries}/polyfills/Object.es7.js (97%) rename {packager/src/Resolver => Libraries}/polyfills/String.prototype.es6.js (97%) rename {packager/src/Resolver => Libraries}/polyfills/__tests__/Object.es7-test.js (99%) rename {packager/src/Resolver => Libraries}/polyfills/babelHelpers.js (99%) rename {packager/src/Resolver => Libraries}/polyfills/console.js (95%) rename {packager/src/Resolver => Libraries}/polyfills/error-guard.js (98%) rename Libraries/{Core => vendor/core}/ErrorUtils.js (100%) rename Libraries/{EventEmitter => vendor/emitter}/EmitterSubscription.js (100%) rename Libraries/{EventEmitter => vendor/emitter}/EventEmitter.js (100%) rename Libraries/{EventEmitter => vendor/emitter}/EventEmitterWithHolding.js (100%) rename Libraries/{EventEmitter => vendor/emitter}/EventHolder.js (100%) rename Libraries/{EventEmitter => vendor/emitter}/EventSubscription.js (100%) rename Libraries/{EventEmitter => vendor/emitter}/EventSubscriptionVendor.js (100%) rename Libraries/{EventEmitter => vendor/emitter}/EventValidator.js (100%) rename Libraries/{EventEmitter => vendor/emitter}/mixInEventEmitter.js (100%) rename {Examples/UIExplorer => RNTester}/README.md (82%) rename {Examples/UIExplorer/UIExplorer-tvOS => RNTester/RNTester-tvOS}/Info.plist (100%) rename {Examples/UIExplorer/UIExplorer.xcodeproj => RNTester/RNTester.xcodeproj}/project.pbxproj (80%) rename Examples/UIExplorer/UIExplorer.xcodeproj/xcshareddata/xcschemes/UIExplorer-tvOS.xcscheme => RNTester/RNTester.xcodeproj/xcshareddata/xcschemes/RNTester-tvOS.xcscheme (77%) rename Examples/UIExplorer/UIExplorer.xcodeproj/xcshareddata/xcschemes/UIExplorer.xcscheme => RNTester/RNTester.xcodeproj/xcshareddata/xcschemes/RNTester.xcscheme (75%) create mode 100644 RNTester/RNTester/AppDelegate.h rename {Examples/UIExplorer/UIExplorer => RNTester/RNTester}/AppDelegate.m (82%) rename {Examples/UIExplorer/UIExplorer => RNTester/RNTester}/Base.lproj/LaunchScreen.xib (81%) rename {Examples/UIExplorer/UIExplorer => RNTester/RNTester}/Images.xcassets/AppIcon.appiconset/Contents.json (100%) rename {Examples/UIExplorer/UIExplorer => RNTester/RNTester}/Images.xcassets/AppIcon.appiconset/Icon-40@2x.png (100%) rename {Examples/UIExplorer/UIExplorer => RNTester/RNTester}/Images.xcassets/AppIcon.appiconset/Icon-40@3x.png (100%) rename {Examples/UIExplorer/UIExplorer => RNTester/RNTester}/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png (100%) rename {Examples/UIExplorer/UIExplorer => RNTester/RNTester}/Images.xcassets/AppIcon.appiconset/Icon-60@3x.png (100%) rename {Examples/UIExplorer/UIExplorer => RNTester/RNTester}/Images.xcassets/AppIcon.appiconset/Icon-Small@2x.png (100%) rename {Examples/UIExplorer/UIExplorer => RNTester/RNTester}/Images.xcassets/AppIcon.appiconset/Icon-Small@3x.png (100%) rename {Examples/UIExplorer/UIExplorer => RNTester/RNTester}/Images.xcassets/Contents.json (100%) rename {Examples/UIExplorer/UIExplorer => RNTester/RNTester}/Images.xcassets/NavBarButtonPlus.imageset/Contents.json (100%) rename {Examples/UIExplorer/UIExplorer => RNTester/RNTester}/Images.xcassets/NavBarButtonPlus.imageset/NavBarButtonPlus@3x.png (100%) rename {Examples/UIExplorer/UIExplorer => RNTester/RNTester}/Images.xcassets/story-background.imageset/Contents.json (100%) rename {Examples/UIExplorer/UIExplorer => RNTester/RNTester}/Images.xcassets/story-background.imageset/story-background@2x.png (100%) rename {Examples/UIExplorer/UIExplorer => RNTester/RNTester}/Images.xcassets/tabnav_list.imageset/Contents.json (100%) rename {Examples/UIExplorer/UIExplorer => RNTester/RNTester}/Images.xcassets/tabnav_list.imageset/tabnav_list@3x.png (100%) rename {Examples/UIExplorer/UIExplorer => RNTester/RNTester}/Images.xcassets/tabnav_notification.imageset/Contents.json (100%) rename {Examples/UIExplorer/UIExplorer => RNTester/RNTester}/Images.xcassets/tabnav_notification.imageset/tabnav_notification@3x.png (100%) rename {Examples/UIExplorer/UIExplorer => RNTester/RNTester}/Images.xcassets/tabnav_settings.imageset/Contents.json (100%) rename {Examples/UIExplorer/UIExplorer => RNTester/RNTester}/Images.xcassets/tabnav_settings.imageset/tabnav_settings@3x.png (100%) rename {Examples/UIExplorer/UIExplorer => RNTester/RNTester}/Info.plist (98%) create mode 100644 RNTester/RNTester/NativeExampleViews/FlexibleSizeExampleView.h rename {Examples/UIExplorer/UIExplorer => RNTester/RNTester}/NativeExampleViews/FlexibleSizeExampleView.m (82%) create mode 100644 RNTester/RNTester/NativeExampleViews/UpdatePropertiesExampleView.h rename {Examples/UIExplorer/UIExplorer => RNTester/RNTester}/NativeExampleViews/UpdatePropertiesExampleView.m (77%) rename {Examples/UIExplorer/UIExplorer/UIExplorerBundle => RNTester/RNTester/RNTesterBundle}/ImageInBundle.png (100%) rename {Examples/UIExplorer/UIExplorer/UIExplorerBundle => RNTester/RNTester/RNTesterBundle}/Info.plist (100%) rename {Examples/UIExplorer/UIExplorer/UIExplorerBundle => RNTester/RNTester/RNTesterBundle}/OtherImages.xcassets/Contents.json (100%) rename {Examples/UIExplorer/UIExplorer/UIExplorerBundle => RNTester/RNTester/RNTesterBundle}/OtherImages.xcassets/ImageInAssetCatalog.imageset/Contents.json (100%) rename {Examples/UIExplorer/UIExplorer/UIExplorerBundle => RNTester/RNTester/RNTesterBundle}/OtherImages.xcassets/ImageInAssetCatalog.imageset/react-logo.png (100%) rename {Examples/UIExplorer/UIExplorer => RNTester/RNTester}/legacy_image@2x.png (100%) create mode 100644 RNTester/RNTester/main.m rename {Examples/UIExplorer/UIExplorerIntegrationTests => RNTester/RNTesterIntegrationTests}/Info.plist (100%) rename {Examples/UIExplorer/UIExplorerIntegrationTests => RNTester/RNTesterIntegrationTests}/RCTLoggingTests.m (86%) rename {Examples/UIExplorer/UIExplorerIntegrationTests => RNTester/RNTesterIntegrationTests}/RCTRootViewIntegrationTests.m (84%) rename {Examples/UIExplorer/UIExplorerIntegrationTests => RNTester/RNTesterIntegrationTests}/RCTUIManagerScenarioTests.m (91%) rename Examples/UIExplorer/UIExplorerIntegrationTests/UIExplorerIntegrationTests.m => RNTester/RNTesterIntegrationTests/RNTesterIntegrationTests.m (88%) rename Examples/UIExplorer/UIExplorerIntegrationTests/UIExplorerSnapshotTests.m => RNTester/RNTesterIntegrationTests/RNTesterSnapshotTests.m (53%) create mode 100644 RNTester/RNTesterIntegrationTests/RNTesterTestModule.m rename {Examples/UIExplorer/UIExplorerIntegrationTests => RNTester/RNTesterIntegrationTests}/ReferenceImages/IntegrationTests-IntegrationTestsApp/testImageSnapshotTest_1@2x.png (100%) rename {Examples/UIExplorer/UIExplorerIntegrationTests => RNTester/RNTesterIntegrationTests}/ReferenceImages/IntegrationTests-IntegrationTestsApp/testImageSnapshotTest_1_tvOS.png (100%) rename {Examples/UIExplorer/UIExplorerIntegrationTests => RNTester/RNTesterIntegrationTests}/ReferenceImages/IntegrationTests-IntegrationTestsApp/testSimpleSnapshotTest_1@2x.png (100%) rename {Examples/UIExplorer/UIExplorerIntegrationTests => RNTester/RNTesterIntegrationTests}/ReferenceImages/IntegrationTests-IntegrationTestsApp/testSimpleSnapshotTest_1_tvOS.png (100%) create mode 100644 RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testARTExample_1-iOS10@2x.png create mode 100644 RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testARTExample_1-iOS10_tvOS.png create mode 100644 RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testARTExample_1@2x.png create mode 100644 RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testARTExample_1_tvOS.png create mode 100644 RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testLayoutExample_1-iOS10@2x.png create mode 100644 RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testLayoutExample_1-iOS10_tvOS.png create mode 100644 RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testLayoutExample_1@2x.png create mode 100644 RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testLayoutExample_1_tvOS.png create mode 100644 RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testScrollViewExample_1-iOS10@2x.png create mode 100644 RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testScrollViewExample_1-iOS10_tvOS.png create mode 100644 RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testScrollViewExample_1@2x.png create mode 100644 RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testScrollViewExample_1_tvOS.png create mode 100644 RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSliderExample_1-iOS10@2x.png create mode 100644 RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSliderExample_1@2x.png create mode 100644 RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSwitchExample_1-iOS10@2x.png create mode 100644 RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSwitchExample_1@2x.png rename {Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios => RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios}/testTabBarExample_1-iOS10@2x.png (81%) create mode 100644 RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTabBarExample_1-iOS10_tvOS.png rename {Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios => RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios}/testTabBarExample_1@2x.png (80%) create mode 100644 RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTabBarExample_1_tvOS.png create mode 100644 RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTextExample_1-iOS10@2x.png create mode 100644 RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTextExample_1-iOS10_tvOS.png create mode 100644 RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTextExample_1@2x.png create mode 100644 RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTextExample_1_tvOS.png create mode 100644 RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testViewExample_1-iOS10@2x.png create mode 100644 RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testViewExample_1-iOS10_tvOS.png create mode 100644 RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testViewExample_1@2x.png create mode 100644 RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testViewExample_1_tvOS.png rename {Examples/UIExplorer/UIExplorerIntegrationTests => RNTester/RNTesterIntegrationTests}/blue_square.png (100%) rename {Examples/UIExplorer/UIExplorerIntegrationTests => RNTester/RNTesterIntegrationTests}/red_square.png (100%) rename {Examples/UIExplorer/UIExplorerCxx.xcodeproj => RNTester/RNTesterLegacy.xcodeproj}/project.pbxproj (83%) rename Examples/UIExplorer/UIExplorerCxx.xcodeproj/xcshareddata/xcschemes/UIExplorer-tvOS.xcscheme => RNTester/RNTesterLegacy.xcodeproj/xcshareddata/xcschemes/RNTester-tvOS.xcscheme (75%) rename Examples/UIExplorer/UIExplorerCxx.xcodeproj/xcshareddata/xcschemes/UIExplorer.xcscheme => RNTester/RNTesterLegacy.xcodeproj/xcshareddata/xcschemes/RNTester.xcscheme (75%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/Info.plist (100%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/OCMock/NSNotificationCenter+OCMAdditions.h (100%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/OCMock/OCMArg.h (100%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/OCMock/OCMConstraint.h (100%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/OCMock/OCMLocation.h (100%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/OCMock/OCMMacroState.h (100%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/OCMock/OCMRecorder.h (100%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/OCMock/OCMStubRecorder.h (100%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/OCMock/OCMock.h (100%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/OCMock/OCMockObject.h (100%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/RCTAllocationTests.m (60%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/RCTAnimationUtilsTests.m (86%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/RCTBridgeTests.m (84%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/RCTBundleURLProviderTests.m (80%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/RCTComponentPropsTests.m (80%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/RCTConvert_NSURLTests.m (81%) create mode 100644 RNTester/RNTesterUnitTests/RCTConvert_YGValueTests.m rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/RCTDevMenuTests.m (65%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/RCTEventDispatcherTests.m (91%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/RCTFontTests.m (92%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/RCTGzipTests.m (65%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/RCTImageLoaderHelpers.h (73%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/RCTImageLoaderHelpers.m (81%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/RCTImageLoaderTests.m (90%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/RCTImageUtilTests.m (82%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/RCTJSCExecutorTests.m (59%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/RCTJSONTests.m (85%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/RCTMethodArgumentTests.m (77%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/RCTModuleInitNotificationRaceTests.m (61%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/RCTModuleInitTests.m (80%) create mode 100644 RNTester/RNTesterUnitTests/RCTModuleMethodTests.mm rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/RCTMultipartStreamReaderTests.m (84%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/RCTNativeAnimatedNodesManagerTests.m (77%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/RCTShadowViewTests.m (92%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/RCTUIManagerTests.m (91%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/RCTURLUtilsTests.m (79%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/RCTUnicodeDecodeTests.m (81%) rename Examples/UIExplorer/UIExplorerUnitTests/UIExplorerUnitTestsBundle.js => RNTester/RNTesterUnitTests/RNTesterUnitTestsBundle.js (90%) rename {Examples/UIExplorer/UIExplorerUnitTests => RNTester/RNTesterUnitTests}/libOCMock.a (100%) rename {Examples/UIExplorer => RNTester}/android/app/BUCK (87%) rename {Examples/UIExplorer => RNTester}/android/app/build.gradle (97%) rename {Examples/UIExplorer => RNTester}/android/app/gradle.properties (100%) rename {Examples/UIExplorer => RNTester}/android/app/proguard-rules.pro (100%) rename {Examples/UIExplorer => RNTester}/android/app/react.gradle (100%) rename {Examples/UIExplorer => RNTester}/android/app/src/main/AndroidManifest.xml (88%) rename {Examples/UIExplorer => RNTester}/android/app/src/main/assets/fonts/notoserif.ttf (100%) rename {Examples/UIExplorer => RNTester}/android/app/src/main/assets/fonts/notoserif_bold_italic.ttf (100%) rename Examples/UIExplorer/android/app/src/main/java/com/facebook/react/uiapp/UIExplorerActivity.java => RNTester/android/app/src/main/java/com/facebook/react/uiapp/RNTesterActivity.java (54%) rename Examples/UIExplorer/android/app/src/main/java/com/facebook/react/uiapp/UIExplorerApplication.java => RNTester/android/app/src/main/java/com/facebook/react/uiapp/RNTesterApplication.java (52%) rename {Examples/UIExplorer => RNTester}/android/app/src/main/res/drawable/ic_create_black_48dp.png (100%) rename {Examples/UIExplorer => RNTester}/android/app/src/main/res/drawable/ic_menu_black_24dp.png (100%) rename {Examples/UIExplorer => RNTester}/android/app/src/main/res/drawable/ic_settings_black_48dp.png (100%) rename {Examples/UIExplorer => RNTester}/android/app/src/main/res/drawable/launcher_icon.png (100%) rename {Examples/UIExplorer => RNTester}/android/app/src/main/res/drawable/legacy_image.png (100%) rename {Examples/UIExplorer => RNTester}/android/app/src/main/res/layout/activity_main.xml (91%) create mode 100644 RNTester/android/app/src/main/res/values/strings.xml rename {Examples/UIExplorer => RNTester}/android/app/src/main/res/values/styles.xml (100%) create mode 100644 RNTester/js/ARTExample.js rename {Examples/UIExplorer => RNTester}/js/AccessibilityAndroidExample.android.js (80%) rename {Examples/UIExplorer => RNTester}/js/AccessibilityIOSExample.js (79%) rename {Examples/UIExplorer => RNTester}/js/ActionSheetIOSExample.js (87%) rename {Examples/UIExplorer => RNTester}/js/ActivityIndicatorExample.js (85%) rename {Examples/UIExplorer => RNTester}/js/AlertExample.js (83%) rename {Examples/UIExplorer => RNTester}/js/AlertIOSExample.js (87%) rename {Examples/UIExplorer => RNTester}/js/AnimatedExample.js (87%) rename {Examples/UIExplorer => RNTester}/js/AnimatedGratuitousApp/AnExApp.js (94%) rename {Examples/UIExplorer => RNTester}/js/AnimatedGratuitousApp/AnExBobble.js (88%) rename {Examples/UIExplorer => RNTester}/js/AnimatedGratuitousApp/AnExChained.js (85%) rename {Examples/UIExplorer => RNTester}/js/AnimatedGratuitousApp/AnExScroll.js (82%) rename {Examples/UIExplorer => RNTester}/js/AnimatedGratuitousApp/AnExSet.js (86%) rename {Examples/UIExplorer => RNTester}/js/AnimatedGratuitousApp/AnExSlides.md (100%) rename {Examples/UIExplorer => RNTester}/js/AnimatedGratuitousApp/AnExTilt.js (85%) rename {Examples/UIExplorer => RNTester}/js/AnimatedGratuitousApp/trees.jpg (100%) rename {Examples/UIExplorer => RNTester}/js/AppStateExample.js (79%) rename {Examples/UIExplorer => RNTester}/js/AssetScaledImageExample.js (75%) rename {Examples/UIExplorer => RNTester}/js/AsyncStorageExample.js (81%) rename {Examples/UIExplorer => RNTester}/js/BorderExample.js (89%) rename {Examples/UIExplorer => RNTester}/js/BoxShadowExample.js (76%) rename {Examples/UIExplorer => RNTester}/js/ButtonExample.js (79%) rename {Examples/UIExplorer => RNTester}/js/CameraRollExample.js (57%) rename {Examples/UIExplorer => RNTester}/js/CameraRollView.js (86%) rename {Examples/UIExplorer => RNTester}/js/ClipboardExample.js (66%) rename {Examples/UIExplorer => RNTester}/js/DatePickerAndroidExample.js (72%) rename {Examples/UIExplorer => RNTester}/js/DatePickerIOSExample.js (85%) rename local-cli/bundle/output/writeFile.js => RNTester/js/ExampleTypes.js (53%) rename {Examples/UIExplorer => RNTester}/js/FlatListExample.js (52%) rename {Examples/UIExplorer => RNTester}/js/GeolocationExample.js (71%) rename {Examples/UIExplorer => RNTester}/js/ImageCapInsetsExample.js (74%) rename local-cli/bundle/output/unbundle/magic-number.js => RNTester/js/ImageEditingExample.js (87%) rename {Examples/UIExplorer => RNTester}/js/ImageExample.js (95%) rename {Examples/UIExplorer => RNTester}/js/KeyboardAvoidingViewExample.js (89%) rename {Examples/UIExplorer => RNTester}/js/LayoutAnimationExample.js (83%) rename {Examples/UIExplorer => RNTester}/js/LayoutEventsExample.js (79%) rename {Examples/UIExplorer => RNTester}/js/LayoutExample.js (81%) rename {Examples/UIExplorer => RNTester}/js/LinkingExample.js (69%) rename {Examples/UIExplorer => RNTester}/js/ListExampleShared.js (80%) rename {Examples/UIExplorer => RNTester}/js/ListViewExample.js (83%) rename {Examples/UIExplorer => RNTester}/js/ListViewGridLayoutExample.js (83%) rename {Examples/UIExplorer => RNTester}/js/ListViewPagingExample.js (91%) create mode 100644 RNTester/js/MaskedViewExample.js rename {Examples/UIExplorer => RNTester}/js/ModalExample.js (88%) rename {Examples/UIExplorer => RNTester}/js/MultiColumnExample.js (79%) rename {Examples/UIExplorer => RNTester}/js/NativeAnimationsExample.js (55%) rename {Examples/UIExplorer => RNTester}/js/NavigatorIOSColorsExample.js (73%) rename {Examples/UIExplorer => RNTester}/js/NavigatorIOSExample.js (92%) rename {Examples/UIExplorer => RNTester}/js/NetInfoExample.js (86%) rename {Examples/UIExplorer => RNTester}/js/OrientationChangeExample.js (70%) rename {Examples/UIExplorer => RNTester}/js/PanResponderExample.js (82%) rename {Examples/UIExplorer => RNTester}/js/PermissionsExampleAndroid.android.js (83%) rename {Examples/UIExplorer => RNTester}/js/PickerExample.js (73%) rename {Examples/UIExplorer => RNTester}/js/PickerIOSExample.js (85%) rename {Examples/UIExplorer => RNTester}/js/PointerEventsExample.js (90%) rename {Examples/UIExplorer => RNTester}/js/ProgressBarAndroidExample.android.js (52%) rename {Examples/UIExplorer => RNTester}/js/ProgressViewIOSExample.js (73%) rename {Examples/UIExplorer => RNTester}/js/PushNotificationIOSExample.js (86%) rename {Examples/UIExplorer => RNTester}/js/RCTRootViewIOSExample.js (75%) create mode 100644 RNTester/js/RNTesterActions.js rename Examples/UIExplorer/js/UIExplorerApp.android.js => RNTester/js/RNTesterApp.android.js (72%) rename Examples/UIExplorer/js/UIExplorerApp.ios.js => RNTester/js/RNTesterApp.ios.js (62%) rename Examples/UIExplorer/js/UIExplorerBlock.js => RNTester/js/RNTesterBlock.js (68%) rename Examples/UIExplorer/js/UIExplorerButton.js => RNTester/js/RNTesterButton.js (56%) create mode 100644 RNTester/js/RNTesterExampleContainer.js rename Examples/UIExplorer/js/UIExplorerExampleList.js => RNTester/js/RNTesterExampleList.js (69%) rename Examples/UIExplorer/js/UIExplorerList.android.js => RNTester/js/RNTesterList.android.js (84%) rename Examples/UIExplorer/js/UIExplorerList.ios.js => RNTester/js/RNTesterList.ios.js (88%) create mode 100644 RNTester/js/RNTesterNavigationReducer.js rename Examples/UIExplorer/js/UIExplorerPage.js => RNTester/js/RNTesterPage.js (61%) rename Examples/UIExplorer/js/UIExplorerSettingSwitchRow.js => RNTester/js/RNTesterSettingSwitchRow.js (79%) rename Examples/UIExplorer/js/UIExplorerStatePersister.js => RNTester/js/RNTesterStatePersister.js (65%) rename Examples/UIExplorer/js/UIExplorerTitle.js => RNTester/js/RNTesterTitle.js (52%) rename {Examples/UIExplorer => RNTester}/js/RTLExample.js (86%) rename {Examples/UIExplorer => RNTester}/js/RefreshControlExample.js (80%) rename {Examples/UIExplorer => RNTester}/js/RootViewSizeFlexibilityExampleApp.js (70%) rename {Examples/UIExplorer => RNTester}/js/ScrollViewExample.js (85%) rename {Examples/UIExplorer => RNTester}/js/ScrollViewSimpleExample.js (73%) rename {Examples/UIExplorer => RNTester}/js/SectionListExample.js (61%) rename {Examples/UIExplorer => RNTester}/js/SegmentedControlIOSExample.js (85%) rename {Examples/UIExplorer => RNTester}/js/SetPropertiesExampleApp.js (56%) rename {Examples/UIExplorer => RNTester}/js/ShareExample.js (81%) rename {Examples/UIExplorer => RNTester}/js/SliderExample.js (84%) create mode 100644 RNTester/js/SnapshotExample.js rename {Examples/UIExplorer => RNTester}/js/StatusBarExample.js (94%) rename {Examples/UIExplorer => RNTester}/js/SwipeableListViewExample.js (85%) rename {Examples/UIExplorer => RNTester}/js/SwitchExample.js (85%) create mode 100644 RNTester/js/TVEventHandlerExample.js rename {Examples/UIExplorer => RNTester}/js/TabBarIOSExample.js (86%) rename {Examples/UIExplorer => RNTester}/js/TextExample.android.js (83%) rename {Examples/UIExplorer => RNTester}/js/TextExample.ios.js (95%) rename {Examples/UIExplorer => RNTester}/js/TextInputExample.android.js (93%) rename {Examples/UIExplorer => RNTester}/js/TextInputExample.ios.js (88%) rename {Examples/UIExplorer => RNTester}/js/Thumbnails/bandaged.png (100%) rename {Examples/UIExplorer => RNTester}/js/Thumbnails/call.png (100%) rename {Examples/UIExplorer => RNTester}/js/Thumbnails/dislike.png (100%) rename {Examples/UIExplorer => RNTester}/js/Thumbnails/fist.png (100%) rename {Examples/UIExplorer => RNTester}/js/Thumbnails/flowers.png (100%) rename {Examples/UIExplorer => RNTester}/js/Thumbnails/heart.png (100%) rename {Examples/UIExplorer => RNTester}/js/Thumbnails/like.png (100%) rename {Examples/UIExplorer => RNTester}/js/Thumbnails/liking.png (100%) rename {Examples/UIExplorer => RNTester}/js/Thumbnails/party.png (100%) rename {Examples/UIExplorer => RNTester}/js/Thumbnails/poke.png (100%) rename {Examples/UIExplorer => RNTester}/js/Thumbnails/superlike.png (100%) rename {Examples/UIExplorer => RNTester}/js/Thumbnails/victory.png (100%) rename {Examples/UIExplorer => RNTester}/js/TimePickerAndroidExample.js (70%) rename {Examples/UIExplorer => RNTester}/js/TimerExample.js (82%) rename {Examples/UIExplorer => RNTester}/js/ToastAndroidExample.android.js (65%) rename {Examples/UIExplorer => RNTester}/js/ToolbarAndroidExample.android.js (72%) rename {Examples/UIExplorer => RNTester}/js/TouchableExample.js (95%) rename {Examples/UIExplorer => RNTester}/js/TransformExample.js (90%) rename {Examples/UIExplorer => RNTester}/js/TransparentHitTestExample.js (100%) create mode 100644 RNTester/js/URIActionMap.js rename {Examples/UIExplorer => RNTester}/js/VibrationExample.js (80%) rename {Examples/UIExplorer => RNTester}/js/VibrationIOSExample.js (61%) rename {Examples/UIExplorer => RNTester}/js/ViewExample.js (90%) rename {Examples/UIExplorer => RNTester}/js/ViewPagerAndroidExample.android.js (91%) rename {Examples/UIExplorer => RNTester}/js/WebSocketExample.js (69%) rename {Examples/UIExplorer => RNTester}/js/WebViewExample.js (94%) rename {Examples/UIExplorer => RNTester}/js/XHRExample.js (69%) rename {Examples/UIExplorer => RNTester}/js/XHRExampleBinaryUpload.js (84%) rename {Examples/UIExplorer => RNTester}/js/XHRExampleCookies.js (84%) rename {Examples/UIExplorer => RNTester}/js/XHRExampleDownload.js (90%) rename {Examples/UIExplorer => RNTester}/js/XHRExampleFetch.js (82%) rename {Examples/UIExplorer => RNTester}/js/XHRExampleFormData.js (90%) rename {Examples/UIExplorer => RNTester}/js/XHRExampleHeaders.js (79%) rename {Examples/UIExplorer => RNTester}/js/XHRExampleOnTimeOut.js (76%) rename {Examples/UIExplorer => RNTester}/js/bunny.png (100%) create mode 100644 RNTester/js/createExamplePage.js rename {Examples/UIExplorer => RNTester}/js/flux@3x.png (100%) rename {Examples/UIExplorer => RNTester}/js/hawk.png (100%) rename {Examples/UIExplorer => RNTester}/js/helloworld.html (100%) rename {Examples/UIExplorer => RNTester}/js/http_test_server.js (52%) mode change 100644 => 100755 create mode 100644 RNTester/js/imageMask.png rename {Examples/UIExplorer => RNTester}/js/messagingtest.html (100%) rename {Examples/UIExplorer => RNTester}/js/relay@3x.png (100%) rename {Examples/UIExplorer => RNTester}/js/slider-left.png (100%) rename {Examples/UIExplorer => RNTester}/js/slider-left@2x.png (100%) rename {Examples/UIExplorer => RNTester}/js/slider-right.png (100%) rename {Examples/UIExplorer => RNTester}/js/slider-right@2x.png (100%) rename {Examples/UIExplorer => RNTester}/js/slider.png (100%) rename {Examples/UIExplorer => RNTester}/js/slider@2x.png (100%) rename {Examples/UIExplorer => RNTester}/js/uie_comment_highlighted@2x.png (100%) rename {Examples/UIExplorer => RNTester}/js/uie_comment_normal@2x.png (100%) rename {Examples/UIExplorer => RNTester}/js/uie_thumb_big.png (100%) rename {Examples/UIExplorer => RNTester}/js/uie_thumb_normal@2x.png (100%) rename {Examples/UIExplorer => RNTester}/js/uie_thumb_selected@2x.png (100%) rename {Examples/UIExplorer => RNTester}/js/websocket_test_server.js (62%) mode change 100644 => 100755 rename React/Base/{RCTBatchedBridge.m => RCTBatchedBridge.mm} (96%) create mode 100644 React/Base/RCTJSEnvironment.h create mode 100644 React/CxxBridge/RCTCxxBridgeDelegate.h rename React/{Modules => DevSupport}/RCTDevLoadingView.h (86%) rename React/{Modules => DevSupport}/RCTDevLoadingView.m (97%) rename React/{Modules => DevSupport}/RCTDevMenu.h (97%) rename React/{Modules => DevSupport}/RCTDevMenu.m (98%) create mode 100644 React/DevSupport/RCTInspectorDevServerHelper.h create mode 100644 React/DevSupport/RCTInspectorDevServerHelper.mm delete mode 100644 React/DevSupport/RCTPackagerClientResponder.m create mode 100644 React/DevSupport/RCTPackagerConnection.h create mode 100644 React/DevSupport/RCTPackagerConnection.m create mode 100644 React/DevSupport/RCTPackagerConnectionBridgeConfig.h create mode 100644 React/DevSupport/RCTPackagerConnectionBridgeConfig.m rename React/DevSupport/{RCTPackagerClientResponder.h => RCTPackagerConnectionConfig.h} (59%) create mode 100644 React/Inspector/RCTInspector.h create mode 100644 React/Inspector/RCTInspector.mm create mode 100644 React/Inspector/RCTInspectorPackagerConnection.h create mode 100644 React/Inspector/RCTInspectorPackagerConnection.m rename React/Modules/{JSCSamplingProfiler.h => RCTJSCSamplingProfiler.h} (91%) rename React/Modules/{JSCSamplingProfiler.m => RCTJSCSamplingProfiler.m} (94%) create mode 100644 React/Modules/RCTLayoutAnimation.h create mode 100644 React/Modules/RCTLayoutAnimation.m create mode 100644 React/Modules/RCTLayoutAnimationGroup.h create mode 100644 React/Modules/RCTLayoutAnimationGroup.m create mode 100644 React/Modules/RCTUIManagerObserverCoordinator.h create mode 100644 React/Modules/RCTUIManagerObserverCoordinator.m delete mode 100644 React/Profiler/RCTJSCProfiler.h delete mode 100644 React/Profiler/RCTJSCProfiler.m rename React/{ReactCxx.xcodeproj => ReactLegacy.xcodeproj}/project.pbxproj (63%) rename Libraries/AdSupport/RCTAdSupport.h => React/Views/RCTMaskedView.h (78%) create mode 100644 React/Views/RCTMaskedView.m rename packager/src/__mocks__/debug.js => React/Views/RCTMaskedViewManager.h (77%) create mode 100644 React/Views/RCTMaskedViewManager.m rename packager/src/node-haste/Cache/__mocks__/index.js => React/Views/RCTShadowView+Hierarchy.h (64%) create mode 100644 React/Views/RCTShadowView+Hierarchy.m create mode 100644 React/Views/RCTShadowView+Layout.h create mode 100644 React/Views/RCTShadowView+Layout.m rename React/{folly.xcconfig => third-party.xcconfig} (100%) create mode 100644 ReactAndroid/src/androidTest/java/com/facebook/react/tests/NativeIdTestCase.java create mode 100644 ReactAndroid/src/androidTest/js/NativeIdTestModule.js create mode 100644 ReactAndroid/src/main/java/com/facebook/jni/CpuCapabilitiesJni.java create mode 100644 ReactAndroid/src/main/java/com/facebook/jni/DestructorThread.java create mode 100644 ReactAndroid/src/main/java/com/facebook/jni/HybridClassBase.java create mode 100644 ReactAndroid/src/main/java/com/facebook/jni/JniTerminateHandler.java create mode 100644 ReactAndroid/src/main/java/com/facebook/react/BridgeCorePackage.java create mode 100644 ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java create mode 100644 ReactAndroid/src/main/java/com/facebook/react/ReactNativeCorePackage.java rename ReactAndroid/src/main/java/com/facebook/react/{cxxbridge => bridge}/CatalystInstanceImpl.java (79%) rename ReactAndroid/src/main/java/com/facebook/react/{cxxbridge/CallbackImpl.java => bridge/CxxCallbackImpl.java} (72%) create mode 100644 ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapper.java create mode 100644 ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.java delete mode 100644 ReactAndroid/src/main/java/com/facebook/react/bridge/ExecutorToken.java rename ReactAndroid/src/main/java/com/facebook/react/{cxxbridge => bridge}/FallbackJSBundleLoader.java (98%) rename ReactAndroid/src/main/java/com/facebook/react/{cxxbridge => bridge}/JSBundleLoader.java (88%) rename ReactAndroid/src/main/java/com/facebook/react/{cxxbridge => bridge}/JSCJavaScriptExecutor.java (53%) create mode 100644 ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.java create mode 100644 ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java rename ReactAndroid/src/main/java/com/facebook/react/{cxxbridge => bridge}/JavaScriptExecutor.java (96%) delete mode 100644 ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModuleRegistration.java create mode 100644 ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java rename ReactAndroid/src/main/java/com/facebook/react/{cxxbridge => bridge}/NativeModuleRegistry.java (69%) delete mode 100644 ReactAndroid/src/main/java/com/facebook/react/bridge/OnExecutorUnregisteredListener.java rename ReactAndroid/src/main/java/com/facebook/react/{cxxbridge => bridge}/ProxyJavaScriptExecutor.java (90%) rename ReactAndroid/src/main/java/com/facebook/react/{cxxbridge => bridge}/ReactCallback.java (93%) rename ReactAndroid/src/main/java/com/facebook/react/{common/SetBuilder.java => bridge/ReactModuleWithSpec.java} (55%) delete mode 100644 ReactAndroid/src/main/java/com/facebook/react/bridge/SupportsWebWorkers.java rename ReactAndroid/src/main/java/com/facebook/react/{cxxbridge => bridge}/bridge.pro (100%) delete mode 100644 ReactAndroid/src/main/java/com/facebook/react/bridge/package_js.py delete mode 100644 ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadRegistry.java delete mode 100644 ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ProxyQueueThreadExceptionHandler.java create mode 100644 ReactAndroid/src/main/java/com/facebook/react/bridge/reactnative.pro delete mode 100644 ReactAndroid/src/main/java/com/facebook/react/common/ApplicationHolder.java rename ReactAndroid/src/main/java/com/facebook/react/{devsupport => common}/DebugServerException.java (97%) delete mode 100644 ReactAndroid/src/main/java/com/facebook/react/cxxbridge/Arguments.java delete mode 100644 ReactAndroid/src/main/java/com/facebook/react/cxxbridge/BUCK delete mode 100644 ReactAndroid/src/main/java/com/facebook/react/cxxbridge/CxxModuleWrapper.java delete mode 100644 ReactAndroid/src/main/java/com/facebook/react/cxxbridge/JavaModuleWrapper.java delete mode 100644 ReactAndroid/src/main/java/com/facebook/react/cxxbridge/ModuleHolder.java delete mode 100644 ReactAndroid/src/main/java/com/facebook/react/cxxbridge/SoftAssertions.java delete mode 100644 ReactAndroid/src/main/java/com/facebook/react/cxxbridge/UiThreadUtil.java create mode 100644 ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.java create mode 100644 ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevBundleDownloadListener.java create mode 100644 ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK create mode 100644 ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.java create mode 100644 ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.java rename ReactAndroid/src/main/java/com/facebook/react/modules/core/{JSTimersExecution.java => JSTimers.java} (81%) create mode 100644 ReactAndroid/src/main/java/com/facebook/react/packagerconnection/SamplingProfilerPackagerMethod.java create mode 100644 ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactZIndexedViewGroup.java create mode 100644 ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.java delete mode 100644 ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/DebugComponentOwnershipModule.java create mode 100644 ReactAndroid/src/main/java/com/facebook/react/uimanager/util/BUCK create mode 100644 ReactAndroid/src/main/java/com/facebook/react/uimanager/util/ReactFindViewUtil.java create mode 100644 ReactAndroid/src/main/java/com/facebook/react/util/BUCK create mode 100644 ReactAndroid/src/main/java/com/facebook/react/util/JSStackTrace.java create mode 100644 ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.java delete mode 100644 ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeAPI.java create mode 100644 ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeType.java create mode 100644 ReactAndroid/src/main/jni/first-party/fb/include/fb/Build.h create mode 100644 ReactAndroid/src/main/jni/first-party/fb/include/fb/fbjni/JWeakReference.h create mode 100644 ReactAndroid/src/main/jni/first-party/fb/include/jni/JniTerminateHandler.h create mode 100644 ReactAndroid/src/main/jni/first-party/fb/jni/android/CpuCapabilities.cpp create mode 100644 ReactAndroid/src/main/jni/first-party/fb/jni/android/ReferenceChecking.cpp create mode 100644 ReactAndroid/src/main/jni/first-party/fb/jni/java/BUCK rename ReactAndroid/src/main/jni/{xreact => packagerconnection}/Android.mk (55%) create mode 100644 ReactAndroid/src/main/jni/packagerconnection/BUCK create mode 100644 ReactAndroid/src/main/jni/packagerconnection/JSPackagerClientResponder.cpp create mode 100644 ReactAndroid/src/main/jni/packagerconnection/JSPackagerClientResponder.h create mode 100644 ReactAndroid/src/main/jni/packagerconnection/OnLoad.cpp create mode 100644 ReactAndroid/src/main/jni/packagerconnection/SamplingProfilerJniMethod.cpp create mode 100644 ReactAndroid/src/main/jni/packagerconnection/SamplingProfilerJniMethod.h rename ReactAndroid/src/main/jni/{xreact => react}/jni/CatalystInstanceImpl.cpp (72%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/CatalystInstanceImpl.h (69%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/CxxModuleWrapper.cpp (73%) create mode 100644 ReactAndroid/src/main/jni/react/jni/CxxModuleWrapper.h create mode 100644 ReactAndroid/src/main/jni/react/jni/CxxModuleWrapperBase.h create mode 100644 ReactAndroid/src/main/jni/react/jni/CxxSharedModuleWrapper.h delete mode 100644 ReactAndroid/src/main/jni/react/jni/Dummy.cpp rename ReactAndroid/src/main/jni/{xreact => react}/jni/JCallback.h (67%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/JInspector.cpp (82%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/JInspector.h (85%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/JMessageQueueThread.cpp (87%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/JMessageQueueThread.h (78%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/JNativeRunnable.h (100%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/JSCPerfLogging.cpp (100%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/JSCPerfLogging.h (100%) create mode 100644 ReactAndroid/src/main/jni/react/jni/JSLoader.cpp rename ReactAndroid/src/main/jni/{xreact => react}/jni/JSLoader.h (63%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/JSLogging.cpp (100%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/JSLogging.h (100%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/JavaModuleWrapper.cpp (69%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/JavaModuleWrapper.h (76%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/JavaScriptExecutorHolder.h (86%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/JniJSModulesUnbundle.cpp (100%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/JniJSModulesUnbundle.h (100%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/MethodInvoker.cpp (55%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/MethodInvoker.h (88%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/ModuleRegistryBuilder.cpp (61%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/ModuleRegistryBuilder.h (75%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/NativeArray.cpp (100%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/NativeArray.h (100%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/NativeCommon.cpp (100%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/NativeCommon.h (100%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/NativeMap.cpp (100%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/NativeMap.h (100%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/OnLoad.cpp (55%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/OnLoad.h (78%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/ProxyExecutor.cpp (99%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/ProxyExecutor.h (98%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/ReadableNativeArray.cpp (100%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/ReadableNativeArray.h (100%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/ReadableNativeMap.cpp (100%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/ReadableNativeMap.h (100%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/WritableNativeArray.cpp (100%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/WritableNativeArray.h (100%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/WritableNativeMap.cpp (100%) rename ReactAndroid/src/main/jni/{xreact => react}/jni/WritableNativeMap.h (100%) rename ReactAndroid/src/main/jni/{xreact => react}/perftests/BUCK (100%) rename ReactAndroid/src/main/jni/{xreact => react}/perftests/OnLoad.cpp (94%) delete mode 100644 ReactAndroid/src/main/jni/xreact/jni/Android.mk delete mode 100644 ReactAndroid/src/main/jni/xreact/jni/BUCK delete mode 100644 ReactAndroid/src/main/jni/xreact/jni/CxxModuleWrapper.h delete mode 100644 ReactAndroid/src/main/jni/xreact/jni/JExecutorToken.cpp delete mode 100644 ReactAndroid/src/main/jni/xreact/jni/JExecutorToken.h delete mode 100644 ReactAndroid/src/main/jni/xreact/jni/JSLoader.cpp delete mode 100644 ReactAndroid/src/main/jni/xreact/jni/JniWebWorkers.h delete mode 100644 ReactAndroid/src/main/jni/xreact/jni/WebWorkers.h create mode 100644 ReactAndroid/src/main/res/views/uimanager/values/ids.xml delete mode 100644 ReactAndroid/src/main/third-party/java/infer-annotations/infer-annotations-1.5.jar create mode 100644 ReactAndroid/src/main/third-party/java/infer-annotations/infer-annotations-4.0.jar rename ReactAndroid/src/test/java/com/facebook/react/{cxxbridge => bridge}/FallbackJSBundleLoaderTest.java (99%) delete mode 100644 ReactAndroid/src/test/java/com/facebook/react/cxxbridge/BUCK create mode 100644 ReactAndroid/src/test/java/com/facebook/react/devsupport/StackTraceHelperTest.java delete mode 100644 ReactCommon/cxxreact/ExecutorToken.h delete mode 100644 ReactCommon/cxxreact/ExecutorTokenFactory.h delete mode 100644 ReactCommon/cxxreact/JSCLegacyProfiler.cpp delete mode 100644 ReactCommon/cxxreact/JSCLegacyProfiler.h delete mode 100644 ReactCommon/cxxreact/JSCWebWorker.cpp delete mode 100644 ReactCommon/cxxreact/JSCWebWorker.h rename ReactCommon/cxxreact/{Executor.h => JSExecutor.h} (69%) create mode 100644 ReactCommon/cxxreact/SharedProxyCxxModule.h create mode 100644 ReactCommon/jschelpers/InspectorInterfaces.cpp create mode 100644 ReactCommon/jschelpers/InspectorInterfaces.h create mode 100644 ReactCommon/yoga/yoga/YGEnums.c create mode 100644 ReactCommon/yoga/yoga/Yoga-internal.h create mode 100644 babel-preset/transforms/transform-regenerator-runtime-insertion.js create mode 100644 blog/2015-03-26-react-native-bringing-modern-web-techniques-to-mobile.md create mode 100644 blog/2015-09-14-react-native-for-android.md create mode 100644 blog/2015-11-23-making-react-native-apps-accessible.md create mode 100644 blog/2016-03-28-dive-into-react-native-performance.md create mode 100644 blog/2016-04-13-react-native-a-year-in-review.md create mode 100644 blog/2017-06-21-react-native-monthly-1.md create mode 100644 blog/2017-07-28-react-native-monthly-2.md create mode 100644 blog/img/big-hero.jpg create mode 100644 blog/img/blue-hero.jpg create mode 100644 blog/img/dark-hero.png create mode 100644 danger/.babelrc create mode 100644 danger/README.md create mode 100644 danger/dangerfile.js create mode 100644 danger/package.json create mode 100644 docs/BuildingForAppleTV.md create mode 100644 docs/ComponentsAndAPIs.md create mode 100644 docs/Contributing.md create mode 100644 docs/Maintainers.md create mode 100644 docs/NativeMethodsMixin.md rename ReactAndroid/src/main/java/com/facebook/react/cxxbridge/ExecutorToken.java => docs/StyleGuide.md (100%) create mode 100644 docs/TodayWidget.md delete mode 100644 flow/babel.js.flow rename babel-preset/configs/internal.js => flow/create-react-class.js (63%) create mode 100644 flow/prop-types.js delete mode 100755 ios-cc.sh delete mode 100644 local-cli/bundle/output/bundle.js delete mode 100644 local-cli/bundle/output/meta.js delete mode 100644 local-cli/bundle/output/unbundle/as-assets.js delete mode 100644 local-cli/bundle/output/unbundle/as-indexed-file.js delete mode 100644 local-cli/bundle/output/unbundle/build-unbundle-sourcemap-with-metadata.js delete mode 100644 local-cli/bundle/output/unbundle/index.js delete mode 100644 local-cli/bundle/output/unbundle/util.js delete mode 100644 local-cli/bundle/output/unbundle/write-sourcemap.js rename packager/src/lib/__mocks__/GlobalTransformCache.js => local-cli/core/Constants.js (73%) create mode 100644 local-cli/core/__fixtures__/files/AndroidManifest-debug.xml create mode 100644 local-cli/core/__fixtures__/files/ReactPackage.kt delete mode 100644 local-cli/core/default.config.js create mode 100644 local-cli/info/info.js delete mode 100644 local-cli/server/formatBanner.js delete mode 100644 local-cli/server/middleware/cpuProfilerMiddleware.js rename {packager/src/node-haste/lib => local-cli/server/util}/__tests__/getInverseDependencies-test.js (100%) create mode 100755 local-cli/server/util/external/xsel create mode 100644 local-cli/server/util/getInverseDependencies.js delete mode 100644 local-cli/server/util/inspectorProxy.js delete mode 100644 packager/.eslintrc delete mode 100644 packager/README.md delete mode 100644 packager/babelRegisterOnly.js delete mode 100644 packager/blacklist.js delete mode 100644 packager/defaults.js delete mode 100644 packager/react-packager.js delete mode 100644 packager/rn-babelrc.json delete mode 100644 packager/rn-cli.config.js delete mode 100644 packager/src/AssetServer/__tests__/AssetServer-test.js delete mode 100644 packager/src/AssetServer/index.js delete mode 100644 packager/src/Bundler/Bundle.js delete mode 100644 packager/src/Bundler/BundleBase.js delete mode 100644 packager/src/Bundler/HMRBundle.js delete mode 100644 packager/src/Bundler/__tests__/Bundle-test.js delete mode 100644 packager/src/Bundler/__tests__/Bundler-test.js delete mode 100644 packager/src/Bundler/index.js delete mode 100644 packager/src/Bundler/source-map/B64Builder.js delete mode 100644 packager/src/Bundler/source-map/Generator.js delete mode 100644 packager/src/Bundler/source-map/__tests__/B64Builder-test.js delete mode 100644 packager/src/Bundler/source-map/__tests__/Generator-test.js delete mode 100644 packager/src/Bundler/source-map/__tests__/source-map-test.js delete mode 100644 packager/src/Bundler/source-map/encode.js delete mode 100644 packager/src/Bundler/source-map/package.json delete mode 100644 packager/src/Bundler/source-map/source-map.js delete mode 100644 packager/src/JSTransformer/README.md delete mode 100644 packager/src/JSTransformer/__mocks__/lodash.js delete mode 100644 packager/src/JSTransformer/__tests__/Transformer-test.js delete mode 100644 packager/src/JSTransformer/index.js delete mode 100644 packager/src/JSTransformer/worker/__tests__/constant-folding-test.js delete mode 100644 packager/src/JSTransformer/worker/__tests__/extract-dependencies-test.js delete mode 100644 packager/src/JSTransformer/worker/__tests__/inline-test.js delete mode 100644 packager/src/JSTransformer/worker/__tests__/minify-test.js delete mode 100644 packager/src/JSTransformer/worker/__tests__/worker-test.js delete mode 100644 packager/src/JSTransformer/worker/constant-folding.js delete mode 100644 packager/src/JSTransformer/worker/extract-dependencies.js delete mode 100644 packager/src/JSTransformer/worker/index.js delete mode 100644 packager/src/JSTransformer/worker/inline.js delete mode 100644 packager/src/JSTransformer/worker/minify.js delete mode 100644 packager/src/JSTransformer/worker/worker.js delete mode 100644 packager/src/Logger/Types.js delete mode 100644 packager/src/Logger/__mocks__/chalk.js delete mode 100644 packager/src/Logger/__tests__/Logger-test.js delete mode 100644 packager/src/Logger/index.js delete mode 100644 packager/src/ModuleGraph/Graph.js delete mode 100644 packager/src/ModuleGraph/ModuleGraph.js delete mode 100644 packager/src/ModuleGraph/__tests__/Graph-test.js delete mode 100644 packager/src/ModuleGraph/__tests__/ModuleGraph-test.js delete mode 100644 packager/src/ModuleGraph/node-haste/HasteFS.js delete mode 100644 packager/src/ModuleGraph/node-haste/Module.js delete mode 100644 packager/src/ModuleGraph/node-haste/ModuleCache.js delete mode 100644 packager/src/ModuleGraph/node-haste/Package.js delete mode 100644 packager/src/ModuleGraph/node-haste/node-haste.flow.js delete mode 100644 packager/src/ModuleGraph/node-haste/node-haste.js delete mode 100644 packager/src/ModuleGraph/node-haste/package.json delete mode 100644 packager/src/ModuleGraph/output/__tests__/util-test.js delete mode 100644 packager/src/ModuleGraph/output/as-plain-bundle.js delete mode 100644 packager/src/ModuleGraph/output/source-map.js delete mode 100644 packager/src/ModuleGraph/output/util.js delete mode 100644 packager/src/ModuleGraph/package.json delete mode 100644 packager/src/ModuleGraph/silent-console.js delete mode 100644 packager/src/ModuleGraph/test-helpers.js delete mode 100644 packager/src/ModuleGraph/types.flow.js delete mode 100644 packager/src/ModuleGraph/worker.js delete mode 100644 packager/src/ModuleGraph/worker/__tests__/collect-dependencies-test.js delete mode 100644 packager/src/ModuleGraph/worker/__tests__/optimize-module-test.js delete mode 100644 packager/src/ModuleGraph/worker/__tests__/transform-module-test.js delete mode 100644 packager/src/ModuleGraph/worker/__tests__/wrap-worker-fn-test.js delete mode 100644 packager/src/ModuleGraph/worker/collect-dependencies.js delete mode 100644 packager/src/ModuleGraph/worker/generate.js delete mode 100644 packager/src/ModuleGraph/worker/optimize-module.js delete mode 100644 packager/src/ModuleGraph/worker/transform-module.js delete mode 100644 packager/src/ModuleGraph/worker/wrap-worker-fn.js delete mode 100644 packager/src/Resolver/__tests__/Resolver-test.js delete mode 100644 packager/src/Resolver/index.js delete mode 100644 packager/src/Resolver/polyfills/prelude.js delete mode 100644 packager/src/Resolver/polyfills/require.js delete mode 100644 packager/src/Server/MultipartResponse.js delete mode 100644 packager/src/Server/__tests__/MultipartResponse-test.js delete mode 100644 packager/src/Server/__tests__/Server-test.js delete mode 100644 packager/src/Server/index.js delete mode 100644 packager/src/Server/symbolicate/__tests__/symbolicate-test.js delete mode 100644 packager/src/Server/symbolicate/__tests__/util-test.js delete mode 100644 packager/src/Server/symbolicate/__tests__/worker-test.js delete mode 100644 packager/src/Server/symbolicate/package.json delete mode 100644 packager/src/Server/symbolicate/util.js delete mode 100644 packager/src/Server/symbolicate/worker.js delete mode 100644 packager/src/lib/BatchProcessor.js delete mode 100644 packager/src/lib/GlobalTransformCache.js delete mode 100644 packager/src/lib/JsonReporter.js delete mode 100644 packager/src/lib/ModuleTransport.js delete mode 100644 packager/src/lib/SourceMap.js delete mode 100644 packager/src/lib/TerminalReporter.js delete mode 100644 packager/src/lib/TransformCache.js delete mode 100644 packager/src/lib/__mocks__/TransformCache.js delete mode 100644 packager/src/lib/__mocks__/declareOpts.js delete mode 100644 packager/src/lib/__tests__/BatchProcessor-test.js delete mode 100644 packager/src/lib/__tests__/GlobalTransformCache-test.js delete mode 100644 packager/src/lib/__tests__/TransformCache-test.js delete mode 100644 packager/src/lib/__tests__/__snapshots__/GlobalTransformCache-test.js.snap delete mode 100644 packager/src/lib/__tests__/declareOpts-test.js delete mode 100644 packager/src/lib/__tests__/terminal-test.js delete mode 100644 packager/src/lib/declareOpts.js delete mode 100644 packager/src/lib/relativizeSourceMap.js delete mode 100644 packager/src/lib/reporting.js delete mode 100644 packager/src/lib/terminal.js delete mode 100644 packager/src/node-haste/AssetModule.js delete mode 100644 packager/src/node-haste/Cache/__tests__/Cache-test.js delete mode 100644 packager/src/node-haste/Cache/index.js delete mode 100644 packager/src/node-haste/DependencyGraph/DependencyGraphHelpers.js delete mode 100644 packager/src/node-haste/DependencyGraph/HasteMap.js delete mode 100644 packager/src/node-haste/DependencyGraph/ResolutionRequest.js delete mode 100644 packager/src/node-haste/DependencyGraph/ResolutionResponse.js delete mode 100644 packager/src/node-haste/DependencyGraph/assets/empty-module.js delete mode 100644 packager/src/node-haste/DependencyGraph/docblock.js delete mode 100644 packager/src/node-haste/Module.js delete mode 100644 packager/src/node-haste/ModuleCache.js delete mode 100644 packager/src/node-haste/Package.js delete mode 100644 packager/src/node-haste/Polyfill.js delete mode 100644 packager/src/node-haste/__mocks__/graceful-fs.js delete mode 100644 packager/src/node-haste/__tests__/AssetModule-test.js delete mode 100644 packager/src/node-haste/__tests__/Module-test.js delete mode 100644 packager/src/node-haste/lib/AsyncTaskGroup.js delete mode 100644 packager/src/node-haste/lib/MapWithDefaults.js delete mode 100644 packager/src/node-haste/lib/__tests__/getAssetDataFromName-test.js delete mode 100644 packager/src/node-haste/lib/__tests__/getPlatformExtension-test.js delete mode 100644 packager/src/node-haste/lib/getAssetDataFromName.js delete mode 100644 packager/src/node-haste/lib/getInverseDependencies.js delete mode 100644 packager/src/node-haste/lib/getPlatformExtension.js delete mode 100644 packager/src/node-haste/lib/replacePatterns.js delete mode 100644 packager/transformer.js create mode 100644 rn-get-polyfills.js create mode 100755 scripts/ios-configure-glog.sh rename ios-install-third-party.sh => scripts/ios-install-third-party.sh (72%) rename {packager => scripts}/launchPackager.bat (100%) rename {packager => scripts}/launchPackager.command (91%) rename {packager => scripts}/packager.sh (86%) rename {packager => scripts}/react-native-xcode.sh (76%) create mode 100644 third-party-podspecs/DoubleConversion.podspec create mode 100644 third-party-podspecs/Folly.podspec create mode 100644 third-party-podspecs/GLog.podspec create mode 100644 website/core/EjectBanner.js create mode 100644 website/core/SnackPlayer.js create mode 100644 website/src/react-native/css/prism.css create mode 100644 website/src/react-native/img/AVDManagerMacOS.png create mode 100644 website/src/react-native/img/AVDManagerWindows.png create mode 100644 website/src/react-native/img/AdministratorCommandPrompt.png create mode 100644 website/src/react-native/img/AndroidEnvironmentVariableANDROID_HOME.png delete mode 100644 website/src/react-native/img/AndroidSDKManager.png create mode 100644 website/src/react-native/img/AndroidSDKManagerInstallsMacOS.png create mode 100644 website/src/react-native/img/AndroidSDKManagerInstallsWindows.png create mode 100644 website/src/react-native/img/AndroidSDKManagerMacOS.png create mode 100644 website/src/react-native/img/AndroidSDKManagerSDKToolsMacOS.png create mode 100644 website/src/react-native/img/AndroidSDKManagerSDKToolsWindows.png create mode 100644 website/src/react-native/img/AndroidSDKManagerWindows.png create mode 100644 website/src/react-native/img/AndroidStudioCustomSetup.png create mode 100644 website/src/react-native/img/AndroidStudioWelcomeMacOS.png create mode 100644 website/src/react-native/img/AndroidStudioWelcomeWindows.png delete mode 100644 website/src/react-native/img/AndroidSuccess.png create mode 100644 website/src/react-native/img/AndroidSuccessMacOS.png create mode 100644 website/src/react-native/img/AndroidSuccessWindows.png create mode 100644 website/src/react-native/img/Button.png create mode 100644 website/src/react-native/img/ConfigureReleaseScheme.png delete mode 100644 website/src/react-native/img/CreateAVD.png create mode 100644 website/src/react-native/img/CreateAVDMacOS.png create mode 100644 website/src/react-native/img/CreateAVDWindows.png create mode 100644 website/src/react-native/img/CreateAVDx86MacOS.png create mode 100644 website/src/react-native/img/CreateAVDx86Windows.png create mode 100644 website/src/react-native/img/Inspector.gif create mode 100644 website/src/react-native/img/ReactDevTools.png create mode 100644 website/src/react-native/img/ReactDevToolsDollarR.gif create mode 100644 website/src/react-native/img/ReactDevToolsInspector.gif create mode 100644 website/src/react-native/img/RunningOnDeviceCodeSigning.png create mode 100644 website/src/react-native/img/RunningOnDeviceReady.png create mode 100644 website/src/react-native/img/TodayWidgetUnableToLoad.jpg delete mode 100644 website/src/react-native/img/react-native-android-sdk-environment-variable-windows.png diff --git a/.buckconfig b/.buckconfig index 8e9e59e246b7..19c2d6302ea9 100644 --- a/.buckconfig +++ b/.buckconfig @@ -2,9 +2,11 @@ [android] target = Google Inc.:Google APIs:23 +[download] + max_number_of_retries = 3 + [maven_repositories] central = https://repo1.maven.org/maven2 [alias] - movies = //Examples/Movies/android/app:app - uiexplorer = //Examples/UIExplorer/android/app:app + rntester = //RNTester/android/app:app diff --git a/.eslintignore b/.eslintignore index d0528c4a5361..d59f8f3846e4 100644 --- a/.eslintignore +++ b/.eslintignore @@ -3,3 +3,13 @@ **/staticBundle.js **/main.js Libraries/vendor/**/* +Libraries/Renderer/* +website/node_modules +pr-inactivity-bookmarklet.js +question-bookmarklet.js +flow/ +website/core/metadata.js +website/core/metadata-blog.js +website/src/react-native/docs/ +website/src/react-native/blog/ +danger/ diff --git a/.eslintrc b/.eslintrc index ef11f5e9605d..2e07c99e8003 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,4 +1,6 @@ { + "root": true, + "parser": "babel-eslint", "ecmaFeatures": { @@ -11,6 +13,8 @@ }, "plugins": [ + "flowtype", + "prettier", "react" ], @@ -49,33 +53,17 @@ "setTimeout": false, "window": false, "XMLHttpRequest": false, - "pit": false, - - // Flow global types. - "ReactComponent": false, - "ReactClass": false, - "ReactElement": false, - "ReactPropsCheckType": false, - "ReactPropsChainableTypeChecker": false, - "ReactPropTypes": false, - "SyntheticEvent": false, - "$Either": false, - "$All": false, - "$ArrayBufferView": false, - "$Tuple": false, - "$Supertype": false, - "$Subtype": false, - "$Shape": false, - "$Diff": false, - "$Keys": false, - "$Enum": false, - "$Exports": false, - "$FlowIssue": false, - "$FlowFixMe": false, - "$FixMe": false + "pit": false }, "rules": { + // Flow Plugin + // The following rules are made available via `eslint-plugin-flowtype` + "flowtype/define-flow-type": 1, + "flowtype/use-flow-type": 1, + + // General + "comma-dangle": 0, // disallow trailing commas in object literals "no-cond-assign": 1, // disallow assignment in conditional expressions "no-console": 0, // disallow use of console (off by default in the node environment) @@ -176,6 +164,10 @@ "no-restricted-modules": 1, // restrict usage of specified node modules (off by default) "no-sync": 0, // disallow use of synchronous methods (off by default) + // Prettier Plugin + // https://github.com/prettier/eslint-plugin-prettier + "prettier/prettier": [2, "fb", "@format"], + // Stylistic Issues // These rules are purely matters of style and are quite subjective. @@ -228,6 +220,7 @@ "react/display-name": 0, "react/jsx-boolean-value": 0, + "react/jsx-no-comment-textnodes": 1, "react/jsx-no-duplicate-props": 2, "react/jsx-no-undef": 1, "react/jsx-sort-props": 0, @@ -241,6 +234,6 @@ "react/prop-types": 0, "react/react-in-jsx-scope": 1, "react/self-closing-comp": 1, - "react/wrap-multilines": 0, + "react/wrap-multilines": 0 } } diff --git a/.flowconfig b/.flowconfig index 2eb01377dc3f..13b56d4afb84 100644 --- a/.flowconfig +++ b/.flowconfig @@ -8,6 +8,9 @@ ; Ignore the website subdir /website/.* +; Ignore the Dangerfile +/danger/dangerfile.js + ; Ignore "BUCK" generated dirs /\.buckd/ @@ -18,12 +21,9 @@ ; For RN Apps installed via npm, "Libraries" folder is inside ; "node_modules/react-native" but in the source repo it is in the root .*/Libraries/react-native/React.js -.*/Libraries/react-native/ReactNative.js -; Ignore duplicate ReactErrorUtils in react-dom/lib in React 16 alpha 4. -; TODO (bvaughn) Remove this once we've synced to React 16 alpha 5. -; For more info see https://phabricator.intern.facebook.com/D4747529#10 -/node_modules/react-dom/lib/ReactErrorUtils.js +; Ignore polyfills +.*/Libraries/polyfills/.* [include] @@ -36,8 +36,6 @@ emoji=true module.system=haste -experimental.strict_type_args=true - munge_underscores=true module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> 'RelativeImageStub' @@ -46,12 +44,12 @@ suppress_type=$FlowIssue suppress_type=$FlowFixMe suppress_type=$FixMe -suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(4[0-2]\\|[1-3][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native_oss[a-z,_]*\\)?)\\) -suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(4[0-2]\\|[1-3][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native_oss[a-z,_]*\\)?)\\)?:? #[0-9]+ +suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(5[0-1]\\|[1-4][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native_oss[a-z,_]*\\)?)\\) +suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(5[0-1]\\|[1-4][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native_oss[a-z,_]*\\)?)\\)?:? #[0-9]+ suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError unsafe.enable_getters_and_setters=true [version] -^0.42.0 +^0.51.0 diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 000000000000..242542b807d3 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,20 @@ +docs/* @facebook/react-native +blog/* @facebook/react-native +Libraries/Animated/* @janicduplessis +Libraries/NativeAnimation/* @janicduplessis +Libraries/Image/* @shergin +Libraries/Text/* @shergin +React/Base/* @shergin @javache +React/Views/* @shergin @javache +React/Modules/* @shergin @javache +React/CxxBridge/* @javache +React/Executors/* @javache +ReactAndroid/src/main/java/com/facebook/react/animated/* @janicduplessis +ReactCommon/* @javache +website/* @facebook/react-native +website/showcase.json @facebook/react-native +package.json @facebook/react-native +website/package.json @facebook/react-native +local-cli/core/* @grabbou @kureev +local-cli/link/* @grabbou @kureev +local-cli/unlink/* @grabbou @kureev diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 4359d355b842..8a648f7faba7 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,29 +1,124 @@ -Please read the following carefully before opening a new issue. -Your issue may be closed if it does not provide the information required by this template. + -We use GitHub Issues for tracking bugs in React Native. +### Is this a bug report? -- If you have a question, ask on Stack Overflow: http://stackoverflow.com/questions/tagged/react-native -- If you have a feature request, post it on Canny: https://react-native.canny.io/feature-requests +(write your answer here) ---- Delete everything above this line --- + -### Solution -What needs to be done to address this issue? Ideally, provide a pull request with a fix. +### Have you read the Bugs section of the How to Contribute guide? -### Additional Information +(Write your answer here.) -* React Native version: [FILL THIS OUT: Be specific, filling out "latest" here is not enough.] -* Platform: [FILL THIS OUT: iOS, Android, or both?] -* Development Operating System: [FILL THIS OUT: Are you developing on MacOS, Linux, or Windows?] -* Dev tools: [FILL THIS OUT: Xcode or Android Studio version, iOS or Android SDK version, if applicable] + + +### Environment + + + +1. `react-native -v`: +2. `node -v`: +3. `npm -v`: +4. `yarn --version`: + +Then, specify: + + +- Target Platform: + + +- Development Operating System: + + +- Build tools: + +### Steps to Reproduce + + + +(Write your steps here:) + +1. +2. +3. + +### Expected Behavior + + + +(Write what you thought would happen.) + +### Actual Behavior + + + +(Write what happened. Add screenshots!) + +### Reproducible Demo + + + +(Paste the link to an example project and exact instructions to reproduce the issue.) + + diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index de18092adff8..9c1b6a10ca8b 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,32 +1,9 @@ -Thanks for submitting a PR! Please read these instructions carefully: + diff --git a/.gitignore b/.gitignore index 57b9cbcb1cad..15a2a9668a1a 100644 --- a/.gitignore +++ b/.gitignore @@ -23,10 +23,10 @@ project.xcworkspace # Gradle /build/ -/Examples/**/android/app/build/ -/Examples/**/android/app/gradle/ -/Examples/**/android/app/gradlew -/Examples/**/android/app/gradlew.bat +/RNTester/android/app/build/ +/RNTester/android/app/gradle/ +/RNTester/android/app/gradlew +/RNTester/android/app/gradlew.bat /ReactAndroid/build/ # Buck @@ -47,6 +47,7 @@ local.properties node_modules *.log .nvm +/danger/node_modules/ # OS X .DS_Store diff --git a/.travis.yml b/.travis.yml index 0cbf424aacd8..5f0fea0bf05a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,27 +1,23 @@ language: objective-c -osx_image: xcode8.2 +osx_image: xcode8.3 install: - - mkdir -p /Users/travis/build/facebook/.nvm - - export NVM_DIR="/Users/travis/build/facebook/.nvm" - - brew install nvm - - source $(brew --prefix nvm)/nvm.sh - # TODO npm 2 started stalling on Travis, t11852928 - - # Use node 6 because that is what runs on land-blocking tests - - nvm install 6 + - nvm install 7 - rm -Rf "${TMPDIR}/jest_preprocess_cache" - - wget https://github.com/yarnpkg/yarn/releases/download/v0.16.0/yarn-0.16.0.js - - export yarn="node $(pwd)/yarn-0.16.0.js" - - $yarn install + - brew install yarn --ignore-dependencies + - brew install watchman + - yarn install script: - - if [[ "$TEST_TYPE" = objc-ios ]]; then travis_retry travis_wait ./scripts/objc-test-ios.sh test; fi - - if [[ "$TEST_TYPE" = objc-tvos ]]; then travis_retry travis_wait ./scripts/objc-test-tvos.sh; fi + - if [[ "$TEST_TYPE" = objc-ios ]]; then travis_retry travis_wait 30 ./scripts/objc-test-ios.sh test; fi + - if [[ "$TEST_TYPE" = objc-tvos ]]; then travis_retry travis_wait 30 ./scripts/objc-test-tvos.sh; fi - if [[ "$TEST_TYPE" = e2e-objc ]]; then node ./scripts/run-ci-e2e-tests.js --ios --js --retries 3; fi - - if [[ ( "$TEST_TYPE" = podspecs ) && ( "$TRAVIS_PULL_REQUEST" = "false" ) ]]; then gem install cocoapods && ./scripts/process-podspecs.sh; fi + - if [[ ( "$TEST_TYPE" = podspecs ) && ( "$TRAVIS_PULL_REQUEST" = "false" ) ]]; then gem install cocoapods && travis_wait 30 ./scripts/process-podspecs.sh; fi +cache: + - cocoapods + - yarn matrix: - fast_finish: true # Fail the whole build as soon as one test type fails. Should help with Travis capacity issues (very long queues). @@ -41,7 +37,6 @@ branches: notifications: email: recipients: - - mkonicek@fb.com - douglowder@mac.com # Doug Lowder built and maintains Apple TV specific code and wants to be notified about tvOS failures. - eloy@artsy.net # Eloy Durán maintains the podspecs test and wants to be notified about failures. on_failure: change diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 59731909c8a3..d64ff1b5217d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,44 +1,145 @@ # Contributing to React Native -React Native is one of Facebook's first open source projects that is both under very active development and is also being used to ship code to everybody on [facebook.com](https://facebook.com). We're still working out the kinks to make contributing to this project as easy and transparent as possible, but we're not quite there yet. Hopefully this document makes the process for contributing clear and preempts some questions you may have. + +React Native is one of Facebook's first open source projects that is both under very active development and is also being used to ship code to everybody using Facebook's mobile apps. If you're interested in contributing to React Native, hopefully this document makes the process for contributing clear. -## Our Development Process +Core contributors to React Native meet monthly and post their meeting notes on the [React Native blog](https://facebook.github.io/react-native/blog). You can also find ad hoc discussions in the [React Native Core Contributors](https://www.facebook.com/groups/reactnativeoss/) Facebook group. -Some of the core team will be working directly on GitHub. These changes will be public from the beginning. Other changesets will come via a bridge with Facebook's internal source control. This is a necessity as it allows engineers at Facebook outside of the core team to move fast and contribute from an environment they are comfortable in. +## [Code of Conduct](https://code.facebook.com/codeofconduct) -### `master` is unsafe +Facebook has adopted a Code of Conduct that we expect project participants to adhere to. Please read [the full text](https://code.facebook.com/codeofconduct) so that you can understand what actions will and will not be tolerated. -We will do our best to keep `master` in good shape, with tests passing at all times. But in order to move fast, we will make API changes that your application might not be compatible with. We will do our best to communicate these changes and version appropriately so you can lock into a specific version if need be. +## How to contribute -### Pull Requests +There are many ways to contribute to React Native, and many of them do not involve writing any code. Here's a few ideas to get started: -The core team will be monitoring for pull requests. When we get one, we'll run some Facebook-specific integration tests on it first. From here, we'll need to get another person to sign off on the changes and then merge the pull request. For API changes we may need to fix internal uses, which could cause some delay. We'll do our best to provide updates and feedback throughout the process. +* Simply start using React Native. Go through the [Getting Started](http://facebook.github.io/react-native/docs/getting-started.html) guide. Does everything work as expected? If not, we're always looking for improvements. Let us know by [opening an issue](http://facebook.github.io/react-native/docs/contributing.html#reporting-new-issues). +* Look through the [open issues](https://github.com/facebook/react-native/issues). Provide workarounds, ask for clarification, or suggest labels. Help [triage issues](http://facebook.github.io/react-native/docs/contributing.html#triaging-issues-and-pull-requests). +* If you find an issue you would like to fix, [open a pull request](http://facebook.github.io/react-native/docs/contributing.html#your-first-pull-request). Issues tagged as [`Good First Task`](https://github.com/facebook/react-native/labels/Good%20First%20Task) are a good place to get started. +* Read through the [React Native docs](http://facebook.github.io/react-native/docs). If you find anything that is confusing or can be improved, you can make edits by clicking "Improve this page" at the bottom of most docs. +* Browse [Stack Overflow](https://stackoverflow.com/questions/tagged/react-native) and answer questions. This will help you get familiarized with common pitfalls or misunderstandings, which can be useful when contributing updates to the documentation. +* Take a look at the [features requested](https://react-native.canny.io/feature-requests) by others in the community and consider opening a pull request if you see something you want to work on. -**Please submit your pull request on the `master` branch**. If the fix is critical and should be included in a stable branch please mention it and it will be cherry picked into it by a project maintainer. +Contributions are very welcome. If you think you need help planning your contribution, please hop into [#react-native](https://discord.gg/0ZcbPKXt5bZjGY5n) and let people know you're looking for a mentor. -*Before* submitting a pull request, please make sure the following is done… +### Triaging issues and pull requests -1. Fork the repo and create your branch from `master`. -2. **Describe your test plan in your commit.** - - If you've added code that should be tested, add tests! - - If you've changed APIs, update the documentation. - - If you've updated the docs, verify the website locally and submit screenshots if applicable. +One great way you can contribute to the project without writing any code is to help triage issues and pull requests as they come in. - ``` - $ cd website - $ npm install && npm start - Open the following in your browser: http://localhost:8079/react-native/index.html - ``` +* Ask for more information if the issue does not provide all the details required by the template. +* Suggest [labels](https://github.com/facebook/react-native/labels) that can help categorize issues. +* Flag issues that are stale or that should be closed. +* Ask for test plans and review code. -3. Add the copyright notice to the top of any new files you've added. -4. Ensure tests pass on Travis and Circle CI. -5. Make sure your code lints (`node linter.js `). -6. If you haven't already, sign the [CLA](https://code.facebook.com/cla). -7. Squash your commits (`git rebase -i`). - One intent alongside one commit makes it clearer for people to review and easier to understand your intention. +Adding labels, closing and reopening issues, and merging pull requests is, as you may expect, limited to a subset of contributors. Simply commenting on the issue or pull request can still go a long way towards helping us keep the number of outstanding issues under control. + +Once you have become an active contributor in the community, you may gain access to the Facebook GitHub Bot, allowing you to perform some of these operations yourself. You can learn more about the bot in the [maintainer's guide](docs/maintainers.html#facebook-github-bot). + + +## Our development process + +Some of the core team will be working directly on [GitHub](https://github.com/facebook/react-native). These changes will be public from the beginning. Other changesets will come via a bridge with Facebook's internal source control. This is a necessity as it allows engineers at Facebook outside of the core team to move fast and contribute from an environment they are comfortable in. + +When a change made on GitHub is approved, it will first be imported into Facebook's internal source control. The change will eventually sync back to GitHub as a single commit once it has passed all internal tests. + +### Branch organization + +We will do our best to keep `master` in good shape, with tests passing at all times. But in order to move fast, we will make API changes that your application might not be compatible with. We will do our best to [communicate these changes](https://github.com/facebook/react-native/releases) and version appropriately so you can lock into a specific version if need be. + +To see what changes are coming and provide better feedback to React Native contributors, use the [latest release candidate](http://facebook.github.io/react-native/versions.html) when possible. By the time a release candidate is released, the changes it contains will have been shipped in production Facebook apps for over two weeks. + +## Bugs + +We use [GitHub Issues](https://github.com/facebook/react-native/issues) for our public bugs. If you would like to report a problem, take a look around and see if someone already opened an issue about it. If you a are certain this is a new, unreported bug, you can submit a [bug report](http://facebook.github.io/react-native/docs/contributing.html#reporting-new-issues). + +If you have questions about using React Native, the [help page](http://facebook.github.io/react-native/support.html) list various resources that should help you get started. + +We also have a [place where you can request features or enhancements](https://react-native.canny.io/feature-requests). If you see anything you'd like to be implemented, vote it up and explain your use case. + +## Reporting new issues + +When [opening a new issue](https://github.com/facebook/react-native/issues/new), always make sure to fill out the [issue template](https://raw.githubusercontent.com/facebook/react-native/master/.github/ISSUE_TEMPLATE.md). **This step is very important!** Not doing so may result in your issue getting closed. Don't take this personally if this happens, and feel free to open a new issue once you've gathered all the information required by the template. + +* **One issue, one bug:** Please report a single bug per issue. +* **Provide a Snack:** The best way to get attention on your issue is to provide a reduced test case. You can use [Snack](https://snack.expo.io/) to demonstrate the issue. +* **Provide reproduction steps:** List all the steps necessary to reproduce the issue. Provide a Snack or upload a sample project to GitHub. The person reading your bug report should be able to follow these steps to reproduce your issue with minimal effort. +* **Try out the latest version:** Verify that the issue can be reproduced locally by updating your project to use [React Native from `master`](http://facebook.github.io/react-native/versions.html). The bug may have already been fixed! + +We're not able to provide support through GitHub Issues. If you're looking for help with your code, consider asking on [Stack Overflow](http://stackoverflow.com/questions/tagged/react-native) or reaching out to the community through [other channels](https://facebook.github.io/react-native/support.html). + +### Security bugs + +Facebook has a [bounty program](https://www.facebook.com/whitehat/) for the safe disclosure of security bugs. With that in mind, please do not file public issues; go through the process outlined on that page. + +## Pull requests + +### Your first pull request + +So you have decided to contribute code back to upstream by opening a pull request. You've invested a good chunk of time, and we appreciate it. We will do our best to work with you and get the PR looked at. + +Working on your first Pull Request? You can learn how from this free video series: + +[**How to Contribute to an Open Source Project on GitHub**](https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github) + +We have a list of [beginner friendly issues](https://github.com/facebook/react-native/labels/Good%20First%20Task) to help you get your feet wet in the React Native codebase and familiar with our contribution process. This is a great place to get started. + +### Proposing a change + +If you would like to request a new feature or enhancement but are not yet thinking about opening a pull request, we have a [place to track feature requests](https://react-native.canny.io/feature-requests). + +If you intend to change the public API, or make any non-trivial changes to the implementation, we recommend [filing an issue](https://github.com/facebook/react-native/issues/new). This lets us reach an agreement on your proposal before you put significant effort into it. + +If you're only fixing a bug, it's fine to submit a pull request right away but we still recommend to file an issue detailing what you're fixing. This is helpful in case we don't accept that specific fix but want to keep track of the issue. + +### Sending a pull request + +Small pull requests are much easier to review and more likely to get merged. Make sure the PR does only one thing, otherwise please split it. + +**Before submitting a pull request**, please make sure the following is done: + +1. Fork [the repository](https://github.com/facebook/react-native) and create your branch from `master`. +2. Add the copyright notice to the top of any new files you've added. +3. Describe your [**test plan**](https://facebook.github.io/react-native/docs/contributing.html#test-plan) in your commit. +4. Ensure [**tests pass**](https://facebook.github.io/react-native/docs/contributing.html#continuous-integration-tests) on both Travis and Circle CI. +5. Make sure your code lints (`npm run lint`). +6. If you haven't already, [sign the CLA](https://code.facebook.com/cla). + +All pull requests should be opened against the `master` branch. > **Note:** It is not necessary to keep clicking `Merge master to your branch` on the PR page. You would want to merge master if there are conflicts or tests are failing. The Facebook-GitHub-Bot ultimately squashes all commits to a single one before merging your PR. +#### Test plan + +A good test plan has the exact commands you ran and their output, provides screenshots or videos if the pull request changes UI or updates the website. + +* If you've added code that should be tested, add tests! +* If you've changed APIs, update the documentation. +* If you've updated the docs, verify the website locally and submit screenshots if applicable (see [website/README.md](https://github.com/facebook/react-native/blob/master/website/README.md)) + +See [What is a Test Plan?](https://medium.com/@martinkonicek/what-is-a-test-plan-8bfc840ec171#.y9lcuqqi9) to learn more. + +#### Continuous integration tests + +Make sure all **tests pass** on both [Travis][travis] and [Circle CI][circle]. PRs that break tests are unlikely to be merged. Learn more about [testing your changes here](https://facebook.github.io/react-native/docs/testing.html). + +[travis]: https://travis-ci.org/facebook/react-native +[circle]: http://circleci.com/gh/facebook/react-native + +#### Breaking changes + +When adding a new breaking change, follow this template in your pull request: + +``` +### New breaking change here + +* **Who does this affect**: +* **How to migrate**: +* **Why make this breaking change**: +* **Severity (number of people affected x effort)**: +``` + +If your pull request is merged, a core contributor will update the [list of breaking changes](https://github.com/facebook/react-native/wiki/Breaking-Changes) which is then used to populate the release notes. + #### Copyright Notice for files Copy and paste this to the top of your new file(s): @@ -56,34 +157,21 @@ Copy and paste this to the top of your new file(s): If you've added a new module, add a `@providesModule ` at the end of the comment. This will allow the haste package manager to find it. -### Contributor License Agreement (CLA) - -In order to accept your pull request, we need you to submit a CLA. You only need to do this once, so if you've done this for another Facebook open source project, you're good to go. If you are submitting a pull request for the first time, just let us know that you have completed the CLA and we can cross-check with your GitHub username. - -[Complete your CLA here](https://code.facebook.com/cla) - -## Bugs - -### Where to Find Known Issues +#### Contributor License Agreement (CLA) -We are using GitHub Issues for our public bugs. We keep a close eye on this and try to make it clear when we have an internal fix in progress. Before filing a new task, try to make sure your problem doesn't already exist. +In order to accept your pull request, we need you to submit a CLA. You only need to do this once, so if you've done this for another Facebook open source project, you're good to go. If you are submitting a pull request for the first time, the Facebook GitHub Bot will reply with a link to the CLA form. You may also [complete your CLA here](https://code.facebook.com/cla). -### Reporting New Issues +### What happens next? -The best way to get your bug fixed is to provide a reduced test case. Please provide either a public repository with a runnable example or a [Sketch](https://sketch.expo.io/). +The core team will be monitoring for pull requests. Read [what to expect from maintainers](https://facebook.github.io/react-native/docs/maintainers.html#handling-pull-requests) to understand what may happen after you open a pull request. -### Security Bugs - -Facebook has a [bounty program](https://www.facebook.com/whitehat/) for the safe disclosure of security bugs. With that in mind, please do not file public issues; go through the process outlined on that page. - -## How to Get in Touch +## Style Guide -* [Facebook](https://www.facebook.com/groups/react.native.community/) -* [Twitter](https://www.twitter.com/reactnative) +Our linter will catch most styling issues that may exist in your code. You can check the status of your code styling by simply running `npm run lint`. -## Style Guide +However, there are still some styles that the linter cannot pick up. -### Code +### Code Conventions #### General @@ -129,3 +217,4 @@ Facebook has a [bounty program](https://www.facebook.com/whitehat/) for the safe ## License By contributing to React Native, you agree that your contributions will be licensed under its BSD license. + diff --git a/ContainerShip/Dockerfile.android b/ContainerShip/Dockerfile.android index 63bfd8a46e56..605bb33104d0 100644 --- a/ContainerShip/Dockerfile.android +++ b/ContainerShip/Dockerfile.android @@ -3,7 +3,6 @@ FROM containership/android-base:latest # set default environment variables ENV GRADLE_OPTS="-Dorg.gradle.jvmargs=\"-Xmx512m -XX:+HeapDumpOnOutOfMemoryError\"" ENV JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8" -ENV REACT_NATIVE_MAX_WORKERS=1 # add ReactAndroid directory ADD .buckconfig /app/.buckconfig diff --git a/ContainerShip/Dockerfile.android-base b/ContainerShip/Dockerfile.android-base index b1897445f19f..d83bddf56062 100644 --- a/ContainerShip/Dockerfile.android-base +++ b/ContainerShip/Dockerfile.android-base @@ -86,10 +86,16 @@ RUN echo "y" | android update sdk -u -a -t $(android list sdk -a | grep "Intel x RUN echo "y" | android update sdk -u -a -t $(android list sdk -a | grep "Google APIs, Android API 23, revision 1" | awk '{ print $1 }' | sed 's/.$//') # Android Support Repository, revision 45 -RUN echo "y" | android update sdk -u -a -t $(android list sdk -a | grep "Android Support Repository, revision 45" | awk '{ print $1 }' | sed 's/.$//') +RUN echo "y" | android update sdk -u -a -t $(android list sdk -a | grep "Android Support Repository" | awk '{ print $1 }' | sed 's/.$//') # Link adb executable RUN ln -s /opt/android/platform-tools/adb /usr/bin/adb +# Install google-chrome +RUN curl -fsSL https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \ + && echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list \ + && apt-get update \ + && apt-get install -y google-chrome-stable + # clean up unnecessary directories RUN rm -rf /opt/android/system-images/android-19/default/x86 diff --git a/ContainerShip/Dockerfile.javascript b/ContainerShip/Dockerfile.javascript index d9fc1f57c7b3..7c1e14bb9b84 100644 --- a/ContainerShip/Dockerfile.javascript +++ b/ContainerShip/Dockerfile.javascript @@ -1,6 +1,6 @@ FROM library/node:6.9.2 -ENV YARN_VERSION=0.19.1 +ENV YARN_VERSION=0.27.5 # install dependencies RUN apt-get update && apt-get install ocaml libelf-dev -y diff --git a/ContainerShip/scripts/run-android-ci-instrumentation-tests.js b/ContainerShip/scripts/run-android-ci-instrumentation-tests.js index 7017c021eb90..e7e89ea8371d 100644 --- a/ContainerShip/scripts/run-android-ci-instrumentation-tests.js +++ b/ContainerShip/scripts/run-android-ci-instrumentation-tests.js @@ -28,12 +28,6 @@ const child_process = require('child_process'); const fs = require('fs'); const path = require('path'); -// Flaky tests ignored on Circle CI. They still run internally at fb. -const ignoredTests = [ - 'ReactScrollViewTestCase', - 'ReactHorizontalScrollViewTestCase' -]; - const colors = { GREEN: '\x1b[32m', RED: '\x1b[31m', @@ -42,6 +36,7 @@ const colors = { const test_opts = { FILTER: new RegExp(argv.filter || '.*', 'i'), + IGNORE: argv.ignore || null, PACKAGE: argv.package || 'com.facebook.react.tests', PATH: argv.path || './ReactAndroid/src/androidTest/java/com/facebook/react/tests', RETRIES: parseInt(argv.retries || 2, 10), @@ -59,14 +54,21 @@ let testClasses = fs.readdirSync(path.resolve(process.cwd(), test_opts.PATH)) return file.endsWith('.java'); }).map((clazz) => { return path.basename(clazz, '.java'); - }).filter(className => { - return ignoredTests.indexOf(className) === -1; - }).map((clazz) => { - return test_opts.PACKAGE + '.' + clazz; - }).filter((clazz) => { - return test_opts.FILTER.test(clazz); }); +if (test_opts.IGNORE) { + test_opts.IGNORE = new RegExp(test_opts.IGNORE, 'i'); + testClasses = testClasses.filter(className => { + return !test_opts.IGNORE.test(className); + }); +} + +testClasses = testClasses.map((clazz) => { + return test_opts.PACKAGE + '.' + clazz; +}).filter((clazz) => { + return test_opts.FILTER.test(clazz); +}); + // only process subset of the tests at corresponding offset and count if args provided if (test_opts.COUNT != null && test_opts.OFFSET != null) { const testCount = testClasses.length; diff --git a/ContainerShip/scripts/run-ci-e2e-tests.sh b/ContainerShip/scripts/run-ci-e2e-tests.sh index 9416012dbe1c..e19fa5868d3c 100755 --- a/ContainerShip/scripts/run-ci-e2e-tests.sh +++ b/ContainerShip/scripts/run-ci-e2e-tests.sh @@ -11,13 +11,16 @@ RUN_CLI_INSTALL=1 RUN_IOS=0 RUN_JS=0 -RETRY_COUNT=${RETRY_COUNT:-1} +RETRY_COUNT=${RETRY_COUNT:-2} AVD_UUID=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 8 | head -n 1) ANDROID_NPM_DEPS="appium@1.5.1 mocha@2.4.5 wd@0.3.11 colors@1.0.3 pretty-data2@0.40.1" CLI_PACKAGE=$ROOT/react-native-cli/react-native-cli-*.tgz PACKAGE=$ROOT/react-native-*.tgz -REACT_NATIVE_MAX_WORKERS=1 + +# solve issue with max user watches limit +echo 65536 | tee -a /proc/sys/fs/inotify/max_user_watches +watchman shutdown-server # retries command on failure # $1 -- max attempts @@ -177,7 +180,6 @@ function e2e_suite() { cd .. keytool -genkey -v -keystore android/keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US" - echo "Starting packager server" node ./node_modules/.bin/appium >> /dev/null & APPIUM_PID=$! echo "Starting appium server $APPIUM_PID" @@ -193,6 +195,7 @@ function e2e_suite() { return 1 fi + echo "Starting packager server" npm start >> /dev/null & SERVER_PID=$! sleep 15 @@ -227,13 +230,13 @@ function e2e_suite() { # js tests if [ $RUN_JS -ne 0 ]; then # Check the packager produces a bundle (doesn't throw an error) - REACT_NATIVE_MAX_WORKERS=1 react-native bundle --platform android --dev true --entry-file index.android.js --bundle-output android-bundle.js + react-native bundle --max-workers 1 --platform android --dev true --entry-file index.android.js --bundle-output android-bundle.js if [ $? -ne 0 ]; then echo "Could not build android bundle" return 1 fi - REACT_NATIVE_MAX_WORKERS=1 react-native bundle --platform ios --dev true --entry-file index.ios.js --bundle-output ios-bundle.js + react-native bundle --max-workers 1 --platform ios --dev true --entry-file index.ios.js --bundle-output ios-bundle.js if [ $? -ne 0 ]; then echo "Could not build iOS bundle" return 1 diff --git a/Examples/.eslintrc b/Examples/.eslintrc deleted file mode 100644 index 8dc9d22c11ec..000000000000 --- a/Examples/.eslintrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "rules": { - "no-alert": 0 - } -} diff --git a/Examples/UIExplorer/UIExplorer/AppDelegate.h b/Examples/UIExplorer/UIExplorer/AppDelegate.h deleted file mode 100644 index f3e75417c840..000000000000 --- a/Examples/UIExplorer/UIExplorer/AppDelegate.h +++ /dev/null @@ -1,24 +0,0 @@ -/** - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#import - -@class RCTBridge; - -@interface AppDelegate : UIResponder - -@property (nonatomic, strong) UIWindow *window; -@property (nonatomic, readonly) RCTBridge *bridge; - -@end diff --git a/Examples/UIExplorer/UIExplorer/NativeExampleViews/FlexibleSizeExampleView.h b/Examples/UIExplorer/UIExplorer/NativeExampleViews/FlexibleSizeExampleView.h deleted file mode 100644 index 3f8a854911c6..000000000000 --- a/Examples/UIExplorer/UIExplorer/NativeExampleViews/FlexibleSizeExampleView.h +++ /dev/null @@ -1,21 +0,0 @@ -/** - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#import - -#import - -@interface FlexibleSizeExampleView : RCTView - -@end diff --git a/Examples/UIExplorer/UIExplorer/NativeExampleViews/UpdatePropertiesExampleView.h b/Examples/UIExplorer/UIExplorer/NativeExampleViews/UpdatePropertiesExampleView.h deleted file mode 100644 index 537fb90b095a..000000000000 --- a/Examples/UIExplorer/UIExplorer/NativeExampleViews/UpdatePropertiesExampleView.h +++ /dev/null @@ -1,21 +0,0 @@ -/** - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#import - -#import - -@interface UpdatePropertiesExampleView : RCTView - -@end diff --git a/Examples/UIExplorer/UIExplorer/main.m b/Examples/UIExplorer/UIExplorer/main.m deleted file mode 100644 index b2a6473023a8..000000000000 --- a/Examples/UIExplorer/UIExplorer/main.m +++ /dev/null @@ -1,23 +0,0 @@ -/** - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#import - -#import "AppDelegate.h" - -int main(int argc, char * argv[]) { - @autoreleasepool { - return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); - } -} diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testLayoutExample_1-iOS10@2x.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testLayoutExample_1-iOS10@2x.png deleted file mode 100644 index 140a1affc25ea98f4a9f2ecb472510f884b301e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 156259 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 BUuXaT diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testLayoutExample_1-iOS10_tvOS.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testLayoutExample_1-iOS10_tvOS.png deleted file mode 100644 index 029a9100f23bceed4c194b86e0fb36d3f73bc3fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 91576 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

tUl_Ij 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

AuqYqlPz|3EM1CTl&z@ALI_280v7@kv*6aM?}8 zBuw)!*;xQ3SmKhH1g*Z0xFscXeQ5nlO2OL@A|3XR&T(bV>G#bkMgMv)#DH0Zo_E<6 z4!quiQ@;*9W(W>3FkKKtPslRA29srFX1QJA?5!L&1Vr=qDsKX&I@^G=jd=|>84nt^ znn_UDOfg=WwHuWlIA$RjglMk<${?g0OjqW7an$0{imS<)KQnj|eh@*Jyi?LyB7+lBxd+y1QkzK`y? z-yWWVNL4{4O>NGm`Rx_o;qc~opz{m3 z9dp%ig7!m>|{-_MMgkMWQ&#Y@hNnh zkvyi#@I&gb@QrY#@TqtqD=nkGqWp0lc?j(_owE-WHR><3>Ts{w zn{MwGOLV?Jd8|=(P8mT42(L z927{>7%6+;`GvML(HW}*jKfb|;%iOGQAH3WAldDuF-AVK zMqP>(_q$ye;m|0t{(AySY`oVQ=HqM1RvH~X(;ttWc@2VLB)v>->YUoq5t~}l1+v3$ z@DCU^bwAm~L=oPOz5RnvdIp=v(ga%~zHJIg?XDF?r{9W;^Xjh>x9oYZtbk4FzfP5L z>w^NxL0Fxh%IBJ?KwHK9dXMAN36MqdLV4jvDQi}-GOXt3AdHNSW&65+p5JA)oZ>YQhoLWH}n~qBM zk)FRZ$QaojV#SFOF>VY(uBF613x~dV^`a9>G;{{@{*?Of9g*T$*iaL(UQ8y)8ZYP|-0oT44X3iOX4Xan@jZ}wGZ@*QKWyWIODo>9O@ zPchYp-%~ySt6R)PXrWPOp;ZVFFDxkMho+xW>TLLiFoUIk010 z-DMgT;()^i-Nrl7*U3{5oTafa~Hs@kL}GJAe7jmP7#Ft9QY4@{yx>h z&`0C(GW%(Gc*_E1z!SJ&0km?c_eL9W9G|e3w2V!YeaBVkC-UDK384u1zDtD1%%Vs* z+;~oHu1NvcLMOG|r)fJHjAJg%T$9Igrt}G*Br$HVvo#Mj}Tcjv8 zX@1MhFZ}rHD`xSiNzR-khi#_>QTxZ^P<0K>WYcqNi`uiA#{&9E85sczAh)3EDz#r; zQcx%~nw7uRYmQegNV2bT-S}bjJut48o75sqL!f2A(V!Jl@|LON*x^F%o}&H?!T2{Q z2gNc7h`~1_Ho6}})zw;D*XvLE)t{+0q*<7OQA(;j1$6{po*IIjbb8V2gfXhBN;Jos zSC#TxB+$I9BigNC-!TLc1aB$d{?l{8ZFkbg2WZxzhiVd62J{T$+ za~`!>-5Ir8`$%>{v}>5(qKlbUf3e8&co zo&5PjouGtqTG`FHk9k4gFeI4<)%L|lwV(W?w%S900TWX{B zDs|_NG|~C;5F5wkFBCG%f-GejJSxs!AgZfmw5#F^!ZyUpOs>nT7>-4ItbecnmwvI4 zbb_PF094mISL0k)Q7KKp}F1an4e$&3OS50QctTRc!lz>`ddcH9DQ>WrW z^Oa-OXHQIO1v$d{2$OtWBg!B#a&d9tRr-V}Tkz^OU>Munn+}zr*N;^5VzQEl@FCVSOIoA;-~0#k;;8EiZ;#N6ys0Mcs>LYHKoEp z{EXn5at^Fl;(B&YSOMwg~)bbIHWsz^%;t-9! zB2Umyo#XB6=4A^FqTbhRR_D<;o>$Ai6o@*+U#t{@*TTl|-Fsr)~aTrq#66cU0g@{@&H(zU(%j7}E zJzJ|eST*W~gyqz3Wt2{Rd0DA=$?fv1hpI8W|I9a8P{AG$tE)^d5@mLG@goK#ZRgZf z>dYYA7;~$@!(s6y?BRbs2Zk<`viRA}-u{`)Ip8In75yphSW1 zptp7p+SQgU4{1o(BJMJ`8Pzqu;e8zGWhCQ$%So~v4rGc~0CIu80`F8974%*31f>X* zEH%(BqZmX-DThr0X))wva?nzdW$)*DCjJusvRq{xi>6Ilr{N$EU&!;{VFt4m@l#WX z7ts&9CSc{_d~Lq_r5JVZLvrbLG+^5Y@xZusF{y{awsSQ#3sQXfUsO2TRXf@Q@AN

V)%t8M*lZKJZv_KeKCl8066Hes} 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

&%MjZ7 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 z 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

=d6UvIG)#g&_ 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%0Ds6=+~^GA<2(f?E*%9%M1*--zZ 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 z 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 diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTabBarExample_1_tvOS.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTabBarExample_1_tvOS.png deleted file mode 100644 index d4b52a730f0b179d9e912a5c1ebaae91feb96f5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50184 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%0Dr*5rbiLRzEC$Pl;B8l(k_%<$ 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 $s9{p%y_!;(E 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 z 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 r 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�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 E0TW-iQvd(} diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTextExample_1-iOS10_tvOS.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTextExample_1-iOS10_tvOS.png deleted file mode 100644 index fa662d57e75b7b5af6144da2d20e6926ebba1c4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130218 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

^O$sEnNY23BdVNuoMM#C^n>|yLNoNXz$wyX>}+q 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 UI4I#s!au(s(A*!r*Yx850sx5f)c^nh diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTextExample_1@2x.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTextExample_1@2x.png deleted file mode 100644 index 2d3ff3048f9ec0ebf63f244792561ee3b61de29a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 373894 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Ƚa3eSJM$ZWLSzz)eK8(pb~k~p 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 z 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

    %H5PXvHJ3_gI)N>D+zH4(nZ_tHapPm72A&4z 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

    8^mZezfU*5xYH)IhG9Bh{sg8kCTwx1 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�i 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 P@Y2yRP%pk>^Z5S(X=l7L diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTextExample_1_tvOS.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTextExample_1_tvOS.png deleted file mode 100644 index 41f22713f978079f01a19f434cadbdff0ac8aaa6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127201 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

    Rl_U@|YOjotaSe&JuBFo8jGhHtt7*1EcvKUy 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 J%)^8q{|-S2(Wn3b diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testViewExample_1-iOS10_tvOS.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testViewExample_1-iOS10_tvOS.png deleted file mode 100644 index ff3b7b1c2c05019e3f062337cfbac505bcbc3eb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98281 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%0A+(HRcu=Ani!rf^iYF~ek!7I379jbmRm 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

    whEx}Qr~EM1( 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�|@=giu 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�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 AcmMzZ diff --git a/Examples/UIExplorer/UIExplorerUnitTests/RCTConvert_YGValueTests.m b/Examples/UIExplorer/UIExplorerUnitTests/RCTConvert_YGValueTests.m deleted file mode 100644 index 299dc5b16989..000000000000 --- a/Examples/UIExplorer/UIExplorerUnitTests/RCTConvert_YGValueTests.m +++ /dev/null @@ -1,45 +0,0 @@ -/** - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#import - -#import - -@interface RCTConvert_YGValueTests : XCTestCase - -@end - -@implementation RCTConvert_YGValueTests - -- (void)testUndefined -{ - YGValue value = [RCTConvert YGValue:nil]; - XCTAssertEqual(value.unit, YGUnitUndefined); -} - -- (void)testNumberPoints -{ - YGValue value = [RCTConvert YGValue:@100]; - XCTAssertEqual(value.unit, YGUnitPoint); - XCTAssertEqual(value.value, 100); -} - -- (void)testStringPercent -{ - YGValue value = [RCTConvert YGValue:@"100%"]; - XCTAssertEqual(value.unit, YGUnitPercent); - XCTAssertEqual(value.value, 100); -} - -@end diff --git a/Examples/UIExplorer/UIExplorerUnitTests/RCTModuleMethodTests.m b/Examples/UIExplorer/UIExplorerUnitTests/RCTModuleMethodTests.m deleted file mode 100644 index 371040832609..000000000000 --- a/Examples/UIExplorer/UIExplorerUnitTests/RCTModuleMethodTests.m +++ /dev/null @@ -1,145 +0,0 @@ -/** - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#import -#import - -#import -#import -#import - -static BOOL RCTLogsError(void (^block)(void)) -{ - __block BOOL loggedError = NO; - RCTPerformBlockWithLogFunction(block, ^(RCTLogLevel level, - __unused RCTLogSource source, - __unused NSString *fileName, - __unused NSNumber *lineNumber, - __unused NSString *message) { - loggedError = (level == RCTLogLevelError); - }); - return loggedError; -} - -@interface RCTModuleMethodTests : XCTestCase - -@end - -@implementation RCTModuleMethodTests -{ - CGRect _s; -} - -+ (NSString *)moduleName { return nil; } - -- (void)doFooWithBar:(__unused NSString *)bar { } - -- (void)testNonnull -{ - NSString *methodSignature = @"doFooWithBar:(nonnull NSString *)bar"; - RCTModuleMethod *method = [[RCTModuleMethod alloc] initWithMethodSignature:methodSignature - JSMethodName:nil - moduleClass:[self class]]; - XCTAssertFalse(RCTLogsError(^{ - [method invokeWithBridge:nil module:self arguments:@[@"Hello World"]]; - })); - - XCTAssertTrue(RCTLogsError(^{ - [method invokeWithBridge:nil module:self arguments:@[[NSNull null]]]; - })); -} - -- (void)doFooWithNumber:(__unused NSNumber *)n { } -- (void)doFooWithDouble:(__unused double)n { } -- (void)doFooWithInteger:(__unused NSInteger)n { } -- (void)doFooWithCGRect:(CGRect)s { _s = s; } - -- (void)doFoo : (__unused NSString *)foo { } - -- (void)testNumbersNonnull -{ - { - // Specifying an NSNumber param without nonnull isn't allowed - XCTAssertTrue(RCTLogsError(^{ - NSString *methodSignature = @"doFooWithNumber:(NSNumber *)n"; - RCTModuleMethod *method = [[RCTModuleMethod alloc] initWithMethodSignature:methodSignature - JSMethodName:nil - moduleClass:[self class]]; - // Invoke method to trigger parsing - [method invokeWithBridge:nil module:self arguments:@[@1]]; - })); - } - - { - NSString *methodSignature = @"doFooWithNumber:(nonnull NSNumber *)n"; - RCTModuleMethod *method = [[RCTModuleMethod alloc] initWithMethodSignature:methodSignature - JSMethodName:nil - moduleClass:[self class]]; - XCTAssertTrue(RCTLogsError(^{ - [method invokeWithBridge:nil module:self arguments:@[[NSNull null]]]; - })); - } - - { - NSString *methodSignature = @"doFooWithDouble:(double)n"; - RCTModuleMethod *method = [[RCTModuleMethod alloc] initWithMethodSignature:methodSignature - JSMethodName:nil - moduleClass:[self class]]; - XCTAssertTrue(RCTLogsError(^{ - [method invokeWithBridge:nil module:self arguments:@[[NSNull null]]]; - })); - } - - { - NSString *methodSignature = @"doFooWithInteger:(NSInteger)n"; - RCTModuleMethod *method = [[RCTModuleMethod alloc] initWithMethodSignature:methodSignature - JSMethodName:nil - moduleClass:[self class]]; - XCTAssertTrue(RCTLogsError(^{ - [method invokeWithBridge:nil module:self arguments:@[[NSNull null]]]; - })); - } -} - -- (void)testStructArgument -{ - NSString *methodSignature = @"doFooWithCGRect:(CGRect)s"; - RCTModuleMethod *method = [[RCTModuleMethod alloc] initWithMethodSignature:methodSignature - JSMethodName:nil - moduleClass:[self class]]; - - CGRect r = CGRectMake(10, 20, 30, 40); - [method invokeWithBridge:nil module:self arguments:@[@[@10, @20, @30, @40]]]; - XCTAssertTrue(CGRectEqualToRect(r, _s)); -} - -- (void)testWhitespaceTolerance -{ - NSString *methodSignature = @"doFoo : \t (NSString *)foo"; - - __block RCTModuleMethod *method; - XCTAssertFalse(RCTLogsError(^{ - method = [[RCTModuleMethod alloc] initWithMethodSignature:methodSignature - JSMethodName:nil - moduleClass:[self class]]; - })); - - XCTAssertEqualObjects(method.JSMethodName, @"doFoo"); - - XCTAssertFalse(RCTLogsError(^{ - [method invokeWithBridge:nil module:self arguments:@[@"bar"]]; - })); -} - -@end diff --git a/Examples/UIExplorer/android/app/src/main/res/values/strings.xml b/Examples/UIExplorer/android/app/src/main/res/values/strings.xml deleted file mode 100644 index 0b8cb6bc3cb4..000000000000 --- a/Examples/UIExplorer/android/app/src/main/res/values/strings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - UIExplorer App - diff --git a/Examples/UIExplorer/js/AdSupportIOSExample.js b/Examples/UIExplorer/js/AdSupportIOSExample.js deleted file mode 100644 index 5410b3d41b65..000000000000 --- a/Examples/UIExplorer/js/AdSupportIOSExample.js +++ /dev/null @@ -1,110 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @flow - * @providesModule AdSupportIOSExample - */ -'use strict'; - -var React = require('react'); -var ReactNative = require('react-native'); -var { - AdSupportIOS, - StyleSheet, - Text, - View, -} = ReactNative; - -exports.framework = 'React'; -exports.title = 'Advertising ID'; -exports.description = 'Example of using the ad support API.'; - -exports.examples = [ - { - title: 'Ad Support IOS', - render: function(): React.Element { - return ; - }, - } -]; - -class AdSupportIOSExample extends React.Component { - state = { - deviceID: 'No IDFA yet', - hasAdvertiserTracking: 'unset', - }; - - componentDidMount() { - AdSupportIOS.getAdvertisingId( - this._onDeviceIDSuccess, - this._onDeviceIDFailure - ); - - AdSupportIOS.getAdvertisingTrackingEnabled( - this._onHasTrackingSuccess, - this._onHasTrackingFailure - ); - } - - _onHasTrackingSuccess = (hasTracking) => { - this.setState({ - 'hasAdvertiserTracking': hasTracking, - }); - }; - - _onHasTrackingFailure = (e) => { - this.setState({ - 'hasAdvertiserTracking': 'Error!', - }); - }; - - _onDeviceIDSuccess = (deviceID) => { - this.setState({ - 'deviceID': deviceID, - }); - }; - - _onDeviceIDFailure = (e) => { - this.setState({ - 'deviceID': 'Error!', - }); - }; - - render() { - return ( - - - Advertising ID: - {JSON.stringify(this.state.deviceID)} - - - Has Advertiser Tracking: - {JSON.stringify(this.state.hasAdvertiserTracking)} - - - ); - } -} - -var styles = StyleSheet.create({ - title: { - fontWeight: '500', - }, -}); diff --git a/Examples/UIExplorer/js/ExampleTypes.js b/Examples/UIExplorer/js/ExampleTypes.js deleted file mode 100644 index 76ec2dfa3467..000000000000 --- a/Examples/UIExplorer/js/ExampleTypes.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @providesModule ExampleTypes - * @flow - */ -'use strict'; - -import type React from 'react'; - -export type Example = { - title: string, - render: () => ?React.Element, - description?: string, - platform?: string, -}; - -export type ExampleModule = { - title: string, - description: string, - examples: Array, -}; diff --git a/Examples/UIExplorer/js/ImageEditingExample.js b/Examples/UIExplorer/js/ImageEditingExample.js deleted file mode 100644 index dc6953e1e65c..000000000000 --- a/Examples/UIExplorer/js/ImageEditingExample.js +++ /dev/null @@ -1,331 +0,0 @@ -/* - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @flow - * @providesModule ImageEditingExample - */ -'use strict'; - -var React = require('react'); -var ReactNative = require('react-native'); -var { - CameraRoll, - Image, - ImageEditor, - Platform, - ScrollView, - StyleSheet, - Text, - TouchableHighlight, - View, -} = ReactNative; - -var PAGE_SIZE = 20; - -type ImageOffset = { - x: number; - y: number; -}; - -type ImageSize = { - width: number; - height: number; -}; - -type ImageCropData = { - offset: ImageOffset; - size: ImageSize; - displaySize?: ?ImageSize; - resizeMode?: ?any; -}; - -class SquareImageCropper extends React.Component { - state: any; - _isMounted: boolean; - _transformData: ImageCropData; - - constructor(props) { - super(props); - this._isMounted = true; - this.state = { - randomPhoto: null, - measuredSize: null, - croppedImageURI: null, - cropError: null, - }; - this._fetchRandomPhoto(); - } - - async _fetchRandomPhoto() { - try { - const data = await CameraRoll.getPhotos({first: PAGE_SIZE}); - if (!this._isMounted) { - return; - } - var edges = data.edges; - var edge = edges[Math.floor(Math.random() * edges.length)]; - var randomPhoto = edge && edge.node && edge.node.image; - if (randomPhoto) { - this.setState({randomPhoto}); - } - } catch (error) { - console.warn("Can't get a photo from camera roll", error); - } - } - - componentWillUnmount() { - this._isMounted = false; - } - - render() { - if (!this.state.measuredSize) { - return ( - { - var measuredWidth = event.nativeEvent.layout.width; - if (!measuredWidth) { - return; - } - this.setState({ - measuredSize: {width: measuredWidth, height: measuredWidth}, - }); - }} - /> - ); - } - - if (!this.state.croppedImageURI) { - return this._renderImageCropper(); - } - return this._renderCroppedImage(); - } - - _renderImageCropper() { - if (!this.state.randomPhoto) { - return ( - - ); - } - var error = null; - if (this.state.cropError) { - error = ( - {this.state.cropError.message} - ); - } - return ( - - Drag the image within the square to crop: - this._transformData = data} - /> - - - - Crop - - - - {error} - - ); - } - - _renderCroppedImage() { - return ( - - Here is the cropped image: - - - - - Try again - - - - - ); - } - - _crop() { - ImageEditor.cropImage( - this.state.randomPhoto.uri, - this._transformData, - (croppedImageURI) => this.setState({croppedImageURI}), - (cropError) => this.setState({cropError}) - ); - } - - _reset() { - this.setState({ - randomPhoto: null, - croppedImageURI: null, - cropError: null, - }); - this._fetchRandomPhoto(); - } - -} - -class ImageCropper extends React.Component { - _contentOffset: ImageOffset; - _maximumZoomScale: number; - _minimumZoomScale: number; - _scaledImageSize: ImageSize; - _horizontal: boolean; - - componentWillMount() { - // Scale an image to the minimum size that is large enough to completely - // fill the crop box. - var widthRatio = this.props.image.width / this.props.size.width; - var heightRatio = this.props.image.height / this.props.size.height; - this._horizontal = widthRatio > heightRatio; - if (this._horizontal) { - this._scaledImageSize = { - width: this.props.image.width / heightRatio, - height: this.props.size.height, - }; - } else { - this._scaledImageSize = { - width: this.props.size.width, - height: this.props.image.height / widthRatio, - }; - if (Platform.OS === 'android') { - // hack to work around Android ScrollView a) not supporting zoom, and - // b) not supporting vertical scrolling when nested inside another - // vertical ScrollView (which it is, when displayed inside UIExplorer) - this._scaledImageSize.width *= 2; - this._scaledImageSize.height *= 2; - this._horizontal = true; - } - } - this._contentOffset = { - x: (this._scaledImageSize.width - this.props.size.width) / 2, - y: (this._scaledImageSize.height - this.props.size.height) / 2, - }; - this._maximumZoomScale = Math.min( - this.props.image.width / this._scaledImageSize.width, - this.props.image.height / this._scaledImageSize.height - ); - this._minimumZoomScale = Math.max( - this.props.size.width / this._scaledImageSize.width, - this.props.size.height / this._scaledImageSize.height - ); - this._updateTransformData( - this._contentOffset, - this._scaledImageSize, - this.props.size - ); - } - - _onScroll(event) { - this._updateTransformData( - event.nativeEvent.contentOffset, - event.nativeEvent.contentSize, - event.nativeEvent.layoutMeasurement - ); - } - - _updateTransformData(offset, scaledImageSize, croppedImageSize) { - var offsetRatioX = offset.x / scaledImageSize.width; - var offsetRatioY = offset.y / scaledImageSize.height; - var sizeRatioX = croppedImageSize.width / scaledImageSize.width; - var sizeRatioY = croppedImageSize.height / scaledImageSize.height; - - var cropData: ImageCropData = { - offset: { - x: this.props.image.width * offsetRatioX, - y: this.props.image.height * offsetRatioY, - }, - size: { - width: this.props.image.width * sizeRatioX, - height: this.props.image.height * sizeRatioY, - }, - }; - this.props.onTransformDataChange && this.props.onTransformDataChange(cropData); - } - - render() { - return ( - - - - ); - } - -} - -exports.framework = 'React'; -exports.title = 'ImageEditor'; -exports.description = 'Cropping and scaling with ImageEditor'; -exports.examples = [{ - title: 'Image Cropping', - render() { - return ; - } -}]; - -var styles = StyleSheet.create({ - container: { - flex: 1, - alignSelf: 'stretch', - }, - imageCropper: { - alignSelf: 'center', - marginTop: 12, - }, - cropButtonTouchable: { - alignSelf: 'center', - marginTop: 12, - }, - cropButton: { - padding: 12, - backgroundColor: 'blue', - borderRadius: 4, - }, - cropButtonLabel: { - color: 'white', - fontSize: 16, - fontWeight: '500', - }, -}); diff --git a/Examples/UIExplorer/js/SnapshotExample.js b/Examples/UIExplorer/js/SnapshotExample.js deleted file mode 100644 index 744e594405e2..000000000000 --- a/Examples/UIExplorer/js/SnapshotExample.js +++ /dev/null @@ -1,80 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @flow - * @providesModule SnapshotExample - */ -'use strict'; - -var React = require('react'); -var ReactNative = require('react-native'); -var { - Image, - StyleSheet, - Text, - UIManager, - View, -} = ReactNative; - -class ScreenshotExample extends React.Component { - state = { - uri: undefined, - }; - - render() { - return ( - - - Click to take a screenshot - - - - ); - } - - takeScreenshot = () => { - UIManager - .takeSnapshot('window', {format: 'jpeg', quality: 0.8}) // See UIManager.js for options - .then((uri) => this.setState({uri})) - .catch((error) => alert(error)); - }; -} - -var style = StyleSheet.create({ - button: { - marginBottom: 10, - fontWeight: '500', - }, - image: { - flex: 1, - height: 300, - resizeMode: 'contain', - backgroundColor: 'black', - }, -}); - -exports.title = 'Snapshot / Screenshot'; -exports.description = 'API to capture images from the screen.'; -exports.examples = [ - { - title: 'Take screenshot', - render(): React.Element { return ; } - }, -]; diff --git a/Examples/UIExplorer/js/UIExplorerActions.js b/Examples/UIExplorer/js/UIExplorerActions.js deleted file mode 100644 index d1983e90736e..000000000000 --- a/Examples/UIExplorer/js/UIExplorerActions.js +++ /dev/null @@ -1,71 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @flow - * @providesModule UIExplorerActions - */ -'use strict'; - -export type UIExplorerBackAction = { - type: 'UIExplorerBackAction', -}; - -export type UIExplorerListAction = { - type: 'UIExplorerListAction', -}; - -export type UIExplorerExampleAction = { - type: 'UIExplorerExampleAction', - openExample: string, -}; - -export type UIExplorerAction = ( - UIExplorerBackAction | - UIExplorerListAction | - UIExplorerExampleAction -); - - -function Back(): UIExplorerBackAction { - return { - type: 'UIExplorerBackAction', - }; -} - -function ExampleList(): UIExplorerListAction { - return { - type: 'UIExplorerListAction', - }; -} - -function ExampleAction(openExample: string): UIExplorerExampleAction { - return { - type: 'UIExplorerExampleAction', - openExample, - }; -} - -const UIExplorerActions = { - Back, - ExampleList, - ExampleAction, -}; - -module.exports = UIExplorerActions; diff --git a/Examples/UIExplorer/js/UIExplorerExampleContainer.js b/Examples/UIExplorer/js/UIExplorerExampleContainer.js deleted file mode 100644 index fdd0ea75ade2..000000000000 --- a/Examples/UIExplorer/js/UIExplorerExampleContainer.js +++ /dev/null @@ -1,65 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @providesModule UIExplorerExampleContainer - */ -'use strict'; - -const React = require('react'); -const { - Platform, -} = require('react-native'); -const UIExplorerBlock = require('./UIExplorerBlock'); -const UIExplorerPage = require('./UIExplorerPage'); - -class UIExplorerExampleContainer extends React.Component { - renderExample(example, i) { - // Filter platform-specific examples - var {title, description, platform} = example; - if (platform) { - if (Platform.OS !== platform) { - return null; - } - title += ' (' + platform + ' only)'; - } - return ( - - {example.render()} - - ); - } - - render(): React.Element { - if (!this.props.module.examples) { - return ; - } - - return ( - - {this.props.module.examples.map(this.renderExample)} - - ); - } -} - -module.exports = UIExplorerExampleContainer; diff --git a/Examples/UIExplorer/js/UIExplorerNavigationReducer.js b/Examples/UIExplorer/js/UIExplorerNavigationReducer.js deleted file mode 100644 index 015f1e5c2b90..000000000000 --- a/Examples/UIExplorer/js/UIExplorerNavigationReducer.js +++ /dev/null @@ -1,69 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @flow - * @providesModule UIExplorerNavigationReducer - */ -'use strict'; - -// $FlowFixMe : This is a platform-forked component, and flow seems to only run on iOS? -const UIExplorerList = require('./UIExplorerList'); - -export type UIExplorerNavigationState = { - openExample: ?string, -}; - -function UIExplorerNavigationReducer( - state: ?UIExplorerNavigationState, - action: any -): UIExplorerNavigationState { - - if ( - // Default value is to see example list - !state || - - // Handle the explicit list action - action.type === 'UIExplorerListAction' || - - // Handle requests to go back to the list when an example is open - (state.openExample && action.type === 'UIExplorerBackAction') - ) { - return { - // A null openExample will cause the views to display the UIExplorer example list - openExample: null, - }; - } - - if (action.type === 'UIExplorerExampleAction') { - - // Make sure we see the module before returning the new state - const ExampleModule = UIExplorerList.Modules[action.openExample]; - - if (ExampleModule) { - return { - openExample: action.openExample, - }; - } - } - - return state; -} - -module.exports = UIExplorerNavigationReducer; diff --git a/Examples/UIExplorer/js/URIActionMap.js b/Examples/UIExplorer/js/URIActionMap.js deleted file mode 100644 index fb25f58119cb..000000000000 --- a/Examples/UIExplorer/js/URIActionMap.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @flow - * @providesModule URIActionMap - */ -'use strict'; - -const ReactNative = require('react-native'); -const UIExplorerActions = require('./UIExplorerActions'); -// $FlowFixMe : This is a platform-forked component, and flow seems to only run on iOS? -const UIExplorerList = require('./UIExplorerList'); - -const { - Alert, -} = ReactNative; - -import type { UIExplorerAction } from './UIExplorerActions'; - -function PathActionMap(path: string): ?UIExplorerAction { - // Warning! Hacky parsing for example code. Use a library for this! - const exampleParts = path.split('/example/'); - const exampleKey = exampleParts[1]; - if (exampleKey) { - if (!UIExplorerList.Modules[exampleKey]) { - Alert.alert(`${exampleKey} example could not be found!`); - return null; - } - return UIExplorerActions.ExampleAction(exampleKey); - } - return null; -} - -function URIActionMap(uri: ?string): ?UIExplorerAction { - if (!uri) { - return null; - } - // Warning! Hacky parsing for example code. Use a library for this! - const parts = uri.split('rnuiexplorer:/'); - if (!parts[1]) { - return null; - } - const path = parts[1]; - return PathActionMap(path); -} - -module.exports = URIActionMap; diff --git a/Examples/UIExplorer/js/createExamplePage.js b/Examples/UIExplorer/js/createExamplePage.js deleted file mode 100644 index f7661a109a3f..000000000000 --- a/Examples/UIExplorer/js/createExamplePage.js +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @providesModule createExamplePage - * @flow - */ -'use strict'; - -const React = require('react'); - -const UIExplorerExampleContainer = require('./UIExplorerExampleContainer'); - -import type { ExampleModule } from 'ExampleTypes'; - -var createExamplePage = function(title: ?string, exampleModule: ExampleModule) - : ReactClass { - - class ExamplePage extends React.Component { - render() { - return ; - } - } - - return ExamplePage; -}; - -module.exports = createExamplePage; diff --git a/IntegrationTests/AccessibilityManagerTest.js b/IntegrationTests/AccessibilityManagerTest.js new file mode 100644 index 000000000000..8f82374baa18 --- /dev/null +++ b/IntegrationTests/AccessibilityManagerTest.js @@ -0,0 +1,52 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @flow + * @providesModule AccessibilityManagerTest + */ +'use strict'; + +const React = require('react'); +const ReactNative = require('react-native'); +const { View } = ReactNative; +const RCTDeviceEventEmitter = require('RCTDeviceEventEmitter'); +const { + TestModule, + AccessibilityManager, +} = ReactNative.NativeModules; + + +class AccessibilityManagerTest extends React.Component { + componentDidMount() { + AccessibilityManager.setAccessibilityContentSizeMultipliers({ + 'extraSmall': 1.0, + 'small': 2.0, + 'medium': 3.0, + 'large': 4.0, + 'extraLarge': 5.0, + 'extraExtraLarge': 6.0, + 'extraExtraExtraLarge': 7.0, + 'accessibilityMedium': 8.0, + 'accessibilityLarge': 9.0, + 'accessibilityExtraLarge': 10.0, + 'accessibilityExtraExtraLarge': 11.0, + 'accessibilityExtraExtraExtraLarge': 12.0, + }); + RCTDeviceEventEmitter.addListener('didUpdateDimensions', update => { + TestModule.markTestPassed(update.window.fontScale === 4.0); + }); + } + + render(): React.Element { + return ; + } +} + +AccessibilityManagerTest.displayName = 'AccessibilityManagerTest'; + +module.exports = AccessibilityManagerTest; diff --git a/IntegrationTests/IntegrationTestHarnessTest.js b/IntegrationTests/IntegrationTestHarnessTest.js index d93b4f2ea42a..5d01dc380244 100644 --- a/IntegrationTests/IntegrationTestHarnessTest.js +++ b/IntegrationTests/IntegrationTestHarnessTest.js @@ -13,6 +13,7 @@ var requestAnimationFrame = require('fbjs/lib/requestAnimationFrame'); var React = require('react'); +var PropTypes = require('prop-types'); var ReactNative = require('react-native'); var { Text, @@ -27,8 +28,8 @@ class IntegrationTestHarnessTest extends React.Component { }; static propTypes = { - shouldThrow: React.PropTypes.bool, - waitOneFrame: React.PropTypes.bool, + shouldThrow: PropTypes.bool, + waitOneFrame: PropTypes.bool, }; state = { diff --git a/IntegrationTests/IntegrationTestsApp.js b/IntegrationTests/IntegrationTestsApp.js index 88d4fa7c569f..e371b9c819f8 100644 --- a/IntegrationTests/IntegrationTestsApp.js +++ b/IntegrationTests/IntegrationTestsApp.js @@ -22,7 +22,7 @@ var { View, } = ReactNative; -// Keep this list in sync with UIExplorerIntegrationTests.m +// Keep this list in sync with RNTesterIntegrationTests.m var TESTS = [ require('./IntegrationTestHarnessTest'), require('./TimersTest'), @@ -33,7 +33,10 @@ var TESTS = [ require('./ImageCachePolicyTest'), require('./ImageSnapshotTest'), require('./PromiseTest'), + require('./WebViewTest'), + require('./SyncMethodTest'), require('./WebSocketTest'), + require('./AccessibilityManagerTest'), ]; TESTS.forEach( diff --git a/IntegrationTests/LayoutEventsTest.js b/IntegrationTests/LayoutEventsTest.js index a7c73ea7add5..220701c4e868 100644 --- a/IntegrationTests/LayoutEventsTest.js +++ b/IntegrationTests/LayoutEventsTest.js @@ -12,6 +12,7 @@ 'use strict'; var React = require('react'); +var createReactClass = require('create-react-class'); var ReactNative = require('react-native'); var { Image, @@ -24,7 +25,7 @@ var { TestModule } = ReactNative.NativeModules; var deepDiffer = require('deepDiffer'); -function debug() { +function debug(...args) { // console.log.apply(null, arguments); } @@ -58,7 +59,8 @@ type State = { containerStyle?: Style, }; -var LayoutEventsTest = React.createClass({ +var LayoutEventsTest = createReactClass({ + displayName: 'LayoutEventsTest', getInitialState(): State { return { didAnimation: false, diff --git a/IntegrationTests/ReactContentSizeUpdateTest.js b/IntegrationTests/ReactContentSizeUpdateTest.js index 4760dad042a6..07ae0ed661ce 100644 --- a/IntegrationTests/ReactContentSizeUpdateTest.js +++ b/IntegrationTests/ReactContentSizeUpdateTest.js @@ -10,6 +10,7 @@ 'use strict'; var React = require('react'); +var createReactClass = require('create-react-class'); var ReactNative = require('react-native'); var RCTNativeAppEventEmitter = require('RCTNativeAppEventEmitter'); var Subscribable = require('Subscribable'); @@ -24,7 +25,8 @@ var reactViewHeight = 102; var newReactViewWidth = 201; var newReactViewHeight = 202; -var ReactContentSizeUpdateTest = React.createClass({ +var ReactContentSizeUpdateTest = createReactClass({ + displayName: 'ReactContentSizeUpdateTest', mixins: [Subscribable.Mixin, TimerMixin], diff --git a/IntegrationTests/SizeFlexibilityUpdateTest.js b/IntegrationTests/SizeFlexibilityUpdateTest.js index 7b050e9f3f8f..5d580f8fc6a0 100644 --- a/IntegrationTests/SizeFlexibilityUpdateTest.js +++ b/IntegrationTests/SizeFlexibilityUpdateTest.js @@ -10,6 +10,7 @@ 'use strict'; var React = require('react'); +var createReactClass = require('create-react-class'); var ReactNative = require('react-native'); var RCTNativeAppEventEmitter = require('RCTNativeAppEventEmitter'); var Subscribable = require('Subscribable'); @@ -22,7 +23,8 @@ var reactViewHeight = 222; var finalState = false; -var SizeFlexibilityUpdateTest = React.createClass({ +var SizeFlexibilityUpdateTest = createReactClass({ + displayName: 'SizeFlexibilityUpdateTest', mixins: [Subscribable.Mixin], componentWillMount: function() { diff --git a/IntegrationTests/SyncMethodTest.js b/IntegrationTests/SyncMethodTest.js new file mode 100644 index 000000000000..b07c8ab17cb9 --- /dev/null +++ b/IntegrationTests/SyncMethodTest.js @@ -0,0 +1,42 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @flow + * @providesModule SyncMethodTest + */ +'use strict'; + +var React = require('react'); +var ReactNative = require('react-native'); +var { View } = ReactNative; + +const { + TestModule, + RNTesterTestModule, +} = ReactNative.NativeModules; + + +class SyncMethodTest extends React.Component { + componentDidMount() { + if (RNTesterTestModule.echoString('test string value') !== 'test string value') { + throw new Error('Something wrong with sync method export'); + } + if (RNTesterTestModule.methodThatReturnsNil() != null) { + throw new Error('Something wrong with sync method export'); + } + TestModule.markTestCompleted(); + } + + render(): React.Element { + return ; + } +} + +SyncMethodTest.displayName = 'SyncMethodTest'; + +module.exports = SyncMethodTest; diff --git a/IntegrationTests/TimersTest.js b/IntegrationTests/TimersTest.js index 918576c9eee5..06d4c6b1a4a3 100644 --- a/IntegrationTests/TimersTest.js +++ b/IntegrationTests/TimersTest.js @@ -12,6 +12,7 @@ 'use strict'; var React = require('react'); +var createReactClass = require('create-react-class'); var ReactNative = require('react-native'); var TimerMixin = require('react-timer-mixin'); @@ -22,7 +23,8 @@ var { } = ReactNative; var { TestModule } = ReactNative.NativeModules; -var TimersTest = React.createClass({ +var TimersTest = createReactClass({ + displayName: 'TimersTest', mixins: [TimerMixin], _nextTest: () => {}, @@ -82,17 +84,17 @@ var TimersTest = React.createClass({ }, testClearMulti() { - var fails = [this.setTimeout(() => this._fail('testClearMulti-1'), 20)]; + var fails = []; + fails.push(this.setTimeout(() => this._fail('testClearMulti-1'), 20)); fails.push(this.setTimeout(() => this._fail('testClearMulti-2'), 50)); var delayClear = this.setTimeout(() => this._fail('testClearMulti-3'), 50); fails.push(this.setTimeout(() => this._fail('testClearMulti-4'), 0)); - - this.setTimeout(this.testOrdering, 100); // Next test interleaved - fails.push(this.setTimeout(() => this._fail('testClearMulti-5'), 10)); fails.forEach((timeout) => this.clearTimeout(timeout)); this.setTimeout(() => this.clearTimeout(delayClear), 20); + + this.setTimeout(this.testOrdering, 50); }, testOrdering() { @@ -110,14 +112,14 @@ var TimersTest = React.createClass({ () => this._fail('testOrdering-Anim, setTimeout 0 should happen before ' + 'requestAnimationFrame') ); - var fail50; - this.setTimeout(() => this.clearTimeout(fail50), 20); - fail50 = this.setTimeout( - () => this._fail('testOrdering-t50, setTimeout 20 should happen before ' + - 'setTimeout 50'), - 50 + var fail25; + this.setTimeout(() => { this.clearTimeout(fail25); }, 20); + fail25 = this.setTimeout( + () => this._fail('testOrdering-t25, setTimeout 20 should happen before ' + + 'setTimeout 25'), + 25 ); - this.setTimeout(this.done, 75); + this.setTimeout(this.done, 50); }, done() { diff --git a/IntegrationTests/WebViewTest.js b/IntegrationTests/WebViewTest.js new file mode 100644 index 000000000000..06117d9cd121 --- /dev/null +++ b/IntegrationTests/WebViewTest.js @@ -0,0 +1,59 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ +'use strict'; + +var React = require('react'); +var ReactNative = require('react-native'); +var { + WebView, +} = ReactNative; + +var { TestModule } = ReactNative.NativeModules; + +class WebViewTest extends React.Component { + + render() { + var firstMessageReceived = false; + var secondMessageReceived = false; + function processMessage(e) { + var message = e.nativeEvent.data; + if (message === 'First') {firstMessageReceived = true;} + if (message === 'Second') {secondMessageReceived = true;} + + // got both messages + if (firstMessageReceived && secondMessageReceived) {TestModule.markTestPassed(true);} + // wait for next message + else if (firstMessageReceived && !secondMessageReceived) {return;} + // first message got lost + else if (!firstMessageReceived && secondMessageReceived) {throw new Error('First message got lost');} + } + var html = 'Hello world' + + ''; + + // fail if messages didn't get through; + window.setTimeout(function() { throw new Error(firstMessageReceived ? 'Both messages got lost' : 'Second message got lost');}, 10000); + + var source = { + html: html, + }; + + return ( + + ); + } +} + +WebViewTest.displayName = 'WebViewTest'; + +module.exports = WebViewTest; diff --git a/JSCLegacyProfiler/JSCLegacyProfiler.h b/JSCLegacyProfiler/JSCLegacyProfiler.h deleted file mode 100644 index b99d00ab18aa..000000000000 --- a/JSCLegacyProfiler/JSCLegacyProfiler.h +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2004-present Facebook. All Rights Reserved. - -#pragma once - -#import "JSContextRef.h" - -extern "C" { - -void nativeProfilerEnableBytecode(void); -void nativeProfilerStart(JSContextRef ctx, const char *title); -void nativeProfilerEnd(JSContextRef ctx, const char *title, const char *filename); - -} diff --git a/JSCLegacyProfiler/JSCLegacyProfiler.mm b/JSCLegacyProfiler/JSCLegacyProfiler.mm deleted file mode 100644 index 93ea78f84b6a..000000000000 --- a/JSCLegacyProfiler/JSCLegacyProfiler.mm +++ /dev/null @@ -1,311 +0,0 @@ -#include "JSCLegacyProfiler.h" - -#include "APICast.h" -#include "LegacyProfiler.h" -#include "OpaqueJSString.h" -#include "JSProfilerPrivate.h" -#include "JSStringRef.h" -#include "String.h" -#include "Options.h" - -enum json_gen_status { - json_gen_status_ok = 0, - json_gen_status_error = 1, -}; - -enum json_entry { - json_entry_key, - json_entry_value, -}; - -namespace { - -struct json_state { - FILE *fileOut; - bool hasFirst; -}; - -} - -typedef json_state *json_gen; - -static void json_escaped_cstring_printf(json_gen gen, const char *str) { - const char *cursor = str; - fputc('"', gen->fileOut); - while (*cursor) { - const char *escape = nullptr; - switch (*cursor) { - case '"': - escape = "\\\""; - break; - case '\b': - escape = "\\b"; - break; - case '\f': - escape = "\\f"; - break; - case '\n': - escape = "\\n"; - break; - case '\r': - escape = "\\r"; - break; - case '\t': - escape = "\\t"; - break; - case '\\': - escape = "\\\\"; - break; - default: - break; - } - if (escape != nullptr) { - fwrite(escape, 1, strlen(escape), gen->fileOut); - } else { - fputc(*cursor, gen->fileOut); - } - cursor++; - } - fputc('"', gen->fileOut); -} - -static json_gen_status json_gen_key_cstring(json_gen gen, const char *buffer) { - if (gen->fileOut == nullptr) { - return json_gen_status_error; - } - - if (gen->hasFirst) { - fprintf(gen->fileOut, ","); - } - gen->hasFirst = true; - - json_escaped_cstring_printf(gen, buffer); - return json_gen_status_ok; -} - -static json_gen_status json_gen_map_open(json_gen gen, json_entry entryType) { - if (gen->fileOut == nullptr) { - return json_gen_status_error; - } - - if (entryType == json_entry_value) { - fprintf(gen->fileOut, ":"); - } else if (entryType == json_entry_key) { - if (gen->hasFirst) { - fprintf(gen->fileOut, ","); - } - } - fprintf(gen->fileOut, "{"); - gen->hasFirst = false; - return json_gen_status_ok; -} - -static json_gen_status json_gen_map_close(json_gen gen) { - if (gen->fileOut == nullptr) { - return json_gen_status_error; - } - - fprintf(gen->fileOut, "}"); - gen->hasFirst = true; - return json_gen_status_ok; -} - -static json_gen_status json_gen_array_open(json_gen gen, json_entry entryType) { - if (gen->fileOut == nullptr) { - return json_gen_status_error; - } - - if (entryType == json_entry_value) { - fprintf(gen->fileOut, ":"); - } else if (entryType == json_entry_key) { - if (gen->hasFirst) { - fprintf(gen->fileOut, ","); - } - } - fprintf(gen->fileOut, "["); - gen->hasFirst = false; - return json_gen_status_ok; -} - -static json_gen_status json_gen_array_close(json_gen gen) { - if (gen->fileOut == nullptr) { - return json_gen_status_error; - } - - fprintf(gen->fileOut, "]"); - gen->hasFirst = true; - return json_gen_status_ok; -} - -static json_gen_status json_gen_keyvalue_cstring(json_gen gen, const char *key, const char *value) { - if (gen->fileOut == nullptr) { - return json_gen_status_error; - } - - if (gen->hasFirst) { - fprintf(gen->fileOut, ","); - } - gen->hasFirst = true; - - fprintf(gen->fileOut, "\"%s\" : ", key); - json_escaped_cstring_printf(gen, value); - - return json_gen_status_ok; -} - - -static json_gen_status json_gen_keyvalue_integer(json_gen gen, const char *key, int value) { - if (gen->fileOut == nullptr) { - return json_gen_status_error; - } - - if (gen->hasFirst) { - fprintf(gen->fileOut, ","); - } - gen->hasFirst = true; - - fprintf(gen->fileOut, "\"%s\": %d", key, value); - return json_gen_status_ok; -} - -static json_gen_status json_gen_keyvalue_double(json_gen gen, const char *key, double value) { - if (gen->fileOut == nullptr) { - return json_gen_status_error; - } - - if (gen->hasFirst) { - fprintf(gen->fileOut, ","); - } - gen->hasFirst = true; - - fprintf(gen->fileOut, "\"%s\": %.20g", key, value); - return json_gen_status_ok; -} - -static json_gen json_gen_alloc(const char *fileName) { - json_gen gen = (json_gen)malloc(sizeof(json_state)); - memset(gen, 0, sizeof(json_state)); - gen->fileOut = fopen(fileName, "wb"); - return gen; -} - -static void json_gen_free(json_gen gen) { - if (gen->fileOut) { - fclose(gen->fileOut); - } - free(gen); -} - -#define GEN_AND_CHECK(expr) \ - do { \ - json_gen_status GEN_AND_CHECK_status = (expr); \ - if (GEN_AND_CHECK_status != json_gen_status_ok) { \ - return GEN_AND_CHECK_status; \ - } \ - } while (false) - - -static json_gen_status append_children_array_json(json_gen gen, const JSC::ProfileNode *node); -static json_gen_status append_node_json(json_gen gen, const JSC::ProfileNode *node); - -static json_gen_status append_root_json(json_gen gen, const JSC::Profile *profile) { - GEN_AND_CHECK(json_gen_map_open(gen, json_entry_key)); - GEN_AND_CHECK(json_gen_key_cstring(gen, "rootNodes")); -#if IOS8 - GEN_AND_CHECK(append_children_array_json(gen, profile->head())); -#else - GEN_AND_CHECK(append_children_array_json(gen, profile->rootNode())); -#endif - GEN_AND_CHECK(json_gen_map_close(gen)); - - return json_gen_status_ok; -} - -static json_gen_status append_children_array_json(json_gen gen, const JSC::ProfileNode *node) { - GEN_AND_CHECK(json_gen_array_open(gen, json_entry_value)); - for (RefPtr child : node->children()) { - GEN_AND_CHECK(append_node_json(gen, child.get())); - } - GEN_AND_CHECK(json_gen_array_close(gen)); - - return json_gen_status_ok; -} - -static json_gen_status append_node_json(json_gen gen, const JSC::ProfileNode *node) { - GEN_AND_CHECK(json_gen_map_open(gen, json_entry_key)); - GEN_AND_CHECK(json_gen_keyvalue_integer(gen, "id", node->id())); - - if (!node->functionName().isEmpty()) { - GEN_AND_CHECK(json_gen_keyvalue_cstring(gen, "functionName", node->functionName().utf8().data())); - } - - if (!node->url().isEmpty()) { - GEN_AND_CHECK(json_gen_keyvalue_cstring(gen, "url", node->url().utf8().data())); - GEN_AND_CHECK(json_gen_keyvalue_integer(gen, "lineNumber", node->lineNumber())); - GEN_AND_CHECK(json_gen_keyvalue_integer(gen, "columnNumber", node->columnNumber())); - } - - GEN_AND_CHECK(json_gen_key_cstring(gen, "calls")); - GEN_AND_CHECK(json_gen_array_open(gen, json_entry_value)); - for (const JSC::ProfileNode::Call &call : node->calls()) { - GEN_AND_CHECK(json_gen_map_open(gen, json_entry_key)); - GEN_AND_CHECK(json_gen_keyvalue_double(gen, "startTime", call.startTime())); -#if IOS8 - GEN_AND_CHECK(json_gen_keyvalue_double(gen, "totalTime", call.totalTime())); -#else - GEN_AND_CHECK(json_gen_keyvalue_double(gen, "totalTime", call.elapsedTime())); -#endif - GEN_AND_CHECK(json_gen_map_close(gen)); - } - GEN_AND_CHECK(json_gen_array_close(gen)); - - if (!node->children().isEmpty()) { - GEN_AND_CHECK(json_gen_key_cstring(gen, "children")); - GEN_AND_CHECK(append_children_array_json(gen, node)); - } - - GEN_AND_CHECK(json_gen_map_close(gen)); - - return json_gen_status_ok; -} - -static void convert_to_json(const JSC::Profile *profile, const char *filename) { - json_gen_status status; - json_gen gen = json_gen_alloc(filename); - - status = append_root_json(gen, profile); - if (status != json_gen_status_ok) { - FILE *fileOut = fopen(filename, "wb"); - if (fileOut != nullptr) { - fprintf(fileOut, "{\"error\": %d}", (int)status); - fclose(fileOut); - } - } - json_gen_free(gen); -} - -// Based on JSEndProfiling, with a little extra code to return the profile as JSON. -static void JSEndProfilingAndRender(JSContextRef ctx, const char *title, const char *filename) -{ - JSC::ExecState *exec = toJS(ctx); - JSC::LegacyProfiler *profiler = JSC::LegacyProfiler::profiler(); - RefPtr rawProfile = profiler->stopProfiling(exec, WTF::String(title)); - convert_to_json(rawProfile.get(), filename); -} - -extern "C" { - -void nativeProfilerEnableBytecode(void) -{ - JSC::Options::setOption("forceProfilerBytecodeGeneration=true"); -} - -void nativeProfilerStart(JSContextRef ctx, const char *title) { - JSStartProfiling(ctx, JSStringCreateWithUTF8CString(title)); -} - -void nativeProfilerEnd(JSContextRef ctx, const char *title, const char *filename) { - JSEndProfilingAndRender(ctx, title, filename); -} - -} diff --git a/JSCLegacyProfiler/Makefile b/JSCLegacyProfiler/Makefile deleted file mode 100644 index f8c679fc59b8..000000000000 --- a/JSCLegacyProfiler/Makefile +++ /dev/null @@ -1,18 +0,0 @@ -ios9: - IOS_VERSION=9 \ - JSC_VERSION=7601.1.46.3 \ - WEB_CORE_VERSION=7601.1.46.10 \ - WTF_VERSION=7601.1.46.3 \ - make -f Makefile.base - -ios8: - IOS_VERSION=8 \ - JSC_VERSION=7600.1.17 \ - WEB_CORE_VERSION=7600.1.25 \ - WTF_VERSION=7600.1.24 \ - make -f Makefile.base - -.PHONY: clean -clean: - -rm -rf $(wildcard *.dylib) - -rm -rf download diff --git a/JSCLegacyProfiler/Makefile.base b/JSCLegacyProfiler/Makefile.base deleted file mode 100644 index e79ed58e5a43..000000000000 --- a/JSCLegacyProfiler/Makefile.base +++ /dev/null @@ -1,80 +0,0 @@ -HEADER_PATHS := `find download/JavaScriptCore/JavaScriptCore-$(JSC_VERSION) -name '*.h' | xargs -I{} dirname {} | uniq | xargs -I{} echo "-I {}"` - -XCODE_PATH ?= $(shell xcode-select -p) -SDK_PATH = $(XCODE_PATH)/Platforms/$1.platform/Developer/SDKs/$1.sdk -SDK_VERSION = $(shell plutil -convert json -o - $(call SDK_PATH,iPhoneOS)/SDKSettings.plist | awk -f parseSDKVersion.awk) - -CERT ?= iPhone Developer - -ARCHS = x86_64 arm64 armv7 i386 - -PLATFORM = \ - if [[ "$*" = "x86_64" || "$*" = "i386" ]]; then \ - PLATFORM=iPhoneSimulator; \ - else \ - PLATFORM=iPhoneOS; \ - fi; - -SYSROOT = -isysroot $(call SDK_PATH,$${PLATFORM}) - -IOS_LIBS = \ - download/JavaScriptCore/JavaScriptCore-$(JSC_VERSION) \ - download/WebCore/WebCore-$(WEB_CORE_VERSION) \ - download/WTF/WTF-$(WTF_VERSION) \ - download/JavaScriptCore/JavaScriptCore-$(JSC_VERSION)/Bytecodes.h - -IOS_EXT=ios$(IOS_VERSION) - -ifneq ($(SDK_VERSION), $(IOS_VERSION)) - -all: - $(error "Expected to be compiled with iOS SDK version 8, found $(SDK_VERSION)") - -else - -all: RCTJSCProfiler.$(IOS_EXT).dylib /tmp/RCTJSCProfiler - cp $^ - -endif - -/tmp/RCTJSCProfiler: - mkdir -p $@ - -RCTJSCProfiler.$(IOS_EXT).dylib: RCTJSCProfiler_unsigned.$(IOS_EXT).dylib - cp $< $@ - codesign -f -s "${CERT}" $@ - -.PRECIOUS: RCTJSCProfiler_unsigned.$(IOS_EXT).dylib -RCTJSCProfiler_unsigned.$(IOS_EXT).dylib: $(patsubst %,RCTJSCProfiler_%.$(IOS_EXT).dylib,$(ARCHS)) - lipo -create -output $@ $^ - -.PRECIOUS: RCTJSCProfiler_%.$(IOS_EXT).dylib -RCTJSCProfiler_%.$(IOS_EXT).dylib: $(IOS_LIBS) - $(PLATFORM) \ - clang -w -dynamiclib -o RCTJSCProfiler_$*.$(IOS_EXT).dylib -std=c++11 \ - -arch $* \ - -install_name RCTJSCProfiler.$(IOS_EXT).dylib \ - -include ./download/JavaScriptCore/JavaScriptCore-$(JSC_VERSION)/config.h \ - -I download \ - -I download/WebCore/WebCore-$(WEB_CORE_VERSION)/icu \ - -I download/WTF/WTF-$(WTF_VERSION) \ - -DNDEBUG=1 \ - -DIOS$(IOS_VERSION)=1 \ - -miphoneos-version-min=8.0 \ - $(SYSROOT) \ - $(HEADER_PATHS) \ - -undefined dynamic_lookup \ - JSCLegacyProfiler.mm - -.PRECIOUS: %/Bytecodes.h -%/Bytecodes.h: - python $*/generate-bytecode-files --bytecodes_h $@ $*/bytecode/BytecodeList.json - -.PRECIOUS: download/% -download/%: download/%.tar.gz - tar -zxvf $< -C `dirname $@` > /dev/null - -.PRECIOUS: %.tar.gz -%.tar.gz: - mkdir -p `dirname $@` - curl -o $@ http://www.opensource.apple.com/tarballs/$(patsubst download/%,%,$@) diff --git a/JSCLegacyProfiler/json2trace b/JSCLegacyProfiler/json2trace deleted file mode 100755 index 8dac589a75ba..000000000000 --- a/JSCLegacyProfiler/json2trace +++ /dev/null @@ -1,254 +0,0 @@ -#!/usr/bin/env python -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals - -import argparse -import json -import smap -import trace_data -import urllib - -SECONDS_TO_NANOSECONDS = (1000*1000) -SAMPLE_DELTA_IN_SECONDS = 0.0001 - -class Marker(object): - def __init__(self, _name, _timestamp, _depth, _is_end, _ident, url, line, col): - self.name = _name - self.timestamp = _timestamp - self.depth = _depth - self.is_end = _is_end - self.ident = _ident - self.url = url - self.line = line - self.col = col - -# sort markers making sure they are ordered by timestamp then depth of function call -# and finally that markers of the same ident are sorted in the order begin then end - def __cmp__(self, other): - if self.timestamp < other.timestamp: - return -1 - if self.timestamp > other.timestamp: - return 1 - if self.depth < other.depth: - return -1 - if self.depth > other.depth: - return 1 - if self.ident == other.ident: - if self.is_end: - return 1 - return 0 - -# calculate marker name based on combination of function name and location -def _calcname(entry): - funcname = "" - if "functionName" in entry: - funcname = funcname + entry["functionName"] - return funcname - -def _calcurl(mapcache, entry, map_file): - if entry.url not in mapcache: - map_url = entry.url.replace('.bundle', '.map') - - if map_url != entry.url: - if map_file: - print('Loading sourcemap from:' + map_file) - map_url = map_file - - try: - url_file = urllib.urlopen(map_url) - if url_file != None: - entries = smap.parse(url_file) - mapcache[entry.url] = entries - except Exception, e: - mapcache[entry.url] = [] - - if entry.url in mapcache: - source_entry = smap.find(mapcache[entry.url], entry.line, entry.col) - if source_entry: - entry.url = 'file://' + source_entry.src - entry.line = source_entry.src_line - entry.col = source_entry.src_col - -def _compute_markers(markers, call_point, depth): - name = _calcname(call_point) - ident = len(markers) - url = "" - lineNumber = -1 - columnNumber = -1 - if "url" in call_point: - url = call_point["url"] - if "lineNumber" in call_point: - lineNumber = call_point["lineNumber"] - if "columnNumber" in call_point: - columnNumber = call_point["columnNumber"] - - for call in call_point["calls"]: - markers.append(Marker(name, call["startTime"], depth, 0, ident, url, lineNumber, columnNumber)) - markers.append(Marker(name, call["startTime"] + call["totalTime"], depth, 1, ident, url, lineNumber, columnNumber)) - ident = ident + 2 - if "children" in call_point: - for child in call_point["children"]: - _compute_markers(markers, child, depth+1); - -def _find_child(children, name): - for child in children: - if child['functionName'] == name: - return child - return None - -def _add_entry_cpuprofiler_program(newtime, cpuprofiler): - curnode = _find_child(cpuprofiler['head']['children'], '(program)') - if cpuprofiler['lastTime'] != None: - lastTime = cpuprofiler['lastTime'] - while lastTime < newtime: - curnode['hitCount'] += 1 - cpuprofiler['samples'].append(curnode['callUID']) - cpuprofiler['timestamps'].append(int(lastTime*SECONDS_TO_NANOSECONDS)) - lastTime += SAMPLE_DELTA_IN_SECONDS - cpuprofiler['lastTime'] = lastTime - else: - cpuprofiler['lastTime'] = newtime - - -def _add_entry_cpuprofiler(stack, newtime, cpuprofiler): - index = len(stack) - 1 - marker = stack[index] - - if marker.name not in cpuprofiler['markers']: - cpuprofiler['markers'][marker.name] = cpuprofiler['id'] - cpuprofiler['callUID'] += 1 - callUID = cpuprofiler['markers'][marker.name] - - curnode = cpuprofiler['head'] - index = 0 - while index < len(stack): - newnode = _find_child(curnode['children'], stack[index].name) - if newnode == None: - newnode = {} - newnode['callUID'] = callUID - newnode['url'] = marker.url - newnode['functionName'] = stack[index].name - newnode['hitCount'] = 0 - newnode['lineNumber'] = marker.line - newnode['columnNumber'] = marker.col - newnode['scriptId'] = callUID - newnode['positionTicks'] = [] - newnode['id'] = cpuprofiler['id'] - cpuprofiler['id'] += 1 - newnode['children'] = [] - curnode['children'].append(newnode) - curnode['deoptReason'] = '' - curnode = newnode - index += 1 - - if cpuprofiler['lastTime'] == None: - cpuprofiler['lastTime'] = newtime - - if cpuprofiler['lastTime'] != None: - lastTime = cpuprofiler['lastTime'] - while lastTime < newtime: - curnode['hitCount'] += 1 - if len(curnode['positionTicks']) == 0: - ticks = {} - ticks['line'] = curnode['callUID'] - ticks['ticks'] = 0 - curnode['positionTicks'].append(ticks) - curnode['positionTicks'][0]['ticks'] += 1 - cpuprofiler['samples'].append(curnode['callUID']) - cpuprofiler['timestamps'].append(int(lastTime*1000*1000)) - lastTime += 0.0001 - cpuprofiler['lastTime'] = lastTime - -def _create_default_cpuprofiler_node(name, _id, _uid): - return {'functionName': name, - 'scriptId':'0', - 'url':'', - 'lineNumber':0, - 'columnNumber':0, - 'positionTicks':[], - 'id':_id, - 'callUID':_uid, - 'children': [], - 'hitCount': 0, - 'deoptReason':''} - -def main(): - parser = argparse.ArgumentParser(description="Converts JSON profile format to fbsystrace text output") - - parser.add_argument( - "-o", - dest = "output_file", - default = None, - help = "Output file for trace data") - parser.add_argument( - "-cpuprofiler", - dest = "output_cpuprofiler", - default = None, - help = "Output file for cpuprofiler data") - parser.add_argument( - "-map", - dest = "map_file", - default = None, - help = "Map file for symbolicating") - parser.add_argument( "file", help = "JSON trace input_file") - - args = parser.parse_args() - - markers = [] - with open(args.file, "r") as trace_file: - trace = json.load(trace_file) - for root_entry in trace["rootNodes"]: - _compute_markers(markers, root_entry, 0) - - mapcache = {} - for m in markers: - _calcurl(mapcache, m, args.map_file) - - sorted_markers = list(sorted(markers)); - - if args.output_cpuprofiler != None: - cpuprofiler = {} - cpuprofiler['startTime'] = None - cpuprofiler['endTime'] = None - cpuprofiler['lastTime'] = None - cpuprofiler['id'] = 4 - cpuprofiler['callUID'] = 4 - cpuprofiler['samples'] = [] - cpuprofiler['timestamps'] = [] - cpuprofiler['markers'] = {} - cpuprofiler['head'] = _create_default_cpuprofiler_node('(root)', 1, 1) - cpuprofiler['head']['children'].append(_create_default_cpuprofiler_node('(root)', 2, 2)) - cpuprofiler['head']['children'].append(_create_default_cpuprofiler_node('(program)', 3, 3)) - marker_stack = [] - with open(args.output_cpuprofiler, 'w') as file_out: - for marker in sorted_markers: - if len(marker_stack): - _add_entry_cpuprofiler(marker_stack, marker.timestamp, cpuprofiler) - else: - _add_entry_cpuprofiler_program(marker.timestamp, cpuprofiler) - if marker.is_end: - marker_stack.pop() - else: - marker_stack.append(marker) - cpuprofiler['startTime'] = cpuprofiler['timestamps'][0] / 1000000.0 - cpuprofiler['endTime'] = cpuprofiler['timestamps'][len(cpuprofiler['timestamps']) - 1] / 1000000.0 - json.dump(cpuprofiler, file_out, sort_keys=False, indent=4, separators=(',', ': ')) - - - if args.output_file != None: - with open(args.output_file,"w") as trace_file: - for marker in sorted_markers: - start_or_end = None - if marker.is_end: - start_or_end = "E" - else: - start_or_end = "B" - #output with timestamp at high level of precision - trace_file.write("json-0 [000] .... {0:.12f}: tracing_mark_write: {1}|0|{2}\n".format( - marker.timestamp, - start_or_end, - marker.name)) - -main() diff --git a/JSCLegacyProfiler/parseSDKVersion.awk b/JSCLegacyProfiler/parseSDKVersion.awk deleted file mode 100644 index 73ff20237ab2..000000000000 --- a/JSCLegacyProfiler/parseSDKVersion.awk +++ /dev/null @@ -1,10 +0,0 @@ -BEGIN { - FS = ":" - RS = "," -} - -/"Version"/ { - version = substr($2, 2, length($2) - 2) - print int(version) - exit 0 -} diff --git a/JSCLegacyProfiler/smap.py b/JSCLegacyProfiler/smap.py deleted file mode 100644 index 6c8f8e4ad860..000000000000 --- a/JSCLegacyProfiler/smap.py +++ /dev/null @@ -1,343 +0,0 @@ - -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals - - -""" - adapted from https://github.com/martine/python-sourcemap into a reuasable module -""" - -""" - - Apache License - Version 2.0, January 2010 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - """ - -"""A module for parsing source maps, as output by the Closure and -CoffeeScript compilers and consumed by browsers. See - http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/ -""" - -import collections -import json -import sys -import bisect - -class entry(object): - def __init__(self, dst_line, dst_col, src, src_line, src_col): - self.dst_line = dst_line - self.dst_col = dst_col - self.src = src - self.src_line = src_line - self.src_col = src_col - - def __cmp__(self, other): - #print(self) - #print(other) - if self.dst_line < other.dst_line: - return -1 - if self.dst_line > other.dst_line: - return 1 - if self.dst_col < other.dst_col: - return -1 - if self.dst_col > other.dst_col: - return 1 - return 0 - -SmapState = collections.namedtuple( - 'SmapState', ['dst_line', 'dst_col', - 'src', 'src_line', 'src_col', - 'name']) - -# Mapping of base64 letter -> integer value. -B64 = dict((c, i) for i, c in - enumerate('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' - '0123456789+/')) - - -def _parse_vlq(segment): - """Parse a string of VLQ-encoded data. - - Returns: - a list of integers. - """ - - values = [] - - cur, shift = 0, 0 - for c in segment: - val = B64[c] - # Each character is 6 bits: - # 5 of value and the high bit is the continuation. - val, cont = val & 0b11111, val >> 5 - cur += val << shift - shift += 5 - - if not cont: - # The low bit of the unpacked value is the sign. - cur, sign = cur >> 1, cur & 1 - if sign: - cur = -cur - values.append(cur) - cur, shift = 0, 0 - - if cur or shift: - raise Exception('leftover cur/shift in vlq decode') - - return values - - -def _parse_smap(file): - """Given a file-like object, yield SmapState()s as they are read from it.""" - - smap = json.load(file) - sources = smap['sources'] - names = smap['names'] - mappings = smap['mappings'] - lines = mappings.split(';') - - dst_col, src_id, src_line, src_col, name_id = 0, 0, 0, 0, 0 - for dst_line, line in enumerate(lines): - segments = line.split(',') - dst_col = 0 - for segment in segments: - if not segment: - continue - parsed = _parse_vlq(segment) - dst_col += parsed[0] - - src = None - name = None - if len(parsed) > 1: - src_id += parsed[1] - src = sources[src_id] - src_line += parsed[2] - src_col += parsed[3] - - if len(parsed) > 4: - name_id += parsed[4] - name = names[name_id] - - assert dst_line >= 0 - assert dst_col >= 0 - assert src_line >= 0 - assert src_col >= 0 - - yield SmapState(dst_line, dst_col, src, src_line, src_col, name) - -def find(entries, line, col): - test = entry(line, col, '', 0, 0) - index = bisect.bisect_right(entries, test) - if index == 0: - return None - return entries[index - 1] - -def parse(file): - # Simple demo that shows files that most contribute to total size. - lookup = [] - for state in _parse_smap(file): - lookup.append(entry(state.dst_line, state.dst_col, state.src, state.src_line, state.src_col)) - - sorted_lookup = list(sorted(lookup)) - return sorted_lookup diff --git a/JSCLegacyProfiler/trace_data.py b/JSCLegacyProfiler/trace_data.py deleted file mode 100644 index 7cda25adfaf7..000000000000 --- a/JSCLegacyProfiler/trace_data.py +++ /dev/null @@ -1,244 +0,0 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals - -import re -import unittest - -""" -# _-----=> irqs-off -# / _----=> need-resched -# | / _---=> hardirq/softirq -# || / _--=> preempt-depth -# ||| / delay -# TASK-PID CPU# |||| TIMESTAMP FUNCTION -# | | | |||| | | - -0 [001] ...2 3269.291072: sched_switch: prev_comm=swapper/1 prev_pid=0 prev_prio=120 prev_state=R ==> next_comm=mmcqd/0 next_pid=120 next_prio=120 -""" -TRACE_LINE_PATTERN = re.compile( - r'^\s*(?P.+)-(?P\d+)\s+(?:\((?P.+)\)\s+)?\[(?P\d+)\]\s+(?:(?P\S{4})\s+)?(?P[0-9.]+):\s+(?P.+)$') - -""" -Example lines from custom app traces: -0: B|27295|providerRemove -0: E -tracing_mark_write: S|27311|NNFColdStart|1112249168 -""" -APP_TRACE_LINE_PATTERN = re.compile( - r'^(?P.+?): (?P.+)$') - -""" -Example section names: -NNFColdStart -NNFColdStart<0> -NNFColdStart -NNFColdStart -""" -DECORATED_SECTION_NAME_PATTERN = re.compile(r'^(?P.*?)(?:<0>)?(?:<(?P.)(?P.*?)>)?$') - -SYSTRACE_LINE_TYPES = set(['0', 'tracing_mark_write']) - -class TraceLine(object): - def __init__(self, task, pid, tgid, cpu, flags, timestamp, function): - self.task = task - self.pid = pid - self.tgid = tgid - self.cpu = cpu - self.flags = flags - self.timestamp = timestamp - self.function = function - self.canceled = False - - @property - def is_app_trace_line(self): - return isinstance(self.function, AppTraceFunction) - - def cancel(self): - self.canceled = True - - def __str__(self): - if self.canceled: - return "" - elif self.tgid: - return "{task:>16s}-{pid:<5d} ({tgid:5s}) [{cpu:03d}] {flags:4s} {timestamp:12f}: {function}\n".format(**vars(self)) - elif self.flags: - return "{task:>16s}-{pid:<5d} [{cpu:03d}] {flags:4s} {timestamp:12f}: {function}\n".format(**vars(self)) - else: - return "{task:>16s}-{pid:<5d} [{cpu:03d}] {timestamp:12.6f}: {function}\n".format(**vars(self)) - - -class AppTraceFunction(object): - def __init__(self, type, args): - self.type = type - self.args = args - self.operation = args[0] - - if len(args) >= 2 and args[1]: - self.pid = int(args[1]) - if len(args) >= 3: - self._section_name, self.command, self.argument = _parse_section_name(args[2]) - args[2] = self._section_name - else: - self._section_name = None - self.command = None - self.argument = None - self.cookie = None - - @property - def section_name(self): - return self._section_name - - @section_name.setter - def section_name(self, value): - self._section_name = value - self.args[2] = value - - def __str__(self): - return "{type}: {args}".format(type=self.type, args='|'.join(self.args)) - - -class AsyncTraceFunction(AppTraceFunction): - def __init__(self, type, args): - super(AsyncTraceFunction, self).__init__(type, args) - - self.cookie = int(args[3]) - - -TRACE_TYPE_MAP = { - 'S': AsyncTraceFunction, - 'T': AsyncTraceFunction, - 'F': AsyncTraceFunction, -} - -def parse_line(line): - match = TRACE_LINE_PATTERN.match(line.strip()) - if not match: - return None - - task = match.group("task") - pid = int(match.group("pid")) - tgid = match.group("tgid") - cpu = int(match.group("cpu")) - flags = match.group("flags") - timestamp = float(match.group("timestamp")) - function = match.group("function") - - app_trace = _parse_function(function) - if app_trace: - function = app_trace - - return TraceLine(task, pid, tgid, cpu, flags, timestamp, function) - -def parse_dextr_line(line): - task = line["name"] - pid = line["pid"] - tgid = line["tid"] - cpu = None - flags = None - timestamp = line["ts"] - function = AppTraceFunction("DextrTrace", [line["ph"], line["pid"], line["name"]]) - - return TraceLine(task, pid, tgid, cpu, flags, timestamp, function) - - -def _parse_function(function): - line_match = APP_TRACE_LINE_PATTERN.match(function) - if not line_match: - return None - - type = line_match.group("type") - if not type in SYSTRACE_LINE_TYPES: - return None - - args = line_match.group("args").split('|') - if len(args) == 1 and len(args[0]) == 0: - args = None - - constructor = TRACE_TYPE_MAP.get(args[0], AppTraceFunction) - return constructor(type, args) - - -def _parse_section_name(section_name): - if section_name is None: - return section_name, None, None - - section_name_match = DECORATED_SECTION_NAME_PATTERN.match(section_name) - section_name = section_name_match.group("section_name") - command = section_name_match.group("command") - argument = section_name_match.group("argument") - return section_name, command, argument - - -def _format_section_name(section_name, command, argument): - if not command: - return section_name - - return "{section_name}<{command}{argument}>".format(**vars()) - - -class RoundTripFormattingTests(unittest.TestCase): - def testPlainSectionName(self): - section_name = "SectionName12345-5562342fas" - - self.assertEqual(section_name, _format_section_name(*_parse_section_name(section_name))) - - def testDecoratedSectionName(self): - section_name = "SectionName12345-5562342fas" - - self.assertEqual(section_name, _format_section_name(*_parse_section_name(section_name))) - - def testSimpleFunction(self): - function = "0: E" - - self.assertEqual(function, str(_parse_function(function))) - - def testFunctionWithoutCookie(self): - function = "0: B|27295|providerRemove" - - self.assertEqual(function, str(_parse_function(function))) - - def testFunctionWithCookie(self): - function = "0: S|27311|NNFColdStart|1112249168" - - self.assertEqual(function, str(_parse_function(function))) - - def testFunctionWithCookieAndArgs(self): - function = "0: T|27311|NNFColdStart|1122|Start" - - self.assertEqual(function, str(_parse_function(function))) - - def testFunctionWithArgsButNoPid(self): - function = "0: E|||foo=bar" - - self.assertEqual(function, str(_parse_function(function))) - - def testKitKatFunction(self): - function = "tracing_mark_write: B|14127|Looper.dispatchMessage|arg=>>>>> Dispatching to Handler (android.os.Handler) {422ae980} null: 0|Java" - - self.assertEqual(function, str(_parse_function(function))) - - def testNonSysTraceFunctionIgnored(self): - function = "sched_switch: prev_comm=swapper/1 prev_pid=0 prev_prio=120 prev_state=R ==> next_comm=mmcqd/0 next_pid=120 next_prio=120" - - self.assertEqual(None, _parse_function(function)) - - def testLineWithFlagsAndTGID(self): - line = " -0 ( 550) [000] d..2 7953.258473: cpu_idle: state=1 cpu_id=0\n" - - self.assertEqual(line, str(parse_line(line))) - - def testLineWithFlagsAndNoTGID(self): - line = " -0 (-----) [000] d..2 7953.258473: cpu_idle: state=1 cpu_id=0\n" - - self.assertEqual(line, str(parse_line(line))) - - def testLineWithFlags(self): - line = " -0 [001] ...2 3269.291072: sched_switch: prev_comm=swapper/1 prev_pid=0 prev_prio=120 prev_state=R ==> next_comm=mmcqd/0 next_pid=120 next_prio=120\n" - - self.assertEqual(line, str(parse_line(line))) - - def testLineWithoutFlags(self): - line = " -0 [001] 3269.291072: sched_switch: prev_comm=swapper/1 prev_pid=0 prev_prio=120 prev_state=R ==> next_comm=mmcqd/0 next_pid=120 next_prio=120\n" - - self.assertEqual(line, str(parse_line(line))) diff --git a/Jenkinsfile b/Jenkinsfile index 3242aef058a8..e5918c01da70 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -52,11 +52,13 @@ def getParallelInstrumentationTests(testDir, parallelCount, imageName) { def testCount = sh(script: "ls ${testDir} | wc -l", returnStdout: true).trim().toInteger() def testPerParallel = testCount.intdiv(parallelCount) + 1 + def ignoredTests = 'CatalystNativeJavaToJSReturnValuesTestCase|CatalystUIManagerTestCase|CatalystMeasureLayoutTest|CatalystNativeJavaToJSArgumentsTestCase|CatalystNativeJSToJavaParametersTestCase|ReactScrollViewTestCase|ReactHorizontalScrollViewTestCase|ViewRenderingTestCase'; + for (def x = 0; (x*testPerParallel) < testCount; x++) { def offset = x integrationTests["android integration tests: ${offset}"] = { run: { - runCmdOnDockerImage(imageName, "bash /app/ContainerShip/scripts/run-android-docker-instrumentation-tests.sh --offset=${offset} --count=${testPerParallel}", '--privileged --rm') + runCmdOnDockerImage(imageName, "bash /app/ContainerShip/scripts/run-android-docker-instrumentation-tests.sh --offset=${offset} --count=${testPerParallel} --ignore=\"${ignoredTests}\"", '--privileged --rm') } } } @@ -106,7 +108,7 @@ def runStages() { jsImageName = "${buildInfo.image.name}-js:${jsTag}" androidImageName = "${buildInfo.image.name}-android:${androidTag}" - parallelInstrumentationTests = getParallelInstrumentationTests('./ReactAndroid/src/androidTest/java/com/facebook/react/tests', 1, androidImageName) + parallelInstrumentationTests = getParallelInstrumentationTests('./ReactAndroid/src/androidTest/java/com/facebook/react/tests', 3, androidImageName) parallel( 'javascript build': { @@ -148,9 +150,7 @@ def runStages() { runCmdOnDockerImage(androidImageName, 'bash /app/ContainerShip/scripts/run-android-docker-unit-tests.sh', '--privileged --rm') }, 'android e2e tests': { - // temporarily disable e2e tests, they have a high transient failure rate - // runCmdOnDockerImage(androidImageName, 'bash /app/ContainerShip/scripts/run-ci-e2e-tests.sh --android --js', '--rm') - echo "Android E2E tests have been temporarily disabled" + runCmdOnDockerImage(androidImageName, 'bash /app/ContainerShip/scripts/run-ci-e2e-tests.sh --android --js', '--privileged --rm') } ) } catch(e) { diff --git a/LICENSE-examples b/LICENSE-examples deleted file mode 100644 index 87f537d43429..000000000000 --- a/LICENSE-examples +++ /dev/null @@ -1,9 +0,0 @@ -The examples provided by Facebook are for non-commercial testing and evaluation -purposes only. Facebook reserves all rights not expressly granted. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/Libraries/ART/ART.xcodeproj/project.pbxproj b/Libraries/ART/ART.xcodeproj/project.pbxproj index 8a6f49c7c479..75eec5411710 100644 --- a/Libraries/ART/ART.xcodeproj/project.pbxproj +++ b/Libraries/ART/ART.xcodeproj/project.pbxproj @@ -25,6 +25,24 @@ 0CF68B141AF0549300FF9E5C /* ARTShapeManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CF68B001AF0549300FF9E5C /* ARTShapeManager.m */; }; 0CF68B151AF0549300FF9E5C /* ARTSurfaceViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CF68B021AF0549300FF9E5C /* ARTSurfaceViewManager.m */; }; 0CF68B161AF0549300FF9E5C /* ARTTextManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CF68B041AF0549300FF9E5C /* ARTTextManager.m */; }; + 325CF7AD1E5F2ABA00AC9606 /* ARTBrush.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CF68AEC1AF0549300FF9E5C /* ARTBrush.m */; }; + 325CF7AE1E5F2ABA00AC9606 /* ARTLinearGradient.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CF68AEE1AF0549300FF9E5C /* ARTLinearGradient.m */; }; + 325CF7AF1E5F2ABA00AC9606 /* ARTPattern.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CF68AF01AF0549300FF9E5C /* ARTPattern.m */; }; + 325CF7B01E5F2ABA00AC9606 /* ARTRadialGradient.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CF68AF21AF0549300FF9E5C /* ARTRadialGradient.m */; }; + 325CF7B11E5F2ABA00AC9606 /* ARTSolidColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CF68AF41AF0549300FF9E5C /* ARTSolidColor.m */; }; + 325CF7B21E5F2ABA00AC9606 /* ARTGroupManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CF68AFA1AF0549300FF9E5C /* ARTGroupManager.m */; }; + 325CF7B31E5F2ABA00AC9606 /* ARTNodeManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CF68AFC1AF0549300FF9E5C /* ARTNodeManager.m */; }; + 325CF7B41E5F2ABA00AC9606 /* ARTRenderableManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CF68AFE1AF0549300FF9E5C /* ARTRenderableManager.m */; }; + 325CF7B51E5F2ABA00AC9606 /* ARTShapeManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CF68B001AF0549300FF9E5C /* ARTShapeManager.m */; }; + 325CF7B61E5F2ABA00AC9606 /* ARTSurfaceViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CF68B021AF0549300FF9E5C /* ARTSurfaceViewManager.m */; }; + 325CF7B71E5F2ABA00AC9606 /* ARTTextManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CF68B041AF0549300FF9E5C /* ARTTextManager.m */; }; + 325CF7B81E5F2ABA00AC9606 /* ARTGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CF68ADE1AF0549300FF9E5C /* ARTGroup.m */; }; + 325CF7B91E5F2ABA00AC9606 /* ARTNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CF68AE01AF0549300FF9E5C /* ARTNode.m */; }; + 325CF7BA1E5F2ABA00AC9606 /* ARTRenderable.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CF68AE21AF0549300FF9E5C /* ARTRenderable.m */; }; + 325CF7BB1E5F2ABA00AC9606 /* ARTShape.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CF68AE41AF0549300FF9E5C /* ARTShape.m */; }; + 325CF7BC1E5F2ABA00AC9606 /* ARTSurfaceView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CF68AE61AF0549300FF9E5C /* ARTSurfaceView.m */; }; + 325CF7BD1E5F2ABA00AC9606 /* ARTText.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CF68AE81AF0549300FF9E5C /* ARTText.m */; }; + 325CF7BE1E5F2ABA00AC9606 /* RCTConvert+ART.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CF68AF71AF0549300FF9E5C /* RCTConvert+ART.m */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -37,6 +55,15 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 323A12851E5F266B004975B8 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ @@ -80,6 +107,7 @@ 0CF68B021AF0549300FF9E5C /* ARTSurfaceViewManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARTSurfaceViewManager.m; sourceTree = ""; }; 0CF68B031AF0549300FF9E5C /* ARTTextManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARTTextManager.h; sourceTree = ""; }; 0CF68B041AF0549300FF9E5C /* ARTTextManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARTTextManager.m; sourceTree = ""; }; + 323A12871E5F266B004975B8 /* libART-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libART-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -90,6 +118,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 323A12841E5F266B004975B8 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -117,12 +152,16 @@ 0CF68AF71AF0549300FF9E5C /* RCTConvert+ART.m */, 0CF68AC21AF0540F00FF9E5C /* Products */, ); + indentWidth = 2; sourceTree = ""; + tabWidth = 2; + usesTabs = 0; }; 0CF68AC21AF0540F00FF9E5C /* Products */ = { isa = PBXGroup; children = ( 0CF68AC11AF0540F00FF9E5C /* libART.a */, + 323A12871E5F266B004975B8 /* libART-tvOS.a */, ); name = Products; sourceTree = ""; @@ -183,6 +222,23 @@ productReference = 0CF68AC11AF0540F00FF9E5C /* libART.a */; productType = "com.apple.product-type.library.static"; }; + 323A12861E5F266B004975B8 /* ART-tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 323A128D1E5F266B004975B8 /* Build configuration list for PBXNativeTarget "ART-tvOS" */; + buildPhases = ( + 323A12831E5F266B004975B8 /* Sources */, + 323A12841E5F266B004975B8 /* Frameworks */, + 323A12851E5F266B004975B8 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "ART-tvOS"; + productName = "ART-tvOS"; + productReference = 323A12871E5F266B004975B8 /* libART-tvOS.a */; + productType = "com.apple.product-type.library.static"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -194,6 +250,10 @@ 0CF68AC01AF0540F00FF9E5C = { CreatedOnToolsVersion = 6.2; }; + 323A12861E5F266B004975B8 = { + CreatedOnToolsVersion = 6.2; + ProvisioningStyle = Automatic; + }; }; }; buildConfigurationList = 0CF68ABC1AF0540F00FF9E5C /* Build configuration list for PBXProject "ART" */; @@ -209,6 +269,7 @@ projectRoot = ""; targets = ( 0CF68AC01AF0540F00FF9E5C /* ART */, + 323A12861E5F266B004975B8 /* ART-tvOS */, ); }; /* End PBXProject section */ @@ -239,6 +300,31 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 323A12831E5F266B004975B8 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 325CF7B71E5F2ABA00AC9606 /* ARTTextManager.m in Sources */, + 325CF7B21E5F2ABA00AC9606 /* ARTGroupManager.m in Sources */, + 325CF7AF1E5F2ABA00AC9606 /* ARTPattern.m in Sources */, + 325CF7BD1E5F2ABA00AC9606 /* ARTText.m in Sources */, + 325CF7B31E5F2ABA00AC9606 /* ARTNodeManager.m in Sources */, + 325CF7B81E5F2ABA00AC9606 /* ARTGroup.m in Sources */, + 325CF7B41E5F2ABA00AC9606 /* ARTRenderableManager.m in Sources */, + 325CF7BC1E5F2ABA00AC9606 /* ARTSurfaceView.m in Sources */, + 325CF7B01E5F2ABA00AC9606 /* ARTRadialGradient.m in Sources */, + 325CF7B61E5F2ABA00AC9606 /* ARTSurfaceViewManager.m in Sources */, + 325CF7BB1E5F2ABA00AC9606 /* ARTShape.m in Sources */, + 325CF7BA1E5F2ABA00AC9606 /* ARTRenderable.m in Sources */, + 325CF7BE1E5F2ABA00AC9606 /* RCTConvert+ART.m in Sources */, + 325CF7B91E5F2ABA00AC9606 /* ARTNode.m in Sources */, + 325CF7B11E5F2ABA00AC9606 /* ARTSolidColor.m in Sources */, + 325CF7AE1E5F2ABA00AC9606 /* ARTLinearGradient.m in Sources */, + 325CF7AD1E5F2ABA00AC9606 /* ARTBrush.m in Sources */, + 325CF7B51E5F2ABA00AC9606 /* ARTShapeManager.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin XCBuildConfiguration section */ @@ -334,6 +420,41 @@ }; name = Release; }; + 323A128E1E5F266B004975B8 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_TESTABILITY = YES; + GCC_NO_COMMON_BLOCKS = YES; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + TVOS_DEPLOYMENT_TARGET = 9.2; + }; + name = Debug; + }; + 323A128F1E5F266B004975B8 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_NO_COMMON_BLOCKS = YES; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + TVOS_DEPLOYMENT_TARGET = 9.2; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -355,6 +476,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 323A128D1E5F266B004975B8 /* Build configuration list for PBXNativeTarget "ART-tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 323A128E1E5F266B004975B8 /* Debug */, + 323A128F1E5F266B004975B8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ }; rootObject = 0CF68AB91AF0540F00FF9E5C /* Project object */; diff --git a/Libraries/ART/ReactNativeART.js b/Libraries/ART/ReactNativeART.js index 419fde983255..a54fafdfe509 100644 --- a/Libraries/ART/ReactNativeART.js +++ b/Libraries/ART/ReactNativeART.js @@ -15,6 +15,7 @@ var Path = require('ARTSerializablePath'); var Transform = require('art/core/transform'); var React = require('React'); +var PropTypes = require('prop-types'); var ReactNativeViewAttributes = require('ReactNativeViewAttributes'); var createReactNativeComponentClass = require('createReactNativeComponentClass'); @@ -139,7 +140,7 @@ function childrenAsString(children) { class Surface extends React.Component { static childContextTypes = { - isInSurface: React.PropTypes.bool, + isInSurface: PropTypes.bool, }; getChildContext() { @@ -213,7 +214,7 @@ function extractOpacity(props) { class Group extends React.Component { static contextTypes = { - isInSurface: React.PropTypes.bool.isRequired, + isInSurface: PropTypes.bool.isRequired, }; render() { @@ -391,7 +392,7 @@ class Shape extends React.Component { render() { var props = this.props; var path = props.d || childrenAsString(props.children); - var d = new Path(path).toJSON(); + var d = (path instanceof Path ? path : new Path(path)).toJSON(); return ( - -#import - -@implementation RCTAdSupport - -RCT_EXPORT_MODULE() - -RCT_EXPORT_METHOD(getAdvertisingId:(RCTResponseSenderBlock)callback - withErrorCallback:(RCTResponseErrorBlock)errorCallback) -{ - NSUUID *advertisingIdentifier = [ASIdentifierManager sharedManager].advertisingIdentifier; - if (advertisingIdentifier) { - callback(@[advertisingIdentifier.UUIDString]); - } else { - errorCallback(RCTErrorWithMessage(@"Advertising identifier is unavailable.")); - } -} - -RCT_EXPORT_METHOD(getAdvertisingTrackingEnabled:(RCTResponseSenderBlock)callback - withErrorCallback:(__unused RCTResponseSenderBlock)errorCallback) -{ - callback(@[@([ASIdentifierManager sharedManager].advertisingTrackingEnabled)]); -} - -@end diff --git a/Libraries/AdSupport/RCTAdSupport.xcodeproj/project.pbxproj b/Libraries/AdSupport/RCTAdSupport.xcodeproj/project.pbxproj deleted file mode 100644 index 127186d0ec1d..000000000000 --- a/Libraries/AdSupport/RCTAdSupport.xcodeproj/project.pbxproj +++ /dev/null @@ -1,257 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 832C819C1AAF6E1A007FA2F7 /* RCTAdSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 832C819B1AAF6E1A007FA2F7 /* RCTAdSupport.m */; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 832C817E1AAF6DEF007FA2F7 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = "include/$(PRODUCT_NAME)"; - dstSubfolderSpec = 16; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 832C81801AAF6DEF007FA2F7 /* libRCTAdSupport.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRCTAdSupport.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 832C819A1AAF6E1A007FA2F7 /* RCTAdSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = RCTAdSupport.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; - 832C819B1AAF6E1A007FA2F7 /* RCTAdSupport.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTAdSupport.m; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 832C817D1AAF6DEF007FA2F7 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 832C81771AAF6DEF007FA2F7 = { - isa = PBXGroup; - children = ( - 832C819A1AAF6E1A007FA2F7 /* RCTAdSupport.h */, - 832C819B1AAF6E1A007FA2F7 /* RCTAdSupport.m */, - 832C81811AAF6DEF007FA2F7 /* Products */, - ); - indentWidth = 2; - sourceTree = ""; - tabWidth = 2; - }; - 832C81811AAF6DEF007FA2F7 /* Products */ = { - isa = PBXGroup; - children = ( - 832C81801AAF6DEF007FA2F7 /* libRCTAdSupport.a */, - ); - name = Products; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 832C817F1AAF6DEF007FA2F7 /* RCTAdSupport */ = { - isa = PBXNativeTarget; - buildConfigurationList = 832C81941AAF6DF0007FA2F7 /* Build configuration list for PBXNativeTarget "RCTAdSupport" */; - buildPhases = ( - 832C817C1AAF6DEF007FA2F7 /* Sources */, - 832C817D1AAF6DEF007FA2F7 /* Frameworks */, - 832C817E1AAF6DEF007FA2F7 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = RCTAdSupport; - productName = RCTAdSupport; - productReference = 832C81801AAF6DEF007FA2F7 /* libRCTAdSupport.a */; - productType = "com.apple.product-type.library.static"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 832C81781AAF6DEF007FA2F7 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0620; - ORGANIZATIONNAME = Facebook; - TargetAttributes = { - 832C817F1AAF6DEF007FA2F7 = { - CreatedOnToolsVersion = 6.2; - }; - }; - }; - buildConfigurationList = 832C817B1AAF6DEF007FA2F7 /* Build configuration list for PBXProject "RCTAdSupport" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = 832C81771AAF6DEF007FA2F7; - productRefGroup = 832C81811AAF6DEF007FA2F7 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 832C817F1AAF6DEF007FA2F7 /* RCTAdSupport */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXSourcesBuildPhase section */ - 832C817C1AAF6DEF007FA2F7 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 832C819C1AAF6E1A007FA2F7 /* RCTAdSupport.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 832C81921AAF6DF0007FA2F7 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; - GCC_WARN_SHADOW = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - WARNING_CFLAGS = ( - "-Werror", - "-Wall", - ); - }; - name = Debug; - }; - 832C81931AAF6DF0007FA2F7 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; - GCC_WARN_SHADOW = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - VALIDATE_PRODUCT = YES; - WARNING_CFLAGS = ( - "-Werror", - "-Wall", - ); - }; - name = Release; - }; - 832C81951AAF6DF0007FA2F7 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_STATIC_ANALYZER_MODE = deep; - OTHER_LDFLAGS = "-ObjC"; - PRODUCT_NAME = "$(TARGET_NAME)"; - RUN_CLANG_STATIC_ANALYZER = YES; - }; - name = Debug; - }; - 832C81961AAF6DF0007FA2F7 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_STATIC_ANALYZER_MODE = deep; - OTHER_LDFLAGS = "-ObjC"; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 832C817B1AAF6DEF007FA2F7 /* Build configuration list for PBXProject "RCTAdSupport" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 832C81921AAF6DF0007FA2F7 /* Debug */, - 832C81931AAF6DF0007FA2F7 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 832C81941AAF6DF0007FA2F7 /* Build configuration list for PBXNativeTarget "RCTAdSupport" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 832C81951AAF6DF0007FA2F7 /* Debug */, - 832C81961AAF6DF0007FA2F7 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 832C81781AAF6DEF007FA2F7 /* Project object */; -} diff --git a/Libraries/Animated/examples/style.css b/Libraries/Animated/examples/style.css index bef24f990c6e..c188ad79b07f 100644 --- a/Libraries/Animated/examples/style.css +++ b/Libraries/Animated/examples/style.css @@ -14,8 +14,8 @@ html, h1, h2 { height: 50px; position: absolute; display: inline-block; - box-shadow: 0px 1px 2px #999; - text-shadow: 0px 1px 2px #999; + box-shadow: 0 1px 2px #999; + text-shadow: 0 1px 2px #999; background-image: url(pic1.jpg); background-size: cover; line-height: 80px; @@ -34,7 +34,7 @@ html, h1, h2 { } div.code { - box-shadow: 0px 1px 2px #999; + box-shadow: 0 1px 2px #999; width: 600px; padding: 5px; position: relative; diff --git a/Libraries/Animated/src/AnimatedImplementation.js b/Libraries/Animated/src/AnimatedImplementation.js index 51420039ee06..765044fdff45 100644 --- a/Libraries/Animated/src/AnimatedImplementation.js +++ b/Libraries/Animated/src/AnimatedImplementation.js @@ -459,6 +459,7 @@ type SpringAnimationConfig = AnimationConfig & { speed?: number, tension?: number, friction?: number, + delay?: number, }; type SpringAnimationConfigSingle = AnimationConfig & { @@ -471,6 +472,7 @@ type SpringAnimationConfigSingle = AnimationConfig & { speed?: number, tension?: number, friction?: number, + delay?: number, }; function withDefault(value: ?T, defaultValue: T): T { @@ -492,6 +494,8 @@ class SpringAnimation extends Animation { _toValue: any; _tension: number; _friction: number; + _delay: number; + _timeout: any; _lastTime: number; _onUpdate: (value: number) => void; _animationFrame: any; @@ -508,6 +512,7 @@ class SpringAnimation extends Animation { this._initialVelocity = config.velocity; this._lastVelocity = withDefault(config.velocity, 0); this._toValue = config.toValue; + this._delay = withDefault(config.delay, 0); this._useNativeDriver = shouldUseNativeDriver(config); this.__isInteraction = config.isInteraction !== undefined ? config.isInteraction : true; this.__iterations = config.iterations !== undefined ? config.iterations : 1; @@ -571,10 +576,20 @@ class SpringAnimation extends Animation { this._initialVelocity !== null) { this._lastVelocity = this._initialVelocity; } - if (this._useNativeDriver) { - this.__startNativeAnimation(animatedValue); + + var start = () => { + if (this._useNativeDriver) { + this.__startNativeAnimation(animatedValue); + } else { + this.onUpdate(); + } + }; + + // If this._delay is more than 0, we start after the timeout. + if (this._delay) { + this._timeout = setTimeout(start, this._delay); } else { - this.onUpdate(); + start(); } } @@ -685,6 +700,7 @@ class SpringAnimation extends Animation { stop(): void { super.stop(); this.__active = false; + clearTimeout(this._timeout); global.cancelAnimationFrame(this._animationFrame); this.__debouncedOnEnd({finished: false}); } @@ -1108,6 +1124,11 @@ class AnimatedInterpolation extends AnimatedWithChildren { this._interpolation = Interpolation.create(config); } + __makeNative() { + this._parent.__makeNative(); + super.__makeNative(); + } + __getValue(): number | string { var parentValue: number = this._parent.__getValue(); invariant( @@ -1138,12 +1159,12 @@ class AnimatedInterpolation extends AnimatedWithChildren { return value; } if (/deg$/.test(value)) { - const degrees = parseFloat(value, 10) || 0; + const degrees = parseFloat(value) || 0; const radians = degrees * Math.PI / 180.0; return radians; } else { // Assume radians - return parseFloat(value, 10) || 0; + return parseFloat(value) || 0; } }); } @@ -1218,9 +1239,9 @@ class AnimatedDivision extends AnimatedWithChildren { } __makeNative() { - super.__makeNative(); this._a.__makeNative(); this._b.__makeNative(); + super.__makeNative(); } __getValue(): number { @@ -1266,9 +1287,9 @@ class AnimatedMultiplication extends AnimatedWithChildren { } __makeNative() { - super.__makeNative(); this._a.__makeNative(); this._b.__makeNative(); + super.__makeNative(); } __getValue(): number { @@ -1309,8 +1330,8 @@ class AnimatedModulo extends AnimatedWithChildren { } __makeNative() { - super.__makeNative(); this._a.__makeNative(); + super.__makeNative(); } __getValue(): number { @@ -1356,8 +1377,8 @@ class AnimatedDiffClamp extends AnimatedWithChildren { } __makeNative() { - super.__makeNative(); this._a.__makeNative(); + super.__makeNative(); } interpolate(config: InterpolationConfigType): AnimatedInterpolation { @@ -1839,10 +1860,16 @@ function createAnimatedComponent(Component: any): any { } render() { + const props = this._propsAnimated.__getValue(); return ( ); } @@ -2738,10 +2765,13 @@ module.exports = { * [Origami](https://facebook.github.io/origami/). Tracks velocity state to * create fluid motions as the `toValue` updates, and can be chained together. * - * Config is an object that may have the following options: + * Config is an object that may have the following options. Note that you can + * only define bounciness/speed or tension/friction but not both: * * - `friction`: Controls "bounciness"/overshoot. Default 7. * - `tension`: Controls speed. Default 40. + * - `speed`: Controls speed of the animation. Default 12. + * - `bounciness`: Controls bounciness. Default 8. * - `useNativeDriver`: Uses the native driver when true. Default false. */ spring, @@ -2816,9 +2846,9 @@ module.exports = { * *```javascript * onScroll={Animated.event( - * [{nativeEvent: {contentOffset: {x: this._scrollX}}}] + * [{nativeEvent: {contentOffset: {x: this._scrollX}}}], * {listener}, // Optional async listener - * ) + * )} * ... * onPanResponderMove: Animated.event([ * null, // raw event arg ignored diff --git a/Libraries/Animated/src/__tests__/Animated-test.js b/Libraries/Animated/src/__tests__/Animated-test.js index c081f1e9b7a6..d839bc3e7ef3 100644 --- a/Libraries/Animated/src/__tests__/Animated-test.js +++ b/Libraries/Animated/src/__tests__/Animated-test.js @@ -8,8 +8,6 @@ */ 'use strict'; -jest.disableAutomock(); - var Animated = require('Animated'); describe('Animated tests', () => { beforeEach(() => { @@ -111,11 +109,6 @@ describe('Animated tests', () => { it('stops animation when detached', () => { - // jest environment doesn't have cancelAnimationFrame :( - if (!global.cancelAnimationFrame) { - global.cancelAnimationFrame = jest.fn(); - } - var anim = new Animated.Value(0); var callback = jest.fn(); diff --git a/Libraries/Animated/src/__tests__/AnimatedNative-test.js b/Libraries/Animated/src/__tests__/AnimatedNative-test.js index 1d46f6474762..28a32c89ec4b 100644 --- a/Libraries/Animated/src/__tests__/AnimatedNative-test.js +++ b/Libraries/Animated/src/__tests__/AnimatedNative-test.js @@ -9,7 +9,6 @@ 'use strict'; jest - .disableAutomock() .setMock('Text', {}) .setMock('View', {}) .setMock('Image', {}) @@ -55,11 +54,6 @@ describe('Native Animated', () => { nativeAnimatedModule.startListeningToAnimatedNodeValue = jest.fn(); nativeAnimatedModule.stopAnimation = jest.fn(); nativeAnimatedModule.stopListeningToAnimatedNodeValue = jest.fn(); - - // jest environment doesn't have cancelAnimationFrame :( - if (!global.cancelAnimationFrame) { - global.cancelAnimationFrame = jest.fn(); - } }); describe('Animated Value', () => { diff --git a/Libraries/Animated/src/__tests__/Easing-test.js b/Libraries/Animated/src/__tests__/Easing-test.js index 1647090854fb..aedc168e9eeb 100644 --- a/Libraries/Animated/src/__tests__/Easing-test.js +++ b/Libraries/Animated/src/__tests__/Easing-test.js @@ -8,8 +8,6 @@ */ 'use strict'; -jest.unmock('Easing'); - var Easing = require('Easing'); describe('Easing', () => { it('should work with linear', () => { diff --git a/Libraries/Animated/src/__tests__/Interpolation-test.js b/Libraries/Animated/src/__tests__/Interpolation-test.js index 54d3ee46026e..442592bd8f60 100644 --- a/Libraries/Animated/src/__tests__/Interpolation-test.js +++ b/Libraries/Animated/src/__tests__/Interpolation-test.js @@ -8,11 +8,6 @@ */ 'use strict'; -jest - .unmock('Interpolation') - .unmock('Easing') - .unmock('normalizeColor'); - var Interpolation = require('Interpolation'); var Easing = require('Easing'); diff --git a/Libraries/Animated/src/__tests__/bezier-test.js b/Libraries/Animated/src/__tests__/bezier-test.js index 4e3c8a9cebb0..59cf7895cebf 100644 --- a/Libraries/Animated/src/__tests__/bezier-test.js +++ b/Libraries/Animated/src/__tests__/bezier-test.js @@ -10,7 +10,6 @@ 'use strict'; -jest.unmock('bezier'); var bezier = require('bezier'); var identity = function (x) { return x; }; diff --git a/Libraries/AppState/AppState.js b/Libraries/AppState/AppState.js index 51536cabdda0..365b6a58b067 100644 --- a/Libraries/AppState/AppState.js +++ b/Libraries/AppState/AppState.js @@ -11,7 +11,7 @@ */ 'use strict'; -const EventEmitter = require('EventEmitter'); +const MissingNativeEventEmitterShim = require('MissingNativeEventEmitterShim'); const NativeEventEmitter = require('NativeEventEmitter'); const NativeModules = require('NativeModules'); const RCTAppState = NativeModules.AppState; @@ -32,8 +32,8 @@ const invariant = require('fbjs/lib/invariant'); * - `background` - The app is running in the background. The user is either * in another app or on the home screen * - `inactive` - This is a state that occurs when transitioning between - * foreground & background, and during periods of inactivity such as - * entering the Multitasking view or in the event of an incoming call + * foreground & background, and during periods of inactivity such as + * entering the Multitasking view or in the event of an incoming call * * For more information, see * [Apple's documentation](https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/TheAppLifeCycle/TheAppLifeCycle.html) @@ -87,7 +87,7 @@ class AppState extends NativeEventEmitter { _eventHandlers: Object; currentState: ?string; - isAvailable: boolean; + isAvailable: boolean = true; constructor() { super(RCTAppState); @@ -176,48 +176,31 @@ class AppState extends NativeEventEmitter { } } -function throwMissingNativeModule() { - invariant( - false, - 'Cannot use AppState module when native RCTAppState is not included in the build.\n' + - 'Either include it, or check AppState.isAvailable before calling any methods.' - ); -} - -class MissingNativeAppStateShim extends EventEmitter { - // AppState - isAvailable: boolean = false; - currentState: ?string = null; - - addEventListener() { - throwMissingNativeModule(); - } - - removeEventListener() { - throwMissingNativeModule(); - } +if (__DEV__ && !RCTAppState) { + class MissingNativeAppStateShim extends MissingNativeEventEmitterShim { + constructor() { + super('RCTAppState', 'AppState'); + } - // EventEmitter - addListener() { - throwMissingNativeModule(); - } + get currentState(): ?string { + this.throwMissingNativeModule(); + } - removeAllListeners() { - throwMissingNativeModule(); - } + addEventListener(...args: Array) { + this.throwMissingNativeModule(); + } - removeSubscription() { - throwMissingNativeModule(); + removeEventListener(...args: Array) { + this.throwMissingNativeModule(); + } } -} -// This module depends on the native `RCTAppState` module. If you don't include it, -// `AppState.isAvailable` will return `false`, and any method calls will throw. -// We reassign the class variable to keep the autodoc generator happy. -if (RCTAppState) { - AppState = new AppState(); -} else { + // This module depends on the native `RCTAppState` module. If you don't include it, + // `AppState.isAvailable` will return `false`, and any method calls will throw. + // We reassign the class variable to keep the autodoc generator happy. AppState = new MissingNativeAppStateShim(); +} else { + AppState = new AppState(); } module.exports = AppState; diff --git a/Libraries/BatchedBridge/BatchedBridge.js b/Libraries/BatchedBridge/BatchedBridge.js index 5d108f52abbb..d4c75e682ec3 100644 --- a/Libraries/BatchedBridge/BatchedBridge.js +++ b/Libraries/BatchedBridge/BatchedBridge.js @@ -8,10 +8,12 @@ * * @providesModule BatchedBridge * @flow + * @format */ 'use strict'; const MessageQueue = require('MessageQueue'); + const BatchedBridge = new MessageQueue(); // Wire up the batched bridge on the global object so that we can call into it. diff --git a/Libraries/BatchedBridge/MessageQueue.js b/Libraries/BatchedBridge/MessageQueue.js index ac4c2a2bc32a..9acf4a91f6fe 100644 --- a/Libraries/BatchedBridge/MessageQueue.js +++ b/Libraries/BatchedBridge/MessageQueue.js @@ -8,6 +8,7 @@ * * @providesModule MessageQueue * @flow + * @format */ /*eslint no-bitwise: 0*/ @@ -15,7 +16,6 @@ 'use strict'; const ErrorUtils = require('ErrorUtils'); -const JSTimersExecution = require('JSTimersExecution'); const Systrace = require('Systrace'); const deepFreezeAndThrowOnMutationInDev = require('deepFreezeAndThrowOnMutationInDev'); @@ -25,9 +25,13 @@ const stringifySafe = require('stringifySafe'); export type SpyData = { type: number, module: ?string, - method: string|number, - args: any -} + method: string | number, + isSync: boolean, + successCbId: number, + failCbId: number, + args: Array, + returnValue?: any, +}; const TO_JS = 0; const TO_NATIVE = 1; @@ -39,13 +43,16 @@ const MIN_TIME_BETWEEN_FLUSHES_MS = 5; const TRACE_TAG_REACT_APPS = 1 << 17; -const DEBUG_INFO_LIMIT = 32; +const DEBUG_INFO_LIMIT = 64; + +// Work around an initialization order issue +let JSTimers = null; class MessageQueue { - _callableModules: {[key: string]: Object}; + _lazyCallableModules: {[key: string]: (void) => Object}; _queue: [Array, Array, Array, number]; - _callbacks: []; - _callbackID: number; + _successCallbacks: Array; + _failureCallbacks: Array; _callID: number; _inCall: number; _lastFlush: number; @@ -58,10 +65,10 @@ class MessageQueue { __spy: ?(data: SpyData) => void; constructor() { - this._callableModules = {}; + this._lazyCallableModules = {}; this._queue = [[], [], [], 0]; - this._callbacks = []; - this._callbackID = 0; + this._successCallbacks = []; + this._failureCallbacks = []; this._callID = 0; this._lastFlush = 0; this._eventLoopStartTime = new Date().getTime(); @@ -71,23 +78,19 @@ class MessageQueue { this._remoteModuleTable = {}; this._remoteMethodTable = {}; } - - (this:any).callFunctionReturnFlushedQueue = this.callFunctionReturnFlushedQueue.bind(this); - (this:any).callFunctionReturnResultAndFlushedQueue = this.callFunctionReturnResultAndFlushedQueue.bind(this); - (this:any).flushedQueue = this.flushedQueue.bind(this); - (this:any).invokeCallbackAndReturnFlushedQueue = this.invokeCallbackAndReturnFlushedQueue.bind(this); } /** * Public APIs */ - - static spy(spyOrToggle: boolean|(data: SpyData) => void){ - if (spyOrToggle === true){ + static spy(spyOrToggle: boolean | ((data: SpyData) => void)) { + if (spyOrToggle === true) { MessageQueue.prototype.__spy = info => { - console.log(`${info.type === TO_JS ? 'N->JS' : 'JS->N'} : ` + - `${info.module ? (info.module + '.') : ''}${info.method}` + - `(${JSON.stringify(info.args)})`); + console.log( + `${info.type === TO_JS ? 'N->JS' : 'JS->N'} : ` + + `${info.module ? info.module + '.' : ''}${info.method}` + + `(${JSON.stringify(info.args)})`, + ); }; } else if (spyOrToggle === false) { MessageQueue.prototype.__spy = null; @@ -96,74 +99,103 @@ class MessageQueue { } } - callFunctionReturnFlushedQueue(module: string, method: string, args: Array) { + callFunctionReturnFlushedQueue = ( + module: string, + method: string, + args: Array, + ) => { this.__guard(() => { this.__callFunction(module, method, args); - this.__callImmediates(); }); return this.flushedQueue(); - } + }; - callFunctionReturnResultAndFlushedQueue(module: string, method: string, args: Array) { + callFunctionReturnResultAndFlushedQueue = ( + module: string, + method: string, + args: Array, + ) => { let result; this.__guard(() => { result = this.__callFunction(module, method, args); - this.__callImmediates(); }); return [result, this.flushedQueue()]; - } + }; - invokeCallbackAndReturnFlushedQueue(cbID: number, args: Array) { + invokeCallbackAndReturnFlushedQueue = (cbID: number, args: Array) => { this.__guard(() => { this.__invokeCallback(cbID, args); - this.__callImmediates(); }); return this.flushedQueue(); - } + }; - flushedQueue() { - this.__callImmediates(); + flushedQueue = () => { + this.__guard(() => { + this.__callImmediates(); + }); const queue = this._queue; this._queue = [[], [], [], this._callID]; return queue[0].length ? queue : null; - } + }; getEventLoopRunningTime() { return new Date().getTime() - this._eventLoopStartTime; } registerCallableModule(name: string, module: Object) { - this._callableModules[name] = module; + this._lazyCallableModules[name] = () => module; + } + + registerLazyCallableModule(name: string, factory: void => Object) { + let module: Object; + let getValue: ?(void) => Object = factory; + this._lazyCallableModules[name] = () => { + if (getValue) { + module = getValue(); + getValue = null; + } + return module; + }; + } + + getCallableModule(name: string) { + const getValue = this._lazyCallableModules[name]; + return getValue ? getValue() : null; } - enqueueNativeCall(moduleID: number, methodID: number, params: Array, onFail: ?Function, onSucc: ?Function) { + enqueueNativeCall( + moduleID: number, + methodID: number, + params: Array, + onFail: ?Function, + onSucc: ?Function, + ) { if (onFail || onSucc) { if (__DEV__) { - const callId = this._callbackID >> 1; - this._debugInfo[callId] = [moduleID, methodID]; - if (callId > DEBUG_INFO_LIMIT) { - delete this._debugInfo[callId - DEBUG_INFO_LIMIT]; + this._debugInfo[this._callID] = [moduleID, methodID]; + if (this._callID > DEBUG_INFO_LIMIT) { + delete this._debugInfo[this._callID - DEBUG_INFO_LIMIT]; } } - onFail && params.push(this._callbackID); - /* $FlowFixMe(>=0.38.0 site=react_native_fb,react_native_oss) - Flow error - * detected during the deployment of v0.38.0. To see the error, remove - * this comment and run flow */ - this._callbacks[this._callbackID++] = onFail; - onSucc && params.push(this._callbackID); - /* $FlowFixMe(>=0.38.0 site=react_native_fb,react_native_oss) - Flow error - * detected during the deployment of v0.38.0. To see the error, remove - * this comment and run flow */ - this._callbacks[this._callbackID++] = onSucc; + // Encode callIDs into pairs of callback identifiers by shifting left and using the rightmost bit + // to indicate fail (0) or success (1) + onFail && params.push(this._callID << 1); + onSucc && params.push((this._callID << 1) | 1); + this._successCallbacks[this._callID] = onSucc; + this._failureCallbacks[this._callID] = onFail; } if (__DEV__) { global.nativeTraceBeginAsyncFlow && - global.nativeTraceBeginAsyncFlow(TRACE_TAG_REACT_APPS, 'native', this._callID); + global.nativeTraceBeginAsyncFlow( + TRACE_TAG_REACT_APPS, + 'native', + this._callID, + ); } this._callID++; @@ -175,30 +207,49 @@ class MessageQueue { JSON.stringify(params); // The params object should not be mutated after being queued - deepFreezeAndThrowOnMutationInDev((params:any)); + deepFreezeAndThrowOnMutationInDev((params: any)); } this._queue[PARAMS].push(params); const now = new Date().getTime(); - if (global.nativeFlushQueueImmediate && - (now - this._lastFlush >= MIN_TIME_BETWEEN_FLUSHES_MS || - this._inCall === 0)) { + if ( + global.nativeFlushQueueImmediate && + (now - this._lastFlush >= MIN_TIME_BETWEEN_FLUSHES_MS || + this._inCall === 0) + ) { var queue = this._queue; this._queue = [[], [], [], this._callID]; this._lastFlush = now; global.nativeFlushQueueImmediate(queue); } Systrace.counterEvent('pending_js_to_native_queue', this._queue[0].length); - if (__DEV__ && this.__spy && isFinite(moduleID)) { - this.__spy( - { type: TO_NATIVE, - module: this._remoteModuleTable[moduleID], - method: this._remoteMethodTable[moduleID][methodID], - args: params } + + if (this.__spy) { + this.__spyNativeCall(moduleID, methodID, params, { + failCbId: onFail ? params[params.length - 2] : -1, + successCbId: onSucc ? params[params.length - 1] : -1, + }); + } + } + + callSyncHook(moduleID: number, methodID: number, args: Array) { + if (__DEV__) { + invariant( + global.nativeCallSyncHook, + 'Calling synchronous methods on native ' + + 'modules is not supported in Chrome.\n\n Consider providing alternative ' + + 'methods to expose this method in debug mode, e.g. by exposing constants ' + + 'ahead-of-time.', ); - } else if (this.__spy) { - this.__spy({type: TO_NATIVE, module: moduleID + '', method: methodID, args: params}); } + const returnValue = global.nativeCallSyncHook(moduleID, methodID, args); + if (this.__spy) { + this.__spyNativeCall(moduleID, methodID, args, { + isSync: true, + returnValue, + }); + } + return returnValue; } createDebugLookup(moduleID: number, name: string, methods: Array) { @@ -224,8 +275,11 @@ class MessageQueue { } __callImmediates() { - Systrace.beginEvent('JSTimersExecution.callImmediates()'); - this.__guard(() => JSTimersExecution.callImmediates()); + Systrace.beginEvent('JSTimers.callImmediates()'); + if (!JSTimers) { + JSTimers = require('JSTimers'); + } + JSTimers.callImmediates(); Systrace.endEvent(); } @@ -234,18 +288,20 @@ class MessageQueue { this._eventLoopStartTime = this._lastFlush; Systrace.beginEvent(`${module}.${method}()`); if (this.__spy) { - this.__spy({ type: TO_JS, module, method, args}); + this.__spyJSCall(module, method, args); } - const moduleMethods = this._callableModules[module]; + const moduleMethods = this.getCallableModule(module); invariant( !!moduleMethods, 'Module %s is not a registered callable module (calling %s)', - module, method + module, + method, ); invariant( !!moduleMethods[method], 'Method %s does not exist on module %s', - method, module + method, + module, ); const result = moduleMethods[method].apply(moduleMethods, args); Systrace.endEvent(); @@ -255,50 +311,103 @@ class MessageQueue { __invokeCallback(cbID: number, args: Array) { this._lastFlush = new Date().getTime(); this._eventLoopStartTime = this._lastFlush; - const callback = this._callbacks[cbID]; + + // The rightmost bit of cbID indicates fail (0) or success (1), the other bits are the callID shifted left. + const callID = cbID >>> 1; + const isSuccess = cbID & 1; + const callback = isSuccess + ? this._successCallbacks[callID] + : this._failureCallbacks[callID]; if (__DEV__) { - const debug = this._debugInfo[cbID >> 1]; + const debug = this._debugInfo[callID]; const module = debug && this._remoteModuleTable[debug[0]]; const method = debug && this._remoteMethodTable[debug[0]][debug[1]]; - if (callback == null) { + if (!callback) { let errorMessage = `Callback with id ${cbID}: ${module}.${method}() not found`; if (method) { - errorMessage = `The callback ${method}() exists in module ${module}, ` - + 'but only one callback may be registered to a function in a native module.'; + errorMessage = + `The callback ${method}() exists in module ${module}, ` + + 'but only one callback may be registered to a function in a native module.'; } - invariant( - callback, - errorMessage - ); + invariant(callback, errorMessage); } - const profileName = debug ? '' : cbID; - if (callback && this.__spy) { - this.__spy({ type: TO_JS, module:null, method:profileName, args }); + const profileName = debug + ? '' + : cbID + ''; + if (this.__spy) { + this.__spyJSCall(null, profileName, args, { + failCbId: isSuccess ? -1 : cbID, + successCbId: isSuccess ? cbID : -1, + }); } Systrace.beginEvent( - `MessageQueue.invokeCallback(${profileName}, ${stringifySafe(args)})`); - } else { - if (!callback) { - return; - } + `MessageQueue.invokeCallback(${profileName}, ${stringifySafe(args)})`, + ); } - /* $FlowFixMe(>=0.38.0 site=react_native_fb,react_native_oss) - Flow error - * detected during the deployment of v0.38.0. To see the error, remove this - * comment and run flow */ - this._callbacks[cbID & ~1] = null; - /* $FlowFixMe(>=0.38.0 site=react_native_fb,react_native_oss) - Flow error - * detected during the deployment of v0.38.0. To see the error, remove this - * comment and run flow */ - this._callbacks[cbID | 1] = null; - // $FlowIssue(>=0.35.0) #14551610 + if (!callback) { + return; + } + + this._successCallbacks[callID] = this._failureCallbacks[callID] = null; callback.apply(null, args); if (__DEV__) { Systrace.endEvent(); } } + + __spyJSCall( + module: ?string, + method: string, + methodArgs: Array, + params: any, + ) { + if (!this.__spy) { + return; + } + this.__spy({ + type: TO_JS, + isSync: false, + module, + method, + failCbId: -1, + successCbId: -1, + args: methodArgs, + ...params, + }); + } + + __spyNativeCall( + moduleID: number, + methodID: number, + methodArgs: Array, + params: any, + ) { + const spy = this.__spy; + if (!spy) { + return; + } + + let moduleName = moduleID + ''; + let methodName = methodID; + if (__DEV__ && isFinite(moduleID)) { + moduleName = this._remoteModuleTable[moduleID]; + methodName = this._remoteMethodTable[moduleID][methodID]; + } + + spy({ + type: TO_NATIVE, + isSync: false, + module: moduleName, + method: methodName, + failCbId: -1, + successCbId: -1, + args: methodArgs, + ...params, + }); + } } module.exports = MessageQueue; diff --git a/Libraries/BatchedBridge/NativeModules.js b/Libraries/BatchedBridge/NativeModules.js index 3fa30bc8a94c..c943c88e2af7 100644 --- a/Libraries/BatchedBridge/NativeModules.js +++ b/Libraries/BatchedBridge/NativeModules.js @@ -15,6 +15,8 @@ const BatchedBridge = require('BatchedBridge'); const invariant = require('fbjs/lib/invariant'); +import type {ExtendedError} from 'parseErrorStack'; + type ModuleConfig = [ string, /* name */ ?Object, /* constants */ @@ -80,7 +82,7 @@ function genMethod(moduleID: number, methodID: number, type: MethodType) { }; } else if (type === 'sync') { fn = function(...args: Array) { - return global.nativeCallSyncHook(moduleID, methodID, args); + return BatchedBridge.callSyncHook(moduleID, methodID, args); }; } else { fn = function(...args: Array) { @@ -107,13 +109,13 @@ function arrayContains(array: Array, value: T): boolean { return array.indexOf(value) !== -1; } -function createErrorFromErrorData(errorData: {message: string}): Error { +function createErrorFromErrorData(errorData: {message: string}): ExtendedError { const { message, ...extraErrorInfo - } = errorData; - const error = new Error(message); - (error:any).framesToPop = 1; + } = errorData || {}; + const error : ExtendedError = new Error(message); + error.framesToPop = 1; return Object.assign(error, extraErrorInfo); } diff --git a/Libraries/BatchedBridge/__tests__/MessageQueue-test.js b/Libraries/BatchedBridge/__tests__/MessageQueue-test.js index c5f69840d1a7..d9cd5a4e358a 100644 --- a/Libraries/BatchedBridge/__tests__/MessageQueue-test.js +++ b/Libraries/BatchedBridge/__tests__/MessageQueue-test.js @@ -9,10 +9,6 @@ */ 'use strict'; -// const MessageQueueTestConfig = require('MessageQueueTestConfig'); -jest.unmock('MessageQueue'); -jest.unmock('defineLazyObjectProperty'); - let MessageQueue; let MessageQueueTestModule; let queue; @@ -84,4 +80,34 @@ describe('MessageQueue', function() { queue.__invokeCallback(1); expect(() => queue.__invokeCallback(0)).toThrow(); }); + + it('should throw when calling with unknown module', () => { + const unknownModule = 'UnknownModule', unknownMethod = 'UnknownMethod'; + expect(() => queue.__callFunction(unknownModule, unknownMethod)).toThrow( + `Module ${unknownModule} is not a registered callable module (calling ${unknownMethod})`, + ); + }); + + it('should return lazily registered module', () => { + const dummyModule = {}, name = 'modulesName'; + queue.registerLazyCallableModule(name, () => dummyModule); + + expect(queue.getCallableModule(name)).toEqual(dummyModule); + }); + + it('should not initialize lazily registered module before it was used for the first time', () => { + const dummyModule = {}, name = 'modulesName'; + const factory = jest.fn(() => dummyModule); + queue.registerLazyCallableModule(name, factory); + expect(factory).not.toHaveBeenCalled(); + }); + + it('should initialize lazily registered module only once', () => { + const dummyModule = {}, name = 'modulesName'; + const factory = jest.fn(() => dummyModule); + queue.registerLazyCallableModule(name, factory); + queue.getCallableModule(name); + queue.getCallableModule(name); + expect(factory).toHaveBeenCalledTimes(1); + }); }); diff --git a/Libraries/BatchedBridge/__tests__/NativeModules-test.js b/Libraries/BatchedBridge/__tests__/NativeModules-test.js index fb0959243296..9385830efa8b 100644 --- a/Libraries/BatchedBridge/__tests__/NativeModules-test.js +++ b/Libraries/BatchedBridge/__tests__/NativeModules-test.js @@ -9,10 +9,12 @@ */ 'use strict'; -jest.unmock('BatchedBridge'); -jest.unmock('defineLazyObjectProperty'); -jest.unmock('MessageQueue'); -jest.unmock('NativeModules'); +jest + .enableAutomock() + .unmock('BatchedBridge') + .unmock('defineLazyObjectProperty') + .unmock('MessageQueue') + .unmock('NativeModules'); let BatchedBridge; let NativeModules; diff --git a/Libraries/Blob/Blob.js b/Libraries/Blob/Blob.js new file mode 100644 index 000000000000..0180e15e2ab3 --- /dev/null +++ b/Libraries/Blob/Blob.js @@ -0,0 +1,153 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule Blob + * @flow + */ + +'use strict'; + +const invariant = require('fbjs/lib/invariant'); +const uuid = require('uuid'); + +const { BlobModule } = require('NativeModules'); + +import type { BlobProps } from 'BlobTypes'; + +/** + * Opaque JS representation of some binary data in native. + * + * The API is modeled after the W3C Blob API, with one caveat + * regarding explicit deallocation. Refer to the `close()` + * method for further details. + * + * Example usage in a React component: + * + * class WebSocketImage extends React.Component { + * state = {blob: null}; + * componentDidMount() { + * let ws = this.ws = new WebSocket(...); + * ws.binaryType = 'blob'; + * ws.onmessage = (event) => { + * if (this.state.blob) { + * this.state.blob.close(); + * } + * this.setState({blob: event.data}); + * }; + * } + * componentUnmount() { + * if (this.state.blob) { + * this.state.blob.close(); + * } + * this.ws.close(); + * } + * render() { + * if (!this.state.blob) { + * return ; + * } + * return ; + * } + * } + * + * Reference: https://developer.mozilla.org/en-US/docs/Web/API/Blob + */ +class Blob { + /** + * Size of the data contained in the Blob object, in bytes. + */ + size: number; + /* + * String indicating the MIME type of the data contained in the Blob. + * If the type is unknown, this string is empty. + */ + type: string; + + /* + * Unique id to identify the blob on native side (non-standard) + */ + blobId: string; + /* + * Offset to indicate part of blob, used when sliced (non-standard) + */ + offset: number; + + /** + * Construct blob instance from blob data from native. + * Used internally by modules like XHR, WebSocket, etc. + */ + static create(props: BlobProps): Blob { + return Object.assign(Object.create(Blob.prototype), props); + } + + /** + * Constructor for JS consumers. + * Currently we only support creating Blobs from other Blobs. + * Reference: https://developer.mozilla.org/en-US/docs/Web/API/Blob/Blob + */ + constructor(parts: Array, options: any) { + const blobId = uuid(); + let size = 0; + parts.forEach((part) => { + invariant(part instanceof Blob, 'Can currently only create a Blob from other Blobs'); + size += part.size; + }); + BlobModule.createFromParts(parts, blobId); + return Blob.create({ + blobId, + offset: 0, + size, + }); + } + + /* + * This method is used to create a new Blob object containing + * the data in the specified range of bytes of the source Blob. + * Reference: https://developer.mozilla.org/en-US/docs/Web/API/Blob/slice + */ + slice(start?: number, end?: number): Blob { + let offset = this.offset; + let size = this.size; + if (typeof start === 'number') { + if (start > size) { + start = size; + } + offset += start; + size -= start; + + if (typeof end === 'number') { + if (end < 0) { + end = this.size + end; + } + size = end - start; + } + } + return Blob.create({ + blobId: this.blobId, + offset, + size, + }); + } + + /** + * This method is in the standard, but not actually implemented by + * any browsers at this point. It's important for how Blobs work in + * React Native, however, since we cannot de-allocate resources automatically, + * so consumers need to explicitly de-allocate them. + * + * Note that the semantics around Blobs created via `blob.slice()` + * and `new Blob([blob])` are different. `blob.slice()` creates a + * new *view* onto the same binary data, so calling `close()` on any + * of those views is enough to deallocate the data, whereas + * `new Blob([blob, ...])` actually copies the data in memory. + */ + close() { + BlobModule.release(this.blobId); + } +} + +module.exports = Blob; diff --git a/packager/src/Resolver/polyfills/prelude_dev.js b/Libraries/Blob/BlobTypes.js similarity index 57% rename from packager/src/Resolver/polyfills/prelude_dev.js rename to Libraries/Blob/BlobTypes.js index caf05c283bd8..8201df47bc30 100644 --- a/packager/src/Resolver/polyfills/prelude_dev.js +++ b/Libraries/Blob/BlobTypes.js @@ -6,13 +6,20 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @polyfill + * @providesModule BlobTypes + * @flow */ -/* eslint-disable strict */ +'use strict'; -global.__DEV__ = true; +export type BlobProps = { + blobId: string, + offset: number, + size: number, + type?: string, +}; -global.__BUNDLE_START_TIME__ = global.nativePerformanceNow - ? global.nativePerformanceNow() - : Date.now(); +export type FileProps = BlobProps & { + name: string, + lastModified: number, +}; diff --git a/Libraries/Blob/RCTBlob.xcodeproj/project.pbxproj b/Libraries/Blob/RCTBlob.xcodeproj/project.pbxproj new file mode 100755 index 000000000000..bb5944caae6a --- /dev/null +++ b/Libraries/Blob/RCTBlob.xcodeproj/project.pbxproj @@ -0,0 +1,347 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + AD0871131E215B28007D136D /* RCTBlobManager.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = AD9A43C11DFC7126008DC588 /* RCTBlobManager.h */; }; + AD0871161E215EC9007D136D /* RCTBlobManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AD9A43C11DFC7126008DC588 /* RCTBlobManager.h */; }; + AD0871181E215ED1007D136D /* RCTBlobManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AD9A43C11DFC7126008DC588 /* RCTBlobManager.h */; }; + AD08711A1E2162C8007D136D /* RCTBlobManager.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = AD9A43C11DFC7126008DC588 /* RCTBlobManager.h */; }; + AD9A43C31DFC7126008DC588 /* RCTBlobManager.m in Sources */ = {isa = PBXBuildFile; fileRef = AD9A43C21DFC7126008DC588 /* RCTBlobManager.m */; }; + ADD01A711E09404A00F6D226 /* RCTBlobManager.m in Sources */ = {isa = PBXBuildFile; fileRef = AD9A43C21DFC7126008DC588 /* RCTBlobManager.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 358F4ED51D1E81A9004DF814 /* Copy Headers */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = include/RCTBlob; + dstSubfolderSpec = 16; + files = ( + AD08711A1E2162C8007D136D /* RCTBlobManager.h in Copy Headers */, + ); + name = "Copy Headers"; + runOnlyForDeploymentPostprocessing = 0; + }; + AD0871121E215B16007D136D /* Copy Headers */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = include/RCTBlob; + dstSubfolderSpec = 16; + files = ( + AD0871131E215B28007D136D /* RCTBlobManager.h in Copy Headers */, + ); + name = "Copy Headers"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 358F4ED71D1E81A9004DF814 /* libRCTBlob.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRCTBlob.a; sourceTree = BUILT_PRODUCTS_DIR; }; + AD9A43C11DFC7126008DC588 /* RCTBlobManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTBlobManager.h; sourceTree = ""; }; + AD9A43C21DFC7126008DC588 /* RCTBlobManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTBlobManager.m; sourceTree = ""; }; + ADD01A681E09402E00F6D226 /* libRCTBlob-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libRCTBlob-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXGroup section */ + 358F4ECE1D1E81A9004DF814 = { + isa = PBXGroup; + children = ( + AD9A43C11DFC7126008DC588 /* RCTBlobManager.h */, + AD9A43C21DFC7126008DC588 /* RCTBlobManager.m */, + 358F4ED81D1E81A9004DF814 /* Products */, + ); + indentWidth = 2; + sourceTree = ""; + tabWidth = 2; + usesTabs = 0; + }; + 358F4ED81D1E81A9004DF814 /* Products */ = { + isa = PBXGroup; + children = ( + 358F4ED71D1E81A9004DF814 /* libRCTBlob.a */, + ADD01A681E09402E00F6D226 /* libRCTBlob-tvOS.a */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + AD0871151E215EB7007D136D /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + AD0871161E215EC9007D136D /* RCTBlobManager.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AD0871171E215ECC007D136D /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + AD0871181E215ED1007D136D /* RCTBlobManager.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 358F4ED61D1E81A9004DF814 /* RCTBlob */ = { + isa = PBXNativeTarget; + buildConfigurationList = 358F4EE01D1E81A9004DF814 /* Build configuration list for PBXNativeTarget "RCTBlob" */; + buildPhases = ( + AD0871151E215EB7007D136D /* Headers */, + 358F4ED51D1E81A9004DF814 /* Copy Headers */, + 358F4ED31D1E81A9004DF814 /* Sources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = RCTBlob; + productName = SLKBlobs; + productReference = 358F4ED71D1E81A9004DF814 /* libRCTBlob.a */; + productType = "com.apple.product-type.library.static"; + }; + ADD01A671E09402E00F6D226 /* RCTBlob-tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = ADD01A6E1E09402E00F6D226 /* Build configuration list for PBXNativeTarget "RCTBlob-tvOS" */; + buildPhases = ( + AD0871171E215ECC007D136D /* Headers */, + AD0871121E215B16007D136D /* Copy Headers */, + ADD01A641E09402E00F6D226 /* Sources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "RCTBlob-tvOS"; + productName = "RCTBlob-tvOS"; + productReference = ADD01A681E09402E00F6D226 /* libRCTBlob-tvOS.a */; + productType = "com.apple.product-type.library.static"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 358F4ECF1D1E81A9004DF814 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0730; + ORGANIZATIONNAME = "Silk Labs"; + TargetAttributes = { + 358F4ED61D1E81A9004DF814 = { + CreatedOnToolsVersion = 7.3; + }; + ADD01A671E09402E00F6D226 = { + CreatedOnToolsVersion = 8.2; + ProvisioningStyle = Automatic; + }; + }; + }; + buildConfigurationList = 358F4ED21D1E81A9004DF814 /* Build configuration list for PBXProject "RCTBlob" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 358F4ECE1D1E81A9004DF814; + productRefGroup = 358F4ED81D1E81A9004DF814 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 358F4ED61D1E81A9004DF814 /* RCTBlob */, + ADD01A671E09402E00F6D226 /* RCTBlob-tvOS */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + 358F4ED31D1E81A9004DF814 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + AD9A43C31DFC7126008DC588 /* RCTBlobManager.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + ADD01A641E09402E00F6D226 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ADD01A711E09404A00F6D226 /* RCTBlobManager.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 358F4EDE1D1E81A9004DF814 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + }; + name = Debug; + }; + 358F4EDF1D1E81A9004DF814 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 358F4EE11D1E81A9004DF814 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + }; + name = Debug; + }; + 358F4EE21D1E81A9004DF814 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + }; + name = Release; + }; + ADD01A6F1E09402E00F6D226 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + TVOS_DEPLOYMENT_TARGET = 10.1; + }; + name = Debug; + }; + ADD01A701E09402E00F6D226 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + TVOS_DEPLOYMENT_TARGET = 10.1; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 358F4ED21D1E81A9004DF814 /* Build configuration list for PBXProject "RCTBlob" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 358F4EDE1D1E81A9004DF814 /* Debug */, + 358F4EDF1D1E81A9004DF814 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 358F4EE01D1E81A9004DF814 /* Build configuration list for PBXNativeTarget "RCTBlob" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 358F4EE11D1E81A9004DF814 /* Debug */, + 358F4EE21D1E81A9004DF814 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + ADD01A6E1E09402E00F6D226 /* Build configuration list for PBXNativeTarget "RCTBlob-tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + ADD01A6F1E09402E00F6D226 /* Debug */, + ADD01A701E09402E00F6D226 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 358F4ECF1D1E81A9004DF814 /* Project object */; +} diff --git a/Libraries/Blob/RCTBlobManager.h b/Libraries/Blob/RCTBlobManager.h new file mode 100755 index 000000000000..03b3ffc60a6f --- /dev/null +++ b/Libraries/Blob/RCTBlobManager.h @@ -0,0 +1,16 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +#import +#import +#import + +@interface RCTBlobManager : NSObject + +@end diff --git a/Libraries/Blob/RCTBlobManager.m b/Libraries/Blob/RCTBlobManager.m new file mode 100755 index 000000000000..bf7a82bb9702 --- /dev/null +++ b/Libraries/Blob/RCTBlobManager.m @@ -0,0 +1,213 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +#import "RCTBlobManager.h" + +#import +#import + +static NSString *const kBlobUriScheme = @"blob"; + +@interface _RCTBlobContentHandler : NSObject + +- (instancetype)initWithBlobManager:(RCTBlobManager *)blobManager; + +@end + + +@implementation RCTBlobManager +{ + NSMutableDictionary *_blobs; + _RCTBlobContentHandler *_contentHandler; + NSOperationQueue *_queue; +} + +RCT_EXPORT_MODULE(BlobModule) + +@synthesize bridge = _bridge; + +- (NSDictionary *)constantsToExport +{ + return @{ + @"BLOB_URI_SCHEME": kBlobUriScheme, + @"BLOB_URI_HOST": [NSNull null], + }; +} + +- (dispatch_queue_t)methodQueue +{ + return [[_bridge webSocketModule] methodQueue]; +} + +- (NSString *)store:(NSData *)data +{ + NSString *blobId = [NSUUID UUID].UUIDString; + [self store:data withId:blobId]; + return blobId; +} + +- (void)store:(NSData *)data withId:(NSString *)blobId +{ + if (!_blobs) { + _blobs = [NSMutableDictionary new]; + } + + _blobs[blobId] = data; +} + +- (NSData *)resolve:(NSDictionary *)blob +{ + NSString *blobId = [RCTConvert NSString:blob[@"blobId"]]; + NSNumber *offset = [RCTConvert NSNumber:blob[@"offset"]]; + NSNumber *size = [RCTConvert NSNumber:blob[@"size"]]; + + return [self resolve:blobId + offset:offset ? [offset integerValue] : 0 + size:size ? [size integerValue] : -1]; +} + +- (NSData *)resolve:(NSString *)blobId offset:(NSInteger)offset size:(NSInteger)size +{ + NSData *data = _blobs[blobId]; + if (!data) { + return nil; + } + if (offset != 0 || (size != -1 && size != data.length)) { + data = [data subdataWithRange:NSMakeRange(offset, size)]; + } + return data; +} + +RCT_EXPORT_METHOD(enableBlobSupport:(nonnull NSNumber *)socketID) +{ + if (!_contentHandler) { + _contentHandler = [[_RCTBlobContentHandler alloc] initWithBlobManager:self]; + } + [[_bridge webSocketModule] setContentHandler:_contentHandler forSocketID:socketID]; +} + +RCT_EXPORT_METHOD(disableBlobSupport:(nonnull NSNumber *)socketID) +{ + [[_bridge webSocketModule] setContentHandler:nil forSocketID:socketID]; +} + +RCT_EXPORT_METHOD(sendBlob:(NSDictionary *)blob socketID:(nonnull NSNumber *)socketID) +{ + [[_bridge webSocketModule] sendData:[self resolve:blob] forSocketID:socketID]; +} + +RCT_EXPORT_METHOD(createFromParts:(NSArray *> *)parts withId:(NSString *)blobId) +{ + NSMutableData *data = [NSMutableData new]; + for (NSDictionary *part in parts) { + NSData *partData = [self resolve:part]; + [data appendData:partData]; + } + [self store:data withId:blobId]; +} + +RCT_EXPORT_METHOD(release:(NSString *)blobId) +{ + [_blobs removeObjectForKey:blobId]; +} + +#pragma mark - RCTURLRequestHandler methods + +- (BOOL)canHandleRequest:(NSURLRequest *)request +{ + return [request.URL.scheme caseInsensitiveCompare:kBlobUriScheme] == NSOrderedSame; +} + +- (id)sendRequest:(NSURLRequest *)request withDelegate:(id)delegate +{ + // Lazy setup + if (!_queue) { + _queue = [NSOperationQueue new]; + _queue.maxConcurrentOperationCount = 2; + } + + __weak __block NSBlockOperation *weakOp; + __block NSBlockOperation *op = [NSBlockOperation blockOperationWithBlock:^{ + NSURLResponse *response = [[NSURLResponse alloc] initWithURL:request.URL + MIMEType:nil + expectedContentLength:-1 + textEncodingName:nil]; + + [delegate URLRequest:weakOp didReceiveResponse:response]; + + NSURLComponents *components = [[NSURLComponents alloc] initWithURL:request.URL resolvingAgainstBaseURL:NO]; + + NSString *blobId = components.path; + NSInteger offset = 0; + NSInteger size = -1; + + if (components.queryItems) { + for (NSURLQueryItem *queryItem in components.queryItems) { + if ([queryItem.name isEqualToString:@"offset"]) { + offset = [queryItem.value integerValue]; + } + if ([queryItem.name isEqualToString:@"size"]) { + size = [queryItem.value integerValue]; + } + } + } + + NSData *data; + if (blobId) { + data = [self resolve:blobId offset:offset size:size]; + } + NSError *error; + if (data) { + [delegate URLRequest:weakOp didReceiveData:data]; + } else { + error = [[NSError alloc] initWithDomain:NSURLErrorDomain code:NSURLErrorBadURL userInfo:nil]; + } + [delegate URLRequest:weakOp didCompleteWithError:error]; + }]; + + weakOp = op; + [_queue addOperation:op]; + return op; +} + +- (void)cancelRequest:(NSOperation *)op +{ + [op cancel]; +} + +@end + +@implementation _RCTBlobContentHandler { + __weak RCTBlobManager *_blobManager; +} + +- (instancetype)initWithBlobManager:(RCTBlobManager *)blobManager +{ + if (self = [super init]) { + _blobManager = blobManager; + } + return self; +} + +- (id)processMessage:(id)message forSocketID:(NSNumber *)socketID withType:(NSString *__autoreleasing _Nonnull *)type +{ + if (![message isKindOfClass:[NSData class]]) { + *type = @"text"; + return message; + } + + *type = @"blob"; + return @{ + @"blobId": [_blobManager store:message], + @"offset": @0, + @"size": @(((NSData *)message).length), + }; +} + +@end diff --git a/Libraries/Blob/URL.js b/Libraries/Blob/URL.js new file mode 100644 index 000000000000..7eac3d5206fc --- /dev/null +++ b/Libraries/Blob/URL.js @@ -0,0 +1,69 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule URL + * @flow + */ + +'use strict'; + +const Blob = require('Blob'); + +const { BlobModule } = require('NativeModules'); + +let BLOB_URL_PREFIX = null; + +if (typeof BlobModule.BLOB_URI_SCHEME === 'string') { + BLOB_URL_PREFIX = BlobModule.BLOB_URI_SCHEME + ':'; + if (typeof BlobModule.BLOB_URI_HOST === 'string') { + BLOB_URL_PREFIX += `//${BlobModule.BLOB_URI_HOST}/`; + } +} + +/** + * To allow Blobs be accessed via `content://` URIs, + * you need to register `BlobProvider` as a ContentProvider in your app's `AndroidManifest.xml`: + * + * ```xml + * + * + * + * + * + * ``` + * And then define the `blob_provider_authority` string in `res/values/strings.xml`. + * Use a dotted name that's entirely unique to your app: + * + * ```xml + * + * your.app.package.blobs + * + * ``` + */ +class URL { + constructor() { + throw new Error('Creating BlobURL objects is not supported yet.'); + } + + static createObjectURL(blob: Blob) { + if (BLOB_URL_PREFIX === null) { + throw new Error('Cannot create URL for blob!'); + } + return `${BLOB_URL_PREFIX}${blob.blobId}?offset=${blob.offset}&size=${blob.size}`; + } + + static revokeObjectURL(url: string) { + // Do nothing. + } +} + +module.exports = URL; diff --git a/Libraries/CameraRoll/CameraRoll.js b/Libraries/CameraRoll/CameraRoll.js index 54d9ae708027..50487873545b 100644 --- a/Libraries/CameraRoll/CameraRoll.js +++ b/Libraries/CameraRoll/CameraRoll.js @@ -8,42 +8,37 @@ * * @providesModule CameraRoll * @flow + * @format */ 'use strict'; -// $FlowFixMe `checkPropTypes` is not in Flow's built in React typedefs yet. -var {PropTypes, checkPropTypes} = require('React'); -var RCTCameraRollManager = require('NativeModules').CameraRollManager; - -var createStrictShapeTypeChecker = require('createStrictShapeTypeChecker'); -var deepFreezeAndThrowOnMutationInDev = - require('deepFreezeAndThrowOnMutationInDev'); -var invariant = require('fbjs/lib/invariant'); - -var GROUP_TYPES_OPTIONS = [ - 'Album', - 'All', - 'Event', - 'Faces', - 'Library', - 'PhotoStream', - 'SavedPhotos', // default -]; - -var ASSET_TYPE_OPTIONS = [ - 'All', - 'Videos', - 'Photos', // default -]; - -// Flow treats Object and Array as disjoint types, currently. -deepFreezeAndThrowOnMutationInDev((GROUP_TYPES_OPTIONS: any)); -deepFreezeAndThrowOnMutationInDev((ASSET_TYPE_OPTIONS: any)); +const PropTypes = require('prop-types'); +const {checkPropTypes} = PropTypes; +const RCTCameraRollManager = require('NativeModules').CameraRollManager; + +const createStrictShapeTypeChecker = require('createStrictShapeTypeChecker'); +const invariant = require('fbjs/lib/invariant'); + +const GROUP_TYPES_OPTIONS = { + Album: 'Album', + All: 'All', + Event: 'Event', + Faces: 'Faces', + Library: 'Library', + PhotoStream: 'PhotoStream', + SavedPhotos: 'SavedPhotos', // default +}; + +const ASSET_TYPE_OPTIONS = { + All: 'All', + Videos: 'Videos', + Photos: 'Photos', +}; /** * Shape of the param arg for the `getPhotos` function. */ -var getPhotosParamChecker = createStrictShapeTypeChecker({ +const getPhotosParamChecker = createStrictShapeTypeChecker({ /** * The number of photos wanted in reverse order of the photo application * (i.e. most recent first for SavedPhotos). @@ -59,7 +54,7 @@ var getPhotosParamChecker = createStrictShapeTypeChecker({ /** * Specifies which group types to filter the results to. */ - groupTypes: PropTypes.oneOf(GROUP_TYPES_OPTIONS), + groupTypes: PropTypes.oneOf(Object.keys(GROUP_TYPES_OPTIONS)), /** * Specifies filter on group names, like 'Recent Photos' or custom album @@ -70,7 +65,7 @@ var getPhotosParamChecker = createStrictShapeTypeChecker({ /** * Specifies filter on asset type */ - assetType: PropTypes.oneOf(ASSET_TYPE_OPTIONS), + assetType: PropTypes.oneOf(Object.keys(ASSET_TYPE_OPTIONS)), /** * Filter by mimetype (e.g. image/jpeg). @@ -81,28 +76,33 @@ var getPhotosParamChecker = createStrictShapeTypeChecker({ /** * Shape of the return value of the `getPhotos` function. */ -var getPhotosReturnChecker = createStrictShapeTypeChecker({ +const getPhotosReturnChecker = createStrictShapeTypeChecker({ // $FlowFixMe(>=0.41.0) - edges: PropTypes.arrayOf(createStrictShapeTypeChecker({ - node: createStrictShapeTypeChecker({ - type: PropTypes.string.isRequired, - group_name: PropTypes.string.isRequired, - image: createStrictShapeTypeChecker({ - uri: PropTypes.string.isRequired, - height: PropTypes.number.isRequired, - width: PropTypes.number.isRequired, - isStored: PropTypes.bool, + edges: PropTypes.arrayOf( + createStrictShapeTypeChecker({ + node: createStrictShapeTypeChecker({ + type: PropTypes.string.isRequired, + group_name: PropTypes.string.isRequired, + image: createStrictShapeTypeChecker({ + uri: PropTypes.string.isRequired, + height: PropTypes.number.isRequired, + width: PropTypes.number.isRequired, + isStored: PropTypes.bool, + // TODO (nivethavadivelu) Need to add changes to Android before + // setting it as required + playableDuration: PropTypes.number, + }).isRequired, + timestamp: PropTypes.number.isRequired, + location: createStrictShapeTypeChecker({ + latitude: PropTypes.number, + longitude: PropTypes.number, + altitude: PropTypes.number, + heading: PropTypes.number, + speed: PropTypes.number, + }), }).isRequired, - timestamp: PropTypes.number.isRequired, - location: createStrictShapeTypeChecker({ - latitude: PropTypes.number, - longitude: PropTypes.number, - altitude: PropTypes.number, - heading: PropTypes.number, - speed: PropTypes.number, - }), - }).isRequired, - })).isRequired, + }), + ).isRequired, page_info: createStrictShapeTypeChecker({ has_next_page: PropTypes.bool.isRequired, start_cursor: PropTypes.string, @@ -117,17 +117,21 @@ var getPhotosReturnChecker = createStrictShapeTypeChecker({ * * ### Permissions * The user's permission is required in order to access the Camera Roll on devices running iOS 10 or later. - * Fill out the `NSCameraUsageDescription` key in your `Info.plist` with a string that describes how your - * app will use this data. This key will appear as `Privacy - Camera Usage Description` in Xcode. + * Add the `NSPhotoLibraryUsageDescription` key in your `Info.plist` with a string that describes how your + * app will use this data. This key will appear as `Privacy - Photo Library Usage Description` in Xcode. * */ class CameraRoll { + static GroupTypesOptions: Object = GROUP_TYPES_OPTIONS; + static AssetTypeOptions: Object = ASSET_TYPE_OPTIONS; - static GroupTypesOptions: Array; - static AssetTypeOptions: Array; - + /** + * `CameraRoll.saveImageWithTag()` is deprecated. Use `CameraRoll.saveToCameraRoll()` instead. + */ static saveImageWithTag(tag: string): Promise { - console.warn('CameraRoll.saveImageWithTag is deprecated. Use CameraRoll.saveToCameraRoll instead'); + console.warn( + '`CameraRoll.saveImageWithTag()` is deprecated. Use `CameraRoll.saveToCameraRoll()` instead.', + ); return this.saveToCameraRoll(tag, 'photo'); } @@ -145,16 +149,19 @@ class CameraRoll { * * Returns a Promise which will resolve with the new URI. */ - static saveToCameraRoll(tag: string, type?: 'photo' | 'video'): Promise { + static saveToCameraRoll( + tag: string, + type?: 'photo' | 'video', + ): Promise { invariant( typeof tag === 'string', - 'CameraRoll.saveToCameraRoll must be a valid string.' + 'CameraRoll.saveToCameraRoll must be a valid string.', ); invariant( type === 'photo' || type === 'video' || type === undefined, // $FlowFixMe(>=0.28.0) - `The second argument to saveToCameraRoll must be 'photo' or 'video'. You passed ${type}` + `The second argument to saveToCameraRoll must be 'photo' or 'video'. You passed ${type}`, ); let mediaType = 'photo'; @@ -215,32 +222,39 @@ class CameraRoll { */ static getPhotos(params) { if (__DEV__) { - checkPropTypes({params: getPhotosParamChecker}, {params}, 'params', 'CameraRoll.getPhotos'); + checkPropTypes( + {params: getPhotosParamChecker}, + {params}, + 'params', + 'CameraRoll.getPhotos', + ); } if (arguments.length > 1) { - console.warn('CameraRoll.getPhotos(tag, success, error) is deprecated. Use the returned Promise instead'); + console.warn( + 'CameraRoll.getPhotos(tag, success, error) is deprecated. Use the returned Promise instead', + ); let successCallback = arguments[1]; if (__DEV__) { const callback = arguments[1]; - successCallback = (response) => { + successCallback = response => { checkPropTypes( {response: getPhotosReturnChecker}, {response}, 'response', - 'CameraRoll.getPhotos callback' + 'CameraRoll.getPhotos callback', ); callback(response); }; } - const errorCallback = arguments[2] || ( () => {} ); - RCTCameraRollManager.getPhotos(params).then(successCallback, errorCallback); + const errorCallback = arguments[2] || (() => {}); + RCTCameraRollManager.getPhotos(params).then( + successCallback, + errorCallback, + ); } // TODO: Add the __DEV__ check back in to verify the Promise result return RCTCameraRollManager.getPhotos(params); } } -CameraRoll.GroupTypesOptions = GROUP_TYPES_OPTIONS; -CameraRoll.AssetTypeOptions = ASSET_TYPE_OPTIONS; - module.exports = CameraRoll; diff --git a/Libraries/CameraRoll/RCTAssetsLibraryRequestHandler.m b/Libraries/CameraRoll/RCTAssetsLibraryRequestHandler.m index 58862354ff9f..30a3baf6515a 100644 --- a/Libraries/CameraRoll/RCTAssetsLibraryRequestHandler.m +++ b/Libraries/CameraRoll/RCTAssetsLibraryRequestHandler.m @@ -9,7 +9,7 @@ #import "RCTAssetsLibraryRequestHandler.h" -#import +#import #import #import @@ -41,13 +41,13 @@ - (BOOL)canHandleRequest:(NSURLRequest *)request - (id)sendRequest:(NSURLRequest *)request withDelegate:(id)delegate { - __block volatile uint32_t cancelled = 0; + __block atomic_bool cancelled = ATOMIC_VAR_INIT(NO); void (^cancellationBlock)(void) = ^{ - OSAtomicOr32Barrier(1, &cancelled); + atomic_store(&cancelled, YES); }; [[self assetsLibrary] assetForURL:request.URL resultBlock:^(ALAsset *asset) { - if (cancelled) { + if (atomic_load(&cancelled)) { return; } @@ -91,7 +91,7 @@ - (id)sendRequest:(NSURLRequest *)request [delegate URLRequest:cancellationBlock didCompleteWithError:error]; } } failureBlock:^(NSError *loadError) { - if (cancelled) { + if (atomic_load(&cancelled)) { return; } [delegate URLRequest:cancellationBlock didCompleteWithError:loadError]; diff --git a/Libraries/CameraRoll/RCTCameraRoll.xcodeproj/project.pbxproj b/Libraries/CameraRoll/RCTCameraRoll.xcodeproj/project.pbxproj index 8e8acf275d70..defe37b47f48 100644 --- a/Libraries/CameraRoll/RCTCameraRoll.xcodeproj/project.pbxproj +++ b/Libraries/CameraRoll/RCTCameraRoll.xcodeproj/project.pbxproj @@ -64,6 +64,7 @@ indentWidth = 2; sourceTree = ""; tabWidth = 2; + usesTabs = 0; }; 58B5115E1A9E6B3D00147676 /* Products */ = { isa = PBXGroup; @@ -235,7 +236,6 @@ CLANG_STATIC_ANALYZER_MODE = deep; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "$(USER_LIBRARY_DIR)/Developer/Xcode/DerivedData/UIExplorer-gjaibsjtheitasdxdtcvxxqavkvy/Build/Products/Debug-iphoneos", ); OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = RCTCameraRoll; @@ -249,7 +249,6 @@ CLANG_STATIC_ANALYZER_MODE = deep; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "$(USER_LIBRARY_DIR)/Developer/Xcode/DerivedData/UIExplorer-gjaibsjtheitasdxdtcvxxqavkvy/Build/Products/Debug-iphoneos", ); OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = RCTCameraRoll; diff --git a/Libraries/CameraRoll/RCTCameraRollManager.m b/Libraries/CameraRoll/RCTCameraRollManager.m index 015319190ceb..64cf734b1ac3 100644 --- a/Libraries/CameraRoll/RCTCameraRollManager.m +++ b/Libraries/CameraRoll/RCTCameraRollManager.m @@ -80,8 +80,8 @@ @implementation RCTCameraRollManager @synthesize bridge = _bridge; -NSString *const RCTErrorUnableToLoad = @"E_UNABLE_TO_LOAD"; -NSString *const RCTErrorUnableToSave = @"E_UNABLE_TO_SAVE"; +static NSString *const kErrorUnableToLoad = @"E_UNABLE_TO_LOAD"; +static NSString *const kErrorUnableToSave = @"E_UNABLE_TO_SAVE"; RCT_EXPORT_METHOD(saveToCameraRoll:(NSURLRequest *)request type:(NSString *)type @@ -93,7 +93,7 @@ @implementation RCTCameraRollManager dispatch_async(dispatch_get_main_queue(), ^{ [self->_bridge.assetsLibrary writeVideoAtPathToSavedPhotosAlbum:request.URL completionBlock:^(NSURL *assetURL, NSError *saveError) { if (saveError) { - reject(RCTErrorUnableToSave, nil, saveError); + reject(kErrorUnableToSave, nil, saveError); } else { resolve(assetURL.absoluteString); } @@ -103,7 +103,7 @@ @implementation RCTCameraRollManager [_bridge.imageLoader loadImageWithURLRequest:request callback:^(NSError *loadError, UIImage *loadedImage) { if (loadError) { - reject(RCTErrorUnableToLoad, nil, loadError); + reject(kErrorUnableToLoad, nil, loadError); return; } // It's unclear if writeImageToSavedPhotosAlbum is thread-safe @@ -111,7 +111,7 @@ @implementation RCTCameraRollManager [self->_bridge.assetsLibrary writeImageToSavedPhotosAlbum:loadedImage.CGImage metadata:nil completionBlock:^(NSURL *assetURL, NSError *saveError) { if (saveError) { RCTLogWarn(@"Error saving cropped image: %@", saveError); - reject(RCTErrorUnableToSave, nil, saveError); + reject(kErrorUnableToSave, nil, saveError); } else { resolve(assetURL.absoluteString); } @@ -187,6 +187,11 @@ static void RCTResolvePromise(RCTPromiseResolveBlock resolve, CLLocation *loc = [result valueForProperty:ALAssetPropertyLocation]; NSDate *date = [result valueForProperty:ALAssetPropertyDate]; NSString *filename = [result defaultRepresentation].filename; + int64_t duration = 0; + if ([[result valueForProperty:ALAssetPropertyType] isEqualToString:ALAssetTypeVideo]) { + duration = [[result valueForProperty:ALAssetPropertyDuration] intValue]; + } + [assets addObject:@{ @"node": @{ @"type": [result valueForProperty:ALAssetPropertyType], @@ -197,6 +202,7 @@ static void RCTResolvePromise(RCTPromiseResolveBlock resolve, @"height": @(dimensions.height), @"width": @(dimensions.width), @"isStored": @YES, + @"playableDuration": @(duration), }, @"timestamp": @(date.timeIntervalSince1970), @"location": loc ? @{ @@ -224,7 +230,7 @@ static void RCTResolvePromise(RCTPromiseResolveBlock resolve, if (error.code != ALAssetsLibraryAccessUserDeniedError) { RCTLogError(@"Failure while iterating through asset groups %@", error); } - reject(RCTErrorUnableToLoad, nil, error); + reject(kErrorUnableToLoad, nil, error); }]; } diff --git a/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js b/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js index 425c40e3437d..65f7af70d17d 100644 --- a/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js +++ b/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js @@ -18,9 +18,11 @@ var RCTDeviceEventEmitter = require('RCTDeviceEventEmitter'); var AccessibilityManager = NativeModules.AccessibilityManager; var VOICE_OVER_EVENT = 'voiceOverDidChange'; +var ANNOUNCEMENT_DID_FINISH_EVENT = 'announcementDidFinish'; type ChangeEventName = $Enum<{ change: string, + announcementFinished: string }>; var _subscriptions = new Map(); @@ -97,21 +99,54 @@ var AccessibilityInfo = { * - `change`: Fires when the state of the screen reader changes. The argument * to the event handler is a boolean. The boolean is `true` when a screen * reader is enabled and `false` otherwise. + * - `announcementFinished`: iOS-only event. Fires when the screen reader has + * finished making an announcement. The argument to the event handler is a dictionary + * with these keys: + * - `announcement`: The string announced by the screen reader. + * - `success`: A boolean indicating whether the announcement was successfully made. */ addEventListener: function ( eventName: ChangeEventName, handler: Function ): Object { - var listener = RCTDeviceEventEmitter.addListener( - VOICE_OVER_EVENT, - handler - ); + var listener; + + if (eventName === 'change') { + listener = RCTDeviceEventEmitter.addListener( + VOICE_OVER_EVENT, + handler + ); + } else if (eventName === 'announcementFinished') { + listener = RCTDeviceEventEmitter.addListener( + ANNOUNCEMENT_DID_FINISH_EVENT, + handler + ); + } + _subscriptions.set(handler, listener); return { remove: AccessibilityInfo.removeEventListener.bind(null, eventName, handler), }; }, + /** + * iOS-Only. Set accessibility focus to a react component. + */ + setAccessibilityFocus: function( + reactTag: number + ): void { + AccessibilityManager.setAccessibilityFocus(reactTag); + }, + + /** + * iOS-Only. Post a string to be announced by the screen reader. + */ + announceForAccessibility: function( + announcement: string + ): void { + AccessibilityManager.announceForAccessibility(announcement); + }, + /** * Remove an event handler. */ diff --git a/Libraries/Components/ActivityIndicator/ActivityIndicator.js b/Libraries/Components/ActivityIndicator/ActivityIndicator.js index 8676f897a458..4cc7759e4d14 100644 --- a/Libraries/Components/ActivityIndicator/ActivityIndicator.js +++ b/Libraries/Components/ActivityIndicator/ActivityIndicator.js @@ -15,15 +15,14 @@ const ColorPropType = require('ColorPropType'); const NativeMethodsMixin = require('NativeMethodsMixin'); const Platform = require('Platform'); const React = require('React'); +const PropTypes = require('prop-types'); const StyleSheet = require('StyleSheet'); const View = require('View'); - const ViewPropTypes = require('ViewPropTypes'); +const createReactClass = require('create-react-class'); const requireNativeComponent = require('requireNativeComponent'); -const PropTypes = React.PropTypes; - const GRAY = '#999999'; type IndicatorSize = number | 'small' | 'large'; @@ -38,7 +37,8 @@ type DefaultProps = { /** * Displays a circular loading indicator. */ -const ActivityIndicator = React.createClass({ +const ActivityIndicator = createReactClass({ + displayName: 'ActivityIndicator', mixins: [NativeMethodsMixin], propTypes: { diff --git a/Libraries/Components/AppleTV/TVViewPropTypes.js b/Libraries/Components/AppleTV/TVViewPropTypes.js index 63b903c3eda1..b2c426d86241 100644 --- a/Libraries/Components/AppleTV/TVViewPropTypes.js +++ b/Libraries/Components/AppleTV/TVViewPropTypes.js @@ -10,7 +10,7 @@ * @flow */ 'use strict'; -var PropTypes = require('React').PropTypes; +var PropTypes = require('prop-types'); /** * Additional View properties for Apple TV @@ -74,4 +74,14 @@ var TVViewPropTypes = { }; +export type TVViewProps = { + isTVSelectable?: bool, + hasTVPreferredFocus?: bool, + tvParallaxProperties?: Object, + tvParallaxShiftDistanceX?: number, + tvParallaxShiftDistanceY?: number, + tvParallaxTiltAngle?: number, + tvParallaxMagnification?: number, +}; + module.exports = TVViewPropTypes; diff --git a/Libraries/Components/Button.js b/Libraries/Components/Button.js index 8c0fd50429c8..6e50e3920a6e 100644 --- a/Libraries/Components/Button.js +++ b/Libraries/Components/Button.js @@ -14,6 +14,7 @@ const ColorPropType = require('ColorPropType'); const Platform = require('Platform'); const React = require('React'); +const PropTypes = require('prop-types'); const StyleSheet = require('StyleSheet'); const Text = require('Text'); const TouchableNativeFeedback = require('TouchableNativeFeedback'); @@ -62,11 +63,11 @@ class Button extends React.Component { /** * Text to display inside the button */ - title: React.PropTypes.string.isRequired, + title: PropTypes.string.isRequired, /** * Text to display for blindness accessibility features */ - accessibilityLabel: React.PropTypes.string, + accessibilityLabel: PropTypes.string, /** * Color of the text (iOS), or background color of the button (Android) */ @@ -74,15 +75,15 @@ class Button extends React.Component { /** * If true, disable all interactions for this component. */ - disabled: React.PropTypes.bool, + disabled: PropTypes.bool, /** * Handler to be called when the user taps the button */ - onPress: React.PropTypes.func.isRequired, + onPress: PropTypes.func.isRequired, /** * Used to locate this view in end-to-end tests. */ - testID: React.PropTypes.string, + testID: PropTypes.string, }; render() { @@ -96,25 +97,25 @@ class Button extends React.Component { } = this.props; const buttonStyles = [styles.button]; const textStyles = [styles.text]; - const Touchable = Platform.OS === 'android' ? TouchableNativeFeedback : TouchableOpacity; - if (color && Platform.OS === 'ios') { - textStyles.push({color: color}); - } else if (color) { - buttonStyles.push({backgroundColor: color}); + if (color) { + if (Platform.OS === 'ios') { + textStyles.push({color: color}); + } else { + buttonStyles.push({backgroundColor: color}); + } } + const accessibilityTraits = ['button']; if (disabled) { buttonStyles.push(styles.buttonDisabled); textStyles.push(styles.textDisabled); + accessibilityTraits.push('disabled'); } invariant( typeof title === 'string', 'The title prop of a Button must be a string', ); const formattedTitle = Platform.OS === 'android' ? title.toUpperCase() : title; - const accessibilityTraits = ['button']; - if (disabled) { - accessibilityTraits.push('disabled'); - } + const Touchable = Platform.OS === 'android' ? TouchableNativeFeedback : TouchableOpacity; return ( - {formattedTitle} + {formattedTitle} ); } } -// Material design blue from https://material.google.com/style/color.html#color-color-palette -let defaultBlue = '#2196F3'; -if (Platform.OS === 'ios') { - // Measured default tintColor from iOS 10 - defaultBlue = '#0C42FD'; -} - const styles = StyleSheet.create({ button: Platform.select({ ios: {}, android: { elevation: 4, - backgroundColor: defaultBlue, + // Material design blue from https://material.google.com/style/color.html#color-color-palette + backgroundColor: '#2196F3', borderRadius: 2, }, }), text: Platform.select({ ios: { - color: defaultBlue, + // iOS blue from https://developer.apple.com/ios/human-interface-guidelines/visual-design/color/ + color: '#007AFF', textAlign: 'center', padding: 8, fontSize: 18, }, android: { - textAlign: 'center', color: 'white', + textAlign: 'center', padding: 8, fontWeight: '500', }, diff --git a/Libraries/Components/DatePicker/DatePickerIOS.ios.js b/Libraries/Components/DatePicker/DatePickerIOS.ios.js index 1d8dfd5bc4e8..5ef82af2094b 100644 --- a/Libraries/Components/DatePicker/DatePickerIOS.ios.js +++ b/Libraries/Components/DatePicker/DatePickerIOS.ios.js @@ -15,15 +15,14 @@ const NativeMethodsMixin = require('NativeMethodsMixin'); const React = require('React'); +const PropTypes = require('prop-types'); const StyleSheet = require('StyleSheet'); const View = require('View'); - const ViewPropTypes = require('ViewPropTypes'); +const createReactClass = require('create-react-class'); const requireNativeComponent = require('requireNativeComponent'); -const PropTypes = React.PropTypes; - type DefaultProps = { mode: 'date' | 'time' | 'datetime', }; @@ -38,7 +37,8 @@ type Event = Object; * source of truth. */ // $FlowFixMe(>=0.41.0) -const DatePickerIOS = React.createClass({ +const DatePickerIOS = createReactClass({ + displayName: 'DatePickerIOS', // TOOD: Put a better type for _picker _picker: (undefined: ?$FlowFixMe), diff --git a/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js b/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js index f3b997fc1ea2..11910ead0ad3 100644 --- a/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +++ b/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js @@ -52,7 +52,7 @@ class DatePickerAndroid { * * - `date` (`Date` object or timestamp in milliseconds) - date to show by default * - `minDate` (`Date` or timestamp in milliseconds) - minimum date that can be selected - * - `maxDate` (`Date` object or timestamp in milliseconds) - minimum date that can be selected + * - `maxDate` (`Date` object or timestamp in milliseconds) - maximum date that can be selected * - `mode` (`enum('calendar', 'spinner', 'default')`) - To set the date-picker mode to calendar/spinner/default * - 'calendar': Show a date picker in calendar mode. * - 'spinner': Show a date picker in spinner mode. diff --git a/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js b/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js index 6fcca0f53dc7..98e1f2a9317c 100644 --- a/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +++ b/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js @@ -14,21 +14,20 @@ var ColorPropType = require('ColorPropType'); var NativeMethodsMixin = require('NativeMethodsMixin'); var Platform = require('Platform'); var React = require('React'); +var PropTypes = require('prop-types'); var ReactNative = require('ReactNative'); var StatusBar = require('StatusBar'); var StyleSheet = require('StyleSheet'); var UIManager = require('UIManager'); var View = require('View'); - -const ViewPropTypes = require('ViewPropTypes'); +var ViewPropTypes = require('ViewPropTypes'); var DrawerConsts = UIManager.AndroidDrawerLayout.Constants; +var createReactClass = require('create-react-class'); var dismissKeyboard = require('dismissKeyboard'); var requireNativeComponent = require('requireNativeComponent'); -var ReactPropTypes = React.PropTypes; - var RK_DRAWER_REF = 'drawerlayout'; var INNERVIEW_REF = 'innerView'; @@ -69,7 +68,8 @@ var DRAWER_STATES = [ * }, * ``` */ -var DrawerLayoutAndroid = React.createClass({ +var DrawerLayoutAndroid = createReactClass({ + displayName: 'DrawerLayoutAndroid', statics: { positions: DrawerConsts.DrawerPosition, }, @@ -81,7 +81,7 @@ var DrawerLayoutAndroid = React.createClass({ * - 'none' (the default), drags do not dismiss the keyboard. * - 'on-drag', the keyboard is dismissed when a drag begins. */ - keyboardDismissMode: ReactPropTypes.oneOf([ + keyboardDismissMode: PropTypes.oneOf([ 'none', // default 'on-drag', ]), @@ -100,7 +100,7 @@ var DrawerLayoutAndroid = React.createClass({ /** * Specifies the side of the screen from which the drawer will slide in. */ - drawerPosition: ReactPropTypes.oneOf([ + drawerPosition: PropTypes.oneOf([ DrawerConsts.DrawerPosition.Left, DrawerConsts.DrawerPosition.Right ]), @@ -108,7 +108,7 @@ var DrawerLayoutAndroid = React.createClass({ * Specifies the width of the drawer, more precisely the width of the view that be pulled in * from the edge of the window. */ - drawerWidth: ReactPropTypes.number, + drawerWidth: PropTypes.number, /** * Specifies the lock mode of the drawer. The drawer can be locked in 3 states: * - unlocked (default), meaning that the drawer will respond (open/close) to touch gestures. @@ -116,7 +116,7 @@ var DrawerLayoutAndroid = React.createClass({ * - locked-open, meaning that the drawer will stay opened and not respond to gestures. * The drawer may still be opened and closed programmatically (`openDrawer`/`closeDrawer`). */ - drawerLockMode: ReactPropTypes.oneOf([ + drawerLockMode: PropTypes.oneOf([ 'unlocked', 'locked-closed', 'locked-open' @@ -124,7 +124,7 @@ var DrawerLayoutAndroid = React.createClass({ /** * Function called whenever there is an interaction with the navigation view. */ - onDrawerSlide: ReactPropTypes.func, + onDrawerSlide: PropTypes.func, /** * Function called when the drawer state has changed. The drawer can be in 3 states: * - idle, meaning there is no interaction with the navigation view happening at the time @@ -132,19 +132,19 @@ var DrawerLayoutAndroid = React.createClass({ * - settling, meaning that there was an interaction with the navigation view, and the * navigation view is now finishing its closing or opening animation */ - onDrawerStateChanged: ReactPropTypes.func, + onDrawerStateChanged: PropTypes.func, /** * Function called whenever the navigation view has been opened. */ - onDrawerOpen: ReactPropTypes.func, + onDrawerOpen: PropTypes.func, /** * Function called whenever the navigation view has been closed. */ - onDrawerClose: ReactPropTypes.func, + onDrawerClose: PropTypes.func, /** * The navigation view that will be rendered to the side of the screen and can be pulled in. */ - renderNavigationView: ReactPropTypes.func.isRequired, + renderNavigationView: PropTypes.func.isRequired, /** * Make the drawer take the entire screen and draw the background of the @@ -270,7 +270,22 @@ var DrawerLayoutAndroid = React.createClass({ null ); }, - + /** + * Closing and opening example + * Note: To access the drawer you have to give it a ref. Refs do not work on stateless components + * render () { + * this.openDrawer = () => { + * this.refs.DRAWER.openDrawer() + * } + * this.closeDrawer = () => { + * this.refs.DRAWER.closeDrawer() + * } + * return ( + * + * + * ) + * } + */ _getDrawerLayoutHandle: function() { return ReactNative.findNodeHandle(this.refs[RK_DRAWER_REF]); }, diff --git a/Libraries/Components/Keyboard/Keyboard.js b/Libraries/Components/Keyboard/Keyboard.js index 8ec70bb68fc1..b990883ccc18 100644 --- a/Libraries/Components/Keyboard/Keyboard.js +++ b/Libraries/Components/Keyboard/Keyboard.js @@ -38,7 +38,7 @@ type KeyboardEventListener = (e: KeyboardEventData) => void; // The following object exists for documentation purposes // Actual work happens in -// https://github.com/facebook/react-native/blob/master/Libraries/EventEmitter/NativeEventEmitter.js +// https://github.com/facebook/react-native/blob/master/Libraries/vendor/emitter/NativeEventEmitter.js /** * `Keyboard` module to control keyboard events. @@ -99,6 +99,11 @@ let Keyboard = { * - `keyboardWillChangeFrame` * - `keyboardDidChangeFrame` * + * Note that if you set `android:windowSoftInputMode` to `adjustResize` or `adjustNothing`, + * only `keyboardDidShow` and `keyboardDidHide` events will be available on Android. + * `keyboardWillShow` as well as `keyboardWillHide` are generally not available on Android + * since there is no native corresponding event. + * * @param {function} callback function to be called when the event fires. */ addListener(eventName: KeyboardEventName, callback: KeyboardEventListener) { @@ -137,4 +142,3 @@ Keyboard = KeyboardEventEmitter; Keyboard.dismiss = dismissKeyboard; module.exports = Keyboard; - diff --git a/Libraries/Components/Keyboard/KeyboardAvoidingView.js b/Libraries/Components/Keyboard/KeyboardAvoidingView.js index ad310e50368b..c5afbbefbd3e 100644 --- a/Libraries/Components/Keyboard/KeyboardAvoidingView.js +++ b/Libraries/Components/Keyboard/KeyboardAvoidingView.js @@ -11,25 +11,19 @@ */ 'use strict'; +const createReactClass = require('create-react-class'); const Keyboard = require('Keyboard'); const LayoutAnimation = require('LayoutAnimation'); const Platform = require('Platform'); +const PropTypes = require('prop-types'); const React = require('React'); const TimerMixin = require('react-timer-mixin'); const View = require('View'); - const ViewPropTypes = require('ViewPropTypes'); -const PropTypes = React.PropTypes; - import type EmitterSubscription from 'EmitterSubscription'; +import type {ViewLayout, ViewLayoutEvent} from 'ViewPropTypes'; -type Rect = { - x: number, - y: number, - width: number, - height: number, -}; type ScreenRect = { screenX: number, screenY: number, @@ -42,11 +36,6 @@ type KeyboardChangeEvent = { duration?: number, easing?: string, }; -type LayoutEvent = { - nativeEvent: { - layout: Rect, - } -}; const viewRef = 'VIEW'; @@ -55,7 +44,8 @@ const viewRef = 'VIEW'; * It can automatically adjust either its position or bottom padding based on the position of the keyboard. */ // $FlowFixMe(>=0.41.0) -const KeyboardAvoidingView = React.createClass({ +const KeyboardAvoidingView = createReactClass({ + displayName: 'KeyboardAvoidingView', mixins: [TimerMixin], propTypes: { @@ -87,7 +77,7 @@ const KeyboardAvoidingView = React.createClass({ }, subscriptions: ([]: Array), - frame: (null: ?Rect), + frame: (null: ?ViewLayout), relativeKeyboardHeight(keyboardFrame: ScreenRect): number { const frame = this.frame; @@ -95,12 +85,11 @@ const KeyboardAvoidingView = React.createClass({ return 0; } - const y1 = Math.max(frame.y, keyboardFrame.screenY - this.props.keyboardVerticalOffset); - const y2 = Math.min(frame.y + frame.height, keyboardFrame.screenY + keyboardFrame.height - this.props.keyboardVerticalOffset); - if (frame.y > keyboardFrame.screenY) { - return frame.y + frame.height - keyboardFrame.screenY - this.props.keyboardVerticalOffset; - } - return Math.max(y2 - y1, 0); + const keyboardY = keyboardFrame.screenY - this.props.keyboardVerticalOffset; + + // Calculate the displacement needed for the view such that it + // no longer overlaps with the keyboard + return Math.max(frame.y + frame.height - keyboardY, 0); }, onKeyboardChange(event: ?KeyboardChangeEvent) { @@ -124,7 +113,7 @@ const KeyboardAvoidingView = React.createClass({ this.setState({bottom: height}); }, - onLayout(event: LayoutEvent) { + onLayout(event: ViewLayoutEvent) { this.frame = event.nativeEvent.layout; }, diff --git a/Libraries/Components/LazyRenderer.js b/Libraries/Components/LazyRenderer.js index f3bfd6b1baf3..2d2c225f52ab 100644 --- a/Libraries/Components/LazyRenderer.js +++ b/Libraries/Components/LazyRenderer.js @@ -11,13 +11,16 @@ 'use strict'; var React = require('React'); +var createReactClass = require('create-react-class'); +var PropTypes = require('prop-types'); var TimerMixin = require('react-timer-mixin'); -var LazyRenderer = React.createClass({ +var LazyRenderer = createReactClass({ + displayName: 'LazyRenderer', mixin: [TimerMixin], propTypes: { - render: React.PropTypes.func.isRequired, + render: PropTypes.func.isRequired, }, componentWillMount: function(): void { diff --git a/packager/index.js b/Libraries/Components/MaskedView/MaskedViewIOS.android.js similarity index 80% rename from packager/index.js rename to Libraries/Components/MaskedView/MaskedViewIOS.android.js index ec4826e0069c..57b4be358ff6 100644 --- a/packager/index.js +++ b/Libraries/Components/MaskedView/MaskedViewIOS.android.js @@ -6,10 +6,9 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * + * @providesModule MaskedViewIOS * @flow */ - 'use strict'; -require('../setupBabel')(); -module.exports = require('./react-packager'); +module.exports = require('UnimplementedView'); diff --git a/Libraries/Components/MaskedView/MaskedViewIOS.ios.js b/Libraries/Components/MaskedView/MaskedViewIOS.ios.js new file mode 100644 index 000000000000..3a91efc23fc9 --- /dev/null +++ b/Libraries/Components/MaskedView/MaskedViewIOS.ios.js @@ -0,0 +1,110 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule MaskedViewIOS + * @flow + */ + +const PropTypes = require('prop-types'); +const React = require('React'); +const StyleSheet = require('StyleSheet'); +const View = require('View'); +const ViewPropTypes = require('ViewPropTypes'); +const requireNativeComponent = require('requireNativeComponent'); + +import type { ViewProps } from 'ViewPropTypes'; + +type Props = ViewProps & { + children: any, + /** + * Should be a React element to be rendered and applied as the + * mask for the child element. + */ + maskElement: React.Element<*>, +}; + +/** + * Renders the child view with a mask specified in the `maskElement` prop. + * + * ``` + * import React from 'react'; + * import { MaskedView, Text, View } from 'react-native'; + * + * class MyMaskedView extends React.Component { + * render() { + * return ( + * + * + * Basic Mask + * + * + * } + * > + * + * + * ); + * } + * } + * ``` + * + * The above example will render a view with a blue background that fills its + * parent, and then mask that view with text that says "Basic Mask". + * + * The alpha channel of the view rendered by the `maskElement` prop determines how + * much of the view's content and background shows through. Fully or partially + * opaque pixels allow the underlying content to show through but fully + * transparent pixels block that content. + * + */ +class MaskedViewIOS extends React.Component { + props: Props; + + static propTypes = { + ...ViewPropTypes, + maskElement: PropTypes.element.isRequired, + }; + + _hasWarnedInvalidRenderMask = false; + + render() { + const { maskElement, children, ...otherViewProps } = this.props; + + if (!React.isValidElement(maskElement)) { + if (!this._hasWarnedInvalidRenderMask) { + console.warn( + 'MaskedView: Invalid `maskElement` prop was passed to MaskedView. ' + + 'Expected a React Element. No mask will render.' + ); + this._hasWarnedInvalidRenderMask = true; + } + return {children}; + } + + return ( + + + {maskElement} + + {children} + + ); + } +} + +const RCTMaskedView = requireNativeComponent('RCTMaskedView', { + name: 'RCTMaskedView', + displayName: 'RCTMaskedView', + propTypes: { + ...ViewPropTypes, + }, +}); + +module.exports = MaskedViewIOS; diff --git a/Libraries/Components/Navigation/NavigatorIOS.ios.js b/Libraries/Components/Navigation/NavigatorIOS.ios.js index 3b5697371eb3..a43dd63d4a44 100644 --- a/Libraries/Components/Navigation/NavigatorIOS.ios.js +++ b/Libraries/Components/Navigation/NavigatorIOS.ios.js @@ -15,24 +15,22 @@ var EventEmitter = require('EventEmitter'); var Image = require('Image'); var RCTNavigatorManager = require('NativeModules').NavigatorManager; var React = require('React'); +var PropTypes = require('prop-types'); var ReactNative = require('ReactNative'); var StaticContainer = require('StaticContainer.react'); var StyleSheet = require('StyleSheet'); var TVEventHandler = require('TVEventHandler'); var View = require('View'); +var ViewPropTypes = require('ViewPropTypes'); -const ViewPropTypes = require('ViewPropTypes'); - +var createReactClass = require('create-react-class'); var invariant = require('fbjs/lib/invariant'); -var logError = require('logError'); var requireNativeComponent = require('requireNativeComponent'); const keyMirror = require('fbjs/lib/keyMirror'); var TRANSITIONER_REF = 'transitionerRef'; -var PropTypes = React.PropTypes; - var __uid = 0; function getuid() { return __uid++; @@ -42,7 +40,6 @@ class NavigatorTransitionerIOS extends React.Component { requestSchedulingNavigation(cb) { RCTNavigatorManager.requestSchedulingJavaScriptNavigation( ReactNative.findNodeHandle(this), - logError, cb ); } @@ -131,10 +128,10 @@ type Event = Object; * [`UINavigationController`](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UINavigationController_Class/), * enabling you to implement a navigation stack. It works exactly the same as it * would on a native app using `UINavigationController`, providing the same - * animations and behavior from UIKIt. + * animations and behavior from UIKit. * * As the name implies, it is only available on iOS. Take a look at - * [`React Navigation`](https://reactnavigation.org/) for a cross-platform + * [`React Navigation`](https://reactnavigation.org/) for a cross-platform * solution in JavaScript, or check out either of these components for native * solutions: [native-navigation](http://airbnb.io/native-navigation/), * [react-native-navigation](https://github.com/wix/react-native-navigation). @@ -306,7 +303,8 @@ type Event = Object; * is pushed. * */ -var NavigatorIOS = React.createClass({ +var NavigatorIOS = createReactClass({ + displayName: 'NavigatorIOS', propTypes: { @@ -436,7 +434,7 @@ var NavigatorIOS = React.createClass({ titleTextColor: PropTypes.string, /** - * Bboolean value that indicates whether the navigation bar is + * Boolean value that indicates whether the navigation bar is * translucent. */ translucent: PropTypes.bool, @@ -589,8 +587,8 @@ var NavigatorIOS = React.createClass({ }, childContextTypes: { - onFocusRequested: React.PropTypes.func, - focusEmitter: React.PropTypes.instanceOf(EventEmitter), + onFocusRequested: PropTypes.func, + focusEmitter: PropTypes.instanceOf(EventEmitter), }, _tryLockNavigator: function(cb: () => void) { diff --git a/Libraries/Components/Picker/Picker.js b/Libraries/Components/Picker/Picker.js index a85dd7a65cdf..39b2cdfb8157 100644 --- a/Libraries/Components/Picker/Picker.js +++ b/Libraries/Components/Picker/Picker.js @@ -17,6 +17,7 @@ var PickerIOS = require('PickerIOS'); var PickerAndroid = require('PickerAndroid'); var Platform = require('Platform'); var React = require('React'); +const PropTypes = require('prop-types'); var StyleSheetPropType = require('StyleSheetPropType'); var TextStylePropTypes = require('TextStylePropTypes'); var UnimplementedView = require('UnimplementedView'); @@ -33,12 +34,50 @@ var pickerStyleType = StyleSheetPropType({ var MODE_DIALOG = 'dialog'; var MODE_DROPDOWN = 'dropdown'; +/** + * Individual selectable item in a Picker. + */ +class PickerItem extends React.Component { + props: { + label: string, + value?: any, + color?: ColorPropType, + testID?: string, + }; + + static propTypes = { + /** + * Text to display for this item. + */ + label: PropTypes.string.isRequired, + /** + * The value to be passed to picker's `onValueChange` callback when + * this item is selected. Can be a string or an integer. + */ + value: PropTypes.any, + /** + * Color of this item's text. + * @platform android + */ + color: ColorPropType, + /** + * Used to locate the item in end-to-end tests. + */ + testID: PropTypes.string, + }; + + render() { + // The items are not rendered directly + throw null; + } +} + /** * Renders the native picker component on iOS and Android. Example: * * this.setState({language: lang})}> + * onValueChange={(itemValue, itemIndex) => this.setState({language: itemValue})}> * * * @@ -65,6 +104,8 @@ class Picker extends React.Component { */ static MODE_DROPDOWN = MODE_DROPDOWN; + static Item = PickerItem; + static defaultProps = { mode: MODE_DIALOG, }; @@ -76,19 +117,19 @@ class Picker extends React.Component { /** * Value matching value of one of the items. Can be a string or an integer. */ - selectedValue: React.PropTypes.any, + selectedValue: PropTypes.any, /** * Callback for when an item is selected. This is called with the following parameters: * - `itemValue`: the `value` prop of the item that was selected * - `itemPosition`: the index of the selected item in this picker */ - onValueChange: React.PropTypes.func, + onValueChange: PropTypes.func, /** * If set to false, the picker will be disabled, i.e. the user will not be able to make a * selection. * @platform android */ - enabled: React.PropTypes.bool, + enabled: PropTypes.bool, /** * On Android, specifies how to display the selection items when the user taps on the picker: * @@ -97,7 +138,7 @@ class Picker extends React.Component { * * @platform android */ - mode: React.PropTypes.oneOf(['dialog', 'dropdown']), + mode: PropTypes.oneOf(['dialog', 'dropdown']), /** * Style to apply to each of the item labels. * @platform ios @@ -107,11 +148,11 @@ class Picker extends React.Component { * Prompt string for this picker, used on Android in dialog mode as the title of the dialog. * @platform android */ - prompt: React.PropTypes.string, + prompt: PropTypes.string, /** * Used to locate this view in end-to-end tests. */ - testID: React.PropTypes.string, + testID: PropTypes.string, }; render() { @@ -127,43 +168,4 @@ class Picker extends React.Component { } } -/** - * Individual selectable item in a Picker. - */ -// $FlowFixMe found when converting React.createClass to ES6 -Picker.Item = class extends React.Component { - props: { - label: string, - value?: any, - color?: ColorPropType, - testID?: string, - }; - - static propTypes = { - /** - * Text to display for this item. - */ - label: React.PropTypes.string.isRequired, - /** - * The value to be passed to picker's `onValueChange` callback when - * this item is selected. Can be a string or an integer. - */ - value: React.PropTypes.any, - /** - * Color of this item's text. - * @platform android - */ - color: ColorPropType, - /** - * Used to locate the item in end-to-end tests. - */ - testID: React.PropTypes.string, - }; - - render() { - // The items are not rendered directly - throw null; - } -}; - module.exports = Picker; diff --git a/Libraries/Components/Picker/PickerAndroid.android.js b/Libraries/Components/Picker/PickerAndroid.android.js index 511b4d319462..a21463683dee 100644 --- a/Libraries/Components/Picker/PickerAndroid.android.js +++ b/Libraries/Components/Picker/PickerAndroid.android.js @@ -14,6 +14,7 @@ var ColorPropType = require('ColorPropType'); var React = require('React'); +var ReactPropTypes = require('prop-types'); var StyleSheet = require('StyleSheet'); var StyleSheetPropType = require('StyleSheetPropType'); const ViewPropTypes = require('ViewPropTypes'); @@ -22,8 +23,6 @@ var ViewStylePropTypes = require('ViewStylePropTypes'); var processColor = require('processColor'); var requireNativeComponent = require('requireNativeComponent'); -var ReactPropTypes = React.PropTypes; - var REF_PICKER = 'picker'; var MODE_DROPDOWN = 'dropdown'; @@ -53,7 +52,7 @@ class PickerAndroid extends React.Component { static propTypes = { ...ViewPropTypes, style: pickerStyleType, - selectedValue: React.PropTypes.any, + selectedValue: ReactPropTypes.any, enabled: ReactPropTypes.bool, mode: ReactPropTypes.oneOf(['dialog', 'dropdown']), onValueChange: ReactPropTypes.func, diff --git a/Libraries/Components/Picker/PickerIOS.ios.js b/Libraries/Components/Picker/PickerIOS.ios.js index 9bdacdddd1d3..81911b4bc161 100644 --- a/Libraries/Components/Picker/PickerIOS.ios.js +++ b/Libraries/Components/Picker/PickerIOS.ios.js @@ -14,6 +14,7 @@ var NativeMethodsMixin = require('NativeMethodsMixin'); var React = require('React'); +const PropTypes = require('prop-types'); var StyleSheet = require('StyleSheet'); var StyleSheetPropType = require('StyleSheetPropType'); var TextStylePropTypes = require('TextStylePropTypes'); @@ -21,17 +22,19 @@ var View = require('View'); const ViewPropTypes = require('ViewPropTypes'); var processColor = require('processColor'); +var createReactClass = require('create-react-class'); var itemStylePropType = StyleSheetPropType(TextStylePropTypes); var requireNativeComponent = require('requireNativeComponent'); -var PickerIOS = React.createClass({ +var PickerIOS = createReactClass({ + displayName: 'PickerIOS', mixins: [NativeMethodsMixin], propTypes: { ...ViewPropTypes, itemStyle: itemStylePropType, - onValueChange: React.PropTypes.func, - selectedValue: React.PropTypes.any, // string or integer basically + onValueChange: PropTypes.func, + selectedValue: PropTypes.any, // string or integer basically }, getInitialState: function() { @@ -99,9 +102,9 @@ var PickerIOS = React.createClass({ PickerIOS.Item = class extends React.Component { static propTypes = { - value: React.PropTypes.any, // string or integer basically - label: React.PropTypes.string, - color: React.PropTypes.string, + value: PropTypes.any, // string or integer basically + label: PropTypes.string, + color: PropTypes.string, }; render() { diff --git a/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js b/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js index a38c25c46976..51b5896353eb 100644 --- a/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +++ b/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js @@ -12,13 +12,13 @@ var NativeMethodsMixin = require('NativeMethodsMixin'); var React = require('React'); -const ViewPropTypes = require('ViewPropTypes'); +var PropTypes = require('prop-types'); +var ViewPropTypes = require('ViewPropTypes'); var ColorPropType = require('ColorPropType'); +var createReactClass = require('create-react-class'); var requireNativeComponent = require('requireNativeComponent'); -var ReactPropTypes = React.PropTypes; - var STYLE_ATTRIBUTES = [ 'Horizontal', 'Normal', @@ -29,7 +29,7 @@ var STYLE_ATTRIBUTES = [ 'LargeInverse', ]; -var indeterminateType = function(props, propName, componentName) { +var indeterminateType = function(props, propName, componentName, ...rest) { var checker = function() { var indeterminate = props[propName]; var styleAttr = props.styleAttr; @@ -38,7 +38,7 @@ var indeterminateType = function(props, propName, componentName) { } }; - return ReactPropTypes.bool(props, propName, componentName) || checker(); + return PropTypes.bool(props, propName, componentName, ...rest) || checker(); }; /** @@ -64,7 +64,8 @@ var indeterminateType = function(props, propName, componentName) { * }, * ``` */ -var ProgressBarAndroid = React.createClass({ +var ProgressBarAndroid = createReactClass({ + displayName: 'ProgressBarAndroid', propTypes: { ...ViewPropTypes, /** @@ -78,7 +79,7 @@ var ProgressBarAndroid = React.createClass({ * - SmallInverse * - LargeInverse */ - styleAttr: ReactPropTypes.oneOf(STYLE_ATTRIBUTES), + styleAttr: PropTypes.oneOf(STYLE_ATTRIBUTES), /** * If the progress bar will show indeterminate progress. Note that this * can only be false if styleAttr is Horizontal. @@ -87,7 +88,7 @@ var ProgressBarAndroid = React.createClass({ /** * The progress value (between 0 and 1). */ - progress: ReactPropTypes.number, + progress: PropTypes.number, /** * Color of the progress bar. */ @@ -95,7 +96,7 @@ var ProgressBarAndroid = React.createClass({ /** * Used to locate this view in end-to-end tests. */ - testID: ReactPropTypes.string, + testID: PropTypes.string, }, getDefaultProps: function() { diff --git a/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js b/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js index a8287f8b4569..0b6c4f3ee412 100644 --- a/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +++ b/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js @@ -14,18 +14,19 @@ var Image = require('Image'); var NativeMethodsMixin = require('NativeMethodsMixin'); var React = require('React'); +var PropTypes = require('prop-types'); var StyleSheet = require('StyleSheet'); -const ViewPropTypes = require('ViewPropTypes'); +var ViewPropTypes = require('ViewPropTypes'); +var createReactClass = require('create-react-class'); var requireNativeComponent = require('requireNativeComponent'); -var PropTypes = React.PropTypes; - /** * Use `ProgressViewIOS` to render a UIProgressView on iOS. */ // $FlowFixMe(>=0.41.0) -var ProgressViewIOS = React.createClass({ +var ProgressViewIOS = createReactClass({ + displayName: 'ProgressViewIOS', mixins: [NativeMethodsMixin], propTypes: { diff --git a/Libraries/Components/RefreshControl/RefreshControl.js b/Libraries/Components/RefreshControl/RefreshControl.js index 02db53302fd1..8323ca24bed5 100644 --- a/Libraries/Components/RefreshControl/RefreshControl.js +++ b/Libraries/Components/RefreshControl/RefreshControl.js @@ -15,8 +15,10 @@ const ColorPropType = require('ColorPropType'); const NativeMethodsMixin = require('NativeMethodsMixin'); const Platform = require('Platform'); const React = require('React'); +const PropTypes = require('prop-types'); const ViewPropTypes = require('ViewPropTypes'); +const createReactClass = require('create-react-class'); const requireNativeComponent = require('requireNativeComponent'); if (Platform.OS === 'android') { @@ -71,7 +73,8 @@ if (Platform.OS === 'android') { * in the `onRefresh` function otherwise the refresh indicator will stop immediately. */ // $FlowFixMe(>=0.41.0) -const RefreshControl = React.createClass({ +const RefreshControl = createReactClass({ + displayName: 'RefreshControl', statics: { SIZE: RefreshLayoutConsts.SIZE, }, @@ -83,11 +86,11 @@ const RefreshControl = React.createClass({ /** * Called when the view starts refreshing. */ - onRefresh: React.PropTypes.func, + onRefresh: PropTypes.func, /** * Whether the view should be indicating an active refresh. */ - refreshing: React.PropTypes.bool.isRequired, + refreshing: PropTypes.bool.isRequired, /** * The color of the refresh indicator. * @platform ios @@ -102,17 +105,17 @@ const RefreshControl = React.createClass({ * The title displayed under the refresh indicator. * @platform ios */ - title: React.PropTypes.string, + title: PropTypes.string, /** * Whether the pull to refresh functionality is enabled. * @platform android */ - enabled: React.PropTypes.bool, + enabled: PropTypes.bool, /** * The colors (at least one) that will be used to draw the refresh indicator. * @platform android */ - colors: React.PropTypes.arrayOf(ColorPropType), + colors: PropTypes.arrayOf(ColorPropType), /** * The background color of the refresh indicator. * @platform android @@ -122,12 +125,12 @@ const RefreshControl = React.createClass({ * Size of the refresh indicator, see RefreshControl.SIZE. * @platform android */ - size: React.PropTypes.oneOf([RefreshLayoutConsts.SIZE.DEFAULT, RefreshLayoutConsts.SIZE.LARGE]), + size: PropTypes.oneOf([RefreshLayoutConsts.SIZE.DEFAULT, RefreshLayoutConsts.SIZE.LARGE]), /** * Progress view top offset * @platform android */ - progressViewOffset: React.PropTypes.number, + progressViewOffset: PropTypes.number, }, _nativeRef: (null: any), diff --git a/Libraries/Components/ScrollResponder.js b/Libraries/Components/ScrollResponder.js index a7c5f4e1cd2c..36f714228042 100644 --- a/Libraries/Components/ScrollResponder.js +++ b/Libraries/Components/ScrollResponder.js @@ -13,18 +13,19 @@ var Dimensions = require('Dimensions'); var FrameRateLogger = require('FrameRateLogger'); -var Platform = require('Platform'); var Keyboard = require('Keyboard'); var ReactNative = require('ReactNative'); var Subscribable = require('Subscribable'); var TextInputState = require('TextInputState'); var UIManager = require('UIManager'); + +var invariant = require('fbjs/lib/invariant'); +var nullthrows = require('fbjs/lib/nullthrows'); +var performanceNow = require('fbjs/lib/performanceNow'); var warning = require('fbjs/lib/warning'); -var { getInstanceFromNode } = require('ReactNativeComponentTree'); var { ScrollViewManager } = require('NativeModules'); - -var invariant = require('fbjs/lib/invariant'); +var { getInstanceFromNode } = require('ReactNativeComponentTree'); /** * Mixin that can be integrated in order to handle scrolling that plays well @@ -321,7 +322,7 @@ var ScrollResponderMixin = { * Invoke this from an `onMomentumScrollBegin` event. */ scrollResponderHandleMomentumScrollBegin: function(e: Event) { - this.state.lastMomentumScrollBeginTime = Date.now(); + this.state.lastMomentumScrollBeginTime = performanceNow(); this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e); }, @@ -330,7 +331,7 @@ var ScrollResponderMixin = { */ scrollResponderHandleMomentumScrollEnd: function(e: Event) { FrameRateLogger.endScroll(); - this.state.lastMomentumScrollEndTime = Date.now(); + this.state.lastMomentumScrollEndTime = performanceNow(); this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e); }, @@ -371,7 +372,7 @@ var ScrollResponderMixin = { * a touch has just started or ended. */ scrollResponderIsAnimating: function(): boolean { - var now = Date.now(); + var now = performanceNow(); var timeSinceLastMomentumScrollEnd = now - this.state.lastMomentumScrollEndTime; var isAnimating = timeSinceLastMomentumScrollEnd < IS_ANIMATING_TOUCH_START_THRESHOLD_MS || this.state.lastMomentumScrollEndTime < this.state.lastMomentumScrollBeginTime; @@ -411,7 +412,7 @@ var ScrollResponderMixin = { ({x, y, animated} = x || {}); } UIManager.dispatchViewManagerCommand( - this.scrollResponderGetScrollableNode(), + nullthrows(this.scrollResponderGetScrollableNode()), UIManager.RCTScrollView.Commands.scrollTo, [x || 0, y || 0, animated !== false], ); @@ -464,6 +465,16 @@ var ScrollResponderMixin = { ScrollViewManager.zoomToRect(this.scrollResponderGetScrollableNode(), rect, animated !== false); }, + /** + * Displays the scroll indicators momentarily. + * + * @platform ios + */ + scrollResponderFlashScrollIndicators: function() { + invariant(ScrollViewManager && ScrollViewManager.flashScrollIndicators, 'flashScrollIndicators is not implemented'); + ScrollViewManager.flashScrollIndicators(this.scrollResponderGetScrollableNode()); + }, + /** * This method should be used as the callback to onFocus in a TextInputs' * parent view. Note that any module using this mixin needs to return diff --git a/Libraries/Components/ScrollView/ScrollView.js b/Libraries/Components/ScrollView/ScrollView.js index aa1f7e376252..0d668a8eab6d 100644 --- a/Libraries/Components/ScrollView/ScrollView.js +++ b/Libraries/Components/ScrollView/ScrollView.js @@ -16,6 +16,7 @@ const ColorPropType = require('ColorPropType'); const EdgeInsetsPropType = require('EdgeInsetsPropType'); const Platform = require('Platform'); const PointPropType = require('PointPropType'); +const PropTypes = require('prop-types'); const React = require('React'); const ReactNative = require('ReactNative'); const ScrollResponder = require('ScrollResponder'); @@ -26,12 +27,15 @@ const View = require('View'); const ViewPropTypes = require('ViewPropTypes'); const ViewStylePropTypes = require('ViewStylePropTypes'); +const createReactClass = require('create-react-class'); const dismissKeyboard = require('dismissKeyboard'); const flattenStyle = require('flattenStyle'); const invariant = require('fbjs/lib/invariant'); const processDecelerationRate = require('processDecelerationRate'); -const PropTypes = React.PropTypes; const requireNativeComponent = require('requireNativeComponent'); +const warning = require('fbjs/lib/warning'); + +import type {NativeMethodsMixinType} from 'ReactNativeTypes'; /** * Component that wraps platform ScrollView while providing @@ -56,7 +60,7 @@ const requireNativeComponent = require('requireNativeComponent'); * * On the other hand, this has a performance downside. Imagine you have a very * long list of items you want to display, maybe several screens worth of - * content. Creating JS components and native views for everythign all at once, + * content. Creating JS components and native views for everything all at once, * much of which may not even be shown, will contribute to slow rendering and * increased memory usage. * @@ -69,7 +73,8 @@ const requireNativeComponent = require('requireNativeComponent'); * supports out of the box. */ // $FlowFixMe(>=0.41.0) -const ScrollView = React.createClass({ +const ScrollView = createReactClass({ + displayName: 'ScrollView', propTypes: { ...ViewPropTypes, /** @@ -132,16 +137,18 @@ const ScrollView = React.createClass({ * These styles will be applied to the scroll view content container which * wraps all of the child views. Example: * - * return ( - * - * - * ); - * ... - * const styles = StyleSheet.create({ - * contentContainer: { - * paddingVertical: 20 - * } - * }); + * ``` + * return ( + * + * + * ); + * ... + * const styles = StyleSheet.create({ + * contentContainer: { + * paddingVertical: 20 + * } + * }); + * ``` */ contentContainerStyle: StyleSheetPropType(ViewStylePropTypes), /** @@ -150,8 +157,10 @@ const ScrollView = React.createClass({ * shortcuts `"normal"` and `"fast"` which match the underlying iOS settings * for `UIScrollViewDecelerationRateNormal` and * `UIScrollViewDecelerationRateFast` respectively. - * - normal: 0.998 (the default) - * - fast: 0.99 + * + * - `'normal'`: 0.998 (the default) + * - `'fast'`: 0.99 + * * @platform ios */ decelerationRate: PropTypes.oneOfType([ @@ -165,9 +174,11 @@ const ScrollView = React.createClass({ horizontal: PropTypes.bool, /** * The style of the scroll indicators. - * - `default` (the default), same as `black`. - * - `black`, scroll indicator is black. This style is good against a light background. - * - `white`, scroll indicator is white. This style is good against a dark background. + * + * - `'default'` (the default), same as `black`. + * - `'black'`, scroll indicator is black. This style is good against a light background. + * - `'white'`, scroll indicator is white. This style is good against a dark background. + * * @platform ios */ indicatorStyle: PropTypes.oneOf([ @@ -189,28 +200,34 @@ const ScrollView = React.createClass({ canCancelContentTouches: PropTypes.bool, /** * Determines whether the keyboard gets dismissed in response to a drag. - * - 'none' (the default), drags do not dismiss the keyboard. - * - 'on-drag', the keyboard is dismissed when a drag begins. - * - 'interactive', the keyboard is dismissed interactively with the drag and moves in + * + * *Cross platform* + * + * - `'none'` (the default), drags do not dismiss the keyboard. + * - `'on-drag'`, the keyboard is dismissed when a drag begins. + * + * *iOS Only* + * + * - `'interactive'`, the keyboard is dismissed interactively with the drag and moves in * synchrony with the touch; dragging upwards cancels the dismissal. * On android this is not supported and it will have the same behavior as 'none'. */ keyboardDismissMode: PropTypes.oneOf([ 'none', // default - 'interactive', - 'on-drag', + 'on-drag', // Cross-platform + 'interactive', // iOS-only ]), /** * Determines when the keyboard should stay visible after a tap. * - * - 'never' (the default), tapping outside of the focused text input when the keyboard + * - `'never'` (the default), tapping outside of the focused text input when the keyboard * is up dismisses the keyboard. When this happens, children won't receive the tap. - * - 'always', the keyboard will not dismiss automatically, and the scroll view will not + * - `'always'`, the keyboard will not dismiss automatically, and the scroll view will not * catch taps, but children of the scroll view can catch taps. - * - 'handled', the keyboard will not dismiss automatically when the tap was handled by + * - `'handled'`, the keyboard will not dismiss automatically when the tap was handled by * a children, (or captured by an ancestor). - * - false, deprecated, use 'never' instead - * - true, deprecated, use 'always' instead + * - `false`, deprecated, use 'never' instead + * - `true`, deprecated, use 'always' instead */ keyboardShouldPersistTaps: PropTypes.oneOf(['always', 'never', 'handled', false, true]), /** @@ -223,16 +240,19 @@ const ScrollView = React.createClass({ * @platform ios */ minimumZoomScale: PropTypes.number, + /** + * Called when the momentum scroll starts (scroll which occurs as the ScrollView glides to a stop). + */ + onMomentumScrollBegin: PropTypes.func, + /** + * Called when the momentum scroll ends (scroll which occurs as the ScrollView glides to a stop). + */ + onMomentumScrollEnd: PropTypes.func, /** * Fires at most once per frame during scrolling. The frequency of the * events can be controlled using the `scrollEventThrottle` prop. */ onScroll: PropTypes.func, - /** - * Called when a scrolling animation ends. - * @platform ios - */ - onScrollAnimationEnd: PropTypes.func, /** * Called when scrollable content view of the ScrollView changes. * @@ -247,11 +267,15 @@ const ScrollView = React.createClass({ * When true, the scroll view stops on multiples of the scroll view's size * when scrolling. This can be used for horizontal pagination. The default * value is false. + * + * Note: Vertical pagination is not supported on Android. */ pagingEnabled: PropTypes.bool, /** - * When false, the content does not scroll. + * When false, the view cannot be scrolled via touch interaction. * The default value is true. + * + * Note that the view can be always be scrolled by calling `scrollTo`. */ scrollEnabled: PropTypes.bool, /** @@ -302,17 +326,21 @@ const ScrollView = React.createClass({ /** * When set, causes the scroll view to stop at multiples of the value of * `snapToInterval`. This can be used for paginating through children - * that have lengths smaller than the scroll view. Used in combination - * with `snapToAlignment`. + * that have lengths smaller than the scroll view. Typically used in + * combination with `snapToAlignment` and `decelerationRate="fast"`. + * Overrides less configurable `pagingEnabled` prop. + * * @platform ios */ snapToInterval: PropTypes.number, /** * When `snapToInterval` is set, `snapToAlignment` will define the relationship * of the snapping to the scroll view. - * - `start` (the default) will align the snap at the left (horizontal) or top (vertical) - * - `center` will align the snap in the center - * - `end` will align the snap at the right (horizontal) or bottom (vertical) + * + * - `'start'` (the default) will align the snap at the left (horizontal) or top (vertical) + * - `'center'` will align the snap in the center + * - `'end'` will align the snap at the right (horizontal) or bottom (vertical) + * * @platform ios */ snapToAlignment: PropTypes.oneOf([ @@ -332,7 +360,18 @@ const ScrollView = React.createClass({ * @platform ios */ zoomScale: PropTypes.number, - + /** + * This property specifies how the safe area insets are used to modify the + * content area of the scroll view. The default value of this property is + * "never". Available on iOS 11 and later. + * @platform ios + */ + contentInsetAdjustmentBehavior: PropTypes.oneOf([ + 'automatic', + 'scrollableAxes', + 'never', // default + 'always', + ]), /** * A RefreshControl component, used to provide pull-to-refresh * functionality for the ScrollView. Only works for vertical ScrollViews @@ -377,6 +416,15 @@ const ScrollView = React.createClass({ 'always', 'never', ]), + /** + * When true, ScrollView will emit updateChildFrames data in scroll events, + * otherwise will not compute or emit child frame data. This only exists + * to support legacy issues, `onLayout` should be used instead to retrieve + * frame data. + * The default value is false. + * @platform ios + */ + DEPRECATED_sendUpdatedChildFrames: PropTypes.bool, }, mixins: [ScrollResponder.Mixin], @@ -436,7 +484,7 @@ const ScrollView = React.createClass({ * * Example: * - * `scrollTo({x: 0; y: 0; animated: true})` + * `scrollTo({x: 0, y: 0, animated: true})` * * Note: The weird function signature is due to the fact that, for historical reasons, * the function also accepts separate arguments as an alternative to the options object. @@ -484,24 +532,30 @@ const ScrollView = React.createClass({ this.scrollTo({x, y, animated: false}); }, + /** + * Displays the scroll indicators momentarily. + * + * @platform ios + */ + flashScrollIndicators: function() { + this.getScrollResponder().scrollResponderFlashScrollIndicators(); + }, + _getKeyForIndex: function(index, childArray) { const child = childArray[index]; return child && child.key; }, _updateAnimatedNodeAttachment: function() { + if (this._scrollAnimatedValueAttachment) { + this._scrollAnimatedValueAttachment.detach(); + } if (this.props.stickyHeaderIndices && this.props.stickyHeaderIndices.length > 0) { - if (!this._scrollAnimatedValueAttachment) { - this._scrollAnimatedValueAttachment = Animated.attachNativeEvent( - this._scrollViewRef, - 'onScroll', - [{nativeEvent: {contentOffset: {y: this._scrollAnimatedValue}}}] - ); - } - } else { - if (this._scrollAnimatedValueAttachment) { - this._scrollAnimatedValueAttachment.detach(); - } + this._scrollAnimatedValueAttachment = Animated.attachNativeEvent( + this._scrollViewRef, + 'onScroll', + [{nativeEvent: {contentOffset: {y: this._scrollAnimatedValue}}}] + ); } }, @@ -566,8 +620,8 @@ const ScrollView = React.createClass({ this._scrollViewRef = ref; }, - _innerViewRef: (null: ?View), - _setInnerViewRef: function(ref: ?View) { + _innerViewRef: (null: ?NativeMethodsMixinType), + _setInnerViewRef: function(ref: ?NativeMethodsMixinType) { this._innerViewRef = ref; }, @@ -577,6 +631,10 @@ const ScrollView = React.createClass({ if (Platform.OS === 'ios') { ScrollViewClass = RCTScrollView; ScrollContentContainerViewClass = RCTScrollContentView; + warning( + !this.props.snapToInterval || !this.props.pagingEnabled, + 'snapToInterval is currently ignored when pagingEnabled is true.' + ); } else if (Platform.OS === 'android') { if (this.props.horizontal) { ScrollViewClass = AndroidHorizontalScrollView; @@ -651,7 +709,11 @@ const ScrollView = React.createClass({ ref={this._setInnerViewRef} style={contentContainerStyle} removeClippedSubviews={ - hasStickyHeaders && Platform.OS === 'android' ? false : this.props.removeClippedSubviews + // Subview clipping causes issues with sticky headers on Android and + // would be hard to fix properly in a performant way. + Platform.OS === 'android' && hasStickyHeaders ? + false : + this.props.removeClippedSubviews } collapsable={false}> {children} @@ -667,6 +729,9 @@ const ScrollView = React.createClass({ this.props.alwaysBounceVertical : !this.props.horizontal; + const DEPRECATED_sendUpdatedChildFrames = + !!this.props.DEPRECATED_sendUpdatedChildFrames; + const baseStyle = this.props.horizontal ? styles.baseHorizontal : styles.baseVertical; const props = { ...this.props, @@ -695,6 +760,7 @@ const ScrollView = React.createClass({ scrollEventThrottle: hasStickyHeaders ? 1 : this.props.scrollEventThrottle, sendMomentumEvents: (this.props.onMomentumScrollBegin || this.props.onMomentumScrollEnd) ? true : false, + DEPRECATED_sendUpdatedChildFrames, }; const { decelerationRate } = this.props; @@ -791,6 +857,7 @@ if (Platform.OS === 'android') { (ScrollView: ReactClass), nativeOnlyProps, ); + // $FlowFixMe (bvaughn) Update ComponentInterface in ViewPropTypes to include a string type (for Fiber host components) in a follow-up. RCTScrollContentView = requireNativeComponent('RCTScrollContentView', View); } diff --git a/Libraries/Components/ScrollView/ScrollViewStickyHeader.js b/Libraries/Components/ScrollView/ScrollViewStickyHeader.js index 8db0f0b4f43b..b072a67c6bf0 100644 --- a/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +++ b/Libraries/Components/ScrollView/ScrollViewStickyHeader.js @@ -61,8 +61,9 @@ class ScrollViewStickyHeader extends React.Component { render() { const {measured, layoutHeight, layoutY, nextHeaderLayoutY} = this.state; + const inputRange: Array = [-1, 0]; + const outputRange: Array = [0, 0]; - let translateY; if (measured) { // The interpolation looks like: // - Negative scroll: no translation @@ -74,8 +75,8 @@ class ScrollViewStickyHeader extends React.Component { // header to continue scrolling up and make room for the next sticky header. // In the case that there is no next header just translate equally to // scroll indefinetly. - const inputRange = [-1, 0, layoutY]; - const outputRange: Array = [0, 0, 0]; + inputRange.push(layoutY); + outputRange.push(0); // Sometimes headers jump around so we make sure we don't violate the monotonic inputRange // condition. const collisionPoint = (nextHeaderLayoutY || 0) - layoutHeight; @@ -86,14 +87,12 @@ class ScrollViewStickyHeader extends React.Component { inputRange.push(layoutY + 1); outputRange.push(1); } - translateY = this.props.scrollAnimatedValue.interpolate({ - inputRange, - outputRange, - }); - } else { - translateY = 0; } + const translateY = this.props.scrollAnimatedValue.interpolate({ + inputRange, + outputRange, + }); const child = React.Children.only(this.props.children); return ( diff --git a/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js b/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js index 9ac6f3cef5f2..ba0c52ebbc0e 100644 --- a/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +++ b/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js @@ -13,13 +13,13 @@ var NativeMethodsMixin = require('NativeMethodsMixin'); var React = require('React'); +var PropTypes = require('prop-types'); var StyleSheet = require('StyleSheet'); -const ViewPropTypes = require('ViewPropTypes'); +var ViewPropTypes = require('ViewPropTypes'); +var createReactClass = require('create-react-class'); var requireNativeComponent = require('requireNativeComponent'); -var PropTypes = React.PropTypes; - type DefaultProps = { values: Array, enabled: boolean, @@ -50,7 +50,8 @@ type Event = Object; * ```` */ // $FlowFixMe(>=0.41.0) -var SegmentedControlIOS = React.createClass({ +var SegmentedControlIOS = createReactClass({ + displayName: 'SegmentedControlIOS', mixins: [NativeMethodsMixin], propTypes: { diff --git a/Libraries/Components/Slider/Slider.js b/Libraries/Components/Slider/Slider.js index 6ca9e49ae73a..712100bffaa6 100644 --- a/Libraries/Components/Slider/Slider.js +++ b/Libraries/Components/Slider/Slider.js @@ -17,20 +17,21 @@ var NativeMethodsMixin = require('NativeMethodsMixin'); var ReactNativeViewAttributes = require('ReactNativeViewAttributes'); var Platform = require('Platform'); var React = require('React'); +var PropTypes = require('prop-types'); var StyleSheet = require('StyleSheet'); -const ViewPropTypes = require('ViewPropTypes'); +var ViewPropTypes = require('ViewPropTypes'); +var createReactClass = require('create-react-class'); var requireNativeComponent = require('requireNativeComponent'); -var PropTypes = React.PropTypes; - type Event = Object; /** * A component used to select a single value from a range of values. */ // $FlowFixMe(>=0.41.0) -var Slider = React.createClass({ +var Slider = createReactClass({ + displayName: 'Slider', mixins: [NativeMethodsMixin], propTypes: { @@ -126,8 +127,9 @@ var Slider = React.createClass({ onValueChange: PropTypes.func, /** - * Callback called when the user finishes changing the value (e.g. when - * the slider is released). + * Callback that is called when the user releases the slider, + * regardless if the value has changed. The current value is passed + * as an argument to the callback handler. */ onSlidingComplete: PropTypes.func, diff --git a/Libraries/Components/StaticRenderer.js b/Libraries/Components/StaticRenderer.js index f65131854441..afea94ebc3fc 100644 --- a/Libraries/Components/StaticRenderer.js +++ b/Libraries/Components/StaticRenderer.js @@ -13,6 +13,8 @@ var React = require('React'); +var PropTypes = require('prop-types'); + class StaticRenderer extends React.Component { props: { shouldUpdate: boolean, @@ -20,8 +22,8 @@ class StaticRenderer extends React.Component { }; static propTypes = { - shouldUpdate: React.PropTypes.bool.isRequired, - render: React.PropTypes.func.isRequired, + shouldUpdate: PropTypes.bool.isRequired, + render: PropTypes.func.isRequired, }; shouldComponentUpdate(nextProps: { shouldUpdate: boolean }): boolean { diff --git a/Libraries/Components/StatusBar/StatusBar.js b/Libraries/Components/StatusBar/StatusBar.js index 1a4eb6a97221..b2f52d11ec1d 100644 --- a/Libraries/Components/StatusBar/StatusBar.js +++ b/Libraries/Components/StatusBar/StatusBar.js @@ -12,6 +12,7 @@ 'use strict'; const React = require('React'); +const PropTypes = require('prop-types'); const ColorPropType = require('ColorPropType'); const Platform = require('Platform'); @@ -62,7 +63,10 @@ type DefaultProps = { /** * Merges the prop stack with the default values. */ -function mergePropsStack(propsStack: Array, defaultValues: Object): Object { +function mergePropsStack( + propsStack: Array, + defaultValues: Object +): Object { return propsStack.reduce((prev, cur) => { for (const prop in cur) { if (cur[prop] != null) { @@ -79,20 +83,29 @@ function mergePropsStack(propsStack: Array, defaultValues: Object): Obje */ function createStackEntry(props: any): any { return { - backgroundColor: props.backgroundColor != null ? { - value: props.backgroundColor, - animated: props.animated, - } : null, - barStyle: props.barStyle != null ? { - value: props.barStyle, - animated: props.animated, - } : null, + backgroundColor: + props.backgroundColor != null + ? { + value: props.backgroundColor, + animated: props.animated, + } + : null, + barStyle: + props.barStyle != null + ? { + value: props.barStyle, + animated: props.animated, + } + : null, translucent: props.translucent, - hidden: props.hidden != null ? { - value: props.hidden, - animated: props.animated, - transition: props.showHideTransition, - } : null, + hidden: + props.hidden != null + ? { + value: props.hidden, + animated: props.animated, + transition: props.showHideTransition, + } + : null, networkActivityIndicatorVisible: props.networkActivityIndicatorVisible, }; } @@ -140,7 +153,7 @@ class StatusBar extends React.Component { props: { hidden?: boolean, animated?: boolean, - backgroundColor?: $FlowFixMe, + backgroundColor?: string, translucent?: boolean, barStyle?: 'default' | 'light-content' | 'dark-content', networkActivityIndicatorVisible?: boolean, @@ -214,7 +227,9 @@ class StatusBar extends React.Component { */ static setNetworkActivityIndicatorVisible(visible: boolean) { if (Platform.OS !== 'ios') { - console.warn('`setNetworkActivityIndicatorVisible` is only available on iOS'); + console.warn( + '`setNetworkActivityIndicatorVisible` is only available on iOS' + ); return; } StatusBar._defaultProps.networkActivityIndicatorVisible = visible; @@ -253,12 +268,12 @@ class StatusBar extends React.Component { /** * If the status bar is hidden. */ - hidden: React.PropTypes.bool, + hidden: PropTypes.bool, /** * If the transition between status bar property changes should be animated. * Supported for backgroundColor, barStyle and hidden. */ - animated: React.PropTypes.bool, + animated: PropTypes.bool, /** * The background color of the status bar. * @platform android @@ -271,31 +286,24 @@ class StatusBar extends React.Component { * * @platform android */ - translucent: React.PropTypes.bool, + translucent: PropTypes.bool, /** * Sets the color of the status bar text. */ - barStyle: React.PropTypes.oneOf([ - 'default', - 'light-content', - 'dark-content', - ]), + barStyle: PropTypes.oneOf(['default', 'light-content', 'dark-content']), /** * If the network activity indicator should be visible. * * @platform ios */ - networkActivityIndicatorVisible: React.PropTypes.bool, + networkActivityIndicatorVisible: PropTypes.bool, /** * The transition effect when showing and hiding the status bar using the `hidden` * prop. Defaults to 'fade'. * * @platform ios */ - showHideTransition: React.PropTypes.oneOf([ - 'fade', - 'slide', - ]), + showHideTransition: PropTypes.oneOf(['fade', 'slide']), }; static defaultProps = { @@ -342,38 +350,52 @@ class StatusBar extends React.Component { clearImmediate(StatusBar._updateImmediate); StatusBar._updateImmediate = setImmediate(() => { const oldProps = StatusBar._currentValues; - const mergedProps = mergePropsStack(StatusBar._propsStack, StatusBar._defaultProps); + const mergedProps = mergePropsStack( + StatusBar._propsStack, + StatusBar._defaultProps + ); // Update the props that have changed using the merged values from the props stack. if (Platform.OS === 'ios') { - if (!oldProps || oldProps.barStyle.value !== mergedProps.barStyle.value) { + if ( + !oldProps || + oldProps.barStyle.value !== mergedProps.barStyle.value + ) { StatusBarManager.setStyle( mergedProps.barStyle.value, - mergedProps.barStyle.animated, + mergedProps.barStyle.animated ); } if (!oldProps || oldProps.hidden.value !== mergedProps.hidden.value) { StatusBarManager.setHidden( mergedProps.hidden.value, - mergedProps.hidden.animated ? - mergedProps.hidden.transition : - 'none', + mergedProps.hidden.animated ? mergedProps.hidden.transition : 'none' ); } - if (!oldProps || oldProps.networkActivityIndicatorVisible !== mergedProps.networkActivityIndicatorVisible) { + if ( + !oldProps || + oldProps.networkActivityIndicatorVisible !== + mergedProps.networkActivityIndicatorVisible + ) { StatusBarManager.setNetworkActivityIndicatorVisible( mergedProps.networkActivityIndicatorVisible ); } } else if (Platform.OS === 'android') { - if (!oldProps || oldProps.barStyle.value !== mergedProps.barStyle.value) { + if ( + !oldProps || + oldProps.barStyle.value !== mergedProps.barStyle.value + ) { StatusBarManager.setStyle(mergedProps.barStyle.value); } - if (!oldProps || oldProps.backgroundColor.value !== mergedProps.backgroundColor.value) { + if ( + !oldProps || + oldProps.backgroundColor.value !== mergedProps.backgroundColor.value + ) { StatusBarManager.setColor( processColor(mergedProps.backgroundColor.value), - mergedProps.backgroundColor.animated, + mergedProps.backgroundColor.animated ); } if (!oldProps || oldProps.hidden.value !== mergedProps.hidden.value) { diff --git a/Libraries/Components/Switch/Switch.js b/Libraries/Components/Switch/Switch.js index 04ed872dc84d..e7b456af98ed 100644 --- a/Libraries/Components/Switch/Switch.js +++ b/Libraries/Components/Switch/Switch.js @@ -15,13 +15,13 @@ var ColorPropType = require('ColorPropType'); var NativeMethodsMixin = require('NativeMethodsMixin'); var Platform = require('Platform'); var React = require('React'); +const PropTypes = require('prop-types'); var StyleSheet = require('StyleSheet'); const ViewPropTypes = require('ViewPropTypes'); +var createReactClass = require('create-react-class'); var requireNativeComponent = require('requireNativeComponent'); -var { PropTypes } = React; - type DefaultProps = { value: boolean, disabled: boolean, @@ -39,7 +39,8 @@ type DefaultProps = { * @keyword toggle */ // $FlowFixMe(>=0.41.0) -var Switch = React.createClass({ +var Switch = createReactClass({ + displayName: 'Switch', propTypes: { ...ViewPropTypes, /** diff --git a/Libraries/Components/TabBarIOS/TabBarIOS.ios.js b/Libraries/Components/TabBarIOS/TabBarIOS.ios.js index 3ccabc5828f7..10f0c028af8e 100644 --- a/Libraries/Components/TabBarIOS/TabBarIOS.ios.js +++ b/Libraries/Components/TabBarIOS/TabBarIOS.ios.js @@ -13,6 +13,7 @@ var ColorPropType = require('ColorPropType'); var React = require('React'); +const PropTypes = require('prop-types'); var StyleSheet = require('StyleSheet'); var TabBarItemIOS = require('TabBarItemIOS'); const ViewPropTypes = require('ViewPropTypes'); @@ -55,7 +56,7 @@ class TabBarIOS extends React.Component { /** * A Boolean value that indicates whether the tab bar is translucent */ - translucent: React.PropTypes.bool, + translucent: PropTypes.bool, /** * Specifies tab bar item positioning. Available values are: * - fill - distributes items across the entire width of the tab bar @@ -65,7 +66,7 @@ class TabBarIOS extends React.Component { * this value defaults to `fill`, in a horizontally regular one (e.g. iPad) * it defaults to center. */ - itemPositioning: React.PropTypes.oneOf(['fill', 'center', 'auto']), + itemPositioning: PropTypes.oneOf(['fill', 'center', 'auto']), }; render() { diff --git a/Libraries/Components/TabBarIOS/TabBarItemIOS.ios.js b/Libraries/Components/TabBarIOS/TabBarItemIOS.ios.js index 39eb95ab2adc..215c4f27edbc 100644 --- a/Libraries/Components/TabBarIOS/TabBarItemIOS.ios.js +++ b/Libraries/Components/TabBarIOS/TabBarItemIOS.ios.js @@ -14,6 +14,7 @@ var ColorPropType = require('ColorPropType'); var Image = require('Image'); var React = require('React'); +const PropTypes = require('prop-types'); var StaticContainer = require('StaticContainer.react'); var StyleSheet = require('StyleSheet'); var View = require('View'); @@ -28,9 +29,9 @@ class TabBarItemIOS extends React.Component { /** * Little red bubble that sits at the top right of the icon. */ - badge: React.PropTypes.oneOfType([ - React.PropTypes.string, - React.PropTypes.number, + badge: PropTypes.oneOfType([ + PropTypes.string, + PropTypes.number, ]), /** * Background color for the badge. Available since iOS 10. @@ -41,7 +42,7 @@ class TabBarItemIOS extends React.Component { * using them, the title and selectedIcon will be overridden with the * system ones. */ - systemIcon: React.PropTypes.oneOf([ + systemIcon: PropTypes.oneOf([ 'bookmarks', 'contacts', 'downloads', @@ -68,17 +69,17 @@ class TabBarItemIOS extends React.Component { * Callback when this tab is being selected, you should change the state of your * component to set selected={true}. */ - onPress: React.PropTypes.func, + onPress: PropTypes.func, /** * If set to true it renders the image as original, * it defaults to being displayed as a template */ - renderAsOriginal: React.PropTypes.bool, + renderAsOriginal: PropTypes.bool, /** * It specifies whether the children are visible or not. If you see a * blank content, you probably forgot to add a selected one. */ - selected: React.PropTypes.bool, + selected: PropTypes.bool, /** * React style object. */ @@ -87,14 +88,14 @@ class TabBarItemIOS extends React.Component { * Text that appears under the icon. It is ignored when a system icon * is defined. */ - title: React.PropTypes.string, + title: PropTypes.string, /** *(Apple TV only)* When set to true, this view will be focusable * and navigable using the Apple TV remote. * * @platform ios */ - isTVSelectable: React.PropTypes.bool, + isTVSelectable: PropTypes.bool, }; state = { diff --git a/Libraries/Components/TextInput/TextInput.js b/Libraries/Components/TextInput/TextInput.js index 2f24ab240ab6..1ef2d9b2f7a2 100644 --- a/Libraries/Components/TextInput/TextInput.js +++ b/Libraries/Components/TextInput/TextInput.js @@ -17,6 +17,8 @@ const EventEmitter = require('EventEmitter'); const NativeMethodsMixin = require('NativeMethodsMixin'); const Platform = require('Platform'); const React = require('React'); +const createReactClass = require('create-react-class'); +const PropTypes = require('prop-types'); const ReactNative = require('ReactNative'); const StyleSheet = require('StyleSheet'); const Text = require('Text'); @@ -31,8 +33,6 @@ const invariant = require('fbjs/lib/invariant'); const requireNativeComponent = require('requireNativeComponent'); const warning = require('fbjs/lib/warning'); -const PropTypes = React.PropTypes; - const onlyMultiline = { onTextInput: true, children: true, @@ -75,7 +75,7 @@ const DataDetectorTypes = [ * import React, { Component } from 'react'; * import { AppRegistry, TextInput } from 'react-native'; * - * class UselessTextInput extends Component { + * export default class UselessTextInput extends Component { * constructor(props) { * super(props); * this.state = { text: 'Useless Placeholder' }; @@ -92,7 +92,7 @@ const DataDetectorTypes = [ * } * } * - * // App registration and rendering + * // skip this line if using Create React Native App * AppRegistry.registerComponent('AwesomeProject', () => UselessTextInput); * ``` * @@ -118,7 +118,7 @@ const DataDetectorTypes = [ * } * } * - * class UselessTextInputMultiline extends Component { + * export default class UselessTextInputMultiline extends Component { * constructor(props) { * super(props); * this.state = { @@ -146,7 +146,7 @@ const DataDetectorTypes = [ * } * } * - * // App registration and rendering + * // skip these lines if using Create React Native App * AppRegistry.registerComponent( * 'AwesomeProject', * () => UselessTextInputMultiline @@ -169,7 +169,8 @@ const DataDetectorTypes = [ * */ // $FlowFixMe(>=0.41.0) -const TextInput = React.createClass({ +const TextInput = createReactClass({ + displayName: 'TextInput', statics: { /* TODO(brentvatne) docs are needed for this */ State: TextInputState, @@ -336,7 +337,7 @@ const TextInput = React.createClass({ * The default value is `simple`. * @platform android */ - textBreakStrategy: React.PropTypes.oneOf(['simple', 'highQuality', 'balanced']), + textBreakStrategy: PropTypes.oneOf(['simple', 'highQuality', 'balanced']), /** * Callback that is called when the text input is blurred. */ @@ -549,8 +550,8 @@ const TextInput = React.createClass({ }, contextTypes: { - onFocusRequested: React.PropTypes.func, - focusEmitter: React.PropTypes.instanceOf(EventEmitter), + onFocusRequested: PropTypes.func, + focusEmitter: PropTypes.instanceOf(EventEmitter), }, _inputRef: (undefined: any), @@ -593,7 +594,7 @@ const TextInput = React.createClass({ }, childContextTypes: { - isInAParentText: React.PropTypes.bool + isInAParentText: PropTypes.bool }, /** @@ -629,7 +630,7 @@ const TextInput = React.createClass({ var textContainer; var props = Object.assign({}, this.props); - props.style = [styles.input, this.props.style]; + props.style = [this.props.style]; if (props.selection && props.selection.end == null) { props.selection = {start: props.selection.start, end: props.selection.start}; @@ -698,6 +699,7 @@ const TextInput = React.createClass({ accessible={props.accessible} accessibilityLabel={props.accessibilityLabel} accessibilityTraits={props.accessibilityTraits} + nativeID={this.props.nativeID} testID={props.testID}> {textContainer} @@ -748,6 +750,7 @@ const TextInput = React.createClass({ accessible={this.props.accessible} accessibilityLabel={this.props.accessibilityLabel} accessibilityComponentType={this.props.accessibilityComponentType} + nativeID={this.props.nativeID} testID={this.props.testID}> {textContainer} @@ -858,9 +861,6 @@ const TextInput = React.createClass({ }); var styles = StyleSheet.create({ - input: { - alignSelf: 'stretch', - }, multilineInput: { // This default top inset makes RCTTextView seem as close as possible // to single-line RCTTextField defaults, using the system defaults diff --git a/Libraries/Components/TextInput/TextInputState.js b/Libraries/Components/TextInput/TextInputState.js index 276bba0d781b..7d17fe639352 100644 --- a/Libraries/Components/TextInput/TextInputState.js +++ b/Libraries/Components/TextInput/TextInputState.js @@ -53,7 +53,7 @@ var TextInputState = { }, /** - * @param {number} textFieldID id of the text field to focus + * @param {number} textFieldID id of the text field to unfocus * Unfocuses the specified text field * noop if it wasn't focused */ diff --git a/Libraries/Components/ToolbarAndroid/ToolbarAndroid.android.js b/Libraries/Components/ToolbarAndroid/ToolbarAndroid.android.js index 201c9c3fc080..85435eaea6bf 100644 --- a/Libraries/Components/ToolbarAndroid/ToolbarAndroid.android.js +++ b/Libraries/Components/ToolbarAndroid/ToolbarAndroid.android.js @@ -14,21 +14,21 @@ var Image = require('Image'); var NativeMethodsMixin = require('NativeMethodsMixin'); var React = require('React'); +var PropTypes = require('prop-types'); var ReactNativeViewAttributes = require('ReactNativeViewAttributes'); var UIManager = require('UIManager'); -const ViewPropTypes = require('ViewPropTypes'); +var ViewPropTypes = require('ViewPropTypes'); var ColorPropType = require('ColorPropType'); +var createReactClass = require('create-react-class'); var requireNativeComponent = require('requireNativeComponent'); var resolveAssetSource = require('resolveAssetSource'); -var ReactPropTypes = React.PropTypes; - -var optionalImageSource = ReactPropTypes.oneOfType([ +var optionalImageSource = PropTypes.oneOfType([ Image.propTypes.source, // Image.propTypes.source is required but we want it to be optional, so we OR // it with a nullable propType. - ReactPropTypes.oneOf([]), + PropTypes.oneOf([]), ]); /** @@ -66,7 +66,8 @@ var optionalImageSource = ReactPropTypes.oneOfType([ * * [0]: https://developer.android.com/reference/android/support/v7/widget/Toolbar.html */ -var ToolbarAndroid = React.createClass({ +var ToolbarAndroid = createReactClass({ + displayName: 'ToolbarAndroid', mixins: [NativeMethodsMixin], propTypes: { @@ -84,11 +85,11 @@ var ToolbarAndroid = React.createClass({ * `ifRoom` or `never` * * `showWithText`: boolean, whether to show text alongside the icon or not */ - actions: ReactPropTypes.arrayOf(ReactPropTypes.shape({ - title: ReactPropTypes.string.isRequired, + actions: PropTypes.arrayOf(PropTypes.shape({ + title: PropTypes.string.isRequired, icon: optionalImageSource, - show: ReactPropTypes.oneOf(['always', 'ifRoom', 'never']), - showWithText: ReactPropTypes.bool + show: PropTypes.oneOf(['always', 'ifRoom', 'never']), + showWithText: PropTypes.bool })), /** * Sets the toolbar logo. @@ -102,11 +103,11 @@ var ToolbarAndroid = React.createClass({ * Callback that is called when an action is selected. The only argument that is passed to the * callback is the position of the action in the actions array. */ - onActionSelected: ReactPropTypes.func, + onActionSelected: PropTypes.func, /** * Callback called when the icon is selected. */ - onIconClicked: ReactPropTypes.func, + onIconClicked: PropTypes.func, /** * Sets the overflow icon. */ @@ -114,7 +115,7 @@ var ToolbarAndroid = React.createClass({ /** * Sets the toolbar subtitle. */ - subtitle: ReactPropTypes.string, + subtitle: PropTypes.string, /** * Sets the toolbar subtitle color. */ @@ -122,7 +123,7 @@ var ToolbarAndroid = React.createClass({ /** * Sets the toolbar title. */ - title: ReactPropTypes.string, + title: PropTypes.string, /** * Sets the toolbar title color. */ @@ -135,7 +136,7 @@ var ToolbarAndroid = React.createClass({ * these components and can be used to effectively align Toolbar content * along well-known gridlines. */ - contentInsetStart: ReactPropTypes.number, + contentInsetStart: PropTypes.number, /** * Sets the content inset for the toolbar ending edge. * @@ -144,7 +145,7 @@ var ToolbarAndroid = React.createClass({ * these components and can be used to effectively align Toolbar content * along well-known gridlines. */ - contentInsetEnd: ReactPropTypes.number, + contentInsetEnd: PropTypes.number, /** * Used to set the toolbar direction to RTL. * In addition to this property you need to add @@ -155,11 +156,11 @@ var ToolbarAndroid = React.createClass({ * `setLayoutDirection(LayoutDirection.RTL)` in your MainActivity * `onCreate` method. */ - rtl: ReactPropTypes.bool, + rtl: PropTypes.bool, /** * Used to locate this view in end-to-end tests. */ - testID: ReactPropTypes.string, + testID: PropTypes.string, }, render: function() { diff --git a/Libraries/Components/Touchable/BoundingDimensions.js b/Libraries/Components/Touchable/BoundingDimensions.js index 7d654c11de71..a5877717b6b6 100644 --- a/Libraries/Components/Touchable/BoundingDimensions.js +++ b/Libraries/Components/Touchable/BoundingDimensions.js @@ -11,7 +11,7 @@ 'use strict'; -var PooledClass = require('react/lib/PooledClass'); +var PooledClass = require('PooledClass'); var twoArgumentPooler = PooledClass.twoArgumentPooler; diff --git a/Libraries/Components/Touchable/Position.js b/Libraries/Components/Touchable/Position.js index e85f8dd35d5f..77dd3ad11b81 100644 --- a/Libraries/Components/Touchable/Position.js +++ b/Libraries/Components/Touchable/Position.js @@ -11,7 +11,7 @@ 'use strict'; -var PooledClass = require('react/lib/PooledClass'); +var PooledClass = require('PooledClass'); var twoArgumentPooler = PooledClass.twoArgumentPooler; diff --git a/Libraries/Components/Touchable/TouchableBounce.js b/Libraries/Components/Touchable/TouchableBounce.js index 333cf6cbf79a..775c41e284eb 100644 --- a/Libraries/Components/Touchable/TouchableBounce.js +++ b/Libraries/Components/Touchable/TouchableBounce.js @@ -15,6 +15,8 @@ var Animated = require('Animated'); var EdgeInsetsPropType = require('EdgeInsetsPropType'); var NativeMethodsMixin = require('NativeMethodsMixin'); var React = require('React'); +var createReactClass = require('create-react-class'); +var PropTypes = require('prop-types'); var Touchable = require('Touchable'); type Event = Object; @@ -34,7 +36,8 @@ var PRESS_RETENTION_OFFSET = {top: 20, left: 20, right: 20, bottom: 30}; * interesting interactions such as `handleTouchablePress`. */ // $FlowFixMe(>=0.41.0) -var TouchableBounce = React.createClass({ +var TouchableBounce = createReactClass({ + displayName: 'TouchableBounce', mixins: [Touchable.Mixin, NativeMethodsMixin], propTypes: { @@ -42,17 +45,17 @@ var TouchableBounce = React.createClass({ * When true, indicates that the view is an accessibility element. By default, * all the touchable elements are accessible. */ - accessible: React.PropTypes.bool, + accessible: PropTypes.bool, - onPress: React.PropTypes.func, - onPressIn: React.PropTypes.func, - onPressOut: React.PropTypes.func, + onPress: PropTypes.func, + onPressIn: PropTypes.func, + onPressOut: PropTypes.func, // The function passed takes a callback to start the animation which should // be run after this onPress handler is done. You can use this (for example) // to update UI before starting the animation. - onPressWithCompletion: React.PropTypes.func, + onPressWithCompletion: PropTypes.func, // the function passed is called after the animation is complete - onPressAnimationComplete: React.PropTypes.func, + onPressAnimationComplete: PropTypes.func, /** * When the scroll view is disabled, this defines how far your touch may * move off of the button, before deactivating the button. Once deactivated, @@ -141,6 +144,7 @@ var TouchableBounce = React.createClass({ accessibilityLabel={this.props.accessibilityLabel} accessibilityComponentType={this.props.accessibilityComponentType} accessibilityTraits={this.props.accessibilityTraits} + nativeID={this.props.nativeID} testID={this.props.testID} hitSlop={this.props.hitSlop} onStartShouldSetResponder={this.touchableHandleStartShouldSetResponder} diff --git a/Libraries/Components/Touchable/TouchableHighlight.js b/Libraries/Components/Touchable/TouchableHighlight.js index ee0d056b22f2..19e6012474ef 100644 --- a/Libraries/Components/Touchable/TouchableHighlight.js +++ b/Libraries/Components/Touchable/TouchableHighlight.js @@ -7,37 +7,36 @@ * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule TouchableHighlight - * @noflow + * @flow */ 'use strict'; -// Note (avik): add @flow when Flow supports spread properties in propTypes - -var ColorPropType = require('ColorPropType'); -var NativeMethodsMixin = require('NativeMethodsMixin'); -var React = require('React'); -var ReactNativeViewAttributes = require('ReactNativeViewAttributes'); -var StyleSheet = require('StyleSheet'); -var TimerMixin = require('react-timer-mixin'); -var Touchable = require('Touchable'); -var TouchableWithoutFeedback = require('TouchableWithoutFeedback'); -var View = require('View'); - +const ColorPropType = require('ColorPropType'); +const NativeMethodsMixin = require('NativeMethodsMixin'); +const PropTypes = require('prop-types'); +const React = require('React'); +const ReactNativeViewAttributes = require('ReactNativeViewAttributes'); +const StyleSheet = require('StyleSheet'); +const TimerMixin = require('react-timer-mixin'); +const Touchable = require('Touchable'); +const TouchableWithoutFeedback = require('TouchableWithoutFeedback'); +const View = require('View'); const ViewPropTypes = require('ViewPropTypes'); -var ensureComponentIsNative = require('ensureComponentIsNative'); -var ensurePositiveDelayProps = require('ensurePositiveDelayProps'); -var keyOf = require('fbjs/lib/keyOf'); -var merge = require('merge'); +const createReactClass = require('create-react-class'); +const ensureComponentIsNative = require('ensureComponentIsNative'); +const ensurePositiveDelayProps = require('ensurePositiveDelayProps'); +const keyOf = require('fbjs/lib/keyOf'); +const merge = require('merge'); -type Event = Object; +import type {Event} from 'TouchableWithoutFeedback'; -var DEFAULT_PROPS = { +const DEFAULT_PROPS = { activeOpacity: 0.85, underlayColor: 'black', }; -var PRESS_RETENTION_OFFSET = {top: 20, left: 20, right: 20, bottom: 30}; +const PRESS_RETENTION_OFFSET = {top: 20, left: 20, right: 20, bottom: 30}; /** * A wrapper for making views respond properly to touches. @@ -68,14 +67,15 @@ var PRESS_RETENTION_OFFSET = {top: 20, left: 20, right: 20, bottom: 30}; * ``` */ -var TouchableHighlight = React.createClass({ +var TouchableHighlight = createReactClass({ + displayName: 'TouchableHighlight', propTypes: { ...TouchableWithoutFeedback.propTypes, /** * Determines what the opacity of the wrapped view should be when touch is * active. */ - activeOpacity: React.PropTypes.number, + activeOpacity: PropTypes.number, /** * The color of the underlay that will show through when the touch is * active. @@ -85,17 +85,17 @@ var TouchableHighlight = React.createClass({ /** * Called immediately after the underlay is shown */ - onShowUnderlay: React.PropTypes.func, + onShowUnderlay: PropTypes.func, /** * Called immediately after the underlay is hidden */ - onHideUnderlay: React.PropTypes.func, + onHideUnderlay: PropTypes.func, /** * *(Apple TV only)* TV preferred focus (see documentation for the View component). * * @platform ios */ - hasTVPreferredFocus: React.PropTypes.bool, + hasTVPreferredFocus: PropTypes.bool, /** * *(Apple TV only)* Object with properties to control Apple TV parallax effects. * @@ -107,8 +107,7 @@ var TouchableHighlight = React.createClass({ * * @platform ios */ - tvParallaxProperties: React.PropTypes.object, - + tvParallaxProperties: PropTypes.object, }, mixins: [NativeMethodsMixin, TimerMixin, Touchable.Mixin], @@ -137,16 +136,22 @@ var TouchableHighlight = React.createClass({ }, getInitialState: function() { + this._isMounted = false; return merge( this.touchableGetInitialState(), this._computeSyntheticState(this.props) ); }, componentDidMount: function() { + this._isMounted = true; ensurePositiveDelayProps(this.props); ensureComponentIsNative(this.refs[CHILD_REF]); }, + componentWillUnmount: function() { + this._isMounted = false; + }, + componentDidUpdate: function() { ensureComponentIsNative(this.refs[CHILD_REF]); }, @@ -216,7 +221,7 @@ var TouchableHighlight = React.createClass({ }, _showUnderlay: function() { - if (!this.isMounted() || !this._hasPressHandler()) { + if (!this._isMounted || !this._hasPressHandler()) { return; } @@ -267,6 +272,7 @@ var TouchableHighlight = React.createClass({ onResponderMove={this.touchableHandleResponderMove} onResponderRelease={this.touchableHandleResponderRelease} onResponderTerminate={this.touchableHandleResponderTerminate} + nativeID={this.props.nativeID} testID={this.props.testID}> {React.cloneElement( React.Children.only(this.props.children), diff --git a/Libraries/Components/Touchable/TouchableNativeFeedback.android.js b/Libraries/Components/Touchable/TouchableNativeFeedback.android.js index 5707b61e378a..7436dd234278 100644 --- a/Libraries/Components/Touchable/TouchableNativeFeedback.android.js +++ b/Libraries/Components/Touchable/TouchableNativeFeedback.android.js @@ -12,24 +12,24 @@ var Platform = require('Platform'); var React = require('React'); +var PropTypes = require('prop-types'); var ReactNative = require('ReactNative'); var Touchable = require('Touchable'); var TouchableWithoutFeedback = require('TouchableWithoutFeedback'); var UIManager = require('UIManager'); +var createReactClass = require('create-react-class'); var ensurePositiveDelayProps = require('ensurePositiveDelayProps'); var processColor = require('processColor'); -var PropTypes = React.PropTypes; - var rippleBackgroundPropType = PropTypes.shape({ - type: React.PropTypes.oneOf(['RippleAndroid']), + type: PropTypes.oneOf(['RippleAndroid']), color: PropTypes.number, borderless: PropTypes.bool, }); var themeAttributeBackgroundPropType = PropTypes.shape({ - type: React.PropTypes.oneOf(['ThemeAttrAndroid']), + type: PropTypes.oneOf(['ThemeAttrAndroid']), attribute: PropTypes.string.isRequired, }); @@ -71,7 +71,8 @@ var PRESS_RETENTION_OFFSET = {top: 20, left: 20, right: 20, bottom: 30}; * ``` */ -var TouchableNativeFeedback = React.createClass({ +var TouchableNativeFeedback = createReactClass({ + displayName: 'TouchableNativeFeedback', propTypes: { ...TouchableWithoutFeedback.propTypes, diff --git a/Libraries/Components/Touchable/TouchableOpacity.js b/Libraries/Components/Touchable/TouchableOpacity.js index 40079f44538f..72735325e165 100644 --- a/Libraries/Components/Touchable/TouchableOpacity.js +++ b/Libraries/Components/Touchable/TouchableOpacity.js @@ -17,10 +17,12 @@ var Animated = require('Animated'); var Easing = require('Easing'); var NativeMethodsMixin = require('NativeMethodsMixin'); var React = require('React'); +var PropTypes = require('prop-types'); var TimerMixin = require('react-timer-mixin'); var Touchable = require('Touchable'); var TouchableWithoutFeedback = require('TouchableWithoutFeedback'); +var createReactClass = require('create-react-class'); var ensurePositiveDelayProps = require('ensurePositiveDelayProps'); var flattenStyle = require('flattenStyle'); @@ -50,7 +52,8 @@ var PRESS_RETENTION_OFFSET = {top: 20, left: 20, right: 20, bottom: 30}; * }, * ``` */ -var TouchableOpacity = React.createClass({ +var TouchableOpacity = createReactClass({ + displayName: 'TouchableOpacity', mixins: [TimerMixin, Touchable.Mixin, NativeMethodsMixin], propTypes: { @@ -59,18 +62,16 @@ var TouchableOpacity = React.createClass({ * Determines what the opacity of the wrapped view should be when touch is * active. Defaults to 0.2. */ - activeOpacity: React.PropTypes.number, - focusedOpacity: React.PropTypes.number, + activeOpacity: PropTypes.number, /** * Apple TV parallax effects */ - tvParallaxProperties: React.PropTypes.object, + tvParallaxProperties: PropTypes.object, }, getDefaultProps: function() { return { activeOpacity: 0.2, - focusedOpacity: 0.7, }; }, @@ -162,10 +163,6 @@ var TouchableOpacity = React.createClass({ ); }, - _opacityFocused: function() { - this.setOpacityTo(this.props.focusedOpacity); - }, - _getChildStyleOpacityWithDefault: function() { var childStyle = flattenStyle(this.props.style) || {}; return childStyle.opacity == undefined ? 1 : childStyle.opacity; @@ -179,6 +176,7 @@ var TouchableOpacity = React.createClass({ accessibilityComponentType={this.props.accessibilityComponentType} accessibilityTraits={this.props.accessibilityTraits} style={[this.props.style, {opacity: this.state.anim}]} + nativeID={this.props.nativeID} testID={this.props.testID} onLayout={this.props.onLayout} isTVSelectable={true} diff --git a/Libraries/Components/Touchable/TouchableWithoutFeedback.js b/Libraries/Components/Touchable/TouchableWithoutFeedback.js index 0886c577e094..8e8fbb00eee9 100755 --- a/Libraries/Components/Touchable/TouchableWithoutFeedback.js +++ b/Libraries/Components/Touchable/TouchableWithoutFeedback.js @@ -13,9 +13,11 @@ const EdgeInsetsPropType = require('EdgeInsetsPropType'); const React = require('React'); +const PropTypes = require('prop-types'); const TimerMixin = require('react-timer-mixin'); const Touchable = require('Touchable'); +const createReactClass = require('create-react-class'); const ensurePositiveDelayProps = require('ensurePositiveDelayProps'); const warning = require('fbjs/lib/warning'); @@ -24,62 +26,69 @@ const { AccessibilityTraits, } = require('ViewAccessibility'); -type Event = Object; +export type Event = Object; const PRESS_RETENTION_OFFSET = {top: 20, left: 20, right: 20, bottom: 30}; /** - * Do not use unless you have a very good reason. All the elements that + * Do not use unless you have a very good reason. All elements that * respond to press should have a visual feedback when touched. * * TouchableWithoutFeedback supports only one child. * If you wish to have several child components, wrap them in a View. */ -// $FlowFixMe(>=0.41.0) -const TouchableWithoutFeedback = React.createClass({ +const TouchableWithoutFeedback = createReactClass({ + displayName: 'TouchableWithoutFeedback', mixins: [TimerMixin, Touchable.Mixin], propTypes: { - accessible: React.PropTypes.bool, - accessibilityComponentType: React.PropTypes.oneOf( + accessible: PropTypes.bool, + accessibilityComponentType: PropTypes.oneOf( AccessibilityComponentTypes ), - accessibilityTraits: React.PropTypes.oneOfType([ - React.PropTypes.oneOf(AccessibilityTraits), - React.PropTypes.arrayOf(React.PropTypes.oneOf(AccessibilityTraits)), + accessibilityTraits: PropTypes.oneOfType([ + PropTypes.oneOf(AccessibilityTraits), + PropTypes.arrayOf(PropTypes.oneOf(AccessibilityTraits)), ]), /** * If true, disable all interactions for this component. */ - disabled: React.PropTypes.bool, + disabled: PropTypes.bool, /** * Called when the touch is released, but not if cancelled (e.g. by a scroll * that steals the responder lock). */ - onPress: React.PropTypes.func, - onPressIn: React.PropTypes.func, - onPressOut: React.PropTypes.func, + onPress: PropTypes.func, + /** + * Called as soon as the touchable element is pressed and invoked even before onPress. + * This can be useful when making network requests. + */ + onPressIn: PropTypes.func, + /** + * Called as soon as the touch is released even before onPress. + */ + onPressOut: PropTypes.func, /** * Invoked on mount and layout changes with * * `{nativeEvent: {layout: {x, y, width, height}}}` */ - onLayout: React.PropTypes.func, + onLayout: PropTypes.func, - onLongPress: React.PropTypes.func, + onLongPress: PropTypes.func, /** * Delay in ms, from the start of the touch, before onPressIn is called. */ - delayPressIn: React.PropTypes.number, + delayPressIn: PropTypes.number, /** * Delay in ms, from the release of the touch, before onPressOut is called. */ - delayPressOut: React.PropTypes.number, + delayPressOut: PropTypes.number, /** * Delay in ms, from onPressIn, before onLongPress is called. */ - delayLongPress: React.PropTypes.number, + delayLongPress: PropTypes.number, /** * When the scroll view is disabled, this defines how far your touch may * move off of the button, before deactivating the button. Once deactivated, @@ -87,6 +96,7 @@ const TouchableWithoutFeedback = React.createClass({ * reactivated! Move it back and forth several times while the scroll view * is disabled. Ensure you pass in a constant to reduce memory allocations. */ + // $FlowFixMe: Expected a React PropType instead pressRetentionOffset: EdgeInsetsPropType, /** * This defines how far your touch can start away from the button. This is @@ -96,6 +106,7 @@ const TouchableWithoutFeedback = React.createClass({ * of sibling views always takes precedence if a touch hits two overlapping * views. */ + // $FlowFixMe: Expected a React PropType instead hitSlop: EdgeInsetsPropType, }, @@ -176,6 +187,8 @@ const TouchableWithoutFeedback = React.createClass({ accessibilityComponentType: this.props.accessibilityComponentType, accessibilityTraits: this.props.accessibilityTraits, // $FlowFixMe(>=0.41.0) + nativeID: this.props.nativeID, + // $FlowFixMe(>=0.41.0) testID: this.props.testID, onLayout: this.props.onLayout, hitSlop: this.props.hitSlop, diff --git a/Libraries/Components/Touchable/__tests__/TouchableHighlight-test.js b/Libraries/Components/Touchable/__tests__/TouchableHighlight-test.js index 19869d0c4ebe..857e9a3d1e87 100644 --- a/Libraries/Components/Touchable/__tests__/TouchableHighlight-test.js +++ b/Libraries/Components/Touchable/__tests__/TouchableHighlight-test.js @@ -8,8 +8,6 @@ */ 'use strict'; -jest.disableAutomock(); - const React = require('React'); const ReactTestRenderer = require('react-test-renderer'); const Text = require('Text'); diff --git a/Libraries/Components/Touchable/__tests__/__snapshots__/TouchableHighlight-test.js.snap b/Libraries/Components/Touchable/__tests__/__snapshots__/TouchableHighlight-test.js.snap index a24b4c1521c0..12896cafcaef 100644 --- a/Libraries/Components/Touchable/__tests__/__snapshots__/TouchableHighlight-test.js.snap +++ b/Libraries/Components/Touchable/__tests__/__snapshots__/TouchableHighlight-test.js.snap @@ -9,6 +9,7 @@ exports[`TouchableHighlight renders correctly 1`] = ` hasTVPreferredFocus={undefined} hitSlop={undefined} isTVSelectable={true} + nativeID={undefined} onLayout={undefined} onResponderGrant={[Function]} onResponderMove={[Function]} @@ -30,6 +31,7 @@ exports[`TouchableHighlight renders correctly 1`] = ` Touchable diff --git a/Libraries/Components/UnimplementedViews/UnimplementedView.js b/Libraries/Components/UnimplementedViews/UnimplementedView.js index ba62f245932e..ace85ac7fae4 100644 --- a/Libraries/Components/UnimplementedViews/UnimplementedView.js +++ b/Libraries/Components/UnimplementedViews/UnimplementedView.js @@ -1,25 +1,34 @@ /** - * Common implementation for a simple stubbed view. Simply applies the view's styles to the inner - * View component and renders its children. + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule UnimplementedView + * @flow + * @format */ - 'use strict'; -var React = require('React'); -var StyleSheet = require('StyleSheet'); +const React = require('React'); +const StyleSheet = require('StyleSheet'); +/** + * Common implementation for a simple stubbed view. Simply applies the view's styles to the inner + * View component and renders its children. + */ class UnimplementedView extends React.Component { - setNativeProps = () => { + setNativeProps() { // Do nothing. // This method is required in order to use this view as a Touchable* child. // See ensureComponentIsNative.js for more info - }; + } render() { // Workaround require cycle from requireNativeComponent - var View = require('View'); + const View = require('View'); return ( {this.props.children} @@ -28,12 +37,14 @@ class UnimplementedView extends React.Component { } } -var styles = StyleSheet.create({ - unimplementedView: { - borderWidth: 1, - borderColor: 'red', - alignSelf: 'flex-start', - } +const styles = StyleSheet.create({ + unimplementedView: __DEV__ + ? { + alignSelf: 'flex-start', + borderColor: 'red', + borderWidth: 1, + } + : {}, }); module.exports = UnimplementedView; diff --git a/packager/src/node-haste/__mocks__/fs.js b/Libraries/Components/View/PlatformViewPropTypes.android.js similarity index 80% rename from packager/src/node-haste/__mocks__/fs.js rename to Libraries/Components/View/PlatformViewPropTypes.android.js index 2036e6ea8f94..7d4734bdaa5f 100644 --- a/packager/src/node-haste/__mocks__/fs.js +++ b/Libraries/Components/View/PlatformViewPropTypes.android.js @@ -5,7 +5,9 @@ * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule PlatformViewPropTypes + * @flow */ -'use strict'; -module.exports = require('graceful-fs'); +module.export = {}; diff --git a/Libraries/Renderer/src/renderers/native/ReactNativeContainerInfo.js b/Libraries/Components/View/PlatformViewPropTypes.ios.js similarity index 60% rename from Libraries/Renderer/src/renderers/native/ReactNativeContainerInfo.js rename to Libraries/Components/View/PlatformViewPropTypes.ios.js index 6d24f4c75156..7957c7b4a90e 100644 --- a/Libraries/Renderer/src/renderers/native/ReactNativeContainerInfo.js +++ b/Libraries/Components/View/PlatformViewPropTypes.ios.js @@ -6,16 +6,15 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactNativeContainerInfo + * @providesModule PlatformViewPropTypes * @flow */ -'use strict'; -function ReactNativeContainerInfo(tag: number) { - var info = { - _tag: tag, - }; - return info; +const Platform = require('Platform'); + +var TVViewPropTypes = {}; +if (Platform.isTVOS) { + TVViewPropTypes = require('TVViewPropTypes'); } -module.exports = ReactNativeContainerInfo; +module.exports = TVViewPropTypes; diff --git a/Libraries/Components/View/ReactNativeViewAttributes.js b/Libraries/Components/View/ReactNativeViewAttributes.js index e5e83a40de95..3a769ca5ed75 100644 --- a/Libraries/Components/View/ReactNativeViewAttributes.js +++ b/Libraries/Components/View/ReactNativeViewAttributes.js @@ -23,6 +23,7 @@ ReactNativeViewAttributes.UIView = { accessibilityLiveRegion: true, accessibilityTraits: true, importantForAccessibility: true, + nativeID: true, testID: true, renderToHardwareTextureAndroid: true, shouldRasterizeIOS: true, diff --git a/Libraries/Components/View/ShadowPropTypesIOS.js b/Libraries/Components/View/ShadowPropTypesIOS.js index 2a026ced7c06..8bf7acbfe99f 100644 --- a/Libraries/Components/View/ShadowPropTypesIOS.js +++ b/Libraries/Components/View/ShadowPropTypesIOS.js @@ -8,13 +8,23 @@ * * @providesModule ShadowPropTypesIOS * @flow + * @format */ 'use strict'; -var ColorPropType = require('ColorPropType'); -var ReactPropTypes = require('React').PropTypes; +const ColorPropType = require('ColorPropType'); +const ReactPropTypes = require('prop-types'); -var ShadowPropTypesIOS = { +/** + * These props can be used to dynamically generate shadows on views, images, text, etc. + * + * Because they are dynamically generated, they may cause performance regressions. Static + * shadow image asset may be a better way to go for optimal performance. + * + * These properties are iOS only - for similar functionality on Android, use the [`elevation` + * property](docs/viewstyleproptypes.html#elevation). + */ +const ShadowPropTypesIOS = { /** * Sets the drop shadow color * @platform ios @@ -24,9 +34,10 @@ var ShadowPropTypesIOS = { * Sets the drop shadow offset * @platform ios */ - shadowOffset: ReactPropTypes.shape( - {width: ReactPropTypes.number, height: ReactPropTypes.number} - ), + shadowOffset: ReactPropTypes.shape({ + width: ReactPropTypes.number, + height: ReactPropTypes.number, + }), /** * Sets the drop shadow opacity (multiplied by the color's alpha component) * @platform ios diff --git a/Libraries/Components/View/View.js b/Libraries/Components/View/View.js index b054ef8cce42..206010569100 100644 --- a/Libraries/Components/View/View.js +++ b/Libraries/Components/View/View.js @@ -12,26 +12,20 @@ 'use strict'; const NativeMethodsMixin = require('NativeMethodsMixin'); -const NativeModules = require('NativeModules'); const Platform = require('Platform'); +const PropTypes = require('prop-types'); const React = require('React'); -const ReactNativeFeatureFlags = require('ReactNativeFeatureFlags'); const ReactNativeStyleAttributes = require('ReactNativeStyleAttributes'); const ReactNativeViewAttributes = require('ReactNativeViewAttributes'); const ViewPropTypes = require('ViewPropTypes'); +const createReactClass = require('create-react-class'); const invariant = require('fbjs/lib/invariant'); -const warning = require('fbjs/lib/warning'); - -const { - AccessibilityComponentTypes, - AccessibilityTraits, -} = require('ViewAccessibility'); - const requireNativeComponent = require('requireNativeComponent'); -const forceTouchAvailable = (NativeModules.PlatformConstants && - NativeModules.PlatformConstants.forceTouchAvailable) || false; +import type {ViewProps} from 'ViewPropTypes'; + +export type Props = ViewProps; /** * The most fundamental component for building a UI, `View` is a container that supports layout with @@ -80,7 +74,8 @@ const forceTouchAvailable = (NativeModules.PlatformConstants && * - `touches` - Array of all current touches on the screen. */ // $FlowFixMe(>=0.41.0) -const View = React.createClass({ +const View = createReactClass({ + displayName: 'View', // TODO: We should probably expose the mixins, viewConfig, and statics publicly. For example, // one of the props is of type AccessibilityComponentType. That is defined as a const[] above, // but it is not rendered by the docs, since `statics` below is not rendered. So its Possible @@ -90,18 +85,9 @@ const View = React.createClass({ // `propTypes` should not be accessed directly on View since this wrapper only // exists for DEV mode. However it's important for them to be declared. // If the object passed to `createClass` specifies `propTypes`, Flow will - // create a static type from it. This property will be over-written below with - // a warn-on-use getter though. - // TODO (bvaughn) Remove the warn-on-use comment after April 1. + // create a static type from it. propTypes: ViewPropTypes, - // ReactElementValidator will (temporarily) use this private accessor when - // detected to avoid triggering the warning message. - // TODO (bvaughn) Remove this after April 1 ReactNative RC is tagged. - statics: { - __propTypesSecretDontUseThesePlease: ViewPropTypes - }, - /** * `NativeMethodsMixin` will look for this when invoking `setNativeProps`. We * make `this` look like an actual native component class. @@ -112,7 +98,7 @@ const View = React.createClass({ }, contextTypes: { - isInAParentText: React.PropTypes.bool, + isInAParentText: PropTypes.bool, }, render: function() { @@ -128,70 +114,6 @@ const View = React.createClass({ }, }); -// Warn about unsupported use of View static properties as these will no longer -// be supported with React fiber. This warning message will go away in the next -// ReactNative release. Use defineProperty() rather than createClass() statics -// because the mixin process auto-triggers the 1-time warning message. -// TODO (bvaughn) Remove this after April 1 ReactNative RC is tagged. -function mixinStatics (target) { - let warnedAboutAccessibilityTraits = false; - let warnedAboutAccessibilityComponentType = false; - let warnedAboutForceTouchAvailable = false; - let warnedAboutPropTypes = false; - - // $FlowFixMe https://github.com/facebook/flow/issues/285 - Object.defineProperty(target, 'AccessibilityTraits', { - get: function() { - warning( - warnedAboutAccessibilityTraits, - 'View.AccessibilityTraits has been deprecated and will be ' + - 'removed in a future version of ReactNative. Use ' + - 'ViewAccessibility.AccessibilityTraits instead.' - ); - warnedAboutAccessibilityTraits = true; - return AccessibilityTraits; - } - }); - // $FlowFixMe https://github.com/facebook/flow/issues/285 - Object.defineProperty(target, 'AccessibilityComponentType', { - get: function() { - warning( - warnedAboutAccessibilityComponentType, - 'View.AccessibilityComponentType has been deprecated and will be ' + - 'removed in a future version of ReactNative. Use ' + - 'ViewAccessibility.AccessibilityComponentTypes instead.' - ); - warnedAboutAccessibilityComponentType = true; - return AccessibilityComponentTypes; - } - }); - // $FlowFixMe https://github.com/facebook/flow/issues/285 - Object.defineProperty(target, 'forceTouchAvailable', { - get: function() { - warning( - warnedAboutForceTouchAvailable, - 'View.forceTouchAvailable has been deprecated and will be removed ' + - 'in a future version of ReactNative. Use ' + - 'NativeModules.PlatformConstants.forceTouchAvailable instead.' - ); - warnedAboutForceTouchAvailable = true; - return forceTouchAvailable; - } - }); - // $FlowFixMe https://github.com/facebook/flow/issues/285 - Object.defineProperty(target, 'propTypes', { - get: function() { - warning( - warnedAboutPropTypes, - 'View.propTypes has been deprecated and will be removed in a future ' + - 'version of ReactNative. Use ViewPropTypes instead.' - ); - warnedAboutPropTypes = true; - return ViewPropTypes; - } - }); -} - const RCTView = requireNativeComponent('RCTView', View, { nativeOnly: { nativeBackgroundAndroid: true, @@ -212,21 +134,10 @@ if (__DEV__) { } } -// TODO (bvaughn) Remove feature flags once all static View accessors are gone. -// We temporarily wrap fiber native views with the create-class View above, -// Because external code sometimes accesses static properties of this view. let ViewToExport = RCTView; -if ( - __DEV__ || - ReactNativeFeatureFlags.useFiber -) { - mixinStatics(View); +if (__DEV__) { ViewToExport = View; -} else { - // TODO (bvaughn) Remove this mixin once all static View accessors are gone. - mixinStatics((RCTView : any)); } -// TODO (bvaughn) Temporarily mask Flow warnings for View property accesses. -// We're wrapping the string type (Fiber) for now to avoid any actual problems. -module.exports = ((ViewToExport : any) : typeof View); +// No one should depend on the DEV-mode createClass View wrapper. +module.exports = ((ViewToExport : any) : typeof RCTView); diff --git a/Libraries/Components/View/ViewPropTypes.js b/Libraries/Components/View/ViewPropTypes.js index 86f9f878718d..30cfc2020083 100644 --- a/Libraries/Components/View/ViewPropTypes.js +++ b/Libraries/Components/View/ViewPropTypes.js @@ -12,25 +12,75 @@ 'use strict'; const EdgeInsetsPropType = require('EdgeInsetsPropType'); -const Platform = require('Platform'); +const PlatformViewPropTypes = require('PlatformViewPropTypes'); +const PropTypes = require('prop-types'); const StyleSheetPropType = require('StyleSheetPropType'); const ViewStylePropTypes = require('ViewStylePropTypes'); -const { PropTypes } = require('React'); const { AccessibilityComponentTypes, AccessibilityTraits, } = require('ViewAccessibility'); -var TVViewPropTypes = {}; -if (Platform.isTVOS) { - TVViewPropTypes = require('TVViewPropTypes'); -} +import type { + AccessibilityComponentType, + AccessibilityTrait, +} from 'ViewAccessibility'; +import type {EdgeInsetsProp} from 'EdgeInsetsPropType'; +import type {TVViewProps} from 'TVViewPropTypes'; const stylePropType = StyleSheetPropType(ViewStylePropTypes); +export type ViewLayout = { + x: number, + y: number, + width: number, + height: number, +} + +export type ViewLayoutEvent = { + nativeEvent: { + layout: ViewLayout, + } +} + +// There's no easy way to create a different type if(Platform.isTVOS): +// so we must include TVViewProps +export type ViewProps = { + accessible?: bool, + accessibilityLabel?: React$PropType$Primitive, + accessibilityComponentType?: AccessibilityComponentType, + accessibilityLiveRegion?: 'none' | 'polite' | 'assertive', + importantForAccessibility?: 'auto'| 'yes'| 'no'| 'no-hide-descendants', + accessibilityTraits?: AccessibilityTrait | Array, + accessibilityViewIsModal?: bool, + onAccessibilityTap?: Function, + onMagicTap?: Function, + testID?: string, + nativeID?: string, + onLayout?: (event: ViewLayoutEvent) => void, + onResponderGrant?: Function, + onResponderMove?: Function, + onResponderReject?: Function, + onResponderRelease?: Function, + onResponderTerminate?: Function, + onResponderTerminationRequest?: Function, + onStartShouldSetResponder?: Function, + onStartShouldSetResponderCapture?: Function, + onMoveShouldSetResponder?: Function, + onMoveShouldSetResponderCapture?: Function, + hitSlop?: EdgeInsetsProp, + pointerEvents?: 'box-none'| 'none'| 'box-only'| 'auto', + style?: stylePropType, + removeClippedSubviews?: bool, + renderToHardwareTextureAndroid?: bool, + shouldRasterizeIOS?: bool, + collapsable?: bool, + needsOffscreenAlphaCompositing?: bool, +} & TVViewProps; + module.exports = { - ...TVViewPropTypes, + ...PlatformViewPropTypes, /** * When `true`, indicates that the view is an accessibility element. By default, @@ -173,6 +223,13 @@ module.exports = { */ testID: PropTypes.string, + /** + * Used to locate this view from native classes. + * + * > This disables the 'layout-only view removal' optimization for this view! + */ + nativeID: PropTypes.string, + /** * For most touch interactions, you'll simply want to wrap your component in * `TouchableHighlight` or `TouchableOpacity`. Check out `Touchable.js`, diff --git a/Libraries/Components/View/ViewStylePropTypes.js b/Libraries/Components/View/ViewStylePropTypes.js index dcd6c1c54228..49fff29d8188 100644 --- a/Libraries/Components/View/ViewStylePropTypes.js +++ b/Libraries/Components/View/ViewStylePropTypes.js @@ -11,9 +11,9 @@ */ 'use strict'; -var LayoutPropTypes = require('LayoutPropTypes'); -var ReactPropTypes = require('React').PropTypes; var ColorPropType = require('ColorPropType'); +var LayoutPropTypes = require('LayoutPropTypes'); +var ReactPropTypes = require('prop-types'); var ShadowPropTypesIOS = require('ShadowPropTypesIOS'); var TransformPropTypes = require('TransformPropTypes'); diff --git a/Libraries/Components/ViewPager/ViewPagerAndroid.android.js b/Libraries/Components/ViewPager/ViewPagerAndroid.android.js index be70e5a12517..084b40f2fc5c 100644 --- a/Libraries/Components/ViewPager/ViewPagerAndroid.android.js +++ b/Libraries/Components/ViewPager/ViewPagerAndroid.android.js @@ -12,15 +12,14 @@ 'use strict'; var React = require('React'); +var PropTypes = require('prop-types'); var ReactNative = require('ReactNative'); var UIManager = require('UIManager'); -const ViewPropTypes = require('ViewPropTypes'); +var ViewPropTypes = require('ViewPropTypes'); var dismissKeyboard = require('dismissKeyboard'); var requireNativeComponent = require('requireNativeComponent'); -var ReactPropTypes = React.PropTypes; - var VIEWPAGER_REF = 'viewPager'; type Event = Object; @@ -76,6 +75,7 @@ class ViewPagerAndroid extends React.Component { onPageScrollStateChanged?: Function, onPageSelected?: Function, pageMargin?: number, + peekEnabled?: boolean, keyboardDismissMode?: 'none' | 'on-drag', scrollEnabled?: boolean, }; @@ -86,7 +86,7 @@ class ViewPagerAndroid extends React.Component { * Index of initial page that should be selected. Use `setPage` method to * update the page, and `onPageSelected` to monitor page changes */ - initialPage: ReactPropTypes.number, + initialPage: PropTypes.number, /** * Executed when transitioning between pages (ether because of animation for @@ -97,7 +97,7 @@ class ViewPagerAndroid extends React.Component { * Value x means that (1 - x) fraction of the page at "position" index is * visible, and x fraction of the next page is visible. */ - onPageScroll: ReactPropTypes.func, + onPageScroll: PropTypes.func, /** * Function called when the page scrolling state has changed. @@ -107,7 +107,7 @@ class ViewPagerAndroid extends React.Component { * - settling, meaning that there was an interaction with the page scroller, and the * page scroller is now finishing it's closing or opening animation */ - onPageScrollStateChanged: ReactPropTypes.func, + onPageScrollStateChanged: PropTypes.func, /** * This callback will be called once ViewPager finish navigating to selected page @@ -115,20 +115,20 @@ class ViewPagerAndroid extends React.Component { * callback will have following fields: * - position - index of page that has been selected */ - onPageSelected: ReactPropTypes.func, + onPageSelected: PropTypes.func, /** * Blank space to show between pages. This is only visible while scrolling, pages are still * edge-to-edge. */ - pageMargin: ReactPropTypes.number, + pageMargin: PropTypes.number, /** * Determines whether the keyboard gets dismissed in response to a drag. * - 'none' (the default), drags do not dismiss the keyboard. * - 'on-drag', the keyboard is dismissed when a drag begins. */ - keyboardDismissMode: ReactPropTypes.oneOf([ + keyboardDismissMode: PropTypes.oneOf([ 'none', // default 'on-drag', ]), @@ -137,7 +137,13 @@ class ViewPagerAndroid extends React.Component { * When false, the content does not scroll. * The default value is true. */ - scrollEnabled: ReactPropTypes.bool, + scrollEnabled: PropTypes.bool, + + /** + * Whether enable showing peekFraction or not. If this is true, the preview of + * last and next page will show in current screen. Defaults to false. + */ + peekEnabled: PropTypes.bool, }; componentDidMount() { diff --git a/Libraries/Components/WebView/WebView.android.js b/Libraries/Components/WebView/WebView.android.js index 3bbb58ec5c43..1735adf631fb 100644 --- a/Libraries/Components/WebView/WebView.android.js +++ b/Libraries/Components/WebView/WebView.android.js @@ -13,20 +13,18 @@ var EdgeInsetsPropType = require('EdgeInsetsPropType'); var ActivityIndicator = require('ActivityIndicator'); var React = require('React'); +var PropTypes = require('prop-types'); var ReactNative = require('ReactNative'); var StyleSheet = require('StyleSheet'); var UIManager = require('UIManager'); var View = require('View'); - -const ViewPropTypes = require('ViewPropTypes'); +var ViewPropTypes = require('ViewPropTypes'); var deprecatedPropType = require('deprecatedPropType'); var keyMirror = require('fbjs/lib/keyMirror'); var requireNativeComponent = require('requireNativeComponent'); var resolveAssetSource = require('resolveAssetSource'); -var PropTypes = React.PropTypes; - var RCT_WEBVIEW_REF = 'webview'; var WebViewState = keyMirror({ @@ -122,6 +120,13 @@ class WebView extends React.Component { */ javaScriptEnabled: PropTypes.bool, + /** + * Used on Android Lollipop and above only, third party cookies are enabled + * by default for WebView on Android Kitkat and below and on iOS + * @platform android + */ + thirdPartyCookiesEnabled: PropTypes.bool, + /** * Used on Android only, controls whether DOM Storage is enabled or not * @platform android @@ -184,11 +189,19 @@ class WebView extends React.Component { 'always', 'compatibility' ]), + + /** + * Used on Android only, controls whether form autocomplete data should be saved + * @platform android + */ + saveFormDataDisabled: PropTypes.bool, }; static defaultProps = { javaScriptEnabled : true, + thirdPartyCookiesEnabled: true, scalesPageToFit: true, + saveFormDataDisabled: false }; state = { @@ -248,6 +261,7 @@ class WebView extends React.Component { injectedJavaScript={this.props.injectedJavaScript} userAgent={this.props.userAgent} javaScriptEnabled={this.props.javaScriptEnabled} + thirdPartyCookiesEnabled={this.props.thirdPartyCookiesEnabled} domStorageEnabled={this.props.domStorageEnabled} messagingEnabled={typeof this.props.onMessage === 'function'} onMessage={this.onMessage} @@ -261,6 +275,7 @@ class WebView extends React.Component { mediaPlaybackRequiresUserAction={this.props.mediaPlaybackRequiresUserAction} allowUniversalAccessFromFileURLs={this.props.allowUniversalAccessFromFileURLs} mixedContentMode={this.props.mixedContentMode} + saveFormDataDisabled={this.props.saveFormDataDisabled} />; return ( diff --git a/Libraries/Components/WebView/WebView.ios.js b/Libraries/Components/WebView/WebView.ios.js index eae1ed6f6f2e..75400ac371f3 100644 --- a/Libraries/Components/WebView/WebView.ios.js +++ b/Libraries/Components/WebView/WebView.ios.js @@ -14,12 +14,13 @@ var ActivityIndicator = require('ActivityIndicator'); var EdgeInsetsPropType = require('EdgeInsetsPropType'); var React = require('React'); +var PropTypes = require('prop-types'); var ReactNative = require('ReactNative'); var StyleSheet = require('StyleSheet'); var Text = require('Text'); var UIManager = require('UIManager'); var View = require('View'); -const ViewPropTypes = require('ViewPropTypes'); +var ViewPropTypes = require('ViewPropTypes'); var ScrollView = require('ScrollView'); var deprecatedPropType = require('deprecatedPropType'); @@ -29,7 +30,6 @@ var processDecelerationRate = require('processDecelerationRate'); var requireNativeComponent = require('requireNativeComponent'); var resolveAssetSource = require('resolveAssetSource'); -var PropTypes = React.PropTypes; var RCTWebViewManager = require('NativeModules').WebViewManager; var BGWASH = 'rgba(255,255,255,0.8)'; @@ -285,6 +285,14 @@ class WebView extends React.Component { */ javaScriptEnabled: PropTypes.bool, + /** + * Boolean value to enable third party cookies in the `WebView`. Used on + * Android Lollipop and above only as third party cookies are enabled by + * default on Android Kitkat and below and on iOS. The default value is `true`. + * @platform android + */ + thirdPartyCookiesEnabled: PropTypes.bool, + /** * Boolean value to control whether DOM Storage is enabled. Used only in * Android. @@ -359,6 +367,10 @@ class WebView extends React.Component { ]), }; + static defaultProps = { + scalesPageToFit: true, + }; + state = { viewState: WebViewState.IDLE, lastErrorEvent: (null: ?ErrorEvent), diff --git a/Libraries/Core/Devtools/__tests__/parseErrorStack-test.js b/Libraries/Core/Devtools/__tests__/parseErrorStack-test.js index 8c2c24a04436..577b88b1c8f7 100644 --- a/Libraries/Core/Devtools/__tests__/parseErrorStack-test.js +++ b/Libraries/Core/Devtools/__tests__/parseErrorStack-test.js @@ -9,8 +9,6 @@ 'use strict'; -jest.disableAutomock(); - var parseErrorStack = require('parseErrorStack'); function getFakeError() { diff --git a/Libraries/Core/Devtools/parseErrorStack.js b/Libraries/Core/Devtools/parseErrorStack.js index bd2ef9a9d85f..db22d7910157 100644 --- a/Libraries/Core/Devtools/parseErrorStack.js +++ b/Libraries/Core/Devtools/parseErrorStack.js @@ -18,20 +18,22 @@ export type StackFrame = { methodName: string, }; -var stacktraceParser = require('stacktrace-parser'); +export type ExtendedError = Error & { + framesToPop?: number, +}; -function parseErrorStack(e: Error): Array { +function parseErrorStack(e: ExtendedError): Array { if (!e || !e.stack) { return []; } - var stack = Array.isArray(e.stack) ? e.stack : stacktraceParser.parse(e.stack); + const stacktraceParser = require('stacktrace-parser'); + const stack = Array.isArray(e.stack) ? e.stack : stacktraceParser.parse(e.stack); - var framesToPop = typeof e.framesToPop === 'number' ? e.framesToPop : 0; + let framesToPop = typeof e.framesToPop === 'number' ? e.framesToPop : 0; while (framesToPop--) { stack.shift(); } - return stack; } diff --git a/Libraries/Core/Devtools/setupDevtools.js b/Libraries/Core/Devtools/setupDevtools.js index 56d5564b60c8..de1c9ec67e35 100644 --- a/Libraries/Core/Devtools/setupDevtools.js +++ b/Libraries/Core/Devtools/setupDevtools.js @@ -13,24 +13,28 @@ if (__DEV__) { const AppState = require('AppState'); + const WebSocket = require('WebSocket'); const {PlatformConstants} = require('NativeModules'); const {connectToDevTools} = require('react-devtools-core'); - connectToDevTools({ - isAppActive() { - // Don't steal the DevTools from currently active app. - // Note: if you add any AppState subscriptions to this file, - // you will also need to guard against `AppState.isAvailable`, - // or the code will throw for bundles that don't have it. - return AppState.currentState !== 'background'; - }, - // Special case: Genymotion is running on a different host. - host: PlatformConstants && PlatformConstants.ServerHost ? - PlatformConstants.ServerHost.split(':')[0] : - 'localhost', - // Read the optional global variable for backward compatibility. - // It was added in https://github.com/facebook/react-native/commit/bf2b435322e89d0aeee8792b1c6e04656c2719a0. - port: window.__REACT_DEVTOOLS_PORT__, - resolveRNStyle: require('flattenStyle'), - }); + // Initialize dev tools only if the native module for WebSocket is available + if (WebSocket.isAvailable) { + connectToDevTools({ + isAppActive() { + // Don't steal the DevTools from currently active app. + // Note: if you add any AppState subscriptions to this file, + // you will also need to guard against `AppState.isAvailable`, + // or the code will throw for bundles that don't have it. + return AppState.currentState !== 'background'; + }, + // Special case: Genymotion is running on a different host. + host: PlatformConstants && PlatformConstants.ServerHost ? + PlatformConstants.ServerHost.split(':')[0] : + 'localhost', + // Read the optional global variable for backward compatibility. + // It was added in https://github.com/facebook/react-native/commit/bf2b435322e89d0aeee8792b1c6e04656c2719a0. + port: window.__REACT_DEVTOOLS_PORT__, + resolveRNStyle: require('flattenStyle'), + }); + } } diff --git a/Libraries/Core/ExceptionsManager.js b/Libraries/Core/ExceptionsManager.js index 6891f509ffbb..56ced328d211 100644 --- a/Libraries/Core/ExceptionsManager.js +++ b/Libraries/Core/ExceptionsManager.js @@ -11,11 +11,13 @@ */ 'use strict'; +import type {ExtendedError} from 'parseErrorStack'; + /** * Handles the developer-visible aspect of errors and exceptions */ let exceptionID = 0; -function reportException(e: Error, isFatal: bool) { +function reportException(e: ExtendedError, isFatal: bool) { const {ExceptionsManager} = require('NativeModules'); if (ExceptionsManager) { const parseErrorStack = require('parseErrorStack'); @@ -84,7 +86,7 @@ function reactConsoleErrorHandler() { // (Note: Logic duplicated in polyfills/console.js.) return; } - const error : any = new Error('console.error: ' + str); + const error : ExtendedError = new Error('console.error: ' + str); error.framesToPop = 1; reportException(error, /* isFatal */ false); } diff --git a/Libraries/Core/InitializeCore.js b/Libraries/Core/InitializeCore.js index f9ca0173aa70..80b3687b32d3 100644 --- a/Libraries/Core/InitializeCore.js +++ b/Libraries/Core/InitializeCore.js @@ -13,7 +13,6 @@ /* eslint-disable strict */ /* globals window: true */ - /** * Sets up global variables typical in most JavaScript environments. * @@ -41,25 +40,24 @@ const defineLazyObjectProperty = require('defineLazyObjectProperty'); /** * Sets an object's property. If a property with the same name exists, this will - * replace it but maintain its descriptor configuration. By default, the property - * will replaced with a lazy getter. + * replace it but maintain its descriptor configuration. The property will be + * replaced with a lazy getter. * - * The original property value will be preserved as `original[PropertyName]` so - * that, if necessary, it can be restored. For example, if you want to route + * In DEV mode the original property value will be preserved as `original[PropertyName]` + * so that, if necessary, it can be restored. For example, if you want to route * network requests through DevTools (to trace them): * * global.XMLHttpRequest = global.originalXMLHttpRequest; * * @see https://github.com/facebook/react-native/issues/934 */ -function defineProperty( +function defineLazyProperty( object: Object, name: string, getValue: () => T, - eager?: boolean ): void { const descriptor = Object.getOwnPropertyDescriptor(object, name); - if (descriptor) { + if (__DEV__ && descriptor) { const backupName = `original${name[0].toUpperCase()}${name.substr(1)}`; Object.defineProperty(object, backupName, { ...descriptor, @@ -73,20 +71,15 @@ function defineProperty( return; } - if (eager === true) { - Object.defineProperty(object, name, { - configurable: true, - enumerable: enumerable !== false, - writable: writable !== false, - value: getValue(), - }); - } else { - defineLazyObjectProperty(object, name, { - get: getValue, - enumerable: enumerable !== false, - writable: writable !== false, - }); - } + defineLazyObjectProperty(object, name, { + get: getValue, + enumerable: enumerable !== false, + writable: writable !== false, + }); +} + +function polyfillGlobal(name: string, getValue: () => T): void { + defineLazyProperty(global, name, getValue); } // Set up process @@ -96,28 +89,21 @@ if (!global.process.env.NODE_ENV) { global.process.env.NODE_ENV = __DEV__ ? 'development' : 'production'; } -// Set up profile -const Systrace = require('Systrace'); -Systrace.setEnabled(global.__RCTProfileIsProfiling || false); +// Setup the Systrace profiling hooks if necessary +if (global.__RCTProfileIsProfiling) { + const Systrace = require('Systrace'); + Systrace.setEnabled(true); +} + +if (__DEV__ && global.performance === undefined) { + const Systrace = require('Systrace'); + global.performance = Systrace.getUserTimingPolyfill(); +} // Set up console const ExceptionsManager = require('ExceptionsManager'); ExceptionsManager.installConsoleErrorReporter(); -// TODO: Move these around to solve the cycle in a cleaner way -const BatchedBridge = require('BatchedBridge'); -BatchedBridge.registerCallableModule('Systrace', require('Systrace')); -BatchedBridge.registerCallableModule('JSTimersExecution', require('JSTimersExecution')); -BatchedBridge.registerCallableModule('HeapCapture', require('HeapCapture')); -BatchedBridge.registerCallableModule('SamplingProfiler', require('SamplingProfiler')); - -if (__DEV__) { - BatchedBridge.registerCallableModule('HMRClient', require('HMRClient')); -} - -// RCTLog needs to register with BatchedBridge -require('RCTLog'); - // Set up error handler if (!global.__fbDisableExceptionsManager) { const handleError = (e, isFatal) => { @@ -135,9 +121,32 @@ if (!global.__fbDisableExceptionsManager) { ErrorUtils.setGlobalHandler(handleError); } +// Set up collections +const _shouldPolyfillCollection = require('_shouldPolyfillES6Collection'); +if (_shouldPolyfillCollection('Map')) { + polyfillGlobal('Map', () => require('Map')); +} +if (_shouldPolyfillCollection('Set')) { + polyfillGlobal('Set', () => require('Set')); +} + +// Set up Promise +// The native Promise implementation throws the following error: +// ERROR: Event loop not supported. +polyfillGlobal('Promise', () => require('Promise')); + +// Set up regenerator. +polyfillGlobal('regeneratorRuntime', () => { + // The require just sets up the global, so make sure when we first + // invoke it the global does not exist + delete global.regeneratorRuntime; + require('regenerator-runtime/runtime'); + return global.regeneratorRuntime; +}); + // Set up timers const defineLazyTimer = name => { - defineProperty(global, name, () => require('JSTimers')[name]); + polyfillGlobal(name, () => require('JSTimers')[name]); }; defineLazyTimer('setTimeout'); defineLazyTimer('setInterval'); @@ -150,6 +159,20 @@ defineLazyTimer('cancelAnimationFrame'); defineLazyTimer('requestIdleCallback'); defineLazyTimer('cancelIdleCallback'); +// Set up XHR +// The native XMLHttpRequest in Chrome dev tools is CORS aware and won't +// let you fetch anything from the internet +polyfillGlobal('XMLHttpRequest', () => require('XMLHttpRequest')); +polyfillGlobal('FormData', () => require('FormData')); + +polyfillGlobal('fetch', () => require('fetch').fetch); +polyfillGlobal('Headers', () => require('fetch').Headers); +polyfillGlobal('Request', () => require('fetch').Request); +polyfillGlobal('Response', () => require('fetch').Response); +polyfillGlobal('WebSocket', () => require('WebSocket')); +polyfillGlobal('Blob', () => require('Blob')); +polyfillGlobal('URL', () => require('URL')); + // Set up alert if (!global.alert) { global.alert = function(text) { @@ -159,32 +182,6 @@ if (!global.alert) { }; } -// Set up Promise -// The native Promise implementation throws the following error: -// ERROR: Event loop not supported. -defineProperty(global, 'Promise', () => require('Promise')); - -// Set up regenerator. -defineProperty(global, 'regeneratorRuntime', () => { - // The require just sets up the global, so make sure when we first - // invoke it the global does not exist - delete global.regeneratorRuntime; - require('regenerator-runtime/runtime'); - return global.regeneratorRuntime; -}); - -// Set up XHR -// The native XMLHttpRequest in Chrome dev tools is CORS aware and won't -// let you fetch anything from the internet -defineProperty(global, 'XMLHttpRequest', () => require('XMLHttpRequest')); -defineProperty(global, 'FormData', () => require('FormData')); - -defineProperty(global, 'fetch', () => require('fetch').fetch); -defineProperty(global, 'Headers', () => require('fetch').Headers); -defineProperty(global, 'Request', () => require('fetch').Request); -defineProperty(global, 'Response', () => require('fetch').Response); -defineProperty(global, 'WebSocket', () => require('WebSocket')); - // Set up Geolocation let navigator = global.navigator; if (navigator === undefined) { @@ -192,34 +189,34 @@ if (navigator === undefined) { } // see https://github.com/facebook/react-native/issues/10881 -defineProperty(navigator, 'product', () => 'ReactNative', true); -defineProperty(navigator, 'geolocation', () => require('Geolocation')); +defineLazyProperty(navigator, 'product', () => 'ReactNative'); +defineLazyProperty(navigator, 'geolocation', () => require('Geolocation')); -// Set up collections -// We can't make these lazy because `Map` checks for `global.Map` (which wouldc -// not exist if it were lazily defined). -defineProperty(global, 'Map', () => require('Map'), true); -defineProperty(global, 'Set', () => require('Set'), true); +// Just to make sure the JS gets packaged up. Wait until the JS environment has +// been initialized before requiring them. +const BatchedBridge = require('BatchedBridge'); +BatchedBridge.registerLazyCallableModule('Systrace', () => require('Systrace')); +BatchedBridge.registerLazyCallableModule('JSTimers', () => require('JSTimers')); +BatchedBridge.registerLazyCallableModule('HeapCapture', () => require('HeapCapture')); +BatchedBridge.registerLazyCallableModule('SamplingProfiler', () => require('SamplingProfiler')); +BatchedBridge.registerLazyCallableModule('RCTLog', () => require('RCTLog')); +BatchedBridge.registerLazyCallableModule('RCTDeviceEventEmitter', () => require('RCTDeviceEventEmitter')); +BatchedBridge.registerLazyCallableModule('RCTNativeAppEventEmitter', () => require('RCTNativeAppEventEmitter')); +BatchedBridge.registerLazyCallableModule('PerformanceLogger', () => require('PerformanceLogger')); // Set up devtools if (__DEV__) { - // not when debugging in chrome - // TODO(t12832058) This check is broken - if (!window.document) { - require('setupDevtools'); - } + if (!global.__RCTProfileIsProfiling) { + BatchedBridge.registerCallableModule('HMRClient', require('HMRClient')); - require('RCTDebugComponentOwnership'); -} + // not when debugging in chrome + // TODO(t12832058) This check is broken + if (!window.document) { + require('setupDevtools'); + } -// Set up inspector -if (__DEV__) { - const JSInspector = require('JSInspector'); - JSInspector.registerAgent(require('NetworkAgent')); + // Set up inspector + const JSInspector = require('JSInspector'); + JSInspector.registerAgent(require('NetworkAgent')); + } } - -// Just to make sure the JS gets packaged up. Wait until the JS environment has -// been initialized before requiring them. -require('RCTDeviceEventEmitter'); -require('RCTNativeAppEventEmitter'); -require('PerformanceLogger'); diff --git a/Libraries/Core/Timers/JSTimers.js b/Libraries/Core/Timers/JSTimers.js index a236c07cb765..73b6c1235762 100644 --- a/Libraries/Core/Timers/JSTimers.js +++ b/Libraries/Core/Timers/JSTimers.js @@ -7,72 +7,227 @@ * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule JSTimers + * @format * @flow */ 'use strict'; -// Note that the module JSTimers is split into two in order to solve a cycle -// in dependencies. NativeModules > BatchedBridge > MessageQueue > JSTimersExecution -const JSTimersExecution = require('JSTimersExecution'); const Platform = require('Platform'); +const Systrace = require('Systrace'); +const invariant = require('fbjs/lib/invariant'); const {Timing} = require('NativeModules'); -import type {JSTimerType} from 'JSTimersExecution'; +import type {ExtendedError} from 'parseErrorStack'; + +let _performanceNow = null; +function performanceNow() { + if (!_performanceNow) { + _performanceNow = require('fbjs/lib/performanceNow'); + } + return _performanceNow(); +} + +/** + * JS implementation of timer functions. Must be completely driven by an + * external clock signal, all that's stored here is timerID, timer type, and + * callback. + */ + +export type JSTimerType = + | 'setTimeout' + | 'setInterval' + | 'requestAnimationFrame' + | 'setImmediate' + | 'requestIdleCallback'; + +// These timing contants should be kept in sync with the ones in native ios and +// android `RCTTiming` module. +const FRAME_DURATION = 1000 / 60; +const IDLE_CALLBACK_FRAME_DEADLINE = 1; + +const MAX_TIMER_DURATION_MS = 60 * 1000; +const IS_ANDROID = Platform.OS === 'android'; +const ANDROID_LONG_TIMER_MESSAGE = + 'Setting a timer for a long period of time, i.e. multiple minutes, is a ' + + 'performance and correctness issue on Android as it keeps the timer ' + + 'module awake, and timers can only be called when the app is in the foreground. ' + + 'See https://github.com/facebook/react-native/issues/12981 for more info.'; + +// Parallel arrays +const callbacks: Array = []; +const types: Array = []; +const timerIDs: Array = []; +let immediates: Array = []; +let requestIdleCallbacks: Array = []; +const requestIdleCallbackTimeouts: {[number]: number} = {}; +const identifiers: Array = []; + +let GUID = 1; +let errors: ?Array = null; + +let hasEmittedTimeDriftWarning = false; // Returns a free index if one is available, and the next consecutive index otherwise. function _getFreeIndex(): number { - let freeIndex = JSTimersExecution.timerIDs.indexOf(null); + let freeIndex = timerIDs.indexOf(null); if (freeIndex === -1) { - freeIndex = JSTimersExecution.timerIDs.length; + freeIndex = timerIDs.length; } return freeIndex; } function _allocateCallback(func: Function, type: JSTimerType): number { - const id = JSTimersExecution.GUID++; + const id = GUID++; const freeIndex = _getFreeIndex(); - JSTimersExecution.timerIDs[freeIndex] = id; - JSTimersExecution.callbacks[freeIndex] = func; - JSTimersExecution.types[freeIndex] = type; + timerIDs[freeIndex] = id; + callbacks[freeIndex] = func; + types[freeIndex] = type; if (__DEV__) { const parseErrorStack = require('parseErrorStack'); - const e = (new Error() : any); - e.framesToPop = 1; - const stack = parseErrorStack(e); + const error: ExtendedError = new Error(); + error.framesToPop = 1; + const stack = parseErrorStack(error); if (stack) { - JSTimersExecution.identifiers[freeIndex] = stack.shift(); + identifiers[freeIndex] = stack.shift(); } } return id; } +/** + * Calls the callback associated with the ID. Also unregister that callback + * if it was a one time timer (setTimeout), and not unregister it if it was + * recurring (setInterval). + */ +function _callTimer(timerID: number, frameTime: number, didTimeout: ?boolean) { + require('fbjs/lib/warning')( + timerID <= GUID, + 'Tried to call timer with ID %s but no such timer exists.', + timerID, + ); + + // timerIndex of -1 means that no timer with that ID exists. There are + // two situations when this happens, when a garbage timer ID was given + // and when a previously existing timer was deleted before this callback + // fired. In both cases we want to ignore the timer id, but in the former + // case we warn as well. + const timerIndex = timerIDs.indexOf(timerID); + if (timerIndex === -1) { + return; + } + + const type = types[timerIndex]; + const callback = callbacks[timerIndex]; + if (!callback || !type) { + console.error('No callback found for timerID ' + timerID); + return; + } + + if (__DEV__) { + const identifier = identifiers[timerIndex] || {}; + Systrace.beginEvent('Systrace.callTimer: ' + identifier.methodName); + } + + // Clear the metadata + if ( + type === 'setTimeout' || + type === 'setImmediate' || + type === 'requestAnimationFrame' || + type === 'requestIdleCallback' + ) { + _clearIndex(timerIndex); + } + + try { + if ( + type === 'setTimeout' || + type === 'setInterval' || + type === 'setImmediate' + ) { + callback(); + } else if (type === 'requestAnimationFrame') { + callback(performanceNow()); + } else if (type === 'requestIdleCallback') { + callback({ + timeRemaining: function() { + // TODO: Optimisation: allow running for longer than one frame if + // there are no pending JS calls on the bridge from native. This + // would require a way to check the bridge queue synchronously. + return Math.max(0, FRAME_DURATION - (performanceNow() - frameTime)); + }, + didTimeout: !!didTimeout, + }); + } else { + console.error('Tried to call a callback with invalid type: ' + type); + } + } catch (e) { + // Don't rethrow so that we can run all timers. + if (!errors) { + errors = [e]; + } else { + errors.push(e); + } + } + + if (__DEV__) { + Systrace.endEvent(); + } +} + +/** + * Performs a single pass over the enqueued immediates. Returns whether + * more immediates are queued up (can be used as a condition a while loop). + */ +function _callImmediatesPass() { + if (__DEV__) { + Systrace.beginEvent('callImmediatesPass()'); + } + + // The main reason to extract a single pass is so that we can track + // in the system trace + if (immediates.length > 0) { + const passImmediates = immediates.slice(); + immediates = []; + + // Use for loop rather than forEach as per @vjeux's advice + // https://github.com/facebook/react-native/commit/c8fd9f7588ad02d2293cac7224715f4af7b0f352#commitcomment-14570051 + for (let i = 0; i < passImmediates.length; ++i) { + _callTimer(passImmediates[i], 0); + } + } + + if (__DEV__) { + Systrace.endEvent(); + } + return immediates.length > 0; +} + +function _clearIndex(i: number) { + timerIDs[i] = null; + callbacks[i] = null; + types[i] = null; + identifiers[i] = null; +} + function _freeCallback(timerID: number) { - // JSTimersExecution.timerIDs contains nulls after timers have been removed; + // timerIDs contains nulls after timers have been removed; // ignore nulls upfront so indexOf doesn't find them if (timerID == null) { return; } - const index = JSTimersExecution.timerIDs.indexOf(timerID); + const index = timerIDs.indexOf(timerID); // See corresponding comment in `callTimers` for reasoning behind this if (index !== -1) { - JSTimersExecution._clearIndex(index); - const type = JSTimersExecution.types[index]; + _clearIndex(index); + const type = types[index]; if (type !== 'setImmediate' && type !== 'requestIdleCallback') { Timing.deleteTimer(timerID); } } } -const MAX_TIMER_DURATION_MS = 60 * 1000; -const IS_ANDROID = Platform.OS === 'android'; -const ANDROID_LONG_TIMER_MESSAGE = - 'Setting a timer for a long period of time, i.e. multiple minutes, is a ' + - 'performance and correctness issue on Android as it keeps the timer ' + - 'module awake, and timers can only be called when the app is in the foreground. ' + - 'See https://github.com/facebook/react-native/issues/12981 for more info.'; - /** * JS implementation of timer functions. Must be completely driven by an * external clock signal, all that's stored here is timerID, timer type, and @@ -83,13 +238,24 @@ const JSTimers = { * @param {function} func Callback to be invoked after `duration` ms. * @param {number} duration Number of milliseconds. */ - setTimeout: function(func: Function, duration: number, ...args?: any): number { + setTimeout: function( + func: Function, + duration: number, + ...args?: any + ): number { if (__DEV__ && IS_ANDROID && duration > MAX_TIMER_DURATION_MS) { console.warn( - ANDROID_LONG_TIMER_MESSAGE + '\n' + '(Saw setTimeout with duration ' + - duration + 'ms)'); + ANDROID_LONG_TIMER_MESSAGE + + '\n' + + '(Saw setTimeout with duration ' + + duration + + 'ms)', + ); } - const id = _allocateCallback(() => func.apply(undefined, args), 'setTimeout'); + const id = _allocateCallback( + () => func.apply(undefined, args), + 'setTimeout', + ); Timing.createTimer(id, duration || 0, Date.now(), /* recurring */ false); return id; }, @@ -98,13 +264,24 @@ const JSTimers = { * @param {function} func Callback to be invoked every `duration` ms. * @param {number} duration Number of milliseconds. */ - setInterval: function(func: Function, duration: number, ...args?: any): number { + setInterval: function( + func: Function, + duration: number, + ...args?: any + ): number { if (__DEV__ && IS_ANDROID && duration > MAX_TIMER_DURATION_MS) { console.warn( - ANDROID_LONG_TIMER_MESSAGE + '\n' + '(Saw setInterval with duration ' + - duration + 'ms)'); + ANDROID_LONG_TIMER_MESSAGE + + '\n' + + '(Saw setInterval with duration ' + + duration + + 'ms)', + ); } - const id = _allocateCallback(() => func.apply(undefined, args), 'setInterval'); + const id = _allocateCallback( + () => func.apply(undefined, args), + 'setInterval', + ); Timing.createTimer(id, duration || 0, Date.now(), /* recurring */ true); return id; }, @@ -114,15 +291,18 @@ const JSTimers = { * current JavaScript execution loop. */ setImmediate: function(func: Function, ...args?: any) { - const id = _allocateCallback(() => func.apply(undefined, args), 'setImmediate'); - JSTimersExecution.immediates.push(id); + const id = _allocateCallback( + () => func.apply(undefined, args), + 'setImmediate', + ); + immediates.push(id); return id; }, /** * @param {function} func Callback to be invoked every frame. */ - requestAnimationFrame: function(func : Function) { + requestAnimationFrame: function(func: Function) { const id = _allocateCallback(func, 'requestAnimationFrame'); Timing.createTimer(id, 1, Date.now(), /* recurring */ false); return id; @@ -131,25 +311,60 @@ const JSTimers = { /** * @param {function} func Callback to be invoked every frame and provided * with time remaining in frame. + * @param {?object} options */ - requestIdleCallback: function(func : Function) { - if (JSTimersExecution.requestIdleCallbacks.length === 0) { + requestIdleCallback: function(func: Function, options: ?Object) { + if (requestIdleCallbacks.length === 0) { Timing.setSendIdleEvents(true); } - const id = _allocateCallback(func, 'requestIdleCallback'); - JSTimersExecution.requestIdleCallbacks.push(id); + const timeout = options && options.timeout; + const id = _allocateCallback( + timeout != null + ? deadline => { + const timeoutId = requestIdleCallbackTimeouts[id]; + if (timeoutId) { + JSTimers.clearTimeout(timeoutId); + requestIdleCallbackTimeouts[id]; + } + return func(deadline); + } + : func, + 'requestIdleCallback', + ); + requestIdleCallbacks.push(id); + + if (timeout != null) { + const timeoutId = JSTimers.setTimeout(() => { + const index = requestIdleCallbacks.indexOf(id); + if (index > -1) { + requestIdleCallbacks.splice(index, 1); + _callTimer(id, performanceNow(), true); + } + delete requestIdleCallbackTimeouts[id]; + if (requestIdleCallbacks.length === 0) { + Timing.setSendIdleEvents(false); + } + }, timeout); + requestIdleCallbackTimeouts[id] = timeoutId; + } return id; }, cancelIdleCallback: function(timerID: number) { _freeCallback(timerID); - const index = JSTimersExecution.requestIdleCallbacks.indexOf(timerID); + const index = requestIdleCallbacks.indexOf(timerID); if (index !== -1) { - JSTimersExecution.requestIdleCallbacks.splice(index, 1); + requestIdleCallbacks.splice(index, 1); + } + + const timeoutId = requestIdleCallbackTimeouts[timerID]; + if (timeoutId) { + JSTimers.clearTimeout(timeoutId); + delete requestIdleCallbackTimeouts[timerID]; } - if (JSTimersExecution.requestIdleCallbacks.length === 0) { + if (requestIdleCallbacks.length === 0) { Timing.setSendIdleEvents(false); } }, @@ -164,15 +379,117 @@ const JSTimers = { clearImmediate: function(timerID: number) { _freeCallback(timerID); - const index = JSTimersExecution.immediates.indexOf(timerID); + const index = immediates.indexOf(timerID); if (index !== -1) { - JSTimersExecution.immediates.splice(index, 1); + immediates.splice(index, 1); } }, cancelAnimationFrame: function(timerID: number) { _freeCallback(timerID); }, + + /** + * This is called from the native side. We are passed an array of timerIDs, + * and + */ + callTimers: function(timersToCall: Array) { + invariant( + timersToCall.length !== 0, + 'Cannot call `callTimers` with an empty list of IDs.', + ); + + // $FlowFixMe: optionals do not allow assignment from null + errors = null; + for (let i = 0; i < timersToCall.length; i++) { + _callTimer(timersToCall[i], 0); + } + + if (errors) { + const errorCount = errors.length; + if (errorCount > 1) { + // Throw all the other errors in a setTimeout, which will throw each + // error one at a time + for (let ii = 1; ii < errorCount; ii++) { + JSTimers.setTimeout( + (error => { + throw error; + }).bind(null, errors[ii]), + 0, + ); + } + } + throw errors[0]; + } + }, + + callIdleCallbacks: function(frameTime: number) { + if ( + FRAME_DURATION - (performanceNow() - frameTime) < + IDLE_CALLBACK_FRAME_DEADLINE + ) { + return; + } + + // $FlowFixMe: optionals do not allow assignment from null + errors = null; + if (requestIdleCallbacks.length > 0) { + const passIdleCallbacks = requestIdleCallbacks.slice(); + requestIdleCallbacks = []; + + for (let i = 0; i < passIdleCallbacks.length; ++i) { + _callTimer(passIdleCallbacks[i], frameTime); + } + } + + if (requestIdleCallbacks.length === 0) { + Timing.setSendIdleEvents(false); + } + + if (errors) { + errors.forEach(error => + JSTimers.setTimeout(() => { + throw error; + }, 0), + ); + } + }, + + /** + * This is called after we execute any command we receive from native but + * before we hand control back to native. + */ + callImmediates() { + errors = null; + while (_callImmediatesPass()) {} + if (errors) { + errors.forEach(error => + JSTimers.setTimeout(() => { + throw error; + }, 0), + ); + } + }, + + /** + * Called from native (in development) when environment times are out-of-sync. + */ + emitTimeDriftWarning(warningMessage: string) { + if (hasEmittedTimeDriftWarning) { + return; + } + hasEmittedTimeDriftWarning = true; + console.warn(warningMessage); + }, }; -module.exports = JSTimers; +if (!Timing) { + console.warn("Timing native module is not available, can't set timers."); + // $FlowFixMe: we can assume timers are generally available + module.exports = ({ + callImmediates: JSTimers.callImmediates, + setImmediate: JSTimers.setImmediate, + }: typeof JSTimers); +} else { + module.exports = JSTimers; +} diff --git a/Libraries/Core/Timers/JSTimersExecution.js b/Libraries/Core/Timers/JSTimersExecution.js deleted file mode 100644 index ee2275c33687..000000000000 --- a/Libraries/Core/Timers/JSTimersExecution.js +++ /dev/null @@ -1,241 +0,0 @@ -/** - * Copyright (c) 2015-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule JSTimersExecution - * @flow - */ -'use strict'; - -const Systrace = require('Systrace'); - -const invariant = require('fbjs/lib/invariant'); -const performanceNow = require('fbjs/lib/performanceNow'); -const warning = require('fbjs/lib/warning'); - -// These timing contants should be kept in sync with the ones in native ios and -// android `RCTTiming` module. -const FRAME_DURATION = 1000 / 60; -const IDLE_CALLBACK_FRAME_DEADLINE = 1; - -let hasEmittedTimeDriftWarning = false; - -export type JSTimerType = - 'setTimeout' | - 'setInterval' | - 'requestAnimationFrame' | - 'setImmediate' | - 'requestIdleCallback'; - -/** - * JS implementation of timer functions. Must be completely driven by an - * external clock signal, all that's stored here is timerID, timer type, and - * callback. - */ -const JSTimersExecution = { - GUID: 1, - - // Parallel arrays - callbacks: ([] : Array), - types: ([] : Array), - timerIDs: ([] : Array), - immediates: [], - requestIdleCallbacks: [], - identifiers: ([] : Array), - - errors: (null : ?Array), - - /** - * Calls the callback associated with the ID. Also unregister that callback - * if it was a one time timer (setTimeout), and not unregister it if it was - * recurring (setInterval). - */ - callTimer(timerID: number, frameTime: number) { - warning( - timerID <= JSTimersExecution.GUID, - 'Tried to call timer with ID %s but no such timer exists.', - timerID - ); - - // timerIndex of -1 means that no timer with that ID exists. There are - // two situations when this happens, when a garbage timer ID was given - // and when a previously existing timer was deleted before this callback - // fired. In both cases we want to ignore the timer id, but in the former - // case we warn as well. - const timerIndex = JSTimersExecution.timerIDs.indexOf(timerID); - if (timerIndex === -1) { - return; - } - - const type = JSTimersExecution.types[timerIndex]; - const callback = JSTimersExecution.callbacks[timerIndex]; - if (!callback || !type) { - console.error('No callback found for timerID ' + timerID); - return; - } - - if (__DEV__) { - const identifier = JSTimersExecution.identifiers[timerIndex] || {}; - Systrace.beginEvent('Systrace.callTimer: ' + identifier.methodName); - } - - // Clear the metadata - if (type === 'setTimeout' || type === 'setImmediate' || - type === 'requestAnimationFrame' || type === 'requestIdleCallback') { - JSTimersExecution._clearIndex(timerIndex); - } - - try { - if (type === 'setTimeout' || type === 'setInterval' || - type === 'setImmediate') { - callback(); - } else if (type === 'requestAnimationFrame') { - callback(performanceNow()); - } else if (type === 'requestIdleCallback') { - callback({ - timeRemaining: function() { - // TODO: Optimisation: allow running for longer than one frame if - // there are no pending JS calls on the bridge from native. This - // would require a way to check the bridge queue synchronously. - return Math.max(0, FRAME_DURATION - (performanceNow() - frameTime)); - }, - }); - } else { - console.error('Tried to call a callback with invalid type: ' + type); - } - } catch (e) { - // Don't rethrow so that we can run all timers. - if (!JSTimersExecution.errors) { - JSTimersExecution.errors = [e]; - } else { - JSTimersExecution.errors.push(e); - } - } - - if (__DEV__) { - Systrace.endEvent(); - } - }, - - /** - * This is called from the native side. We are passed an array of timerIDs, - * and - */ - callTimers(timerIDs: [number]) { - invariant( - timerIDs.length !== 0, - 'Cannot call `callTimers` with an empty list of IDs.' - ); - - JSTimersExecution.errors = null; - for (let i = 0; i < timerIDs.length; i++) { - JSTimersExecution.callTimer(timerIDs[i], 0); - } - - const errors = JSTimersExecution.errors; - if (errors) { - const errorCount = errors.length; - if (errorCount > 1) { - // Throw all the other errors in a setTimeout, which will throw each - // error one at a time - for (let ii = 1; ii < errorCount; ii++) { - require('JSTimers').setTimeout( - ((error) => { throw error; }).bind(null, errors[ii]), - 0 - ); - } - } - throw errors[0]; - } - }, - - callIdleCallbacks: function(frameTime: number) { - if (FRAME_DURATION - (performanceNow() - frameTime) < IDLE_CALLBACK_FRAME_DEADLINE) { - return; - } - - JSTimersExecution.errors = null; - if (JSTimersExecution.requestIdleCallbacks.length > 0) { - const passIdleCallbacks = JSTimersExecution.requestIdleCallbacks.slice(); - JSTimersExecution.requestIdleCallbacks = []; - - for (let i = 0; i < passIdleCallbacks.length; ++i) { - JSTimersExecution.callTimer(passIdleCallbacks[i], frameTime); - } - } - - if (JSTimersExecution.requestIdleCallbacks.length === 0) { - const { Timing } = require('NativeModules'); - Timing.setSendIdleEvents(false); - } - - if (JSTimersExecution.errors) { - JSTimersExecution.errors.forEach((error) => - require('JSTimers').setTimeout(() => { throw error; }, 0) - ); - } - }, - - /** - * Performs a single pass over the enqueued immediates. Returns whether - * more immediates are queued up (can be used as a condition a while loop). - */ - callImmediatesPass() { - Systrace.beginEvent('JSTimersExecution.callImmediatesPass()'); - - // The main reason to extract a single pass is so that we can track - // in the system trace - if (JSTimersExecution.immediates.length > 0) { - const passImmediates = JSTimersExecution.immediates.slice(); - JSTimersExecution.immediates = []; - - // Use for loop rather than forEach as per @vjeux's advice - // https://github.com/facebook/react-native/commit/c8fd9f7588ad02d2293cac7224715f4af7b0f352#commitcomment-14570051 - for (let i = 0; i < passImmediates.length; ++i) { - JSTimersExecution.callTimer(passImmediates[i], 0); - } - } - - Systrace.endEvent(); - - return JSTimersExecution.immediates.length > 0; - }, - - /** - * This is called after we execute any command we receive from native but - * before we hand control back to native. - */ - callImmediates() { - JSTimersExecution.errors = null; - while (JSTimersExecution.callImmediatesPass()) {} - if (JSTimersExecution.errors) { - JSTimersExecution.errors.forEach((error) => - require('JSTimers').setTimeout(() => { throw error; }, 0) - ); - } - }, - - /** - * Called from native (in development) when environment times are out-of-sync. - */ - emitTimeDriftWarning(warningMessage: string) { - if (hasEmittedTimeDriftWarning) { - return; - } - hasEmittedTimeDriftWarning = true; - console.warn(warningMessage); - }, - - _clearIndex(i: number) { - JSTimersExecution.timerIDs[i] = null; - JSTimersExecution.callbacks[i] = null; - JSTimersExecution.types[i] = null; - JSTimersExecution.identifiers[i] = null; - }, -}; - -module.exports = JSTimersExecution; diff --git a/Libraries/DebugComponentHierarchy/RCTDebugComponentOwnership.js b/Libraries/DebugComponentHierarchy/RCTDebugComponentOwnership.js deleted file mode 100644 index db569ee4b103..000000000000 --- a/Libraries/DebugComponentHierarchy/RCTDebugComponentOwnership.js +++ /dev/null @@ -1,41 +0,0 @@ -/** - * Copyright (c) 2015-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * Utility class to provide the component owner hierarchy to native code for - * debugging purposes. - * - * @providesModule RCTDebugComponentOwnership - * @flow - */ - -'use strict'; - -var BatchedBridge = require('BatchedBridge'); - -var RCTDebugComponentOwnership = { - /** - * Asynchronously returns the owner hierarchy as an array of strings. Request id is - * passed along to the native module so that the native module can identify the - * particular call instance. - * - * Example returned owner hierarchy: ['RootView', 'Dialog', 'TitleView', 'Text'] - */ - getOwnerHierarchy: function(requestID: number, tag: number) { - // Consider cleaning up these unused modules in a separate diff. - throw new Error( - 'This seems to be unused. Will disable until it is needed again.' - ); - }, -}; - -BatchedBridge.registerCallableModule( - 'RCTDebugComponentOwnership', - RCTDebugComponentOwnership -); - -module.exports = RCTDebugComponentOwnership; diff --git a/Libraries/EventEmitter/MissingNativeEventEmitterShim.js b/Libraries/EventEmitter/MissingNativeEventEmitterShim.js new file mode 100644 index 000000000000..244b03361b90 --- /dev/null +++ b/Libraries/EventEmitter/MissingNativeEventEmitterShim.js @@ -0,0 +1,54 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule MissingNativeEventEmitterShim + * @flow + */ +'use strict'; + +const EmitterSubscription = require('EmitterSubscription'); +const EventEmitter = require('EventEmitter'); + +const invariant = require('fbjs/lib/invariant'); + +class MissingNativeEventEmitterShim extends EventEmitter { + isAvailable: boolean = false; + _nativeModuleName: string; + _nativeEventEmitterName: string; + + constructor(nativeModuleName: string, nativeEventEmitterName: string) { + super(null); + this._nativeModuleName = nativeModuleName; + this._nativeEventEmitterName = nativeEventEmitterName; + } + + throwMissingNativeModule() { + invariant( + false, + `Cannot use '${this._nativeEventEmitterName}' module when ` + + `native '${this._nativeModuleName}' is not included in the build. ` + + `Either include it, or check '${this._nativeEventEmitterName}'.isAvailable ` + + 'before calling any methods.' + ); + } + + // EventEmitter + addListener(eventType: string, listener: Function, context: ?Object): EmitterSubscription { + this.throwMissingNativeModule(); + } + + removeAllListeners(eventType: string) { + this.throwMissingNativeModule(); + } + + removeSubscription(subscription: EmitterSubscription) { + this.throwMissingNativeModule(); + } +} + +module.exports = MissingNativeEventEmitterShim; diff --git a/Libraries/EventEmitter/NativeEventEmitter.js b/Libraries/EventEmitter/NativeEventEmitter.js index 67774a1655f4..be0de96f7949 100644 --- a/Libraries/EventEmitter/NativeEventEmitter.js +++ b/Libraries/EventEmitter/NativeEventEmitter.js @@ -23,7 +23,6 @@ import type EmitterSubscription from 'EmitterSubscription'; * a subset of the standard EventEmitter node module API. */ class NativeEventEmitter extends EventEmitter { - _nativeModule: Object; constructor(nativeModule: Object) { diff --git a/Libraries/EventEmitter/RCTDeviceEventEmitter.js b/Libraries/EventEmitter/RCTDeviceEventEmitter.js index 05507bd8bcd6..01e2e0ac5d77 100644 --- a/Libraries/EventEmitter/RCTDeviceEventEmitter.js +++ b/Libraries/EventEmitter/RCTDeviceEventEmitter.js @@ -13,10 +13,23 @@ const EventEmitter = require('EventEmitter'); const EventSubscriptionVendor = require('EventSubscriptionVendor'); -const BatchedBridge = require('BatchedBridge'); import type EmitterSubscription from 'EmitterSubscription'; +function checkNativeEventModule(eventType: ?string) { + if (eventType) { + if (eventType.lastIndexOf('statusBar', 0) === 0) { + throw new Error('`' + eventType + '` event should be registered via the StatusBarIOS module'); + } + if (eventType.lastIndexOf('keyboard', 0) === 0) { + throw new Error('`' + eventType + '` event should be registered via the Keyboard module'); + } + if (eventType === 'appStateDidChange' || eventType === 'memoryWarning') { + throw new Error('`' + eventType + '` event should be registered via the AppState module'); + } + } +} + /** * Deprecated - subclass NativeEventEmitter to create granular event modules instead of * adding all event listeners directly to RCTDeviceEventEmitter. @@ -31,34 +44,19 @@ class RCTDeviceEventEmitter extends EventEmitter { this.sharedSubscriber = sharedSubscriber; } - _nativeEventModule(eventType: ?string) { - if (eventType) { - if (eventType.lastIndexOf('statusBar', 0) === 0) { - console.warn('`%s` event should be registered via the StatusBarIOS module', eventType); - return require('StatusBarIOS'); - } - if (eventType.lastIndexOf('keyboard', 0) === 0) { - console.warn('`%s` event should be registered via the Keyboard module', eventType); - return require('Keyboard'); - } - if (eventType === 'appStateDidChange' || eventType === 'memoryWarning') { - console.warn('`%s` event should be registered via the AppState module', eventType); - return require('AppState'); - } - } - return null; - } addListener(eventType: string, listener: Function, context: ?Object): EmitterSubscription { - const eventModule = this._nativeEventModule(eventType); - return eventModule ? eventModule.addListener(eventType, listener, context) - : super.addListener(eventType, listener, context); + if (__DEV__) { + checkNativeEventModule(eventType); + } + return super.addListener(eventType, listener, context); } removeAllListeners(eventType: ?string) { - const eventModule = this._nativeEventModule(eventType); - (eventModule && eventType) ? eventModule.removeAllListeners(eventType) - : super.removeAllListeners(eventType); + if (__DEV__) { + checkNativeEventModule(eventType); + } + super.removeAllListeners(eventType); } removeSubscription(subscription: EmitterSubscription) { @@ -70,11 +68,4 @@ class RCTDeviceEventEmitter extends EventEmitter { } } -RCTDeviceEventEmitter = new RCTDeviceEventEmitter(); - -BatchedBridge.registerCallableModule( - 'RCTDeviceEventEmitter', - RCTDeviceEventEmitter -); - -module.exports = RCTDeviceEventEmitter; +module.exports = new RCTDeviceEventEmitter(); diff --git a/Libraries/EventEmitter/RCTNativeAppEventEmitter.js b/Libraries/EventEmitter/RCTNativeAppEventEmitter.js index b59c54fc36d8..a940a6ec25bf 100644 --- a/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +++ b/Libraries/EventEmitter/RCTNativeAppEventEmitter.js @@ -11,7 +11,6 @@ */ 'use strict'; -const BatchedBridge = require('BatchedBridge'); const RCTDeviceEventEmitter = require('RCTDeviceEventEmitter'); /** @@ -19,10 +18,4 @@ const RCTDeviceEventEmitter = require('RCTDeviceEventEmitter'); * adding all event listeners directly to RCTNativeAppEventEmitter. */ const RCTNativeAppEventEmitter = RCTDeviceEventEmitter; - -BatchedBridge.registerCallableModule( - 'RCTNativeAppEventEmitter', - RCTNativeAppEventEmitter -); - module.exports = RCTNativeAppEventEmitter; diff --git a/Libraries/Experimental/Incremental.js b/Libraries/Experimental/Incremental.js index 8c5cf10cbc14..82682cbf7fe8 100644 --- a/Libraries/Experimental/Incremental.js +++ b/Libraries/Experimental/Incremental.js @@ -14,6 +14,8 @@ const InteractionManager = require('InteractionManager'); const React = require('React'); +const PropTypes = require('prop-types'); + const infoLog = require('infoLog'); const DEBUG = false; @@ -110,8 +112,8 @@ class Incremental extends React.Component { }; static contextTypes = { - incrementalGroup: React.PropTypes.object, - incrementalGroupEnabled: React.PropTypes.bool, + incrementalGroup: PropTypes.object, + incrementalGroupEnabled: PropTypes.bool, }; constructor(props: Props, context: Context) { diff --git a/Libraries/Experimental/IncrementalExample.js b/Libraries/Experimental/IncrementalExample.js index 6cbe0869657f..721f2b9d3842 100644 --- a/Libraries/Experimental/IncrementalExample.js +++ b/Libraries/Experimental/IncrementalExample.js @@ -1,15 +1,10 @@ /** - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule IncrementalExample * @flow diff --git a/Libraries/Experimental/IncrementalGroup.js b/Libraries/Experimental/IncrementalGroup.js index a3c08ac59c86..bb44b1750c5b 100644 --- a/Libraries/Experimental/IncrementalGroup.js +++ b/Libraries/Experimental/IncrementalGroup.js @@ -14,6 +14,8 @@ const Incremental = require('Incremental'); const React = require('React'); +const PropTypes = require('prop-types'); + const infoLog = require('infoLog'); let _groupCounter = -1; @@ -75,8 +77,8 @@ class IncrementalGroup extends React.Component { } } IncrementalGroup.contextTypes = { - incrementalGroup: React.PropTypes.object, - incrementalGroupEnabled: React.PropTypes.bool, + incrementalGroup: PropTypes.object, + incrementalGroupEnabled: PropTypes.bool, }; IncrementalGroup.childContextTypes = IncrementalGroup.contextTypes; diff --git a/Libraries/Experimental/IncrementalPresenter.js b/Libraries/Experimental/IncrementalPresenter.js index 90c31fda2333..953690b2c23d 100644 --- a/Libraries/Experimental/IncrementalPresenter.js +++ b/Libraries/Experimental/IncrementalPresenter.js @@ -13,6 +13,7 @@ const IncrementalGroup = require('IncrementalGroup'); const React = require('React'); +const PropTypes = require('prop-types'); const View = require('View'); const ViewPropTypes = require('ViewPropTypes'); @@ -45,15 +46,15 @@ class IncrementalPresenter extends React.Component { _isDone: boolean; static propTypes = { - name: React.PropTypes.string, - disabled: React.PropTypes.bool, - onDone: React.PropTypes.func, - onLayout: React.PropTypes.func, + name: PropTypes.string, + disabled: PropTypes.bool, + onDone: PropTypes.func, + onLayout: PropTypes.func, style: ViewPropTypes.style, }; static contextTypes = { - incrementalGroup: React.PropTypes.object, - incrementalGroupEnabled: React.PropTypes.bool, + incrementalGroup: PropTypes.object, + incrementalGroupEnabled: PropTypes.bool, }; constructor(props: Props, context: Context) { diff --git a/Libraries/Experimental/SwipeableRow/SwipeableListView.js b/Libraries/Experimental/SwipeableRow/SwipeableListView.js index b62addd04f20..a872600ccef1 100644 --- a/Libraries/Experimental/SwipeableRow/SwipeableListView.js +++ b/Libraries/Experimental/SwipeableRow/SwipeableListView.js @@ -12,11 +12,15 @@ 'use strict'; const ListView = require('ListView'); +const PropTypes = require('prop-types'); const React = require('React'); const SwipeableListViewDataSource = require('SwipeableListViewDataSource'); const SwipeableRow = require('SwipeableRow'); -const {PropTypes} = React; +type DefaultProps = { + bounceFirstRowOnMount: boolean, + renderQuickActions: Function, +}; type Props = { bounceFirstRowOnMount: boolean, @@ -49,7 +53,7 @@ type State = { * - It can bounce the 1st row of the list so users know it's swipeable * - More to come */ -class SwipeableListView extends React.Component { +class SwipeableListView extends React.Component { props: Props; state: State; diff --git a/Libraries/Experimental/SwipeableRow/SwipeableQuickActionButton.js b/Libraries/Experimental/SwipeableRow/SwipeableQuickActionButton.js index 64195eb7b3f1..afab08319df7 100644 --- a/Libraries/Experimental/SwipeableRow/SwipeableQuickActionButton.js +++ b/Libraries/Experimental/SwipeableRow/SwipeableQuickActionButton.js @@ -12,15 +12,13 @@ 'use strict'; const Image = require('Image'); +const PropTypes = require('prop-types'); const React = require('React'); const Text = require('Text'); const TouchableHighlight = require('TouchableHighlight'); const View = require('View'); - const ViewPropTypes = require('ViewPropTypes'); -const {PropTypes} = React; - import type {ImageSource} from 'ImageSource'; /** @@ -32,12 +30,12 @@ class SwipeableQuickActionButton extends React.Component { props: { accessibilityLabel?: string, imageSource: ImageSource | number, - imageStyle?: ?View.propTypes.style, + imageStyle?: ?ViewPropTypes.style, onPress?: Function, - style?: ?View.propTypes.style, + style?: ?ViewPropTypes.style, testID?: string, text?: ?(string | Object | Array), - textStyle?: ?View.propTypes.style, + textStyle?: ?ViewPropTypes.style, }; static propTypes = { diff --git a/Libraries/Experimental/SwipeableRow/SwipeableRow.js b/Libraries/Experimental/SwipeableRow/SwipeableRow.js index 0e105c2526b8..42f34a480a7b 100644 --- a/Libraries/Experimental/SwipeableRow/SwipeableRow.js +++ b/Libraries/Experimental/SwipeableRow/SwipeableRow.js @@ -15,12 +15,12 @@ const Animated = require('Animated'); const I18nManager = require('I18nManager'); const PanResponder = require('PanResponder'); const React = require('React'); +const PropTypes = require('prop-types'); const StyleSheet = require('StyleSheet'); const TimerMixin = require('react-timer-mixin'); const View = require('View'); -const {PropTypes} = React; - +const createReactClass = require('create-react-class'); const emptyFunction = require('fbjs/lib/emptyFunction'); const IS_RTL = I18nManager.isRTL; @@ -62,7 +62,8 @@ const RIGHT_SWIPE_THRESHOLD = 30 * SLOW_SPEED_SWIPE_FACTOR; * used in a normal ListView. See the renderRow for SwipeableListView to see how * to use this component separately. */ -const SwipeableRow = React.createClass({ +const SwipeableRow = createReactClass({ + displayName: 'SwipeableRow', _panResponder: {}, _previousLeft: CLOSED_LEFT_POSITION, @@ -71,6 +72,7 @@ const SwipeableRow = React.createClass({ propTypes: { children: PropTypes.any, isOpen: PropTypes.bool, + preventSwipeRight: PropTypes.bool, maxSwipeDistance: PropTypes.number.isRequired, onOpen: PropTypes.func.isRequired, onClose: PropTypes.func.isRequired, @@ -107,6 +109,7 @@ const SwipeableRow = React.createClass({ getDefaultProps(): Object { return { isOpen: false, + preventSwipeRight: false, maxSwipeDistance: 0, onOpen: emptyFunction, onClose: emptyFunction, @@ -191,6 +194,11 @@ const SwipeableRow = React.createClass({ ); }, + close(): void { + this.props.onClose(); + this._animateToClosedPosition(); + }, + _onSwipeableViewLayout(event: Object): void { this.setState({ isSwipeableViewRendered: true, @@ -269,6 +277,7 @@ const SwipeableRow = React.createClass({ { duration, toValue, + useNativeDriver: true, }, ).start(() => { this._previousLeft = toValue; @@ -328,6 +337,10 @@ const SwipeableRow = React.createClass({ // Ignore swipes due to user's finger moving slightly when tapping _isValidSwipe(gestureState: Object): boolean { + if (this.props.preventSwipeRight && this._previousLeft === CLOSED_LEFT_POSITION && gestureState.dx > 0) { + return false; + } + return Math.abs(gestureState.dx) > HORIZONTAL_SWIPE_DISTANCE_THRESHOLD; }, diff --git a/Libraries/Experimental/WindowedListView.js b/Libraries/Experimental/WindowedListView.js index c2e73c68dce8..db6840186f66 100644 --- a/Libraries/Experimental/WindowedListView.js +++ b/Libraries/Experimental/WindowedListView.js @@ -27,6 +27,8 @@ const infoLog = require('infoLog'); const invariant = require('fbjs/lib/invariant'); const nullthrows = require('fbjs/lib/nullthrows'); +import type {NativeMethodsMixinType} from 'ReactNativeTypes'; + const DEBUG = false; /** @@ -73,11 +75,15 @@ type Props = { /** * Rendered when the list is scrolled faster than rows can be rendered. */ - renderWindowBoundaryIndicator?: () => ?React.Element, + renderWindowBoundaryIndicator?: ( + showIndicator: boolean, + ) => ?React.Element, /** * Always rendered at the bottom of all the rows. */ - renderFooter?: () => ?React.Element, + renderFooter?: ( + showFooter: boolean, + ) => ?React.Element, /** * Pipes through normal onScroll events from the underlying `ScrollView`. */ @@ -609,7 +615,7 @@ type CellProps = { }; class CellRenderer extends React.Component { props: CellProps; - _containerRef: View; + _containerRef: NativeMethodsMixinType; _offscreenRenderDone = false; _timeout = 0; _lastLayout: ?Object = null; diff --git a/Libraries/Geolocation/Geolocation.js b/Libraries/Geolocation/Geolocation.js index 3df191692a3d..251666f4b1f9 100644 --- a/Libraries/Geolocation/Geolocation.js +++ b/Libraries/Geolocation/Geolocation.js @@ -20,14 +20,18 @@ const warning = require('fbjs/lib/warning'); const LocationEventEmitter = new NativeEventEmitter(RCTLocationObserver); +const Platform = require('Platform'); +const PermissionsAndroid = require('PermissionsAndroid'); + var subscriptions = []; var updatesEnabled = false; type GeoOptions = { - timeout: number, - maximumAge: number, - enableHighAccuracy: bool, + timeout?: number, + maximumAge?: number, + enableHighAccuracy?: bool, distanceFilter: number, + useSignificantChanges?: bool, } /** @@ -37,7 +41,20 @@ type GeoOptions = { * As a browser polyfill, this API is available through the `navigator.geolocation` * global - you do not need to `import` it. * - * ### iOS + * ### Configuration and Permissions + * + * + * + * #### iOS * You need to include the `NSLocationWhenInUseUsageDescription` key * in Info.plist to enable geolocation when using the app. Geolocation is * enabled by default when you create a project with `react-native init`. @@ -46,7 +63,7 @@ type GeoOptions = { * 'NSLocationAlwaysUsageDescription' key in Info.plist and add location as * a background mode in the 'Capabilities' tab in Xcode. * - * ### Android + * #### Android * To request access to location, you need to add the following line to your * app's `AndroidManifest.xml`: * @@ -58,13 +75,23 @@ type GeoOptions = { */ var Geolocation = { + /* + * Request suitable Location permission based on the key configured on pList. + * If NSLocationAlwaysUsageDescription is set, it will request Always authorization, + * although if NSLocationWhenInUseUsageDescription is set, it will request InUse + * authorization. + */ + requestAuthorization: function() { + RCTLocationObserver.requestAuthorization(); + }, + /* * Invokes the success callback once with the latest location info. Supported * options: timeout (ms), maximumAge (ms), enableHighAccuracy (bool) * On Android, if the location is cached this can return almost immediately, * or it will request an update which might take a while. */ - getCurrentPosition: function( + getCurrentPosition: async function( geo_success: Function, geo_error?: Function, geo_options?: GeoOptions @@ -73,16 +100,32 @@ var Geolocation = { typeof geo_success === 'function', 'Must provide a valid geo_success callback.' ); - RCTLocationObserver.getCurrentPosition( - geo_options || {}, - geo_success, - geo_error || logError - ); + let hasPermission = true; + // Supports Android's new permission model. For Android older devices, + // it's always on. + if (Platform.OS === 'android' && Platform.Version >= 23) { + hasPermission = await PermissionsAndroid.check( + PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION, + ); + if (!hasPermission) { + const status = await PermissionsAndroid.request( + PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION, + ); + hasPermission = status === PermissionsAndroid.RESULTS.GRANTED; + } + } + if (hasPermission) { + RCTLocationObserver.getCurrentPosition( + geo_options || {}, + geo_success, + geo_error || logError, + ); + } }, /* * Invokes the success callback whenever the location changes. Supported - * options: timeout (ms), maximumAge (ms), enableHighAccuracy (bool), distanceFilter(m) + * options: timeout (ms), maximumAge (ms), enableHighAccuracy (bool), distanceFilter(m), useSignificantChanges (bool) */ watchPosition: function(success: Function, error?: Function, options?: GeoOptions): number { if (!updatesEnabled) { @@ -133,7 +176,7 @@ var Geolocation = { for (var ii = 0; ii < subscriptions.length; ii++) { var sub = subscriptions[ii]; if (sub) { - warning('Called stopObserving with existing subscriptions.'); + warning(false, 'Called stopObserving with existing subscriptions.'); sub[0].remove(); // array element refinements not yet enabled in Flow var sub1 = sub[1]; sub1 && sub1.remove(); diff --git a/Libraries/Geolocation/RCTGeolocation.xcodeproj/project.pbxproj b/Libraries/Geolocation/RCTGeolocation.xcodeproj/project.pbxproj index eabbb8b86237..e00e30ce46ec 100644 --- a/Libraries/Geolocation/RCTGeolocation.xcodeproj/project.pbxproj +++ b/Libraries/Geolocation/RCTGeolocation.xcodeproj/project.pbxproj @@ -35,6 +35,7 @@ indentWidth = 2; sourceTree = ""; tabWidth = 2; + usesTabs = 0; }; /* End PBXGroup section */ diff --git a/Libraries/Geolocation/RCTLocationObserver.m b/Libraries/Geolocation/RCTLocationObserver.m index e392db3203ac..f30a7b9dd736 100644 --- a/Libraries/Geolocation/RCTLocationObserver.m +++ b/Libraries/Geolocation/RCTLocationObserver.m @@ -32,6 +32,7 @@ typedef NS_ENUM(NSInteger, RCTPositionErrorCode) { double maximumAge; double accuracy; double distanceFilter; + BOOL useSignificantChanges; } RCTLocationOptions; @implementation RCTConvert (RCTLocationOptions) @@ -47,7 +48,8 @@ + (RCTLocationOptions)RCTLocationOptions:(id)json .timeout = [RCTConvert NSTimeInterval:options[@"timeout"]] ?: INFINITY, .maximumAge = [RCTConvert NSTimeInterval:options[@"maximumAge"]] ?: INFINITY, .accuracy = [RCTConvert BOOL:options[@"enableHighAccuracy"]] ? kCLLocationAccuracyBest : RCT_DEFAULT_LOCATION_ACCURACY, - .distanceFilter = distanceFilter + .distanceFilter = distanceFilter, + .useSignificantChanges = [RCTConvert BOOL:options[@"useSignificantChanges"]] ?: NO, }; } @@ -108,6 +110,7 @@ @implementation RCTLocationObserver NSDictionary *_lastLocationEvent; NSMutableArray *_pendingRequests; BOOL _observingLocation; + BOOL _usingSignificantChanges; RCTLocationOptions _observerOptions; } @@ -117,7 +120,10 @@ @implementation RCTLocationObserver - (void)dealloc { - [_locationManager stopUpdatingLocation]; + _usingSignificantChanges ? + [_locationManager stopMonitoringSignificantLocationChanges] : + [_locationManager stopUpdatingLocation]; + _locationManager.delegate = nil; } @@ -133,34 +139,18 @@ - (dispatch_queue_t)methodQueue #pragma mark - Private API -- (void)beginLocationUpdatesWithDesiredAccuracy:(CLLocationAccuracy)desiredAccuracy distanceFilter:(CLLocationDistance)distanceFilter +- (void)beginLocationUpdatesWithDesiredAccuracy:(CLLocationAccuracy)desiredAccuracy distanceFilter:(CLLocationDistance)distanceFilter useSignificantChanges:(BOOL)useSignificantChanges { - if (!_locationManager) { - _locationManager = [CLLocationManager new]; - _locationManager.delegate = self; - } - - // Request location access permission - if ([[NSBundle mainBundle] objectForInfoDictionaryKey:@"NSLocationAlwaysUsageDescription"] && - [_locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) { - [_locationManager requestAlwaysAuthorization]; - - // On iOS 9+ we also need to enable background updates - NSArray *backgroundModes = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"UIBackgroundModes"]; - if(backgroundModes && [backgroundModes containsObject:@"location"]) { - if([_locationManager respondsToSelector:@selector(setAllowsBackgroundLocationUpdates:)]) { - [_locationManager setAllowsBackgroundLocationUpdates:YES]; - } - } - } else if ([[NSBundle mainBundle] objectForInfoDictionaryKey:@"NSLocationWhenInUseUsageDescription"] && - [_locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) { - [_locationManager requestWhenInUseAuthorization]; - } + [self requestAuthorization]; _locationManager.distanceFilter = distanceFilter; _locationManager.desiredAccuracy = desiredAccuracy; + _usingSignificantChanges = useSignificantChanges; + // Start observing location - [_locationManager startUpdatingLocation]; + _usingSignificantChanges ? + [_locationManager startMonitoringSignificantLocationChanges] : + [_locationManager startUpdatingLocation]; } #pragma mark - Timeout handler @@ -174,12 +164,39 @@ - (void)timeout:(NSTimer *)timer // Stop updating if no pending requests if (_pendingRequests.count == 0 && !_observingLocation) { - [_locationManager stopUpdatingLocation]; + _usingSignificantChanges ? + [_locationManager stopMonitoringSignificantLocationChanges] : + [_locationManager stopUpdatingLocation]; } } #pragma mark - Public API +RCT_EXPORT_METHOD(requestAuthorization) +{ + if (!_locationManager) { + _locationManager = [CLLocationManager new]; + _locationManager.delegate = self; + } + + // Request location access permission + if ([[NSBundle mainBundle] objectForInfoDictionaryKey:@"NSLocationAlwaysUsageDescription"] && + [_locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) { + [_locationManager requestAlwaysAuthorization]; + + // On iOS 9+ we also need to enable background updates + NSArray *backgroundModes = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"UIBackgroundModes"]; + if (backgroundModes && [backgroundModes containsObject:@"location"]) { + if ([_locationManager respondsToSelector:@selector(setAllowsBackgroundLocationUpdates:)]) { + [_locationManager setAllowsBackgroundLocationUpdates:YES]; + } + } + } else if ([[NSBundle mainBundle] objectForInfoDictionaryKey:@"NSLocationWhenInUseUsageDescription"] && + [_locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) { + [_locationManager requestWhenInUseAuthorization]; + } +} + RCT_EXPORT_METHOD(startObserving:(RCTLocationOptions)options) { checkLocationConfig(); @@ -190,7 +207,9 @@ - (void)timeout:(NSTimer *)timer _observerOptions.accuracy = MIN(_observerOptions.accuracy, request.options.accuracy); } - [self beginLocationUpdatesWithDesiredAccuracy:_observerOptions.accuracy distanceFilter:_observerOptions.distanceFilter]; + [self beginLocationUpdatesWithDesiredAccuracy:_observerOptions.accuracy + distanceFilter:_observerOptions.distanceFilter + useSignificantChanges:_observerOptions.useSignificantChanges]; _observingLocation = YES; } @@ -201,7 +220,9 @@ - (void)timeout:(NSTimer *)timer // Stop updating if no pending requests if (_pendingRequests.count == 0) { - [_locationManager stopUpdatingLocation]; + _usingSignificantChanges ? + [_locationManager stopMonitoringSignificantLocationChanges] : + [_locationManager stopUpdatingLocation]; } } @@ -264,7 +285,9 @@ - (void)timeout:(NSTimer *)timer if (_locationManager) { accuracy = MIN(_locationManager.desiredAccuracy, accuracy); } - [self beginLocationUpdatesWithDesiredAccuracy:accuracy distanceFilter:options.distanceFilter]; + [self beginLocationUpdatesWithDesiredAccuracy:accuracy + distanceFilter:options.distanceFilter + useSignificantChanges:options.useSignificantChanges]; } #pragma mark - CLLocationManagerDelegate @@ -301,7 +324,9 @@ - (void)locationManager:(CLLocationManager *)manager // Stop updating if not observing if (!_observingLocation) { - [_locationManager stopUpdatingLocation]; + _usingSignificantChanges ? + [_locationManager stopMonitoringSignificantLocationChanges] : + [_locationManager stopUpdatingLocation]; } // Reset location accuracy if desiredAccuracy is changed. @@ -351,8 +376,9 @@ static void checkLocationConfig() { #if RCT_DEV if (!([[NSBundle mainBundle] objectForInfoDictionaryKey:@"NSLocationWhenInUseUsageDescription"] || - [[NSBundle mainBundle] objectForInfoDictionaryKey:@"NSLocationAlwaysUsageDescription"])) { - RCTLogError(@"Either NSLocationWhenInUseUsageDescription or NSLocationAlwaysUsageDescription key must be present in Info.plist to use geolocation."); + [[NSBundle mainBundle] objectForInfoDictionaryKey:@"NSLocationAlwaysUsageDescription"] || + [[NSBundle mainBundle] objectForInfoDictionaryKey:@"NSLocationAlwaysAndWhenInUseUsageDescription"])) { + RCTLogError(@"Either NSLocationWhenInUseUsageDescription or NSLocationAlwaysUsageDescription or NSLocationAlwaysAndWhenInUseUsageDescription key must be present in Info.plist to use geolocation."); } #endif } diff --git a/Libraries/Image/AssetRegistry.js b/Libraries/Image/AssetRegistry.js index fd03c69b57a3..116500eda7ff 100644 --- a/Libraries/Image/AssetRegistry.js +++ b/Libraries/Image/AssetRegistry.js @@ -13,15 +13,15 @@ export type PackagerAsset = { - __packager_asset: boolean, - fileSystemLocation: string, - httpServerLocation: string, - width: number, - height: number, - scales: Array, - hash: string, - name: string, - type: string, + +__packager_asset: boolean, + +fileSystemLocation: string, + +httpServerLocation: string, + +width: ?number, + +height: ?number, + +scales: Array, + +hash: string, + +name: string, + +type: string, }; diff --git a/Libraries/Image/AssetSourceResolver.js b/Libraries/Image/AssetSourceResolver.js index 96ccfe90f82d..e8a747148eb8 100644 --- a/Libraries/Image/AssetSourceResolver.js +++ b/Libraries/Image/AssetSourceResolver.js @@ -13,8 +13,8 @@ export type ResolvedAssetSource = { __packager_asset: boolean, - width: number, - height: number, + width: ?number, + height: ?number, uri: string, scale: number, }; diff --git a/Libraries/Image/Image.android.js b/Libraries/Image/Image.android.js index dea4fac54225..8d5ef9c89cbf 100644 --- a/Libraries/Image/Image.android.js +++ b/Libraries/Image/Image.android.js @@ -15,23 +15,23 @@ var ImageResizeMode = require('ImageResizeMode'); var ImageStylePropTypes = require('ImageStylePropTypes'); var NativeMethodsMixin = require('NativeMethodsMixin'); var NativeModules = require('NativeModules'); -var PropTypes = require('react/lib/ReactPropTypes'); var React = require('React'); +var PropTypes = require('prop-types'); var ReactNativeViewAttributes = require('ReactNativeViewAttributes'); var Set = require('Set'); var StyleSheet = require('StyleSheet'); var StyleSheetPropType = require('StyleSheetPropType'); var View = require('View'); -const ViewPropTypes = require('ViewPropTypes'); +var ViewPropTypes = require('ViewPropTypes'); var ViewStylePropTypes = require('ViewStylePropTypes'); +var createReactClass = require('create-react-class'); var filterObject = require('fbjs/lib/filterObject'); var flattenStyle = require('flattenStyle'); var merge = require('merge'); var requireNativeComponent = require('requireNativeComponent'); var resolveAssetSource = require('resolveAssetSource'); -var PropTypes = React.PropTypes; var { ImageLoader, } = NativeModules; @@ -77,7 +77,8 @@ var ImageViewAttributes = merge(ReactNativeViewAttributes.UIView, { var ViewStyleKeys = new Set(Object.keys(ViewStylePropTypes)); var ImageSpecificStyleKeys = new Set(Object.keys(ImageStylePropTypes).filter(x => !ViewStyleKeys.has(x))); -var Image = React.createClass({ +var Image = createReactClass({ + displayName: 'Image', propTypes: { ...ViewPropTypes, style: StyleSheetPropType(ImageStylePropTypes), @@ -194,7 +195,7 @@ var Image = React.createClass({ getSize( url: string, success: (width: number, height: number) => void, - failure: (error: any) => void, + failure?: (error: any) => void, ) { return ImageLoader.getSize(url) .then(function(sizes) { @@ -276,7 +277,7 @@ var Image = React.createClass({ }, contextTypes: { - isInAParentText: React.PropTypes.bool + isInAParentText: PropTypes.bool }, render: function() { diff --git a/Libraries/Image/Image.ios.js b/Libraries/Image/Image.ios.js index 3177b1f5e2fc..6d37995335ff 100644 --- a/Libraries/Image/Image.ios.js +++ b/Libraries/Image/Image.ios.js @@ -18,16 +18,16 @@ const ImageStylePropTypes = require('ImageStylePropTypes'); const NativeMethodsMixin = require('NativeMethodsMixin'); const NativeModules = require('NativeModules'); const React = require('React'); +const PropTypes = require('prop-types'); const ReactNativeViewAttributes = require('ReactNativeViewAttributes'); const StyleSheet = require('StyleSheet'); const StyleSheetPropType = require('StyleSheetPropType'); +const createReactClass = require('create-react-class'); const flattenStyle = require('flattenStyle'); const requireNativeComponent = require('requireNativeComponent'); const resolveAssetSource = require('resolveAssetSource'); -const PropTypes = React.PropTypes; - const ImageViewManager = NativeModules.ImageViewManager; /** @@ -35,14 +35,16 @@ const ImageViewManager = NativeModules.ImageViewManager; * including network images, static resources, temporary local images, and * images from local disk, such as the camera roll. * - * This example shows both fetching and displaying an image from local - * storage as well as one from network. + * This example shows fetching and displaying an image from local storage + * as well as one from network and even from data provided in the `'data:'` uri scheme. + * + * > Note that for network and data images, you will need to manually specify the dimensions of your image! * * ```ReactNativeWebPlayer * import React, { Component } from 'react'; * import { AppRegistry, View, Image } from 'react-native'; * - * class DisplayAnImage extends Component { + * export default class DisplayAnImage extends Component { * render() { * return ( * @@ -53,12 +55,16 @@ const ImageViewManager = NativeModules.ImageViewManager; * style={{width: 50, height: 50}} * source={{uri: 'https://facebook.github.io/react/img/logo_og.png'}} * /> + * * * ); * } * } * - * // App registration and rendering + * // skip this line if using Create React Native App * AppRegistry.registerComponent('DisplayAnImage', () => DisplayAnImage); * ``` * @@ -75,7 +81,7 @@ const ImageViewManager = NativeModules.ImageViewManager; * } * }); * - * class DisplayAnImageWithStyle extends Component { + * export default class DisplayAnImageWithStyle extends Component { * render() { * return ( * @@ -88,7 +94,7 @@ const ImageViewManager = NativeModules.ImageViewManager; * } * } * - * // App registration and rendering + * // skip these lines if using Create React Native App * AppRegistry.registerComponent( * 'DisplayAnImageWithStyle', * () => DisplayAnImageWithStyle @@ -97,24 +103,24 @@ const ImageViewManager = NativeModules.ImageViewManager; * * ### GIF and WebP support on Android * - * By default, GIF and WebP are not supported on Android. + * When building your own native code, GIF and WebP are not supported by default on Android. * * You will need to add some optional modules in `android/app/build.gradle`, depending on the needs of your app. * * ``` * dependencies { * // If your app supports Android versions before Ice Cream Sandwich (API level 14) - * compile 'com.facebook.fresco:animated-base-support:0.11.0' + * compile 'com.facebook.fresco:animated-base-support:1.3.0' * * // For animated GIF support - * compile 'com.facebook.fresco:animated-gif:0.11.0' + * compile 'com.facebook.fresco:animated-gif:1.3.0' * * // For WebP support, including animated WebP - * compile 'com.facebook.fresco:animated-webp:0.11.0' - * compile 'com.facebook.fresco:webpsupport:0.11.0' + * compile 'com.facebook.fresco:animated-webp:1.3.0' + * compile 'com.facebook.fresco:webpsupport:1.3.0' * * // For WebP support, without animations - * compile 'com.facebook.fresco:webpsupport:0.11.0' + * compile 'com.facebook.fresco:webpsupport:1.3.0' * } * ``` * @@ -127,7 +133,8 @@ const ImageViewManager = NativeModules.ImageViewManager; * */ // $FlowFixMe(>=0.41.0) -const Image = React.createClass({ +const Image = createReactClass({ + displayName: 'Image', propTypes: { /** * > `ImageResizeMode` is an `Enum` for different image resizing modes, set via the @@ -143,6 +150,9 @@ const Image = React.createClass({ * The native side will then choose the best `uri` to display based on the * measured size of the image container. A `cache` property can be added to * control how networked request interacts with the local cache. + * + * The currently supported formats are `png`, `jpg`, `jpeg`, `bmp`, `gif`, + * `webp` (Android only), `psd` (iOS only). */ source: ImageSourcePropType, /** @@ -182,7 +192,6 @@ const Image = React.createClass({ accessibilityLabel: PropTypes.node, /** * blurRadius: the blur radius of the blur filter added to the image - * @platform ios */ blurRadius: PropTypes.number, /** @@ -304,7 +313,7 @@ const Image = React.createClass({ getSize: function( uri: string, success: (width: number, height: number) => void, - failure: (error: any) => void, + failure?: (error: any) => void, ) { ImageViewManager.getSize(uri, success, failure || function() { console.warn('Failed to get size for image: ' + uri); diff --git a/Libraries/Image/ImageBackground.js b/Libraries/Image/ImageBackground.js new file mode 100644 index 000000000000..0b10cf17f05f --- /dev/null +++ b/Libraries/Image/ImageBackground.js @@ -0,0 +1,94 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ImageBackground + * @flow + * @format + */ +'use strict'; + +const Image = require('Image'); +const React = require('React'); +const StyleSheet = require('StyleSheet'); +const View = require('View'); + +const ensureComponentIsNative = require('ensureComponentIsNative'); + +import type {NativeMethodsMixinType} from 'ReactNativeTypes'; + +/** + * Very simple drop-in replacement for which supports nesting views. + * + * ```ReactNativeWebPlayer + * import React, { Component } from 'react'; + * import { AppRegistry, View, ImageBackground, Text } from 'react-native'; + * + * class DisplayAnImageBackground extends Component { + * render() { + * return ( + * + * React + * + * ); + * } + * } + * + * // App registration and rendering + * AppRegistry.registerComponent('DisplayAnImageBackground', () => DisplayAnImageBackground); + * ``` + */ +class ImageBackground extends React.Component { + setNativeProps(props: Object) { + // Work-around flow + const viewRef = this._viewRef; + if (viewRef) { + ensureComponentIsNative(viewRef); + viewRef.setNativeProps(props); + } + } + + _viewRef: ?NativeMethodsMixinType = null; + + _captureRef = ref => { + this._viewRef = ref; + }; + + render() { + const {children, style, imageStyle, imageRef, ...props} = this.props; + + return ( + + overwrites width and height styles + // (which is not quite correct), and these styles conflict with explicitly set styles + // of and with our internal layout model here. + // So, we have to proxy/reapply these styles explicitly for actual component. + // This workaround should be removed after implementing proper support of + // intrinsic content size of the . + width: style.width, + height: style.height, + }, + imageStyle, + ]} + ref={imageRef} + /> + {children} + + ); + } +} + +module.exports = ImageBackground; diff --git a/Libraries/Image/ImageSourcePropType.js b/Libraries/Image/ImageSourcePropType.js index 4c7b3a7c90f3..eb21de802c69 100644 --- a/Libraries/Image/ImageSourcePropType.js +++ b/Libraries/Image/ImageSourcePropType.js @@ -11,7 +11,7 @@ */ 'use strict'; -const {PropTypes} = require('React'); +const PropTypes = require('prop-types'); const ImageURISourcePropType = PropTypes.shape({ /** diff --git a/Libraries/Image/ImageStylePropTypes.js b/Libraries/Image/ImageStylePropTypes.js index 9bb68402424f..70f21d32d3fb 100644 --- a/Libraries/Image/ImageStylePropTypes.js +++ b/Libraries/Image/ImageStylePropTypes.js @@ -11,14 +11,13 @@ */ 'use strict'; +var ColorPropType = require('ColorPropType'); var ImageResizeMode = require('ImageResizeMode'); var LayoutPropTypes = require('LayoutPropTypes'); -var ColorPropType = require('ColorPropType'); +var ReactPropTypes = require('prop-types'); var ShadowPropTypesIOS = require('ShadowPropTypesIOS'); var TransformPropTypes = require('TransformPropTypes'); -var ReactPropTypes = require('React').PropTypes; - var ImageStylePropTypes = { ...LayoutPropTypes, ...ShadowPropTypesIOS, diff --git a/Libraries/Image/RCTImage.xcodeproj/project.pbxproj b/Libraries/Image/RCTImage.xcodeproj/project.pbxproj index 5369d035b71a..0249e7b0c253 100644 --- a/Libraries/Image/RCTImage.xcodeproj/project.pbxproj +++ b/Libraries/Image/RCTImage.xcodeproj/project.pbxproj @@ -29,6 +29,8 @@ 354631681B69857700AA0B86 /* RCTImageEditingManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 354631671B69857700AA0B86 /* RCTImageEditingManager.m */; }; 3D302E181DF8228100D6DDAE /* RCTImageUtils.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 134B00A01B54232B00EC8DFB /* RCTImageUtils.h */; }; 3D302F211DF8269200D6DDAE /* RCTImageUtils.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 134B00A01B54232B00EC8DFB /* RCTImageUtils.h */; }; + 3DA05A5A1EE0312600805843 /* RCTImageShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = 59AB09281EDE5DD1009F97B5 /* RCTImageShadowView.h */; }; + 3DA05A5B1EE0312900805843 /* RCTImageShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 59AB09291EDE5DD1009F97B5 /* RCTImageShadowView.m */; }; 3DED3A8A1DE6F79800336DD7 /* RCTGIFImageDecoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 1304D5B01AA8C50D0002E2BE /* RCTGIFImageDecoder.h */; }; 3DED3A8B1DE6F79800336DD7 /* RCTImageBlurUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = EEF314701C9B0DD30049118E /* RCTImageBlurUtils.h */; }; 3DED3A8C1DE6F79800336DD7 /* RCTImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CCD34C251D4B8FE900268922 /* RCTImageCache.h */; }; @@ -51,6 +53,8 @@ 3DED3A9E1DE6F7A400336DD7 /* RCTImageViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1304D5A91AA8C4A30002E2BE /* RCTImageViewManager.h */; }; 3DED3A9F1DE6F7A400336DD7 /* RCTLocalAssetImageLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 13EF7F7D1BC825B1003F47DD /* RCTLocalAssetImageLoader.h */; }; 3DED3AA01DE6F7A400336DD7 /* RCTResizeMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D5FA63E1DE4B44A0058FD77 /* RCTResizeMode.h */; }; + 59AB092A1EDE5DD1009F97B5 /* RCTImageShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = 59AB09281EDE5DD1009F97B5 /* RCTImageShadowView.h */; }; + 59AB092B1EDE5DD1009F97B5 /* RCTImageShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 59AB09291EDE5DD1009F97B5 /* RCTImageShadowView.m */; }; CCD34C271D4B8FE900268922 /* RCTImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CCD34C261D4B8FE900268922 /* RCTImageCache.m */; }; EEF314721C9B0DD30049118E /* RCTImageBlurUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = EEF314711C9B0DD30049118E /* RCTImageBlurUtils.m */; }; /* End PBXBuildFile section */ @@ -102,6 +106,8 @@ 3D5FA63E1DE4B44A0058FD77 /* RCTResizeMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTResizeMode.h; sourceTree = ""; }; 3D5FA68C1DE4BA290058FD77 /* libRCTNetwork.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libRCTNetwork.a; path = "../Network/build/Debug-iphoneos/libRCTNetwork.a"; sourceTree = ""; }; 58B5115D1A9E6B3D00147676 /* libRCTImage.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRCTImage.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 59AB09281EDE5DD1009F97B5 /* RCTImageShadowView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTImageShadowView.h; sourceTree = ""; }; + 59AB09291EDE5DD1009F97B5 /* RCTImageShadowView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTImageShadowView.m; sourceTree = ""; }; CCD34C251D4B8FE900268922 /* RCTImageCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = RCTImageCache.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; CCD34C261D4B8FE900268922 /* RCTImageCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTImageCache.m; sourceTree = ""; }; EEF314701C9B0DD30049118E /* RCTImageBlurUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = RCTImageBlurUtils.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; @@ -120,6 +126,8 @@ 58B511541A9E6B3D00147676 = { isa = PBXGroup; children = ( + 3D5FA68B1DE4BA290058FD77 /* Frameworks */, + 58B5115E1A9E6B3D00147676 /* Products */, 1304D5B01AA8C50D0002E2BE /* RCTGIFImageDecoder.h */, 1304D5B11AA8C50D0002E2BE /* RCTGIFImageDecoder.m */, EEF314701C9B0DD30049118E /* RCTImageBlurUtils.h */, @@ -130,6 +138,8 @@ 354631671B69857700AA0B86 /* RCTImageEditingManager.m */, 3D5FA63C1DE4B44A0058FD77 /* RCTImageLoader.h */, 143879371AAD32A300F088A5 /* RCTImageLoader.m */, + 59AB09281EDE5DD1009F97B5 /* RCTImageShadowView.h */, + 59AB09291EDE5DD1009F97B5 /* RCTImageShadowView.m */, 3D5FA63D1DE4B44A0058FD77 /* RCTImageStoreManager.h */, 35123E6A1B59C99D00EBAD80 /* RCTImageStoreManager.m */, 134B00A01B54232B00EC8DFB /* RCTImageUtils.h */, @@ -142,12 +152,11 @@ 13EF7F7E1BC825B1003F47DD /* RCTLocalAssetImageLoader.m */, 3D5FA63E1DE4B44A0058FD77 /* RCTResizeMode.h */, 139A38831C4D587C00862840 /* RCTResizeMode.m */, - 58B5115E1A9E6B3D00147676 /* Products */, - 3D5FA68B1DE4BA290058FD77 /* Frameworks */, ); indentWidth = 2; sourceTree = ""; tabWidth = 2; + usesTabs = 0; }; 58B5115E1A9E6B3D00147676 /* Products */ = { isa = PBXGroup; @@ -172,6 +181,7 @@ 3DED3A8D1DE6F79800336DD7 /* RCTImageEditingManager.h in Headers */, 3DED3A8E1DE6F79800336DD7 /* RCTImageLoader.h in Headers */, 3DED3A8F1DE6F79800336DD7 /* RCTImageStoreManager.h in Headers */, + 59AB092A1EDE5DD1009F97B5 /* RCTImageShadowView.h in Headers */, 3DED3A911DE6F79800336DD7 /* RCTImageView.h in Headers */, 3DED3A921DE6F79800336DD7 /* RCTImageViewManager.h in Headers */, 3DED3A931DE6F79800336DD7 /* RCTLocalAssetImageLoader.h in Headers */, @@ -190,6 +200,7 @@ 3DED3A9A1DE6F7A400336DD7 /* RCTImageLoader.h in Headers */, 3DED3A9B1DE6F7A400336DD7 /* RCTImageStoreManager.h in Headers */, 3DED3A9C1DE6F7A400336DD7 /* RCTImageUtils.h in Headers */, + 3DA05A5A1EE0312600805843 /* RCTImageShadowView.h in Headers */, 3DED3A9D1DE6F7A400336DD7 /* RCTImageView.h in Headers */, 3DED3A9E1DE6F7A400336DD7 /* RCTImageViewManager.h in Headers */, 3DED3A9F1DE6F7A400336DD7 /* RCTLocalAssetImageLoader.h in Headers */, @@ -283,6 +294,7 @@ 2D3B5F1C1D9B0D1300451313 /* RCTResizeMode.m in Sources */, 2D3B5F221D9B0D1300451313 /* RCTImageViewManager.m in Sources */, 2D3B5F211D9B0D1300451313 /* RCTImageView.m in Sources */, + 3DA05A5B1EE0312900805843 /* RCTImageShadowView.m in Sources */, 2D3B5F201D9B0D1300451313 /* RCTImageLoader.m in Sources */, 2D3B5F1B1D9B0D0700451313 /* RCTImageBlurUtils.m in Sources */, 2D3B5F241D9B0D1300451313 /* RCTImageUtils.m in Sources */, @@ -301,6 +313,7 @@ 139A38841C4D587C00862840 /* RCTResizeMode.m in Sources */, 1304D5AB1AA8C4A30002E2BE /* RCTImageView.m in Sources */, EEF314721C9B0DD30049118E /* RCTImageBlurUtils.m in Sources */, + 59AB092B1EDE5DD1009F97B5 /* RCTImageShadowView.m in Sources */, 13EF7F7F1BC825B1003F47DD /* RCTLocalAssetImageLoader.m in Sources */, 134B00A21B54232B00EC8DFB /* RCTImageUtils.m in Sources */, CCD34C271D4B8FE900268922 /* RCTImageCache.m in Sources */, @@ -317,7 +330,6 @@ CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_SUSPICIOUS_MOVES = YES; - DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_TESTABILITY = YES; GCC_NO_COMMON_BLOCKS = YES; OTHER_LDFLAGS = "-ObjC"; @@ -336,7 +348,6 @@ CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_SUSPICIOUS_MOVES = YES; COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_NO_COMMON_BLOCKS = YES; OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -447,10 +458,7 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_STATIC_ANALYZER_MODE = deep; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(USER_LIBRARY_DIR)/Developer/Xcode/DerivedData/UIExplorer-gjaibsjtheitasdxdtcvxxqavkvy/Build/Products/Debug-iphoneos", - ); + LIBRARY_SEARCH_PATHS = "$(inherited)"; OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = RCTImage; PUBLIC_HEADERS_FOLDER_PATH = /usr/local/include/RCTImage; @@ -462,10 +470,7 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_STATIC_ANALYZER_MODE = deep; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(USER_LIBRARY_DIR)/Developer/Xcode/DerivedData/UIExplorer-gjaibsjtheitasdxdtcvxxqavkvy/Build/Products/Debug-iphoneos", - ); + LIBRARY_SEARCH_PATHS = "$(inherited)"; OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = RCTImage; PUBLIC_HEADERS_FOLDER_PATH = /usr/local/include/RCTImage; diff --git a/Libraries/Image/RCTImageLoader.m b/Libraries/Image/RCTImageLoader.m index b8edc9148a98..e66a5abbc563 100644 --- a/Libraries/Image/RCTImageLoader.m +++ b/Libraries/Image/RCTImageLoader.m @@ -7,7 +7,7 @@ * of patent rights can be found in the PATENTS file in the same directory. */ -#import +#import #import #import @@ -26,28 +26,28 @@ @implementation UIImage (React) - (CAKeyframeAnimation *)reactKeyframeAnimation { - return objc_getAssociatedObject(self, _cmd); + return objc_getAssociatedObject(self, _cmd); } - (void)setReactKeyframeAnimation:(CAKeyframeAnimation *)reactKeyframeAnimation { - objc_setAssociatedObject(self, @selector(reactKeyframeAnimation), reactKeyframeAnimation, OBJC_ASSOCIATION_COPY_NONATOMIC); + objc_setAssociatedObject(self, @selector(reactKeyframeAnimation), reactKeyframeAnimation, OBJC_ASSOCIATION_COPY_NONATOMIC); } @end @implementation RCTImageLoader { - NSArray> *_loaders; - NSArray> *_decoders; - NSOperationQueue *_imageDecodeQueue; - dispatch_queue_t _URLRequestQueue; - id _imageCache; - NSMutableArray *_pendingTasks; - NSInteger _activeTasks; - NSMutableArray *_pendingDecodes; - NSInteger _scheduledDecodes; - NSUInteger _activeBytes; + NSArray> *_loaders; + NSArray> *_decoders; + NSOperationQueue *_imageDecodeQueue; + dispatch_queue_t _URLRequestQueue; + id _imageCache; + NSMutableArray *_pendingTasks; + NSInteger _activeTasks; + NSMutableArray *_pendingDecodes; + NSInteger _scheduledDecodes; + NSUInteger _activeBytes; } @synthesize bridge = _bridge; @@ -56,149 +56,149 @@ @implementation RCTImageLoader - (void)setUp { - // Set defaults - _maxConcurrentLoadingTasks = _maxConcurrentLoadingTasks ?: 4; - _maxConcurrentDecodingTasks = _maxConcurrentDecodingTasks ?: 2; - _maxConcurrentDecodingBytes = _maxConcurrentDecodingBytes ?: 30 * 1024 * 1024; // 30MB + // Set defaults + _maxConcurrentLoadingTasks = _maxConcurrentLoadingTasks ?: 4; + _maxConcurrentDecodingTasks = _maxConcurrentDecodingTasks ?: 2; + _maxConcurrentDecodingBytes = _maxConcurrentDecodingBytes ?: 30 * 1024 * 1024; // 30MB - _URLRequestQueue = dispatch_queue_create("com.facebook.react.ImageLoaderURLRequestQueue", DISPATCH_QUEUE_SERIAL); + _URLRequestQueue = dispatch_queue_create("com.facebook.react.ImageLoaderURLRequestQueue", DISPATCH_QUEUE_SERIAL); } - (float)handlerPriority { - return 1; + return 1; } - (id)imageCache { - if (!_imageCache) { - //set up with default cache - _imageCache = [RCTImageCache new]; - } - return _imageCache; + if (!_imageCache) { + //set up with default cache + _imageCache = [RCTImageCache new]; + } + return _imageCache; } - (void)setImageCache:(id)cache { - if (_imageCache) { - RCTLogWarn(@"RCTImageCache was already set and has now been overriden."); - } - _imageCache = cache; + if (_imageCache) { + RCTLogWarn(@"RCTImageCache was already set and has now been overriden."); + } + _imageCache = cache; } - (id)imageURLLoaderForURL:(NSURL *)URL { - if (!_maxConcurrentLoadingTasks) { - [self setUp]; - } - - if (!_loaders) { - // Get loaders, sorted in reverse priority order (highest priority first) - RCTAssert(_bridge, @"Bridge not set"); - _loaders = [[_bridge modulesConformingToProtocol:@protocol(RCTImageURLLoader)] sortedArrayUsingComparator:^NSComparisonResult(id a, id b) { - float priorityA = [a respondsToSelector:@selector(loaderPriority)] ? [a loaderPriority] : 0; - float priorityB = [b respondsToSelector:@selector(loaderPriority)] ? [b loaderPriority] : 0; - if (priorityA > priorityB) { - return NSOrderedAscending; - } else if (priorityA < priorityB) { - return NSOrderedDescending; - } else { - return NSOrderedSame; - } - }]; - } + if (!_maxConcurrentLoadingTasks) { + [self setUp]; + } - if (RCT_DEBUG) { - // Check for handler conflicts - float previousPriority = 0; - id previousLoader = nil; - for (id loader in _loaders) { - float priority = [loader respondsToSelector:@selector(loaderPriority)] ? [loader loaderPriority] : 0; - if (previousLoader && priority < previousPriority) { - return previousLoader; - } - if ([loader canLoadImageURL:URL]) { - if (previousLoader) { - if (priority == previousPriority) { - RCTLogError(@"The RCTImageURLLoaders %@ and %@ both reported that" - " they can load the URL %@, and have equal priority" - " (%g). This could result in non-deterministic behavior.", - loader, previousLoader, URL, priority); - } - } else { - previousLoader = loader; - previousPriority = priority; + if (!_loaders) { + // Get loaders, sorted in reverse priority order (highest priority first) + RCTAssert(_bridge, @"Bridge not set"); + _loaders = [[_bridge modulesConformingToProtocol:@protocol(RCTImageURLLoader)] sortedArrayUsingComparator:^NSComparisonResult(id a, id b) { + float priorityA = [a respondsToSelector:@selector(loaderPriority)] ? [a loaderPriority] : 0; + float priorityB = [b respondsToSelector:@selector(loaderPriority)] ? [b loaderPriority] : 0; + if (priorityA > priorityB) { + return NSOrderedAscending; + } else if (priorityA < priorityB) { + return NSOrderedDescending; + } else { + return NSOrderedSame; + } + }]; + } + + if (RCT_DEBUG) { + // Check for handler conflicts + float previousPriority = 0; + id previousLoader = nil; + for (id loader in _loaders) { + float priority = [loader respondsToSelector:@selector(loaderPriority)] ? [loader loaderPriority] : 0; + if (previousLoader && priority < previousPriority) { + return previousLoader; + } + if ([loader canLoadImageURL:URL]) { + if (previousLoader) { + if (priority == previousPriority) { + RCTLogError(@"The RCTImageURLLoaders %@ and %@ both reported that" + " they can load the URL %@, and have equal priority" + " (%g). This could result in non-deterministic behavior.", + loader, previousLoader, URL, priority); + } + } else { + previousLoader = loader; + previousPriority = priority; + } + } } - } + return previousLoader; } - return previousLoader; - } - // Normal code path - for (id loader in _loaders) { - if ([loader canLoadImageURL:URL]) { - return loader; + // Normal code path + for (id loader in _loaders) { + if ([loader canLoadImageURL:URL]) { + return loader; + } } - } - return nil; + return nil; } - (id)imageDataDecoderForData:(NSData *)data { - if (!_maxConcurrentLoadingTasks) { - [self setUp]; - } - - if (!_decoders) { - // Get decoders, sorted in reverse priority order (highest priority first) - RCTAssert(_bridge, @"Bridge not set"); - _decoders = [[_bridge modulesConformingToProtocol:@protocol(RCTImageDataDecoder)] sortedArrayUsingComparator:^NSComparisonResult(id a, id b) { - float priorityA = [a respondsToSelector:@selector(decoderPriority)] ? [a decoderPriority] : 0; - float priorityB = [b respondsToSelector:@selector(decoderPriority)] ? [b decoderPriority] : 0; - if (priorityA > priorityB) { - return NSOrderedAscending; - } else if (priorityA < priorityB) { - return NSOrderedDescending; - } else { - return NSOrderedSame; - } - }]; - } + if (!_maxConcurrentLoadingTasks) { + [self setUp]; + } - if (RCT_DEBUG) { - // Check for handler conflicts - float previousPriority = 0; - id previousDecoder = nil; - for (id decoder in _decoders) { - float priority = [decoder respondsToSelector:@selector(decoderPriority)] ? [decoder decoderPriority] : 0; - if (previousDecoder && priority < previousPriority) { - return previousDecoder; - } - if ([decoder canDecodeImageData:data]) { - if (previousDecoder) { - if (priority == previousPriority) { - RCTLogError(@"The RCTImageDataDecoders %@ and %@ both reported that" - " they can decode the data , and" - " have equal priority (%g). This could result in" - " non-deterministic behavior.", - decoder, previousDecoder, data, data.length, priority); - } - } else { - previousDecoder = decoder; - previousPriority = priority; + if (!_decoders) { + // Get decoders, sorted in reverse priority order (highest priority first) + RCTAssert(_bridge, @"Bridge not set"); + _decoders = [[_bridge modulesConformingToProtocol:@protocol(RCTImageDataDecoder)] sortedArrayUsingComparator:^NSComparisonResult(id a, id b) { + float priorityA = [a respondsToSelector:@selector(decoderPriority)] ? [a decoderPriority] : 0; + float priorityB = [b respondsToSelector:@selector(decoderPriority)] ? [b decoderPriority] : 0; + if (priorityA > priorityB) { + return NSOrderedAscending; + } else if (priorityA < priorityB) { + return NSOrderedDescending; + } else { + return NSOrderedSame; + } + }]; + } + + if (RCT_DEBUG) { + // Check for handler conflicts + float previousPriority = 0; + id previousDecoder = nil; + for (id decoder in _decoders) { + float priority = [decoder respondsToSelector:@selector(decoderPriority)] ? [decoder decoderPriority] : 0; + if (previousDecoder && priority < previousPriority) { + return previousDecoder; + } + if ([decoder canDecodeImageData:data]) { + if (previousDecoder) { + if (priority == previousPriority) { + RCTLogError(@"The RCTImageDataDecoders %@ and %@ both reported that" + " they can decode the data , and" + " have equal priority (%g). This could result in" + " non-deterministic behavior.", + decoder, previousDecoder, data, data.length, priority); + } + } else { + previousDecoder = decoder; + previousPriority = priority; + } + } } - } + return previousDecoder; } - return previousDecoder; - } - // Normal code path - for (id decoder in _decoders) { - if ([decoder canDecodeImageData:data]) { - return decoder; + // Normal code path + for (id decoder in _decoders) { + if ([decoder canDecodeImageData:data]) { + return decoder; + } } - } - return nil; + return nil; } static UIImage *RCTResizeImageIfNeeded(UIImage *image, @@ -206,91 +206,91 @@ - (void)setImageCache:(id)cache CGFloat scale, RCTResizeMode resizeMode) { - if (CGSizeEqualToSize(size, CGSizeZero) || - CGSizeEqualToSize(image.size, CGSizeZero) || - CGSizeEqualToSize(image.size, size)) { + if (CGSizeEqualToSize(size, CGSizeZero) || + CGSizeEqualToSize(image.size, CGSizeZero) || + CGSizeEqualToSize(image.size, size)) { + return image; + } + CAKeyframeAnimation *animation = image.reactKeyframeAnimation; + CGRect targetSize = RCTTargetRect(image.size, size, scale, resizeMode); + CGAffineTransform transform = RCTTransformFromTargetRect(image.size, targetSize); + image = RCTTransformImage(image, size, scale, transform); + image.reactKeyframeAnimation = animation; return image; - } - CAKeyframeAnimation *animation = image.reactKeyframeAnimation; - CGRect targetSize = RCTTargetRect(image.size, size, scale, resizeMode); - CGAffineTransform transform = RCTTransformFromTargetRect(image.size, targetSize); - image = RCTTransformImage(image, size, scale, transform); - image.reactKeyframeAnimation = animation; - return image; } - (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest callback:(RCTImageLoaderCompletionBlock)callback { - return [self loadImageWithURLRequest:imageURLRequest - size:CGSizeZero - scale:1 - clipped:YES - resizeMode:RCTResizeModeStretch - progressBlock:nil - partialLoadBlock:nil - completionBlock:callback]; + return [self loadImageWithURLRequest:imageURLRequest + size:CGSizeZero + scale:1 + clipped:YES + resizeMode:RCTResizeModeStretch + progressBlock:nil + partialLoadBlock:nil + completionBlock:callback]; } - (void)dequeueTasks { - dispatch_async(_URLRequestQueue, ^{ - // Remove completed tasks - NSMutableArray *tasksToRemove = nil; - for (RCTNetworkTask *task in self->_pendingTasks.reverseObjectEnumerator) { - switch (task.status) { - case RCTNetworkTaskFinished: - if (!tasksToRemove) { - tasksToRemove = [NSMutableArray new]; - } - [tasksToRemove addObject:task]; - self->_activeTasks--; - break; - case RCTNetworkTaskPending: - break; - case RCTNetworkTaskInProgress: - // Check task isn't "stuck" - if (task.requestToken == nil) { - RCTLogWarn(@"Task orphaned for request %@", task.request); - if (!tasksToRemove) { - tasksToRemove = [NSMutableArray new]; + dispatch_async(_URLRequestQueue, ^{ + // Remove completed tasks + NSMutableArray *tasksToRemove = nil; + for (RCTNetworkTask *task in self->_pendingTasks.reverseObjectEnumerator) { + switch (task.status) { + case RCTNetworkTaskFinished: + if (!tasksToRemove) { + tasksToRemove = [NSMutableArray new]; + } + [tasksToRemove addObject:task]; + self->_activeTasks--; + break; + case RCTNetworkTaskPending: + break; + case RCTNetworkTaskInProgress: + // Check task isn't "stuck" + if (task.requestToken == nil) { + RCTLogWarn(@"Task orphaned for request %@", task.request); + if (!tasksToRemove) { + tasksToRemove = [NSMutableArray new]; + } + [tasksToRemove addObject:task]; + self->_activeTasks--; + [task cancel]; + } + break; } - [tasksToRemove addObject:task]; - self->_activeTasks--; - [task cancel]; - } - break; - } - } - - if (tasksToRemove) { - [self->_pendingTasks removeObjectsInArray:tasksToRemove]; - } + } - // Start queued decode - NSInteger activeDecodes = self->_scheduledDecodes - self->_pendingDecodes.count; - while (activeDecodes == 0 || (self->_activeBytes <= self->_maxConcurrentDecodingBytes && - activeDecodes <= self->_maxConcurrentDecodingTasks)) { - dispatch_block_t decodeBlock = self->_pendingDecodes.firstObject; - if (decodeBlock) { - [self->_pendingDecodes removeObjectAtIndex:0]; - decodeBlock(); - } else { - break; - } - } + if (tasksToRemove) { + [self->_pendingTasks removeObjectsInArray:tasksToRemove]; + } - // Start queued tasks - for (RCTNetworkTask *task in self->_pendingTasks) { - if (MAX(self->_activeTasks, self->_scheduledDecodes) >= self->_maxConcurrentLoadingTasks) { - break; - } - if (task.status == RCTNetworkTaskPending) { - [task start]; - self->_activeTasks++; - } - } - }); + // Start queued decode + NSInteger activeDecodes = self->_scheduledDecodes - self->_pendingDecodes.count; + while (activeDecodes == 0 || (self->_activeBytes <= self->_maxConcurrentDecodingBytes && + activeDecodes <= self->_maxConcurrentDecodingTasks)) { + dispatch_block_t decodeBlock = self->_pendingDecodes.firstObject; + if (decodeBlock) { + [self->_pendingDecodes removeObjectAtIndex:0]; + decodeBlock(); + } else { + break; + } + } + + // Start queued tasks + for (RCTNetworkTask *task in self->_pendingTasks) { + if (MAX(self->_activeTasks, self->_scheduledDecodes) >= self->_maxConcurrentLoadingTasks) { + break; + } + if (task.status == RCTNetworkTaskPending) { + [task start]; + self->_activeTasks++; + } + } + }); } /** @@ -306,213 +306,217 @@ - (RCTImageLoaderCancellationBlock)_loadImageOrDataWithURLRequest:(NSURLRequest partialLoadBlock:(RCTImageLoaderPartialLoadBlock)partialLoadHandler completionBlock:(void (^)(NSError *error, id imageOrData, BOOL cacheResult, NSString *fetchDate))completionBlock { - { - NSMutableURLRequest *mutableRequest = [request mutableCopy]; - [NSURLProtocol setProperty:@"RCTImageLoader" - forKey:@"trackingName" - inRequest:mutableRequest]; - - // Add missing png extension - if (request.URL.fileURL && request.URL.pathExtension.length == 0) { - mutableRequest.URL = [NSURL fileURLWithPath:[request.URL.path stringByAppendingPathExtension:@"png"]]; - } - request = mutableRequest; - } - - // Find suitable image URL loader - id loadHandler = [self imageURLLoaderForURL:request.URL]; - BOOL requiresScheduling = [loadHandler respondsToSelector:@selector(requiresScheduling)] ? - [loadHandler requiresScheduling] : YES; - - __block volatile uint32_t cancelled = 0; - __block dispatch_block_t cancelLoad = nil; - void (^completionHandler)(NSError *, id, NSString *) = ^(NSError *error, id imageOrData, NSString *fetchDate) { - cancelLoad = nil; - - BOOL cacheResult = [loadHandler respondsToSelector:@selector(shouldCacheLoadedImages)] ? - [loadHandler shouldCacheLoadedImages] : YES; - - // If we've received an image, we should try to set it synchronously, - // if it's data, do decoding on a background thread. - if (RCTIsMainQueue() && ![imageOrData isKindOfClass:[UIImage class]]) { - // Most loaders do not return on the main thread, so caller is probably not - // expecting it, and may do expensive post-processing in the callback - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - if (!cancelled) { - completionBlock(error, imageOrData, cacheResult, fetchDate); + { + NSMutableURLRequest *mutableRequest = [request mutableCopy]; + [NSURLProtocol setProperty:@"RCTImageLoader" + forKey:@"trackingName" + inRequest:mutableRequest]; + + // Add missing png extension + if (request.URL.fileURL && request.URL.pathExtension.length == 0) { + mutableRequest.URL = [NSURL fileURLWithPath:[request.URL.path stringByAppendingPathExtension:@"png"]]; } - }); - } else if (!cancelled) { - completionBlock(error, imageOrData, cacheResult, fetchDate); - } - }; - - // If the loader doesn't require scheduling we call it directly on - // the main queue. - if (loadHandler && !requiresScheduling) { - return [loadHandler loadImageForURL:request.URL - size:size - scale:scale - resizeMode:resizeMode - progressHandler:progressHandler - partialLoadHandler:partialLoadHandler - completionHandler:^(NSError *error, UIImage *image){ - completionHandler(error, image, nil); - }]; - } - - // All access to URL cache must be serialized - if (!_URLRequestQueue) { - [self setUp]; - } - - __weak RCTImageLoader *weakSelf = self; - dispatch_async(_URLRequestQueue, ^{ - __typeof(self) strongSelf = weakSelf; - if (cancelled || !strongSelf) { - return; + request = mutableRequest; } - if (loadHandler) { - cancelLoad = [loadHandler loadImageForURL:request.URL - size:size - scale:scale - resizeMode:resizeMode - progressHandler:progressHandler - partialLoadHandler:partialLoadHandler - completionHandler:^(NSError *error, UIImage *image) { - completionHandler(error, image, nil); - }]; - } else { - // Use networking module to load image - cancelLoad = [strongSelf _loadURLRequest:request - progressBlock:progressHandler - completionBlock:completionHandler]; + // Find suitable image URL loader + id loadHandler = [self imageURLLoaderForURL:request.URL]; + BOOL requiresScheduling = [loadHandler respondsToSelector:@selector(requiresScheduling)] ? + [loadHandler requiresScheduling] : YES; + + __block atomic_bool cancelled = ATOMIC_VAR_INIT(NO); + // TODO: Protect this variable shared between threads. + __block dispatch_block_t cancelLoad = nil; + void (^completionHandler)(NSError *, id, NSString *) = ^(NSError *error, id imageOrData, NSString *fetchDate) { + cancelLoad = nil; + + BOOL cacheResult = [loadHandler respondsToSelector:@selector(shouldCacheLoadedImages)] ? + [loadHandler shouldCacheLoadedImages] : YES; + + // If we've received an image, we should try to set it synchronously, + // if it's data, do decoding on a background thread. + if (RCTIsMainQueue() && ![imageOrData isKindOfClass:[UIImage class]]) { + // Most loaders do not return on the main thread, so caller is probably not + // expecting it, and may do expensive post-processing in the callback + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + if (!atomic_load(&cancelled)) { + completionBlock(error, imageOrData, cacheResult, fetchDate); + } + }); + } else if (!atomic_load(&cancelled)) { + completionBlock(error, imageOrData, cacheResult, fetchDate); + } + }; + + // If the loader doesn't require scheduling we call it directly on + // the main queue. + if (loadHandler && !requiresScheduling) { + return [loadHandler loadImageForURL:request.URL + size:size + scale:scale + resizeMode:resizeMode + progressHandler:progressHandler + partialLoadHandler:partialLoadHandler + completionHandler:^(NSError *error, UIImage *image){ + completionHandler(error, image, nil); + }]; } - }); - return ^{ - dispatch_block_t cancelLoadLocal = cancelLoad; - cancelLoad = nil; - if (cancelLoadLocal && !cancelled) { - cancelLoadLocal(); + // All access to URL cache must be serialized + if (!_URLRequestQueue) { + [self setUp]; } - OSAtomicOr32Barrier(1, &cancelled); - }; + + __weak RCTImageLoader *weakSelf = self; + dispatch_async(_URLRequestQueue, ^{ + __typeof(self) strongSelf = weakSelf; + if (atomic_load(&cancelled) || !strongSelf) { + return; + } + + if (loadHandler) { + cancelLoad = [loadHandler loadImageForURL:request.URL + size:size + scale:scale + resizeMode:resizeMode + progressHandler:progressHandler + partialLoadHandler:partialLoadHandler + completionHandler:^(NSError *error, UIImage *image) { + completionHandler(error, image, nil); + }]; + } else { + // Use networking module to load image + cancelLoad = [strongSelf _loadURLRequest:request + progressBlock:progressHandler + completionBlock:completionHandler]; + } + }); + + return ^{ + BOOL alreadyCancelled = atomic_fetch_or(&cancelled, 1); + if (alreadyCancelled) { + return; + } + dispatch_block_t cancelLoadLocal = cancelLoad; + cancelLoad = nil; + if (cancelLoadLocal) { + cancelLoadLocal(); + } + }; } - (RCTImageLoaderCancellationBlock)_loadURLRequest:(NSURLRequest *)request progressBlock:(RCTImageLoaderProgressBlock)progressHandler completionBlock:(void (^)(NSError *error, id imageOrData, NSString *fetchDate))completionHandler { - // Check if networking module is available - if (RCT_DEBUG && ![_bridge respondsToSelector:@selector(networking)]) { - RCTLogError(@"No suitable image URL loader found for %@. You may need to " - " import the RCTNetwork library in order to load images.", - request.URL.absoluteString); - return NULL; - } - - RCTNetworking *networking = [_bridge networking]; - - // Check if networking module can load image - if (RCT_DEBUG && ![networking canHandleRequest:request]) { - RCTLogError(@"No suitable image URL loader found for %@", request.URL.absoluteString); - return NULL; - } - - // Use networking module to load image - RCTURLRequestCompletionBlock processResponse = ^(NSURLResponse *response, NSData *data, NSError *error) { - // Check for system errors - if (error) { - completionHandler(error, nil, nil); - return; - } else if (!response) { - completionHandler(RCTErrorWithMessage(@"Response metadata error"), nil, nil); - return; - } else if (!data) { - completionHandler(RCTErrorWithMessage(@"Unknown image download error"), nil, nil); - return; + // Check if networking module is available + if (RCT_DEBUG && ![_bridge respondsToSelector:@selector(networking)]) { + RCTLogError(@"No suitable image URL loader found for %@. You may need to " + " import the RCTNetwork library in order to load images.", + request.URL.absoluteString); + return NULL; } - // Check for http errors - NSString *responseDate; - if ([response isKindOfClass:[NSHTTPURLResponse class]]) { - NSInteger statusCode = ((NSHTTPURLResponse *)response).statusCode; - if (statusCode != 200) { - NSString *errorMessage = [NSString stringWithFormat:@"Failed to load %@", response.URL]; - NSDictionary *userInfo = @{NSLocalizedDescriptionKey: errorMessage}; - completionHandler([[NSError alloc] initWithDomain:NSURLErrorDomain - code:statusCode - userInfo:userInfo], nil, nil); - return; - } + RCTNetworking *networking = [_bridge networking]; - responseDate = ((NSHTTPURLResponse *)response).allHeaderFields[@"Date"]; + // Check if networking module can load image + if (RCT_DEBUG && ![networking canHandleRequest:request]) { + RCTLogError(@"No suitable image URL loader found for %@", request.URL.absoluteString); + return NULL; } - // Call handler - completionHandler(nil, data, responseDate); - }; - - // Download image - __weak __typeof(self) weakSelf = self; - __block RCTNetworkTask *task = - [networking networkTaskWithRequest:request - completionBlock:^(NSURLResponse *response, NSData *data, NSError *error) { - __typeof(self) strongSelf = weakSelf; - if (!strongSelf) { - return; - } + // Use networking module to load image + RCTURLRequestCompletionBlock processResponse = ^(NSURLResponse *response, NSData *data, NSError *error) { + // Check for system errors + if (error) { + completionHandler(error, nil, nil); + return; + } else if (!response) { + completionHandler(RCTErrorWithMessage(@"Response metadata error"), nil, nil); + return; + } else if (!data) { + completionHandler(RCTErrorWithMessage(@"Unknown image download error"), nil, nil); + return; + } - if (error || !response || !data) { - NSError *someError = nil; - if (error) { - someError = error; - } else if (!response) { - someError = RCTErrorWithMessage(@"Response metadata error"); - } else { - someError = RCTErrorWithMessage(@"Unknown image download error"); - } - completionHandler(someError, nil, nil); - [strongSelf dequeueTasks]; - return; - } + // Check for http errors + NSString *responseDate; + if ([response isKindOfClass:[NSHTTPURLResponse class]]) { + NSInteger statusCode = ((NSHTTPURLResponse *)response).statusCode; + if (statusCode != 200) { + NSString *errorMessage = [NSString stringWithFormat:@"Failed to load %@", response.URL]; + NSDictionary *userInfo = @{NSLocalizedDescriptionKey: errorMessage}; + completionHandler([[NSError alloc] initWithDomain:NSURLErrorDomain + code:statusCode + userInfo:userInfo], nil, nil); + return; + } - dispatch_async(strongSelf->_URLRequestQueue, ^{ - // Process image data - processResponse(response, data, nil); + responseDate = ((NSHTTPURLResponse *)response).allHeaderFields[@"Date"]; + } - // Prepare for next task - [strongSelf dequeueTasks]; - }); - }]; + // Call handler + completionHandler(nil, data, responseDate); + }; - task.downloadProgressBlock = ^(int64_t progress, int64_t total) { - if (progressHandler) { - progressHandler(progress, total); - } - }; + // Download image + __weak __typeof(self) weakSelf = self; + __block RCTNetworkTask *task = + [networking networkTaskWithRequest:request + completionBlock:^(NSURLResponse *response, NSData *data, NSError *error) { + __typeof(self) strongSelf = weakSelf; + if (!strongSelf) { + return; + } + + if (error || !response || !data) { + NSError *someError = nil; + if (error) { + someError = error; + } else if (!response) { + someError = RCTErrorWithMessage(@"Response metadata error"); + } else { + someError = RCTErrorWithMessage(@"Unknown image download error"); + } + completionHandler(someError, nil, nil); + [strongSelf dequeueTasks]; + return; + } + + dispatch_async(strongSelf->_URLRequestQueue, ^{ + // Process image data + processResponse(response, data, nil); + + // Prepare for next task + [strongSelf dequeueTasks]; + }); + }]; + + task.downloadProgressBlock = ^(int64_t progress, int64_t total) { + if (progressHandler) { + progressHandler(progress, total); + } + }; - if (task) { - if (!_pendingTasks) { - _pendingTasks = [NSMutableArray new]; - } - [_pendingTasks addObject:task]; - [self dequeueTasks]; - } - - return ^{ - __typeof(self) strongSelf = weakSelf; - if (!strongSelf || !task) { - return; + if (task) { + if (!_pendingTasks) { + _pendingTasks = [NSMutableArray new]; + } + [_pendingTasks addObject:task]; + [self dequeueTasks]; } - dispatch_async(strongSelf->_URLRequestQueue, ^{ - [task cancel]; - task = nil; - }); - [strongSelf dequeueTasks]; - }; + + return ^{ + __typeof(self) strongSelf = weakSelf; + if (!strongSelf || !task) { + return; + } + dispatch_async(strongSelf->_URLRequestQueue, ^{ + [task cancel]; + task = nil; + }); + [strongSelf dequeueTasks]; + }; } - (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest @@ -524,74 +528,79 @@ - (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)image partialLoadBlock:(RCTImageLoaderPartialLoadBlock)partialLoadBlock completionBlock:(RCTImageLoaderCompletionBlock)completionBlock { - __block volatile uint32_t cancelled = 0; - __block dispatch_block_t cancelLoad = nil; - dispatch_block_t cancellationBlock = ^{ - dispatch_block_t cancelLoadLocal = cancelLoad; - if (cancelLoadLocal && !cancelled) { - cancelLoadLocal(); - } - OSAtomicOr32Barrier(1, &cancelled); - }; - - __weak RCTImageLoader *weakSelf = self; - void (^completionHandler)(NSError *, id, BOOL, NSString *) = ^(NSError *error, id imageOrData, BOOL cacheResult, NSString *fetchDate) { - __typeof(self) strongSelf = weakSelf; - if (cancelled || !strongSelf) { - return; - } + __block atomic_bool cancelled = ATOMIC_VAR_INIT(NO); + // TODO: Protect this variable shared between threads. + __block dispatch_block_t cancelLoad = nil; + dispatch_block_t cancellationBlock = ^{ + BOOL alreadyCancelled = atomic_fetch_or(&cancelled, 1); + if (alreadyCancelled) { + return; + } + dispatch_block_t cancelLoadLocal = cancelLoad; + cancelLoad = nil; + if (cancelLoadLocal) { + cancelLoadLocal(); + } + }; - if (!imageOrData || [imageOrData isKindOfClass:[UIImage class]]) { - cancelLoad = nil; - completionBlock(error, imageOrData); - return; - } + __weak RCTImageLoader *weakSelf = self; + void (^completionHandler)(NSError *, id, BOOL, NSString *) = ^(NSError *error, id imageOrData, BOOL cacheResult, NSString *fetchDate) { + __typeof(self) strongSelf = weakSelf; + if (atomic_load(&cancelled) || !strongSelf) { + return; + } - // Check decoded image cache - if (cacheResult) { - UIImage *image = [[strongSelf imageCache] imageForUrl:imageURLRequest.URL.absoluteString - size:size - scale:scale - resizeMode:resizeMode - responseDate:fetchDate]; - if (image) { - cancelLoad = nil; - completionBlock(nil, image); - return; - } - } + if (!imageOrData || [imageOrData isKindOfClass:[UIImage class]]) { + cancelLoad = nil; + completionBlock(error, imageOrData); + return; + } + + // Check decoded image cache + if (cacheResult) { + UIImage *image = [[strongSelf imageCache] imageForUrl:imageURLRequest.URL.absoluteString + size:size + scale:scale + resizeMode:resizeMode + responseDate:fetchDate]; + if (image) { + cancelLoad = nil; + completionBlock(nil, image); + return; + } + } + + RCTImageLoaderCompletionBlock decodeCompletionHandler = ^(NSError *error_, UIImage *image) { + if (cacheResult && image) { + // Store decoded image in cache + [[strongSelf imageCache] addImageToCache:image + URL:imageURLRequest.URL.absoluteString + size:size + scale:scale + resizeMode:resizeMode + responseDate:fetchDate]; + } - RCTImageLoaderCompletionBlock decodeCompletionHandler = ^(NSError *error_, UIImage *image) { - if (cacheResult && image) { - // Store decoded image in cache - [[strongSelf imageCache] addImageToCache:image - URL:imageURLRequest.URL.absoluteString + cancelLoad = nil; + completionBlock(error_, image); + }; + + cancelLoad = [strongSelf decodeImageData:imageOrData size:size scale:scale + clipped:clipped resizeMode:resizeMode - responseDate:fetchDate]; - } - - cancelLoad = nil; - completionBlock(error_, image); + completionBlock:decodeCompletionHandler]; }; - cancelLoad = [strongSelf decodeImageData:imageOrData - size:size - scale:scale - clipped:clipped - resizeMode:resizeMode - completionBlock:decodeCompletionHandler]; - }; - - cancelLoad = [self _loadImageOrDataWithURLRequest:imageURLRequest - size:size - scale:scale - resizeMode:resizeMode - progressBlock:progressBlock - partialLoadBlock:partialLoadBlock - completionBlock:completionHandler]; - return cancellationBlock; + cancelLoad = [self _loadImageOrDataWithURLRequest:imageURLRequest + size:size + scale:scale + resizeMode:resizeMode + progressBlock:progressBlock + partialLoadBlock:partialLoadBlock + completionBlock:completionHandler]; + return cancellationBlock; } - (RCTImageLoaderCancellationBlock)decodeImageData:(NSData *)data @@ -601,189 +610,213 @@ - (RCTImageLoaderCancellationBlock)decodeImageData:(NSData *)data resizeMode:(RCTResizeMode)resizeMode completionBlock:(RCTImageLoaderCompletionBlock)completionBlock { - if (data.length == 0) { - completionBlock(RCTErrorWithMessage(@"No image data"), nil); - return ^{}; - } - - __block volatile uint32_t cancelled = 0; - void (^completionHandler)(NSError *, UIImage *) = ^(NSError *error, UIImage *image) { - if (RCTIsMainQueue()) { - // Most loaders do not return on the main thread, so caller is probably not - // expecting it, and may do expensive post-processing in the callback - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - if (!cancelled) { - completionBlock(error, clipped ? RCTResizeImageIfNeeded(image, size, scale, resizeMode) : image); - } - }); - } else if (!cancelled) { - completionBlock(error, clipped ? RCTResizeImageIfNeeded(image, size, scale, resizeMode) : image); + if (data.length == 0) { + completionBlock(RCTErrorWithMessage(@"No image data"), nil); + return ^{}; } - }; - - id imageDecoder = [self imageDataDecoderForData:data]; - if (imageDecoder) { - return [imageDecoder decodeImageData:data - size:size - scale:scale - resizeMode:resizeMode - completionHandler:completionHandler] ?: ^{}; - } else { - dispatch_block_t decodeBlock = ^{ - // Calculate the size, in bytes, that the decompressed image will require - NSInteger decodedImageBytes = (size.width * scale) * (size.height * scale) * 4; - - // Mark these bytes as in-use - self->_activeBytes += decodedImageBytes; - - // Do actual decompression on a concurrent background queue - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - if (!cancelled) { - - // Decompress the image data (this may be CPU and memory intensive) - UIImage *image = RCTDecodeImageWithData(data, size, scale, resizeMode); + + __block atomic_bool cancelled = ATOMIC_VAR_INIT(NO); + void (^completionHandler)(NSError *, UIImage *) = ^(NSError *error, UIImage *image) { + if (RCTIsMainQueue()) { + // Most loaders do not return on the main thread, so caller is probably not + // expecting it, and may do expensive post-processing in the callback + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + if (!atomic_load(&cancelled)) { + completionBlock(error, clipped ? RCTResizeImageIfNeeded(image, size, scale, resizeMode) : image); + } + }); + } else if (!atomic_load(&cancelled)) { + completionBlock(error, clipped ? RCTResizeImageIfNeeded(image, size, scale, resizeMode) : image); + } + }; + + id imageDecoder = [self imageDataDecoderForData:data]; + if (imageDecoder) { + return [imageDecoder decodeImageData:data + size:size + scale:scale + resizeMode:resizeMode + completionHandler:completionHandler] ?: ^{}; + } else { + dispatch_block_t decodeBlock = ^{ + // Calculate the size, in bytes, that the decompressed image will require + NSInteger decodedImageBytes = (size.width * scale) * (size.height * scale) * 4; + + // Mark these bytes as in-use + self->_activeBytes += decodedImageBytes; + + // Do actual decompression on a concurrent background queue + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + if (!atomic_load(&cancelled)) { + + // Decompress the image data (this may be CPU and memory intensive) + UIImage *image = RCTDecodeImageWithData(data, size, scale, resizeMode); #if RCT_DEV - CGSize imagePixelSize = RCTSizeInPixels(image.size, image.scale); - CGSize screenPixelSize = RCTSizeInPixels(RCTScreenSize(), RCTScreenScale()); - if (imagePixelSize.width * imagePixelSize.height > - screenPixelSize.width * screenPixelSize.height) { - RCTLogInfo(@"[PERF ASSETS] Loading image at size %@, which is larger " - "than the screen size %@", NSStringFromCGSize(imagePixelSize), - NSStringFromCGSize(screenPixelSize)); - } + CGSize imagePixelSize = RCTSizeInPixels(image.size, image.scale); + CGSize screenPixelSize = RCTSizeInPixels(RCTScreenSize(), RCTScreenScale()); + if (imagePixelSize.width * imagePixelSize.height > + screenPixelSize.width * screenPixelSize.height) { + RCTLogInfo(@"[PERF ASSETS] Loading image at size %@, which is larger " + "than the screen size %@", NSStringFromCGSize(imagePixelSize), + NSStringFromCGSize(screenPixelSize)); + } #endif - if (image) { - completionHandler(nil, image); - } else { - NSString *errorMessage = [NSString stringWithFormat:@"Error decoding image data ", data, data.length]; - NSError *finalError = RCTErrorWithMessage(errorMessage); - completionHandler(finalError, nil); - } + if (image) { + completionHandler(nil, image); + } else { + NSString *errorMessage = [NSString stringWithFormat:@"Error decoding image data ", data, data.length]; + NSError *finalError = RCTErrorWithMessage(errorMessage); + completionHandler(finalError, nil); + } + } + + // We're no longer retaining the uncompressed data, so now we'll mark + // the decoding as complete so that the loading task queue can resume. + dispatch_async(self->_URLRequestQueue, ^{ + self->_scheduledDecodes--; + self->_activeBytes -= decodedImageBytes; + [self dequeueTasks]; + }); + }); + }; + + if (!_URLRequestQueue) { + [self setUp]; } - - // We're no longer retaining the uncompressed data, so now we'll mark - // the decoding as complete so that the loading task queue can resume. - dispatch_async(self->_URLRequestQueue, ^{ - self->_scheduledDecodes--; - self->_activeBytes -= decodedImageBytes; - [self dequeueTasks]; + dispatch_async(_URLRequestQueue, ^{ + // The decode operation retains the compressed image data until it's + // complete, so we'll mark it as having started, in order to block + // further image loads from happening until we're done with the data. + self->_scheduledDecodes++; + + if (!self->_pendingDecodes) { + self->_pendingDecodes = [NSMutableArray new]; + } + NSInteger activeDecodes = self->_scheduledDecodes - self->_pendingDecodes.count - 1; + if (activeDecodes == 0 || (self->_activeBytes <= self->_maxConcurrentDecodingBytes && + activeDecodes <= self->_maxConcurrentDecodingTasks)) { + decodeBlock(); + } else { + [self->_pendingDecodes addObject:decodeBlock]; + } }); - }); - }; - if (!_URLRequestQueue) { - [self setUp]; + return ^{ + atomic_store(&cancelled, YES); + }; } - dispatch_async(_URLRequestQueue, ^{ - // The decode operation retains the compressed image data until it's - // complete, so we'll mark it as having started, in order to block - // further image loads from happening until we're done with the data. - self->_scheduledDecodes++; - - if (!self->_pendingDecodes) { - self->_pendingDecodes = [NSMutableArray new]; - } - NSInteger activeDecodes = self->_scheduledDecodes - self->_pendingDecodes.count - 1; - if (activeDecodes == 0 || (self->_activeBytes <= self->_maxConcurrentDecodingBytes && - activeDecodes <= self->_maxConcurrentDecodingTasks)) { - decodeBlock(); - } else { - [self->_pendingDecodes addObject:decodeBlock]; - } - }); - - return ^{ - OSAtomicOr32Barrier(1, &cancelled); - }; - } } - (RCTImageLoaderCancellationBlock)getImageSizeForURLRequest:(NSURLRequest *)imageURLRequest block:(void(^)(NSError *error, CGSize size))callback { - void (^completion)(NSError *, id, BOOL, NSString *) = ^(NSError *error, id imageOrData, BOOL cacheResult, NSString *fetchDate) { - CGSize size; - if ([imageOrData isKindOfClass:[NSData class]]) { - NSDictionary *meta = RCTGetImageMetadata(imageOrData); - size = (CGSize){ - [meta[(id)kCGImagePropertyPixelWidth] doubleValue], - [meta[(id)kCGImagePropertyPixelHeight] doubleValue], - }; - } else { - UIImage *image = imageOrData; - size = (CGSize){ - image.size.width * image.scale, - image.size.height * image.scale, - }; - } - callback(error, size); - }; - - return [self _loadImageOrDataWithURLRequest:imageURLRequest - size:CGSizeZero - scale:1 - resizeMode:RCTResizeModeStretch - progressBlock:NULL - partialLoadBlock:NULL - completionBlock:completion]; + void (^completion)(NSError *, id, BOOL, NSString *) = ^(NSError *error, id imageOrData, BOOL cacheResult, NSString *fetchDate) { + CGSize size; + if ([imageOrData isKindOfClass:[NSData class]]) { + NSDictionary *meta = RCTGetImageMetadata(imageOrData); + size = (CGSize){ + [meta[(id)kCGImagePropertyPixelWidth] doubleValue], + [meta[(id)kCGImagePropertyPixelHeight] doubleValue], + }; + } else { + UIImage *image = imageOrData; + size = (CGSize){ + image.size.width * image.scale, + image.size.height * image.scale, + }; + } + callback(error, size); + }; + + return [self _loadImageOrDataWithURLRequest:imageURLRequest + size:CGSizeZero + scale:1 + resizeMode:RCTResizeModeStretch + progressBlock:NULL + partialLoadBlock:NULL + completionBlock:completion]; } #pragma mark - RCTURLRequestHandler - (BOOL)canHandleRequest:(NSURLRequest *)request { - NSURL *requestURL = request.URL; - for (id loader in _loaders) { - // Don't use RCTImageURLLoader protocol for modules that already conform to - // RCTURLRequestHandler as it's inefficient to decode an image and then - // convert it back into data - if (![loader conformsToProtocol:@protocol(RCTURLRequestHandler)] && - [loader canLoadImageURL:requestURL]) { - return YES; + NSURL *requestURL = request.URL; + + // If the data being loaded is a video, return NO + // Even better may be to implement this on the RCTImageURLLoader that would try to load it, + // but we'd have to run the logic both in RCTPhotoLibraryImageLoader and + // RCTAssetsLibraryRequestHandler. Once we drop iOS7 though, we'd drop + // RCTAssetsLibraryRequestHandler and can move it there. + static NSRegularExpression *videoRegex = nil; + if (!videoRegex) { + NSError *error = nil; + videoRegex = [NSRegularExpression regularExpressionWithPattern:@"(?:&|^)ext=MOV(?:&|$)" + options:NSRegularExpressionCaseInsensitive + error:&error]; + if (error) { + RCTLogError(@"%@", error); + } + } + + NSString *query = requestURL.query; + if (query != nil && [videoRegex firstMatchInString:query + options:0 + range:NSMakeRange(0, query.length)]) { + return NO; + } + + for (id loader in _loaders) { + // Don't use RCTImageURLLoader protocol for modules that already conform to + // RCTURLRequestHandler as it's inefficient to decode an image and then + // convert it back into data + if (![loader conformsToProtocol:@protocol(RCTURLRequestHandler)] && + [loader canLoadImageURL:requestURL]) { + return YES; + } } - } - return NO; + return NO; } - (id)sendRequest:(NSURLRequest *)request withDelegate:(id)delegate { - __block RCTImageLoaderCancellationBlock requestToken; - requestToken = [self loadImageWithURLRequest:request callback:^(NSError *error, UIImage *image) { - if (error) { - [delegate URLRequest:requestToken didCompleteWithError:error]; - return; - } + __block RCTImageLoaderCancellationBlock requestToken; + requestToken = [self loadImageWithURLRequest:request callback:^(NSError *error, UIImage *image) { + if (error) { + [delegate URLRequest:requestToken didCompleteWithError:error]; + return; + } - NSString *mimeType = nil; - NSData *imageData = nil; - if (RCTImageHasAlpha(image.CGImage)) { - mimeType = @"image/png"; - imageData = UIImagePNGRepresentation(image); - } else { - mimeType = @"image/jpeg"; - imageData = UIImageJPEGRepresentation(image, 1.0); - } + NSString *mimeType = nil; + NSData *imageData = nil; + if (RCTImageHasAlpha(image.CGImage)) { + mimeType = @"image/png"; + imageData = UIImagePNGRepresentation(image); + } else { + mimeType = @"image/jpeg"; + imageData = UIImageJPEGRepresentation(image, 1.0); + } - NSURLResponse *response = [[NSURLResponse alloc] initWithURL:request.URL - MIMEType:mimeType - expectedContentLength:imageData.length - textEncodingName:nil]; + NSURLResponse *response = [[NSURLResponse alloc] initWithURL:request.URL + MIMEType:mimeType + expectedContentLength:imageData.length + textEncodingName:nil]; - [delegate URLRequest:requestToken didReceiveResponse:response]; - [delegate URLRequest:requestToken didReceiveData:imageData]; - [delegate URLRequest:requestToken didCompleteWithError:nil]; - }]; + [delegate URLRequest:requestToken didReceiveResponse:response]; + [delegate URLRequest:requestToken didReceiveData:imageData]; + [delegate URLRequest:requestToken didCompleteWithError:nil]; + }]; - return requestToken; + return requestToken; } - (void)cancelRequest:(id)requestToken { - if (requestToken) { - ((RCTImageLoaderCancellationBlock)requestToken)(); - } + if (requestToken) { + ((RCTImageLoaderCancellationBlock)requestToken)(); + } } @end @@ -792,7 +825,7 @@ @implementation RCTBridge (RCTImageLoader) - (RCTImageLoader *)imageLoader { - return [self moduleForClass:[RCTImageLoader class]]; + return [self moduleForClass:[RCTImageLoader class]]; } @end diff --git a/packager/src/JSTransformer/__mocks__/worker.js b/Libraries/Image/RCTImageShadowView.h similarity index 78% rename from packager/src/JSTransformer/__mocks__/worker.js rename to Libraries/Image/RCTImageShadowView.h index bc445e2542d0..292a790748ec 100644 --- a/packager/src/JSTransformer/__mocks__/worker.js +++ b/Libraries/Image/RCTImageShadowView.h @@ -6,8 +6,9 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ -'use strict'; -module.exports = function(data, callback) { - callback(null, {}); -}; +#import + +@interface RCTImageShadowView : RCTShadowView + +@end diff --git a/Libraries/Image/RCTImageShadowView.m b/Libraries/Image/RCTImageShadowView.m new file mode 100644 index 000000000000..ceed9c8b6349 --- /dev/null +++ b/Libraries/Image/RCTImageShadowView.m @@ -0,0 +1,25 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +#import "RCTImageShadowView.h" + +#import + +@implementation RCTImageShadowView + +- (void)insertReactSubview:(RCTShadowView *)subview atIndex:(NSInteger)atIndex +{ + RCTLogWarn(@"Using with children is deprecated " + "and will be an error in the near future. " + "Please reconsider the layout or use instead."); + + [super insertReactSubview:subview atIndex:atIndex]; +} + +@end diff --git a/Libraries/Image/RCTImageStoreManager.m b/Libraries/Image/RCTImageStoreManager.m index 7df7a3a393ff..690258e6522c 100644 --- a/Libraries/Image/RCTImageStoreManager.m +++ b/Libraries/Image/RCTImageStoreManager.m @@ -9,7 +9,7 @@ #import "RCTImageStoreManager.h" -#import +#import #import #import @@ -76,7 +76,7 @@ - (void)storeImage:(UIImage *)image withBlock:(void (^)(NSString *imageTag))bloc { RCTAssertParam(block); dispatch_async(_methodQueue, ^{ - NSString *imageTag = [self _storeImageData:RCTGetImageData(image.CGImage, 0.75)]; + NSString *imageTag = [self _storeImageData:RCTGetImageData(image, 0.75)]; dispatch_async(dispatch_get_main_queue(), ^{ block(imageTag); }); @@ -137,14 +137,14 @@ - (BOOL)canHandleRequest:(NSURLRequest *)request - (id)sendRequest:(NSURLRequest *)request withDelegate:(id)delegate { - __block volatile uint32_t cancelled = 0; + __block atomic_bool cancelled = ATOMIC_VAR_INIT(NO); void (^cancellationBlock)(void) = ^{ - OSAtomicOr32Barrier(1, &cancelled); + atomic_store(&cancelled, YES); }; // Dispatch async to give caller time to cancel the request dispatch_async(_methodQueue, ^{ - if (cancelled) { + if (atomic_load(&cancelled)) { return; } @@ -197,7 +197,7 @@ - (NSString *)storeImage:(UIImage *)image RCTLogWarn(@"RCTImageStoreManager.storeImage() is deprecated and has poor performance. Use an alternative method instead."); __block NSString *imageTag; dispatch_sync(_methodQueue, ^{ - imageTag = [self _storeImageData:RCTGetImageData(image.CGImage, 0.75)]; + imageTag = [self _storeImageData:RCTGetImageData(image, 0.75)]; }); return imageTag; } diff --git a/Libraries/Image/RCTImageUtils.h b/Libraries/Image/RCTImageUtils.h index 5012a66d2229..371770cb1b92 100644 --- a/Libraries/Image/RCTImageUtils.h +++ b/Libraries/Image/RCTImageUtils.h @@ -76,7 +76,7 @@ RCT_EXTERN NSDictionary *__nullable RCTGetImageMetadata(NSData * * conversion, with 1.0 being maximum quality. It has no effect for images * using PNG compression. */ -RCT_EXTERN NSData *__nullable RCTGetImageData(CGImageRef image, float quality); +RCT_EXTERN NSData *__nullable RCTGetImageData(UIImage *image, float quality); /** * This function transforms an image. `destSize` is the size of the final image, diff --git a/Libraries/Image/RCTImageUtils.m b/Libraries/Image/RCTImageUtils.m index 1fdf11e90335..f64f1f7b6868 100644 --- a/Libraries/Image/RCTImageUtils.m +++ b/Libraries/Image/RCTImageUtils.m @@ -35,6 +35,22 @@ static CGSize RCTCeilSize(CGSize size, CGFloat scale) }; } +static CGImagePropertyOrientation CGImagePropertyOrientationFromUIImageOrientation(UIImageOrientation imageOrientation) +{ + // see https://stackoverflow.com/a/6699649/496389 + switch (imageOrientation) { + case UIImageOrientationUp: return kCGImagePropertyOrientationUp; + case UIImageOrientationDown: return kCGImagePropertyOrientationDown; + case UIImageOrientationLeft: return kCGImagePropertyOrientationLeft; + case UIImageOrientationRight: return kCGImagePropertyOrientationRight; + case UIImageOrientationUpMirrored: return kCGImagePropertyOrientationUpMirrored; + case UIImageOrientationDownMirrored: return kCGImagePropertyOrientationDownMirrored; + case UIImageOrientationLeftMirrored: return kCGImagePropertyOrientationLeftMirrored; + case UIImageOrientationRightMirrored: return kCGImagePropertyOrientationRightMirrored; + default: return kCGImagePropertyOrientationUp; + } +} + CGRect RCTTargetRect(CGSize sourceSize, CGSize destSize, CGFloat destScale, RCTResizeMode resizeMode) { @@ -314,20 +330,23 @@ BOOL RCTUpscalingRequired(CGSize sourceSize, CGFloat sourceScale, return (__bridge_transfer id)imageProperties; } -NSData *__nullable RCTGetImageData(CGImageRef image, float quality) +NSData *__nullable RCTGetImageData(UIImage *image, float quality) { - NSDictionary *properties; + NSMutableDictionary *properties = [[NSMutableDictionary alloc] initWithDictionary:@{ + (id)kCGImagePropertyOrientation : @(CGImagePropertyOrientationFromUIImageOrientation(image.imageOrientation)) + }]; CGImageDestinationRef destination; CFMutableDataRef imageData = CFDataCreateMutable(NULL, 0); - if (RCTImageHasAlpha(image)) { + CGImageRef cgImage = image.CGImage; + if (RCTImageHasAlpha(cgImage)) { // get png data destination = CGImageDestinationCreateWithData(imageData, kUTTypePNG, 1, NULL); } else { // get jpeg data destination = CGImageDestinationCreateWithData(imageData, kUTTypeJPEG, 1, NULL); - properties = @{(NSString *)kCGImageDestinationLossyCompressionQuality: @(quality)}; + [properties setValue:@(quality) forKey:(id)kCGImageDestinationLossyCompressionQuality]; } - CGImageDestinationAddImage(destination, image, (__bridge CFDictionaryRef)properties); + CGImageDestinationAddImage(destination, cgImage, (__bridge CFDictionaryRef)properties); if (!CGImageDestinationFinalize(destination)) { CFRelease(imageData); diff --git a/Libraries/Image/RCTImageView.m b/Libraries/Image/RCTImageView.m index 6387987e699e..cbb3e4756d5b 100644 --- a/Libraries/Image/RCTImageView.m +++ b/Libraries/Image/RCTImageView.m @@ -364,7 +364,8 @@ - (void)imageLoaderLoadedImage:(UIImage *)loadedImage error:(NSError *)error for } } else { if (self->_onLoad) { - self->_onLoad(onLoadParamsForSource(source)); + RCTImageSource *sourceLoaded = [source imageSourceWithSize:image.size scale:source.scale]; + self->_onLoad(onLoadParamsForSource(sourceLoaded)); } if (self->_onLoadEnd) { self->_onLoadEnd(nil); diff --git a/Libraries/Image/RCTImageViewManager.m b/Libraries/Image/RCTImageViewManager.m index 3b1035f9660c..b313e016fd30 100644 --- a/Libraries/Image/RCTImageViewManager.m +++ b/Libraries/Image/RCTImageViewManager.m @@ -14,12 +14,18 @@ #import #import "RCTImageLoader.h" +#import "RCTImageShadowView.h" #import "RCTImageView.h" @implementation RCTImageViewManager RCT_EXPORT_MODULE() +- (RCTShadowView *)shadowView +{ + return [RCTImageShadowView new]; +} + - (UIView *)view { return [[RCTImageView alloc] initWithBridge:self.bridge]; diff --git a/Libraries/Image/RCTLocalAssetImageLoader.m b/Libraries/Image/RCTLocalAssetImageLoader.m index 17acd15b88c2..7186f9aa59bf 100644 --- a/Libraries/Image/RCTLocalAssetImageLoader.m +++ b/Libraries/Image/RCTLocalAssetImageLoader.m @@ -9,7 +9,7 @@ #import "RCTLocalAssetImageLoader.h" -#import +#import #import @@ -44,9 +44,9 @@ - (RCTImageLoaderCancellationBlock)loadImageForURL:(NSURL *)imageURL partialLoadHandler:(RCTImageLoaderPartialLoadBlock)partialLoadHandler completionHandler:(RCTImageLoaderCompletionBlock)completionHandler { - __block volatile uint32_t cancelled = 0; + __block atomic_bool cancelled = ATOMIC_VAR_INIT(NO); RCTExecuteOnMainQueue(^{ - if (cancelled) { + if (atomic_load(&cancelled)) { return; } @@ -64,7 +64,7 @@ - (RCTImageLoaderCancellationBlock)loadImageForURL:(NSURL *)imageURL }); return ^{ - OSAtomicOr32Barrier(1, &cancelled); + atomic_store(&cancelled, YES); }; } diff --git a/Libraries/Image/RelativeImageStub.js b/Libraries/Image/RelativeImageStub.js index b788548b6662..e2745cd1705f 100644 --- a/Libraries/Image/RelativeImageStub.js +++ b/Libraries/Image/RelativeImageStub.js @@ -12,7 +12,7 @@ 'use strict'; // This is a stub for flow to make it understand require('./icon.png') -// See packager/src/Bundler/index.js +// See metro-bundler/src/Bundler/index.js var AssetRegistry = require('AssetRegistry'); diff --git a/Libraries/Image/__tests__/resolveAssetSource-test.js b/Libraries/Image/__tests__/resolveAssetSource-test.js index 091cf832b866..061283cb18c7 100644 --- a/Libraries/Image/__tests__/resolveAssetSource-test.js +++ b/Libraries/Image/__tests__/resolveAssetSource-test.js @@ -8,12 +8,6 @@ */ 'use strict'; -jest - .unmock('AssetRegistry') - .unmock('AssetSourceResolver') - .unmock('../resolveAssetSource') - .unmock('../../../local-cli/bundle/assetPathUtils'); - var AssetRegistry = require('AssetRegistry'); var Platform = require('Platform'); var NativeModules = require('NativeModules'); diff --git a/Libraries/Inspector/BoxInspector.js b/Libraries/Inspector/BoxInspector.js index e50d9869aac7..7234db08d974 100644 --- a/Libraries/Inspector/BoxInspector.js +++ b/Libraries/Inspector/BoxInspector.js @@ -35,10 +35,10 @@ class BoxInspector extends React.Component { - ({frame.left}, {frame.top}) + ({(frame.left || 0).toFixed(1)}, {(frame.top || 0).toFixed(1)}) - {frame.width} × {frame.height} + {(frame.width || 0).toFixed(1)} × {(frame.height || 0).toFixed(1)} @@ -110,4 +110,3 @@ var styles = StyleSheet.create({ }); module.exports = BoxInspector; - diff --git a/Libraries/Inspector/ElementProperties.js b/Libraries/Inspector/ElementProperties.js index b2bcd0d68fe2..ac1e1ae4f804 100644 --- a/Libraries/Inspector/ElementProperties.js +++ b/Libraries/Inspector/ElementProperties.js @@ -12,6 +12,7 @@ 'use strict'; const BoxInspector = require('BoxInspector'); +const PropTypes = require('prop-types'); const React = require('React'); const StyleInspector = require('StyleInspector'); const StyleSheet = require('StyleSheet'); @@ -24,8 +25,6 @@ const flattenStyle = require('flattenStyle'); const mapWithSeparator = require('mapWithSeparator'); const openFileInEditor = require('openFileInEditor'); -const PropTypes = React.PropTypes; - class ElementProperties extends React.Component { props: { hierarchy: Array<$FlowFixMe>, @@ -77,14 +76,14 @@ class ElementProperties extends React.Component { {mapWithSeparator( this.props.hierarchy, - (item, i) => ( + (hierarchyItem, i) => ( this.props.setSelection(i)}> - {getInstanceName(item)} + {hierarchyItem.name} ), @@ -110,16 +109,6 @@ class ElementProperties extends React.Component { } } -function getInstanceName(instance) { - if (instance.getName) { - return instance.getName(); - } - if (instance.constructor && instance.constructor.displayName) { - return instance.constructor.displayName; - } - return 'Unknown'; -} - const styles = StyleSheet.create({ breadSep: { fontSize: 8, diff --git a/Libraries/Inspector/Inspector.js b/Libraries/Inspector/Inspector.js index 97e480b5a7b8..fd19cd8d3115 100644 --- a/Libraries/Inspector/Inspector.js +++ b/Libraries/Inspector/Inspector.js @@ -17,17 +17,31 @@ const Dimensions = require('Dimensions'); const InspectorOverlay = require('InspectorOverlay'); const InspectorPanel = require('InspectorPanel'); -const InspectorUtils = require('InspectorUtils'); const Platform = require('Platform'); const React = require('React'); +const ReactNative = require('ReactNative'); const StyleSheet = require('StyleSheet'); const Touchable = require('Touchable'); const UIManager = require('UIManager'); const View = require('View'); -if (window.__REACT_DEVTOOLS_GLOBAL_HOOK__) { - // required for devtools to be able to edit react native styles - window.__REACT_DEVTOOLS_GLOBAL_HOOK__.resolveRNStyle = require('flattenStyle'); +const emptyObject = require('fbjs/lib/emptyObject'); +const invariant = require('fbjs/lib/invariant'); + +export type ReactRenderer = { + getInspectorDataForViewTag: (viewTag: number) => Object, +}; + +const hook = window.__REACT_DEVTOOLS_GLOBAL_HOOK__; +const renderer: ReactRenderer = findRenderer(); +// required for devtools to be able to edit react native styles +hook.resolveRNStyle = require('flattenStyle'); + +function findRenderer(): ReactRenderer { + const renderers = hook._renderers; + const keys = Object.keys(renderers); + invariant(keys.length === 1, 'Expected to find exactly one React Native renderer on DevTools hook.'); + return renderers[keys[0]]; } class Inspector extends React.Component { @@ -67,13 +81,10 @@ class Inspector extends React.Component { } componentDidMount() { - if (window.__REACT_DEVTOOLS_GLOBAL_HOOK__) { - (this : any).attachToDevtools = this.attachToDevtools.bind(this); - window.__REACT_DEVTOOLS_GLOBAL_HOOK__.on('react-devtools', this.attachToDevtools); - // if devtools is already started - if (window.__REACT_DEVTOOLS_GLOBAL_HOOK__.reactDevtoolsAgent) { - this.attachToDevtools(window.__REACT_DEVTOOLS_GLOBAL_HOOK__.reactDevtoolsAgent); - } + hook.on('react-devtools', this.attachToDevtools); + // if devtools is already started + if (hook.reactDevtoolsAgent) { + this.attachToDevtools(hook.reactDevtoolsAgent); } } @@ -81,9 +92,7 @@ class Inspector extends React.Component { if (this._subs) { this._subs.map(fn => fn()); } - if (window.__REACT_DEVTOOLS_GLOBAL_HOOK__) { - window.__REACT_DEVTOOLS_GLOBAL_HOOK__.off('react-devtools', this.attachToDevtools); - } + hook.off('react-devtools', this.attachToDevtools); } componentWillReceiveProps(newProps: Object) { @@ -94,12 +103,18 @@ class Inspector extends React.Component { let _hideWait = null; const hlSub = agent.sub('highlight', ({node, name, props}) => { clearTimeout(_hideWait); + + if (typeof node !== 'number') { + // Fiber + node = ReactNative.findNodeHandle(node); + } + UIManager.measure(node, (x, y, width, height, left, top) => { this.setState({ hierarchy: [], inspected: { frame: {left, top, width, height}, - style: props ? props.style : {}, + style: props ? props.style : emptyObject, }, }); }); @@ -126,17 +141,21 @@ class Inspector extends React.Component { }); }; + setSelection(i: number) { - const instance = this.state.hierarchy[i]; - // if we inspect a stateless component we can't use the getPublicInstance method - // therefore we use the internal _instance property directly. - const publicInstance = instance['_instance'] || {}; - const source = instance['_currentElement'] && instance['_currentElement']['_source']; - UIManager.measure(instance.getHostNode(), (x, y, width, height, left, top) => { + const hierarchyItem = this.state.hierarchy[i]; + // we pass in ReactNative.findNodeHandle as the method is injected + const { + measure, + props, + source, + } = hierarchyItem.getInspectorData(ReactNative.findNodeHandle); + + measure((x, y, width, height, left, top) => { this.setState({ inspected: { frame: {left, top, width, height}, - style: publicInstance.props ? publicInstance.props.style : {}, + style: props.style, source, }, selection: i, @@ -144,28 +163,29 @@ class Inspector extends React.Component { }); } - onTouchInstance(touched: Object, frame: Object, pointerY: number) { + onTouchViewTag(touchedViewTag: number, frame: Object, pointerY: number) { // Most likely the touched instance is a native wrapper (like RCTView) // which is not very interesting. Most likely user wants a composite // instance that contains it (like View) - const hierarchy = InspectorUtils.getOwnerHierarchy(touched); - const instance = InspectorUtils.lastNotNativeInstance(hierarchy); + const { + hierarchy, + props, + selection, + source, + } = renderer.getInspectorDataForViewTag(touchedViewTag); if (this.state.devtoolsAgent) { - this.state.devtoolsAgent.selectFromReactInstance(instance, true); + // Skip host leafs + const offsetFromLeaf = hierarchy.length - 1 - selection; + this.state.devtoolsAgent.selectFromDOMNode(touchedViewTag, true, offsetFromLeaf); } - // if we inspect a stateless component we can't use the getPublicInstance method - // therefore we use the internal _instance property directly. - const publicInstance = instance['_instance'] || {}; - const props = publicInstance.props || {}; - const source = instance['_currentElement'] && instance['_currentElement']['_source']; this.setState({ panelPos: pointerY > Dimensions.get('window').height / 2 ? 'top' : 'bottom', - selection: hierarchy.indexOf(instance), + selection, hierarchy, inspected: { - style: props.style || {}, + style: props.style, frame, source, }, @@ -214,7 +234,7 @@ class Inspector extends React.Component { } void, }; static propTypes = { @@ -41,7 +39,7 @@ class InspectorOverlay extends React.Component { style: PropTypes.any, }), inspectedViewTag: PropTypes.number, - onTouchInstance: PropTypes.func.isRequired, + onTouchViewTag: PropTypes.func.isRequired, }; findViewForTouchEvent = (e: EventLike) => { @@ -50,11 +48,7 @@ class InspectorOverlay extends React.Component { this.props.inspectedViewTag, [locationX, locationY], (nativeViewTag, left, top, width, height) => { - var instance = InspectorUtils.findInstanceByNativeTag(nativeViewTag); - if (!instance) { - return; - } - this.props.onTouchInstance(instance, {left, top, width, height}, locationY); + this.props.onTouchViewTag(nativeViewTag, {left, top, width, height}, locationY); } ); }; diff --git a/Libraries/Inspector/InspectorPanel.js b/Libraries/Inspector/InspectorPanel.js index 0704466b1cf5..d2a4c3dbd8d9 100644 --- a/Libraries/Inspector/InspectorPanel.js +++ b/Libraries/Inspector/InspectorPanel.js @@ -15,14 +15,13 @@ const ElementProperties = require('ElementProperties'); const NetworkOverlay = require('NetworkOverlay'); const PerformanceOverlay = require('PerformanceOverlay'); const React = require('React'); +const PropTypes = require('prop-types'); const ScrollView = require('ScrollView'); const StyleSheet = require('StyleSheet'); const Text = require('Text'); const TouchableHighlight = require('TouchableHighlight'); const View = require('View'); -const PropTypes = React.PropTypes; - class InspectorPanel extends React.Component { renderWaiting() { if (this.props.inspecting) { diff --git a/Libraries/Inspector/InspectorUtils.js b/Libraries/Inspector/InspectorUtils.js deleted file mode 100644 index ef43c2d044ac..000000000000 --- a/Libraries/Inspector/InspectorUtils.js +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Copyright (c) 2015-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule InspectorUtils - */ -'use strict'; - -var ReactNativeComponentTree = require('ReactNativeComponentTree'); - -function traverseOwnerTreeUp(hierarchy, instance) { - if (instance) { - hierarchy.unshift(instance); - traverseOwnerTreeUp(hierarchy, instance._currentElement._owner); - } -} - -function findInstanceByNativeTag(nativeTag) { - var instance = ReactNativeComponentTree.getInstanceFromNode(nativeTag); - if (!instance || typeof instance.tag === 'number') { - // TODO(sema): We've disabled the inspector when using Fiber. Fix #15953531 - return null; - } - return instance; -} - -function getOwnerHierarchy(instance) { - var hierarchy = []; - traverseOwnerTreeUp(hierarchy, instance); - return hierarchy; -} - -function lastNotNativeInstance(hierarchy) { - for (let i = hierarchy.length - 1; i > 1; i--) { - const instance = hierarchy[i]; - if (!instance.viewConfig) { - return instance; - } - } - return hierarchy[0]; -} - -module.exports = {findInstanceByNativeTag, getOwnerHierarchy, lastNotNativeInstance}; diff --git a/Libraries/Interaction/BridgeSpyStallHandler.js b/Libraries/Interaction/BridgeSpyStallHandler.js index 920dab5f9db3..78d61c0321ba 100644 --- a/Libraries/Interaction/BridgeSpyStallHandler.js +++ b/Libraries/Interaction/BridgeSpyStallHandler.js @@ -45,7 +45,7 @@ const BridgeSpyStallHandler = { } } return `${info.type === TO_JS ? 'N->JS' : 'JS->N'} : ` + - `${info.module ? (info.module + '.') : ''}${info.method}(${args})`; + `${info.module ? (info.module + '.') : ''}${info.method}(${JSON.stringify(args)})`; }), ); }, diff --git a/Libraries/Interaction/PanResponder.js b/Libraries/Interaction/PanResponder.js index ee5c0edb0828..bc6774e985eb 100644 --- a/Libraries/Interaction/PanResponder.js +++ b/Libraries/Interaction/PanResponder.js @@ -77,7 +77,7 @@ const currentCentroidY = TouchHistoryMath.currentCentroidY; * onMoveShouldSetPanResponderCapture: (evt, gestureState) => true, * * onPanResponderGrant: (evt, gestureState) => { - * // The guesture has started. Show visual feedback so the user knows + * // The gesture has started. Show visual feedback so the user knows * // what is happening! * * // gestureState.d{x,y} will be set to zero now @@ -116,7 +116,7 @@ const currentCentroidY = TouchHistoryMath.currentCentroidY; * ### Working Example * * To see it in action, try the - * [PanResponder example in UIExplorer](https://github.com/facebook/react-native/blob/master/Examples/UIExplorer/js/PanResponderExample.js) + * [PanResponder example in RNTester](https://github.com/facebook/react-native/blob/master/RNTester/js/PanResponderExample.js) */ const PanResponder = { diff --git a/Libraries/Interaction/__tests__/Batchinator-test.js b/Libraries/Interaction/__tests__/Batchinator-test.js index 9ba143073cb1..474dade852b7 100644 --- a/Libraries/Interaction/__tests__/Batchinator-test.js +++ b/Libraries/Interaction/__tests__/Batchinator-test.js @@ -11,7 +11,6 @@ 'use strict'; jest - .disableAutomock() .mock('ErrorUtils') .mock('BatchedBridge'); diff --git a/Libraries/Interaction/__tests__/InteractionManager-test.js b/Libraries/Interaction/__tests__/InteractionManager-test.js index be967e45d3f4..e55fe71047d9 100644 --- a/Libraries/Interaction/__tests__/InteractionManager-test.js +++ b/Libraries/Interaction/__tests__/InteractionManager-test.js @@ -11,7 +11,6 @@ 'use strict'; jest - .disableAutomock() .mock('ErrorUtils') .mock('BatchedBridge'); @@ -164,6 +163,7 @@ describe('promise tasks', () => { } beforeEach(() => { jest.resetModules(); + jest.useFakeTimers(); InteractionManager = require('InteractionManager'); BatchedBridge = require('BatchedBridge'); sequenceId = 0; @@ -256,7 +256,9 @@ describe('promise tasks', () => { expectToBeCalledOnce(task2); }); - const bigAsyncTest = () => { + const bigAsyncTest = (resolve) => { + jest.useRealTimers(); + const task1 = createSequenceTask(1); const task2 = jest.fn(() => { expect(++sequenceId).toBe(2); @@ -282,27 +284,25 @@ describe('promise tasks', () => { InteractionManager.runAfterInteractions({gen: task2, name: 'gen2'}); InteractionManager.runAfterInteractions(task6); - jest.runAllTimers(); - // runAllTimers doesn't actually run all timers with nested timer functions - // inside Promises, so we have to call it extra times. - jest.runAllTimers(); - jest.runAllTimers(); + setTimeout(() => { + expectToBeCalledOnce(task1); + expectToBeCalledOnce(task2); + expectToBeCalledOnce(task3); + expectToBeCalledOnce(task4); + expectToBeCalledOnce(task5); + expectToBeCalledOnce(task6); - expectToBeCalledOnce(task1); - expectToBeCalledOnce(task2); - expectToBeCalledOnce(task3); - expectToBeCalledOnce(task4); - expectToBeCalledOnce(task5); - expectToBeCalledOnce(task6); + resolve(); + }, 100); }; it('resolves async tasks recusively before other queued tasks', () => { - bigAsyncTest(); + return new Promise(bigAsyncTest); }); it('should also work with a deadline', () => { InteractionManager.setDeadline(100); BatchedBridge.getEventLoopRunningTime.mockReturnValue(200); - bigAsyncTest(); + return new Promise(bigAsyncTest); }); }); diff --git a/Libraries/Interaction/__tests__/InteractionMixin-test.js b/Libraries/Interaction/__tests__/InteractionMixin-test.js index 2e379e466bcc..3e41ff652d9f 100644 --- a/Libraries/Interaction/__tests__/InteractionMixin-test.js +++ b/Libraries/Interaction/__tests__/InteractionMixin-test.js @@ -9,7 +9,7 @@ */ 'use strict'; -jest.unmock('InteractionMixin'); +jest.enableAutomock().unmock('InteractionMixin'); describe('InteractionMixin', () => { var InteractionManager; diff --git a/Libraries/Interaction/__tests__/TaskQueue-test.js b/Libraries/Interaction/__tests__/TaskQueue-test.js index 004e10e09240..c9c12100d6db 100644 --- a/Libraries/Interaction/__tests__/TaskQueue-test.js +++ b/Libraries/Interaction/__tests__/TaskQueue-test.js @@ -10,7 +10,7 @@ 'use strict'; -jest.unmock('TaskQueue'); +const Promise = require('promise'); function expectToBeCalledOnce(fn) { expect(fn.mock.calls.length).toBe(1); diff --git a/Libraries/LayoutAnimation/LayoutAnimation.js b/Libraries/LayoutAnimation/LayoutAnimation.js index a6670cab2f25..1b218201b70a 100644 --- a/Libraries/LayoutAnimation/LayoutAnimation.js +++ b/Libraries/LayoutAnimation/LayoutAnimation.js @@ -8,17 +8,18 @@ * * @providesModule LayoutAnimation * @flow + * @format */ 'use strict'; -var UIManager = require('UIManager'); +const PropTypes = require('prop-types'); +const UIManager = require('UIManager'); -var keyMirror = require('fbjs/lib/keyMirror'); +const keyMirror = require('fbjs/lib/keyMirror'); -// $FlowFixMe checkPropTypes not yet landed to Flow -var {checkPropTypes, PropTypes} = require('react'); +const {checkPropTypes} = PropTypes; -var TypesEnum = { +const TypesEnum = { spring: true, linear: true, easeInEaseOut: true, @@ -26,24 +27,23 @@ var TypesEnum = { easeOut: true, keyboard: true, }; -var Types = keyMirror(TypesEnum); +const Types = keyMirror(TypesEnum); -var PropertiesEnum = { +const PropertiesEnum = { opacity: true, scaleXY: true, }; -var Properties = keyMirror(PropertiesEnum); +const Properties = keyMirror(PropertiesEnum); -var animType = PropTypes.shape({ +const animType = PropTypes.shape({ duration: PropTypes.number, delay: PropTypes.number, springDamping: PropTypes.number, initialVelocity: PropTypes.number, - type: PropTypes.oneOf( - Object.keys(Types) - ).isRequired, - property: PropTypes.oneOf( // Only applies to create/delete - Object.keys(Properties) + type: PropTypes.oneOf(Object.keys(Types)).isRequired, + property: PropTypes.oneOf( + // Only applies to create/delete + Object.keys(Properties), ), }); @@ -54,9 +54,9 @@ type Anim = { initialVelocity?: number, type?: $Enum, property?: $Enum, -} +}; -var configType = PropTypes.shape({ +const configType = PropTypes.shape({ duration: PropTypes.number.isRequired, create: animType, update: animType, @@ -68,7 +68,7 @@ type Config = { create?: Anim, update?: Anim, delete?: Anim, -} +}; function checkConfig(config: Config, location: string, name: string) { checkPropTypes({config: configType}, {config}, location, name); @@ -79,7 +79,11 @@ function configureNext(config: Config, onAnimationDidEnd?: Function) { checkConfig(config, 'config', 'LayoutAnimation.configureNext'); } UIManager.configureNextLayoutAnimation( - config, onAnimationDidEnd || function() {}, function() { /* unused */ } + config, + onAnimationDidEnd || function() {}, + function() { + /* unused */ + }, ); } @@ -100,13 +104,9 @@ function create(duration: number, type, creationProp): Config { }; } -var Presets = { - easeInEaseOut: create( - 300, Types.easeInEaseOut, Properties.opacity - ), - linear: create( - 500, Types.linear, Properties.opacity - ), +const Presets = { + easeInEaseOut: create(300, Types.easeInEaseOut, Properties.opacity), + linear: create(500, Types.linear, Properties.opacity), spring: { duration: 700, create: { @@ -134,7 +134,7 @@ var Presets = { * * UIManager.setLayoutAnimationEnabledExperimental && UIManager.setLayoutAnimationEnabledExperimental(true); */ -var LayoutAnimation = { +const LayoutAnimation = { /** * Schedules an animation to happen on the next layout. * @@ -158,15 +158,9 @@ var LayoutAnimation = { Properties, checkConfig, Presets, - easeInEaseOut: configureNext.bind( - null, Presets.easeInEaseOut - ), - linear: configureNext.bind( - null, Presets.linear - ), - spring: configureNext.bind( - null, Presets.spring - ), + easeInEaseOut: configureNext.bind(null, Presets.easeInEaseOut), + linear: configureNext.bind(null, Presets.linear), + spring: configureNext.bind(null, Presets.spring), }; module.exports = LayoutAnimation; diff --git a/Libraries/Linking/Linking.js b/Libraries/Linking/Linking.js index 46318a0eed7f..6c8c690e7922 100644 --- a/Libraries/Linking/Linking.js +++ b/Libraries/Linking/Linking.js @@ -21,6 +21,17 @@ const LinkingManager = Platform.OS === 'android' ? NativeModules.IntentAndroid : NativeModules.LinkingManager; /** + * + * * `Linking` gives you a general interface to interact with both incoming * and outgoing app links. * @@ -55,12 +66,27 @@ const LinkingManager = Platform.OS === 'android' ? * android:launchMode="singleTask"> * ``` * - * NOTE: On iOS you'll need to link `RCTLinking` to your project by following + * NOTE: On iOS, you'll need to link `RCTLinking` to your project by following * the steps described [here](docs/linking-libraries-ios.html#manual-linking). - * In case you also want to listen to incoming app links during your app's - * execution you'll need to add the following lines to you `*AppDelegate.m`: + * If you also want to listen to incoming app links during your app's + * execution, you'll need to add the following lines to your `*AppDelegate.m`: + * + * ``` + * // iOS 9.x or newer + * #import + * + * - (BOOL)application:(UIApplication *)application + * openURL:(NSURL *)url + * options:(NSDictionary *)options + * { + * return [RCTLinkingManager application:application openURL:url options:options]; + * } + * ``` + * + * If you're targeting iOS 8.x or older, you can use the following code instead: * * ``` + * // iOS 8.x or older * #import * * - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url @@ -69,8 +95,13 @@ const LinkingManager = Platform.OS === 'android' ? * return [RCTLinkingManager application:application openURL:url * sourceApplication:sourceApplication annotation:annotation]; * } + * ``` + * + * + * // If your app is using [Universal Links](https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html), + * you'll need to add the following code as well: * - * // Only if your app is using [Universal Links](https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html). + * ``` * - (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity * restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler * { @@ -78,7 +109,6 @@ const LinkingManager = Platform.OS === 'android' ? * continueUserActivity:userActivity * restorationHandler:restorationHandler]; * } - * * ``` * * And then on your React component you'll be able to listen to the events on @@ -142,6 +172,10 @@ class Linking extends NativeEventEmitter { * or "http://maps.apple.com/?ll=37.484847,-122.148386" on iOS), a contact, * or any other URL that can be opened with the installed apps. * + * The method returns a `Promise` object. If the user confirms the open dialog or the + * url automatically opens, the promise is resolved. If the user cancels the open dialog + * or there are no registered applications for the url, the promise is rejected. + * * NOTE: This method will fail if the system doesn't know how to open the specified URL. * If you're passing in a non-http(s) URL, it's best to check {@code canOpenURL} first. * diff --git a/Libraries/LinkingIOS/RCTLinking.xcodeproj/project.pbxproj b/Libraries/LinkingIOS/RCTLinking.xcodeproj/project.pbxproj index 233265be113f..b7ab8f88d800 100644 --- a/Libraries/LinkingIOS/RCTLinking.xcodeproj/project.pbxproj +++ b/Libraries/LinkingIOS/RCTLinking.xcodeproj/project.pbxproj @@ -35,7 +35,10 @@ 134814211AA4EA7D00B7C361 /* Products */, 2D2A28471D9B043800D4039D /* libRCTLinking-tvOS.a */, ); + indentWidth = 2; sourceTree = ""; + tabWidth = 2; + usesTabs = 0; }; /* End PBXGroup section */ diff --git a/Libraries/LinkingIOS/RCTLinkingManager.h b/Libraries/LinkingIOS/RCTLinkingManager.h index b4bb4b5ce5e3..8f5f8b89aa7b 100644 --- a/Libraries/LinkingIOS/RCTLinkingManager.h +++ b/Libraries/LinkingIOS/RCTLinkingManager.h @@ -13,6 +13,10 @@ @interface RCTLinkingManager : RCTEventEmitter ++ (BOOL)application:(UIApplication *)app + openURL:(NSURL *)URL + options:(NSDictionary *)options; + + (BOOL)application:(UIApplication *)application openURL:(NSURL *)URL sourceApplication:(NSString *)sourceApplication diff --git a/Libraries/LinkingIOS/RCTLinkingManager.m b/Libraries/LinkingIOS/RCTLinkingManager.m index d5eb10be1fc4..51a2896cfe49 100644 --- a/Libraries/LinkingIOS/RCTLinkingManager.m +++ b/Libraries/LinkingIOS/RCTLinkingManager.m @@ -13,7 +13,15 @@ #import #import -NSString *const RCTOpenURLNotification = @"RCTOpenURLNotification"; +static NSString *const kOpenURLNotification = @"RCTOpenURLNotification"; + +static void postNotificationWithURL(NSURL *URL, id sender) +{ + NSDictionary *payload = @{@"url": URL.absoluteString}; + [[NSNotificationCenter defaultCenter] postNotificationName:kOpenURLNotification + object:sender + userInfo:payload]; +} @implementation RCTLinkingManager @@ -28,7 +36,7 @@ - (void)startObserving { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleOpenURLNotification:) - name:RCTOpenURLNotification + name:kOpenURLNotification object:nil]; } @@ -42,15 +50,20 @@ - (void)stopObserving return @[@"url"]; } ++ (BOOL)application:(UIApplication *)app + openURL:(NSURL *)URL + options:(NSDictionary *)options +{ + postNotificationWithURL(URL, self); + return YES; +} + + (BOOL)application:(UIApplication *)application openURL:(NSURL *)URL sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { - NSDictionary *payload = @{@"url": URL.absoluteString}; - [[NSNotificationCenter defaultCenter] postNotificationName:RCTOpenURLNotification - object:self - userInfo:payload]; + postNotificationWithURL(URL, self); return YES; } @@ -60,7 +73,7 @@ + (BOOL)application:(UIApplication *)application { if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) { NSDictionary *payload = @{@"url": userActivity.webpageURL.absoluteString}; - [[NSNotificationCenter defaultCenter] postNotificationName:RCTOpenURLNotification + [[NSNotificationCenter defaultCenter] postNotificationName:kOpenURLNotification object:self userInfo:payload]; } diff --git a/Libraries/Lists/FillRateHelper.js b/Libraries/Lists/FillRateHelper.js new file mode 100644 index 000000000000..20f04d112a65 --- /dev/null +++ b/Libraries/Lists/FillRateHelper.js @@ -0,0 +1,240 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule FillRateHelper + * @flow + * @format + */ + +/* eslint-disable no-console-disallow */ + +'use strict'; + +const performanceNow = require('fbjs/lib/performanceNow'); +const warning = require('fbjs/lib/warning'); + +export type FillRateInfo = Info; + +class Info { + any_blank_count = 0; + any_blank_ms = 0; + any_blank_speed_sum = 0; + mostly_blank_count = 0; + mostly_blank_ms = 0; + pixels_blank = 0; + pixels_sampled = 0; + pixels_scrolled = 0; + total_time_spent = 0; + sample_count = 0; +} + +type FrameMetrics = {inLayout?: boolean, length: number, offset: number}; + +const DEBUG = false; + +let _listeners: Array<(Info) => void> = []; +let _minSampleCount = 10; +let _sampleRate = DEBUG ? 1 : null; + +/** + * A helper class for detecting when the maximem fill rate of `VirtualizedList` is exceeded. + * By default the sampling rate is set to zero and this will do nothing. If you want to collect + * samples (e.g. to log them), make sure to call `FillRateHelper.setSampleRate(0.0-1.0)`. + * + * Listeners and sample rate are global for all `VirtualizedList`s - typical usage will combine with + * `SceneTracker.getActiveScene` to determine the context of the events. + */ +class FillRateHelper { + _anyBlankStartTime = (null: ?number); + _enabled = false; + _getFrameMetrics: (index: number) => ?FrameMetrics; + _info = new Info(); + _mostlyBlankStartTime = (null: ?number); + _samplesStartTime = (null: ?number); + + static addListener(callback: FillRateInfo => void): {remove: () => void} { + warning( + _sampleRate !== null, + 'Call `FillRateHelper.setSampleRate` before `addListener`.', + ); + _listeners.push(callback); + return { + remove: () => { + _listeners = _listeners.filter(listener => callback !== listener); + }, + }; + } + + static setSampleRate(sampleRate: number) { + _sampleRate = sampleRate; + } + + static setMinSampleCount(minSampleCount: number) { + _minSampleCount = minSampleCount; + } + + constructor(getFrameMetrics: (index: number) => ?FrameMetrics) { + this._getFrameMetrics = getFrameMetrics; + this._enabled = (_sampleRate || 0) > Math.random(); + this._resetData(); + } + + activate() { + if (this._enabled && this._samplesStartTime == null) { + DEBUG && console.debug('FillRateHelper: activate'); + this._samplesStartTime = performanceNow(); + } + } + + deactivateAndFlush() { + if (!this._enabled) { + return; + } + const start = this._samplesStartTime; // const for flow + if (start == null) { + DEBUG && + console.debug('FillRateHelper: bail on deactivate with no start time'); + return; + } + if (this._info.sample_count < _minSampleCount) { + // Don't bother with under-sampled events. + this._resetData(); + return; + } + const total_time_spent = performanceNow() - start; + const info: any = { + ...this._info, + total_time_spent, + }; + if (DEBUG) { + const derived = { + avg_blankness: this._info.pixels_blank / this._info.pixels_sampled, + avg_speed: this._info.pixels_scrolled / (total_time_spent / 1000), + avg_speed_when_any_blank: + this._info.any_blank_speed_sum / this._info.any_blank_count, + any_blank_per_min: + this._info.any_blank_count / (total_time_spent / 1000 / 60), + any_blank_time_frac: this._info.any_blank_ms / total_time_spent, + mostly_blank_per_min: + this._info.mostly_blank_count / (total_time_spent / 1000 / 60), + mostly_blank_time_frac: this._info.mostly_blank_ms / total_time_spent, + }; + for (const key in derived) { + derived[key] = Math.round(1000 * derived[key]) / 1000; + } + console.debug('FillRateHelper deactivateAndFlush: ', {derived, info}); + } + _listeners.forEach(listener => listener(info)); + this._resetData(); + } + + computeBlankness( + props: { + data: Array, + getItemCount: (data: Array) => number, + initialNumToRender: number, + }, + state: { + first: number, + last: number, + }, + scrollMetrics: { + dOffset: number, + offset: number, + velocity: number, + visibleLength: number, + }, + ): number { + if ( + !this._enabled || + props.getItemCount(props.data) === 0 || + this._samplesStartTime == null + ) { + return 0; + } + const {dOffset, offset, velocity, visibleLength} = scrollMetrics; + + // Denominator metrics that we track for all events - most of the time there is no blankness and + // we want to capture that. + this._info.sample_count++; + this._info.pixels_sampled += Math.round(visibleLength); + this._info.pixels_scrolled += Math.round(Math.abs(dOffset)); + const scrollSpeed = Math.round(Math.abs(velocity) * 1000); // px / sec + + // Whether blank now or not, record the elapsed time blank if we were blank last time. + const now = performanceNow(); + if (this._anyBlankStartTime != null) { + this._info.any_blank_ms += now - this._anyBlankStartTime; + } + this._anyBlankStartTime = null; + if (this._mostlyBlankStartTime != null) { + this._info.mostly_blank_ms += now - this._mostlyBlankStartTime; + } + this._mostlyBlankStartTime = null; + + let blankTop = 0; + let first = state.first; + let firstFrame = this._getFrameMetrics(first); + while (first <= state.last && (!firstFrame || !firstFrame.inLayout)) { + firstFrame = this._getFrameMetrics(first); + first++; + } + // Only count blankTop if we aren't rendering the first item, otherwise we will count the header + // as blank. + if (firstFrame && first > 0) { + blankTop = Math.min( + visibleLength, + Math.max(0, firstFrame.offset - offset), + ); + } + let blankBottom = 0; + let last = state.last; + let lastFrame = this._getFrameMetrics(last); + while (last >= state.first && (!lastFrame || !lastFrame.inLayout)) { + lastFrame = this._getFrameMetrics(last); + last--; + } + // Only count blankBottom if we aren't rendering the last item, otherwise we will count the + // footer as blank. + if (lastFrame && last < props.getItemCount(props.data) - 1) { + const bottomEdge = lastFrame.offset + lastFrame.length; + blankBottom = Math.min( + visibleLength, + Math.max(0, offset + visibleLength - bottomEdge), + ); + } + const pixels_blank = Math.round(blankTop + blankBottom); + const blankness = pixels_blank / visibleLength; + if (blankness > 0) { + this._anyBlankStartTime = now; + this._info.any_blank_speed_sum += scrollSpeed; + this._info.any_blank_count++; + this._info.pixels_blank += pixels_blank; + if (blankness > 0.5) { + this._mostlyBlankStartTime = now; + this._info.mostly_blank_count++; + } + } else if (scrollSpeed < 0.01 || Math.abs(dOffset) < 1) { + this.deactivateAndFlush(); + } + return blankness; + } + + enabled(): boolean { + return this._enabled; + } + + _resetData() { + this._anyBlankStartTime = null; + this._info = new Info(); + this._mostlyBlankStartTime = null; + this._samplesStartTime = null; + } +} + +module.exports = FillRateHelper; diff --git a/Libraries/Lists/FlatList.js b/Libraries/Lists/FlatList.js index f2a7fc524044..5a98157bd058 100644 --- a/Libraries/Lists/FlatList.js +++ b/Libraries/Lists/FlatList.js @@ -8,12 +8,12 @@ * * @providesModule FlatList * @flow + * @format */ 'use strict'; const MetroListView = require('MetroListView'); // Used as a fallback legacy option const React = require('React'); -const ReactNative = require('ReactNative'); const View = require('View'); const VirtualizedList = require('VirtualizedList'); @@ -25,38 +25,69 @@ import type {Props as VirtualizedListProps} from 'VirtualizedList'; type RequiredProps = { /** - * Takes an item from `data` and renders it into the list. Typical usage: + * Takes an item from `data` and renders it into the list. Example usage: * - * _renderItem = ({item}) => ( - * this._onPress(item)}> - * {item.title}} - * - * ); - * ... - * + * ( + * + * )} + * data={[{title: 'Title Text', key: 'item1'}]} + * renderItem={({item, separators}) => ( + * this._onPress(item)} + * onShowUnderlay={separators.highlight} + * onHideUnderlay={separators.unhighlight}> + * + * {item.title} + * + * + * )} + * /> * - * Provides additional metadata like `index` if you need it. + * Provides additional metadata like `index` if you need it, as well as a more generic + * `separators.updateProps` function which let's you set whatever props you want to change the + * rendering of either the leading separator or trailing separator in case the more common + * `highlight` and `unhighlight` (which set the `highlighted: boolean` prop) are insufficient for + * your use-case. */ - renderItem: (info: {item: ItemT, index: number}) => ?React.Element, + renderItem: (info: { + item: ItemT, + index: number, + separators: { + highlight: () => void, + unhighlight: () => void, + updateProps: (select: 'leading' | 'trailing', newProps: Object) => void, + }, + }) => ?React.Element, /** * For simplicity, data is just a plain array. If you want to use something else, like an * immutable list, use the underlying `VirtualizedList` directly. */ - data: ?Array, + data: ?$ReadOnlyArray, }; type OptionalProps = { /** - * Rendered in between each item, but not at the top or bottom. + * Rendered in between each item, but not at the top or bottom. By default, `highlighted` and + * `leadingItem` props are provided. `renderItem` provides `separators.highlight`/`unhighlight` + * which will update the `highlighted` prop, but you can also add custom props with + * `separators.updateProps`. */ ItemSeparatorComponent?: ?ReactClass, /** - * Rendered at the bottom of all the items. + * Rendered when the list is empty. Can be a React Component Class, a render function, or + * a rendered element. */ - ListFooterComponent?: ?ReactClass, + ListEmptyComponent?: ?(ReactClass | React.Element), /** - * Rendered at the top of all the items. + * Rendered at the bottom of all the items. Can be a React Component Class, a render function, or + * a rendered element. */ - ListHeaderComponent?: ?ReactClass, + ListFooterComponent?: ?(ReactClass | React.Element), + /** + * Rendered at the top of all the items. Can be a React Component Class, a render function, or + * a rendered element. + */ + ListHeaderComponent?: ?(ReactClass | React.Element), /** * Optional custom style for multi-item rows generated when numColumns > 1. */ @@ -79,8 +110,10 @@ type OptionalProps = { * Remember to include separator length (height or width) in your offset calculation if you * specify `ItemSeparatorComponent`. */ - getItemLayout?: (data: ?Array, index: number) => - {length: number, offset: number, index: number}, + getItemLayout?: ( + data: ?Array, + index: number, + ) => {length: number, offset: number, index: number}, /** * If true, renders items next to each other horizontally instead of stacked vertically. */ @@ -91,6 +124,17 @@ type OptionalProps = { * to improve perceived performance of scroll-to-top actions. */ initialNumToRender: number, + /** + * Instead of starting at the top with the first item, start at `initialScrollIndex`. This + * disables the "scroll to top" optimization that keeps the first `initialNumToRender` items + * always rendered and immediately renders the items starting at this initial index. Requires + * `getItemLayout` to be implemented. + */ + initialScrollIndex?: ?number, + /** + * Reverses the direction of scroll. Uses scale transforms of -1. + */ + inverted?: ?boolean, /** * Used to extract a unique key for a given item at the specified index. Key is used for caching * and as the react key to track item re-ordering. The default extractor checks `item.key`, then @@ -126,22 +170,33 @@ type OptionalProps = { viewableItems: Array, changed: Array, }) => void, + /** + * Set this when offset is needed for the loading indicator to show correctly. + * @platform android + */ + progressViewOffset?: number, legacyImplementation?: ?boolean, /** * Set this true while waiting for new data from a refresh. */ refreshing?: ?boolean, + /** + * Note: may have bugs (missing content) in some circumstances - use at your own risk. + * + * This may improve scroll performance for large lists. + */ + removeClippedSubviews?: boolean, /** * See `ViewabilityHelper` for flow type and further documentation. */ viewabilityConfig?: ViewabilityConfig, }; -type Props = RequiredProps & OptionalProps & VirtualizedListProps; +type Props = RequiredProps & + OptionalProps & + VirtualizedListProps; const defaultProps = { ...VirtualizedList.defaultProps, - getItem: undefined, - getItemCount: undefined, numColumns: 1, }; type DefaultProps = typeof defaultProps; @@ -205,7 +260,7 @@ type DefaultProps = typeof defaultProps; * this.setState((state) => { * // copy the map rather than modifying state. * const selected = new Map(state.selected); - * selected.set(id, !state.get(id)); // toggle + * selected.set(id, !selected.get(id)); // toggle * return {selected}; * }); * }; @@ -232,22 +287,29 @@ type DefaultProps = typeof defaultProps; * } * * This is a convenience wrapper around [``](docs/virtualizedlist.html), - * and thus inherits it's props that aren't explicitly listed here along with the following caveats: + * and thus inherits its props (as well as those of `ScrollView`) that aren't explicitly listed + * here, along with the following caveats: * * - Internal state is not preserved when content scrolls out of the render window. Make sure all * your data is captured in the item data or external stores like Flux, Redux, or Relay. * - This is a `PureComponent` which means that it will not re-render if `props` remain shallow- - * equal. Make sure that everything your `renderItem` function depends on is passed as a prop that - * is not `===` after updates, otherwise your UI may not update on changes. This includes the - * `data` prop and parent component state. + * equal. Make sure that everything your `renderItem` function depends on is passed as a prop + * (e.g. `extraData`) that is not `===` after updates, otherwise your UI may not update on + * changes. This includes the `data` prop and parent component state. * - In order to constrain memory and enable smooth scrolling, content is rendered asynchronously * offscreen. This means it's possible to scroll faster than the fill rate ands momentarily see * blank content. This is a tradeoff that can be adjusted to suit the needs of each application, * and we are working on improving it behind the scenes. * - By default, the list looks for a `key` prop on each item and uses that for the React key. * Alternatively, you can provide a custom `keyExtractor` prop. + * + * Also inherets [ScrollView Props](docs/scrollview.html#props), unless it is nested in another FlatList of same orientation. */ -class FlatList extends React.PureComponent, void> { +class FlatList extends React.PureComponent< + DefaultProps, + Props, + void, +> { static defaultProps: DefaultProps = defaultProps; props: Props; /** @@ -258,26 +320,40 @@ class FlatList extends React.PureComponent, vo } /** - * Scrolls to the item at a the specified index such that it is positioned in the viewable area + * Scrolls to the item at the specified index such that it is positioned in the viewable area * such that `viewPosition` 0 places it at the top, 1 at the bottom, and 0.5 centered in the - * middle. + * middle. `viewOffset` is a fixed number of pixels to offset the final target position. * - * May be janky without `getItemLayout` prop. + * Note: cannot scroll to locations outside the render window without specifying the + * `getItemLayout` prop. */ - scrollToIndex(params: {animated?: ?boolean, index: number, viewPosition?: number}) { + scrollToIndex(params: { + animated?: ?boolean, + index: number, + viewOffset?: number, + viewPosition?: number, + }) { this._listRef.scrollToIndex(params); } /** - * Requires linear scan through data - use `scrollToIndex` instead if possible. May be janky - * without `getItemLayout` prop. + * Requires linear scan through data - use `scrollToIndex` instead if possible. + * + * Note: cannot scroll to locations outside the render window without specifying the + * `getItemLayout` prop. */ - scrollToItem(params: {animated?: ?boolean, item: ItemT, viewPosition?: number}) { + scrollToItem(params: { + animated?: ?boolean, + item: ItemT, + viewPosition?: number, + }) { this._listRef.scrollToItem(params); } /** - * Scroll to a specific content pixel offset, like a normal `ScrollView`. + * Scroll to a specific content pixel offset in the list. + * + * Check out [scrollToOffset](docs/virtualizedlist.html#scrolltooffset) of VirtualizedList */ scrollToOffset(params: {animated?: ?boolean, offset: number}) { this._listRef.scrollToOffset(params); @@ -292,11 +368,33 @@ class FlatList extends React.PureComponent, vo this._listRef.recordInteraction(); } + /** + * Displays the scroll indicators momentarily. + * + * @platform ios + */ + flashScrollIndicators() { + this._listRef.flashScrollIndicators(); + } + + /** + * Provides a handle to the underlying scroll responder. + */ + getScrollResponder() { + if (this._listRef) { + return this._listRef.getScrollResponder(); + } + } + getScrollableNode() { - if (this._listRef && this._listRef.getScrollableNode) { + if (this._listRef) { return this._listRef.getScrollableNode(); - } else { - return ReactNative.findNodeHandle(this._listRef); + } + } + + setNativeProps(props: Object) { + if (this._listRef) { + this._listRef.setNativeProps(props); } } @@ -308,7 +406,7 @@ class FlatList extends React.PureComponent, vo invariant( nextProps.numColumns === this.props.numColumns, 'Changing numColumns on the fly is not supported. Change the key prop on FlatList when ' + - 'changing the number of columns to force a fresh render of the component.' + 'changing the number of columns to force a fresh render of the component.', ); this._checkProps(nextProps); } @@ -316,7 +414,9 @@ class FlatList extends React.PureComponent, vo _hasWarnedLegacy = false; _listRef: VirtualizedList; - _captureRef = (ref) => { this._listRef = ref; }; + _captureRef = ref => { + this._listRef = ref; + }; _checkProps(props: Props) { const { @@ -327,20 +427,29 @@ class FlatList extends React.PureComponent, vo numColumns, columnWrapperStyle, } = props; - invariant(!getItem && !getItemCount, 'FlatList does not support custom data formats.'); + invariant( + !getItem && !getItemCount, + 'FlatList does not support custom data formats.', + ); if (numColumns > 1) { invariant(!horizontal, 'numColumns does not support horizontal.'); } else { - invariant(!columnWrapperStyle, 'columnWrapperStyle not supported for single column lists'); + invariant( + !columnWrapperStyle, + 'columnWrapperStyle not supported for single column lists', + ); } if (legacyImplementation) { - invariant(numColumns === 1, 'Legacy list does not support multiple columns.'); + invariant( + numColumns === 1, + 'Legacy list does not support multiple columns.', + ); // Warning: may not have full feature parity and is meant more for debugging and performance // comparison. if (!this._hasWarnedLegacy) { console.warn( 'FlatList: Using legacyImplementation - some features not supported and performance ' + - 'may suffer' + 'may suffer', ); this._hasWarnedLegacy = true; } @@ -371,10 +480,12 @@ class FlatList extends React.PureComponent, vo invariant( Array.isArray(items), 'FlatList: Encountered internal consistency error, expected each item to consist of an ' + - 'array with 1-%s columns; instead, received a single item.', + 'array with 1-%s columns; instead, received a single item.', numColumns, ); - return items.map((it, kk) => keyExtractor(it, index * numColumns + kk)).join(':'); + return items + .map((it, kk) => keyExtractor(it, index * numColumns + kk)) + .join(':'); } else { return keyExtractor(items, index); } @@ -389,7 +500,7 @@ class FlatList extends React.PureComponent, vo }); } - _onViewableItemsChanged = (info) => { + _onViewableItemsChanged = info => { const {numColumns, onViewableItemsChanged} = this.props; if (!onViewableItemsChanged) { return; @@ -397,23 +508,32 @@ class FlatList extends React.PureComponent, vo if (numColumns > 1) { const changed = []; const viewableItems = []; - info.viewableItems.forEach((v) => this._pushMultiColumnViewable(viewableItems, v)); - info.changed.forEach((v) => this._pushMultiColumnViewable(changed, v)); + info.viewableItems.forEach(v => + this._pushMultiColumnViewable(viewableItems, v), + ); + info.changed.forEach(v => this._pushMultiColumnViewable(changed, v)); onViewableItemsChanged({viewableItems, changed}); } else { onViewableItemsChanged(info); } }; - _renderItem = (info: {item: ItemT | Array, index: number}) => { + _renderItem = (info: Object) => { const {renderItem, numColumns, columnWrapperStyle} = this.props; if (numColumns > 1) { const {item, index} = info; - invariant(Array.isArray(item), 'Expected array of items with numColumns > 1'); + invariant( + Array.isArray(item), + 'Expected array of items with numColumns > 1', + ); return ( {item.map((it, kk) => { - const element = renderItem({item: it, index: index * numColumns + kk}); + const element = renderItem({ + item: it, + index: index * numColumns + kk, + separators: info.separators, + }); return element && React.cloneElement(element, {key: kk}); })} @@ -425,7 +545,13 @@ class FlatList extends React.PureComponent, vo render() { if (this.props.legacyImplementation) { - return ; + return ( + + ); } else { return ( extends React.PureComponent, vo getItemCount={this._getItemCount} keyExtractor={this._keyExtractor} ref={this._captureRef} - onViewableItemsChanged={this.props.onViewableItemsChanged && this._onViewableItemsChanged} + onViewableItemsChanged={ + this.props.onViewableItemsChanged && this._onViewableItemsChanged + } /> ); } diff --git a/Libraries/Lists/ListView/ListView.js b/Libraries/Lists/ListView/ListView.js index afc38070cabc..d2f9ff2c332a 100644 --- a/Libraries/Lists/ListView/ListView.js +++ b/Libraries/Lists/ListView/ListView.js @@ -8,12 +8,14 @@ * * @providesModule ListView * @flow + * @format */ 'use strict'; var ListViewDataSource = require('ListViewDataSource'); var Platform = require('Platform'); var React = require('React'); +var PropTypes = require('prop-types'); var ReactNative = require('ReactNative'); var RCTScrollViewManager = require('NativeModules').ScrollViewManager; var ScrollView = require('ScrollView'); @@ -23,19 +25,23 @@ var TimerMixin = require('react-timer-mixin'); var View = require('View'); var cloneReferencedElement = require('react-clone-referenced-element'); +var createReactClass = require('create-react-class'); var isEmpty = require('isEmpty'); var merge = require('merge'); -var PropTypes = React.PropTypes; - var DEFAULT_PAGE_SIZE = 1; var DEFAULT_INITIAL_ROWS = 10; var DEFAULT_SCROLL_RENDER_AHEAD = 1000; var DEFAULT_END_REACHED_THRESHOLD = 1000; var DEFAULT_SCROLL_CALLBACK_THROTTLE = 50; - /** + * DEPRECATED - use one of the new list components, such as [`FlatList`](docs/flatlist.html) + * or [`SectionList`](docs/sectionlist.html) for bounded memory use, fewer bugs, + * better performance, an easier to use API, and more features. Check out this + * [blog post](https://facebook.github.io/react-native/blog/2017/03/13/better-list-views.html) + * for more details. + * * ListView - A core component designed for efficient display of vertically * scrolling lists of changing data. The minimal API is to create a * [`ListView.DataSource`](docs/listviewdatasource.html), populate it with a simple @@ -86,7 +92,8 @@ var DEFAULT_SCROLL_CALLBACK_THROTTLE = 50; * rendering rows. */ -var ListView = React.createClass({ +var ListView = createReactClass({ + displayName: 'ListView', _childFrames: ([]: Array), _sentEndForContentLength: (null: ?number), _scrollComponent: (null: any), @@ -166,6 +173,8 @@ var ListView = React.createClass({ * on every render pass. If they are expensive to re-render, wrap them * in StaticContainer or other mechanism as appropriate. Footer is always * at the bottom of the list, and header at the top, on every render pass. + * In a horizontal ListView, the header is rendered on the left and the + * footer on the right. */ renderFooter: PropTypes.func, renderHeader: PropTypes.func, @@ -181,12 +190,12 @@ var ListView = React.createClass({ * A function that returns the scrollable component in which the list rows * are rendered. Defaults to returning a ScrollView with the given props. */ - renderScrollComponent: React.PropTypes.func.isRequired, + renderScrollComponent: PropTypes.func.isRequired, /** * How early to start rendering rows before they come on screen, in * pixels. */ - scrollRenderAheadDistance: React.PropTypes.number.isRequired, + scrollRenderAheadDistance: PropTypes.number.isRequired, /** * (visibleRows, changedRows) => void * @@ -196,13 +205,13 @@ var ListView = React.createClass({ * that have changed their visibility, with true indicating visible, and * false indicating the view has moved out of view. */ - onChangeVisibleRows: React.PropTypes.func, + onChangeVisibleRows: PropTypes.func, /** * A performance optimization for improving scroll perf of * large lists, used in conjunction with overflow: 'hidden' on the row * containers. This is enabled by default. */ - removeClippedSubviews: React.PropTypes.bool, + removeClippedSubviews: PropTypes.bool, /** * Makes the sections headers sticky. The sticky behavior means that it * will scroll with the content at the top of the section until it reaches @@ -211,7 +220,7 @@ var ListView = React.createClass({ * not supported in conjunction with `horizontal={true}`. Only enabled by * default on iOS because of typical platform standards. */ - stickySectionHeadersEnabled: React.PropTypes.bool, + stickySectionHeadersEnabled: PropTypes.bool, /** * An array of child indices determining which children get docked to the * top of the screen when scrolling. For example, passing @@ -234,7 +243,9 @@ var ListView = React.createClass({ getMetrics: function() { return { contentLength: this.scrollProperties.contentLength, - totalRows: (this.props.enableEmptySections ? this.props.dataSource.getRowAndSectionCount() : this.props.dataSource.getRowCount()), + totalRows: this.props.enableEmptySections + ? this.props.dataSource.getRowAndSectionCount() + : this.props.dataSource.getRowCount(), renderedRows: this.state.curRenderedRowsCount, visibleRows: Object.keys(this._visibleRows).length, }; @@ -280,19 +291,30 @@ var ListView = React.createClass({ * * See `ScrollView#scrollToEnd`. */ - scrollToEnd: function(options?: ?{ animated?: ?boolean }) { + scrollToEnd: function(options?: ?{animated?: ?boolean}) { if (this._scrollComponent) { if (this._scrollComponent.scrollToEnd) { this._scrollComponent.scrollToEnd(options); } else { console.warn( 'The scroll component used by the ListView does not support ' + - 'scrollToEnd. Check the renderScrollComponent prop of your ListView.' + 'scrollToEnd. Check the renderScrollComponent prop of your ListView.', ); } } }, + /** + * Displays the scroll indicators momentarily. + * + * @platform ios + */ + flashScrollIndicators: function() { + if (this._scrollComponent && this._scrollComponent.flashScrollIndicators) { + this._scrollComponent.flashScrollIndicators(); + } + }, + setNativeProps: function(props: Object) { if (this._scrollComponent) { this._scrollComponent.setNativeProps(props); @@ -318,7 +340,7 @@ var ListView = React.createClass({ getInitialState: function() { return { curRenderedRowsCount: this.props.initialListSize, - highlightedRow: ({} : Object), + highlightedRow: ({}: Object), }; }, @@ -331,7 +353,7 @@ var ListView = React.createClass({ this.scrollProperties = { visibleLength: null, contentLength: null, - offset: 0 + offset: 0, }; this._childFrames = []; this._visibleRows = {}; @@ -348,20 +370,24 @@ var ListView = React.createClass({ }, componentWillReceiveProps: function(nextProps: Object) { - if (this.props.dataSource !== nextProps.dataSource || - this.props.initialListSize !== nextProps.initialListSize) { - this.setState((state, props) => { - this._prevRenderedRowsCount = 0; - return { - curRenderedRowsCount: Math.min( - Math.max( - state.curRenderedRowsCount, - props.initialListSize + if ( + this.props.dataSource !== nextProps.dataSource || + this.props.initialListSize !== nextProps.initialListSize + ) { + this.setState( + (state, props) => { + this._prevRenderedRowsCount = 0; + return { + curRenderedRowsCount: Math.min( + Math.max(state.curRenderedRowsCount, props.initialListSize), + props.enableEmptySections + ? props.dataSource.getRowAndSectionCount() + : props.dataSource.getRowCount(), ), - props.enableEmptySections ? props.dataSource.getRowAndSectionCount() : props.dataSource.getRowCount() - ), - }; - }, () => this._renderMoreRowsIfNeeded()); + }; + }, + () => this._renderMoreRowsIfNeeded(), + ); } }, @@ -395,26 +421,32 @@ var ListView = React.createClass({ if (rowIDs.length === 0) { if (this.props.enableEmptySections === undefined) { var warning = require('fbjs/lib/warning'); - warning(false, 'In next release empty section headers will be rendered.' - + ' In this release you can use \'enableEmptySections\' flag to render empty section headers.'); + warning( + false, + 'In next release empty section headers will be rendered.' + + " In this release you can use 'enableEmptySections' flag to render empty section headers.", + ); continue; } else { var invariant = require('fbjs/lib/invariant'); invariant( this.props.enableEmptySections, - 'In next release \'enableEmptySections\' flag will be deprecated, empty section headers will always be rendered.' - + ' If empty section headers are not desirable their indices should be excluded from sectionIDs object.' - + ' In this release \'enableEmptySections\' may only have value \'true\' to allow empty section headers rendering.'); + "In next release 'enableEmptySections' flag will be deprecated, empty section headers will always be rendered." + + ' If empty section headers are not desirable their indices should be excluded from sectionIDs object.' + + " In this release 'enableEmptySections' may only have value 'true' to allow empty section headers rendering.", + ); } } if (renderSectionHeader) { const element = renderSectionHeader( dataSource.getSectionHeaderData(sectionIdx), - sectionID + sectionID, ); if (element) { - bodyComponents.push(React.cloneElement(element, {key: 's_' + sectionID})); + bodyComponents.push( + React.cloneElement(element, {key: 's_' + sectionID}), + ); if (this.props.stickySectionHeadersEnabled) { stickySectionHeaderIndices.push(totalIndex); } @@ -425,9 +457,10 @@ var ListView = React.createClass({ for (var rowIdx = 0; rowIdx < rowIDs.length; rowIdx++) { var rowID = rowIDs[rowIdx]; var comboID = sectionID + '_' + rowID; - var shouldUpdateRow = rowCount >= this._prevRenderedRowsCount && + var shouldUpdateRow = + rowCount >= this._prevRenderedRowsCount && dataSource.rowShouldUpdate(sectionIdx, rowIdx); - var row = + var row = ( ; + /> + ); bodyComponents.push(row); totalIndex++; - if (this.props.renderSeparator && - (rowIdx !== rowIDs.length - 1 || sectionIdx === allRowIDs.length - 1)) { + if ( + this.props.renderSeparator && + (rowIdx !== rowIDs.length - 1 || sectionIdx === allRowIDs.length - 1) + ) { var adjacentRowHighlighted = - this.state.highlightedRow.sectionID === sectionID && ( - this.state.highlightedRow.rowID === rowID || - this.state.highlightedRow.rowID === rowIDs[rowIdx + 1] - ); + this.state.highlightedRow.sectionID === sectionID && + (this.state.highlightedRow.rowID === rowID || + this.state.highlightedRow.rowID === rowIDs[rowIdx + 1]); var separator = this.props.renderSeparator( sectionID, rowID, - adjacentRowHighlighted + adjacentRowHighlighted, ); if (separator) { bodyComponents.push( {separator} - + , ); totalIndex++; } @@ -472,10 +507,7 @@ var ListView = React.createClass({ } } - var { - renderScrollComponent, - ...props - } = this.props; + var {renderScrollComponent, ...props} = this.props; if (!props.scrollEventThrottle) { props.scrollEventThrottle = DEFAULT_SCROLL_CALLBACK_THROTTLE; } @@ -484,7 +516,9 @@ var ListView = React.createClass({ } Object.assign(props, { onScroll: this._onScroll, - stickyHeaderIndices: this.props.stickyHeaderIndices.concat(stickySectionHeaderIndices), + stickyHeaderIndices: this.props.stickyHeaderIndices.concat( + stickySectionHeaderIndices, + ), // Do not pass these events downstream to ScrollView since they will be // registered in ListView's own ScrollResponder.Mixin @@ -494,11 +528,19 @@ var ListView = React.createClass({ onKeyboardDidHide: undefined, }); - return cloneReferencedElement(renderScrollComponent(props), { - ref: this._setScrollComponentRef, - onContentSizeChange: this._onContentSizeChange, - onLayout: this._onLayout, - }, header, bodyComponents, footer); + return cloneReferencedElement( + renderScrollComponent(props), + { + ref: this._setScrollComponentRef, + onContentSizeChange: this._onContentSizeChange, + onLayout: this._onLayout, + DEPRECATED_sendUpdatedChildFrames: + typeof props.onChangeVisibleRows !== undefined, + }, + header, + bodyComponents, + footer, + ); }, /** @@ -513,7 +555,8 @@ var ListView = React.createClass({ // RCTScrollViewManager.calculateChildFrames is not available on // every platform - RCTScrollViewManager && RCTScrollViewManager.calculateChildFrames && + RCTScrollViewManager && + RCTScrollViewManager.calculateChildFrames && RCTScrollViewManager.calculateChildFrames( ReactNative.findNodeHandle(scrollComponent), this._updateVisibleRows, @@ -531,7 +574,8 @@ var ListView = React.createClass({ this._updateVisibleRows(); this._renderMoreRowsIfNeeded(); } - this.props.onContentSizeChange && this.props.onContentSizeChange(width, height); + this.props.onContentSizeChange && + this.props.onContentSizeChange(width, height); }, _onLayout: function(event: Object) { @@ -546,10 +590,16 @@ var ListView = React.createClass({ }, _maybeCallOnEndReached: function(event?: Object) { - if (this.props.onEndReached && - this.scrollProperties.contentLength !== this._sentEndForContentLength && - this._getDistanceFromEnd(this.scrollProperties) < this.props.onEndReachedThreshold && - this.state.curRenderedRowsCount === (this.props.enableEmptySections ? this.props.dataSource.getRowAndSectionCount() : this.props.dataSource.getRowCount())) { + if ( + this.props.onEndReached && + this.scrollProperties.contentLength !== this._sentEndForContentLength && + this._getDistanceFromEnd(this.scrollProperties) < + this.props.onEndReachedThreshold && + this.state.curRenderedRowsCount === + (this.props.enableEmptySections + ? this.props.dataSource.getRowAndSectionCount() + : this.props.dataSource.getRowCount()) + ) { this._sentEndForContentLength = this.scrollProperties.contentLength; this.props.onEndReached(event); return true; @@ -558,9 +608,14 @@ var ListView = React.createClass({ }, _renderMoreRowsIfNeeded: function() { - if (this.scrollProperties.contentLength === null || + if ( + this.scrollProperties.contentLength === null || this.scrollProperties.visibleLength === null || - this.state.curRenderedRowsCount === (this.props.enableEmptySections ? this.props.dataSource.getRowAndSectionCount() : this.props.dataSource.getRowCount())) { + this.state.curRenderedRowsCount === + (this.props.enableEmptySections + ? this.props.dataSource.getRowAndSectionCount() + : this.props.dataSource.getRowCount()) + ) { this._maybeCallOnEndReached(); return; } @@ -572,23 +627,32 @@ var ListView = React.createClass({ }, _pageInNewRows: function() { - this.setState((state, props) => { - var rowsToRender = Math.min( - state.curRenderedRowsCount + props.pageSize, - (props.enableEmptySections ? props.dataSource.getRowAndSectionCount() : props.dataSource.getRowCount()) - ); - this._prevRenderedRowsCount = state.curRenderedRowsCount; - return { - curRenderedRowsCount: rowsToRender - }; - }, () => { - this._measureAndUpdateScrollProps(); - this._prevRenderedRowsCount = this.state.curRenderedRowsCount; - }); + this.setState( + (state, props) => { + var rowsToRender = Math.min( + state.curRenderedRowsCount + props.pageSize, + props.enableEmptySections + ? props.dataSource.getRowAndSectionCount() + : props.dataSource.getRowCount(), + ); + this._prevRenderedRowsCount = state.curRenderedRowsCount; + return { + curRenderedRowsCount: rowsToRender, + }; + }, + () => { + this._measureAndUpdateScrollProps(); + this._prevRenderedRowsCount = this.state.curRenderedRowsCount; + }, + ); }, _getDistanceFromEnd: function(scrollProperties: Object) { - return scrollProperties.contentLength - scrollProperties.visibleLength - scrollProperties.offset; + return ( + scrollProperties.contentLength - + scrollProperties.visibleLength - + scrollProperties.offset + ); }, _updateVisibleRows: function(updatedFrames?: Array) { @@ -596,7 +660,7 @@ var ListView = React.createClass({ return; // No need to compute visible rows if there is no callback } if (updatedFrames) { - updatedFrames.forEach((newFrame) => { + updatedFrames.forEach(newFrame => { this._childFrames[newFrame.index] = merge(newFrame); }); } @@ -627,8 +691,10 @@ var ListView = React.createClass({ var rowID = rowIDs[rowIdx]; var frame = this._childFrames[totalIndex]; totalIndex++; - if (this.props.renderSeparator && - (rowIdx !== rowIDs.length - 1 || sectionIdx === allRowIDs.length - 1)){ + if ( + this.props.renderSeparator && + (rowIdx !== rowIDs.length - 1 || sectionIdx === allRowIDs.length - 1) + ) { totalIndex++; } if (!frame) { @@ -637,7 +703,7 @@ var ListView = React.createClass({ var rowVisible = visibleSection[rowID]; var min = isVertical ? frame.y : frame.x; var max = min + (isVertical ? frame.height : frame.width); - if ((!min && !max) || (min === max)) { + if ((!min && !max) || min === max) { break; } if (min > visibleMax || max < visibleMin) { @@ -664,27 +730,28 @@ var ListView = React.createClass({ delete this._visibleRows[sectionID]; } } - visibilityChanged && this.props.onChangeVisibleRows(this._visibleRows, changedRows); + visibilityChanged && + this.props.onChangeVisibleRows(this._visibleRows, changedRows); }, _onScroll: function(e: Object) { var isVertical = !this.props.horizontal; - this.scrollProperties.visibleLength = e.nativeEvent.layoutMeasurement[ - isVertical ? 'height' : 'width' - ]; - this.scrollProperties.contentLength = e.nativeEvent.contentSize[ - isVertical ? 'height' : 'width' - ]; - this.scrollProperties.offset = e.nativeEvent.contentOffset[ - isVertical ? 'y' : 'x' - ]; + this.scrollProperties.visibleLength = + e.nativeEvent.layoutMeasurement[isVertical ? 'height' : 'width']; + this.scrollProperties.contentLength = + e.nativeEvent.contentSize[isVertical ? 'height' : 'width']; + this.scrollProperties.offset = + e.nativeEvent.contentOffset[isVertical ? 'y' : 'x']; this._updateVisibleRows(e.nativeEvent.updatedChildFrames); if (!this._maybeCallOnEndReached(e)) { this._renderMoreRowsIfNeeded(); } - if (this.props.onEndReached && - this._getDistanceFromEnd(this.scrollProperties) > this.props.onEndReachedThreshold) { + if ( + this.props.onEndReached && + this._getDistanceFromEnd(this.scrollProperties) > + this.props.onEndReachedThreshold + ) { // Scrolled out of the end zone, so it should be able to trigger again. this._sentEndForContentLength = null; } diff --git a/Libraries/Lists/ListView/ListViewDataSource.js b/Libraries/Lists/ListView/ListViewDataSource.js index 70bc43d1a272..3675dc396c54 100644 --- a/Libraries/Lists/ListView/ListViewDataSource.js +++ b/Libraries/Lists/ListView/ListViewDataSource.js @@ -8,6 +8,7 @@ * * @providesModule ListViewDataSource * @flow + * @format */ 'use strict'; @@ -18,26 +19,26 @@ var warning = require('fbjs/lib/warning'); function defaultGetRowData( dataBlob: any, sectionID: number | string, - rowID: number | string + rowID: number | string, ): any { return dataBlob[sectionID][rowID]; } function defaultGetSectionHeaderData( dataBlob: any, - sectionID: number | string + sectionID: number | string, ): any { return dataBlob[sectionID]; } -type differType = (data1: any, data2: any) => bool; +type differType = (data1: any, data2: any) => boolean; type ParamType = { rowHasChanged: differType, getRowData?: ?typeof defaultGetRowData, sectionHeaderHasChanged?: ?differType, getSectionHeaderData?: ?typeof defaultGetSectionHeaderData, -} +}; /** * Provides efficient data processing and access to the @@ -61,7 +62,7 @@ type ParamType = { * * ``` * getInitialState: function() { - * var ds = new ListViewDataSource({rowHasChanged: this._rowHasChanged}); + * var ds = new ListView.DataSource({rowHasChanged: this._rowHasChanged}); * return {ds}; * }, * _onDataArrived(newData) { @@ -74,7 +75,6 @@ type ParamType = { */ class ListViewDataSource { - /** * You can provide custom extraction and `hasChanged` functions for section * headers and rows. If absent, data will be extracted with the @@ -103,7 +103,7 @@ class ListViewDataSource { constructor(params: ParamType) { invariant( params && typeof params.rowHasChanged === 'function', - 'Must provide a rowHasChanged function.' + 'Must provide a rowHasChanged function.', ); this._rowHasChanged = params.rowHasChanged; this._getRowData = params.getRowData || defaultGetRowData; @@ -138,11 +138,11 @@ class ListViewDataSource { * handle merging of old and new data separately and then pass that into * this function as the `dataBlob`. */ - cloneWithRows( - dataBlob: Array | {[key: string]: any}, - rowIdentities: ?Array - ): ListViewDataSource { - var rowIds = rowIdentities ? [rowIdentities] : null; + cloneWithRows( + dataBlob: $ReadOnlyArray | {+[key: string]: any}, + rowIdentities: ?$ReadOnlyArray, + ): ListViewDataSource { + var rowIds = rowIdentities ? [[...rowIdentities]] : null; if (!this._sectionHeaderHasChanged) { this._sectionHeaderHasChanged = () => false; } @@ -154,24 +154,34 @@ class ListViewDataSource { * you also specify what your `sectionIdentities` are. If you don't care * about sections you should safely be able to use `cloneWithRows`. * - * `sectionIdentities` is an array of identifiers for sections. - * ie. ['s1', 's2', ...]. If not provided, it's assumed that the + * `sectionIdentities` is an array of identifiers for sections. + * ie. ['s1', 's2', ...]. The identifiers should correspond to the keys or array indexes + * of the data you wish to include. If not provided, it's assumed that the * keys of dataBlob are the section identities. * * Note: this returns a new object! + * + * ``` + * const dataSource = ds.cloneWithRowsAndSections({ + * addresses: ['row 1', 'row 2'], + * phone_numbers: ['data 1', 'data 2'], + * }, ['phone_numbers']); + * ``` */ cloneWithRowsAndSections( - dataBlob: any, - sectionIdentities: ?Array, - rowIdentities: ?Array> + dataBlob: any, + sectionIdentities: ?Array, + rowIdentities: ?Array>, ): ListViewDataSource { invariant( typeof this._sectionHeaderHasChanged === 'function', - 'Must provide a sectionHeaderHasChanged function with section data.' + 'Must provide a sectionHeaderHasChanged function with section data.', ); invariant( - !sectionIdentities || !rowIdentities || sectionIdentities.length === rowIdentities.length, - 'row and section ids lengths must be the same' + !sectionIdentities || + !rowIdentities || + sectionIdentities.length === rowIdentities.length, + 'row and section ids lengths must be the same', ); var newSource = new ListViewDataSource({ @@ -190,7 +200,7 @@ class ListViewDataSource { newSource.rowIdentities = rowIdentities; } else { newSource.rowIdentities = []; - newSource.sectionIdentities.forEach((sectionID) => { + newSource.sectionIdentities.forEach(sectionID => { newSource.rowIdentities.push(Object.keys(dataBlob[sectionID])); }); } @@ -199,27 +209,39 @@ class ListViewDataSource { newSource._calculateDirtyArrays( this._dataBlob, this.sectionIdentities, - this.rowIdentities + this.rowIdentities, ); return newSource; } + /** + * Returns the total number of rows in the data source. + * + * If you are specifying the rowIdentities or sectionIdentities, then `getRowCount` will return the number of rows in the filtered data source. + */ getRowCount(): number { return this._cachedRowCount; } + /** + * Returns the total number of rows in the data source (see `getRowCount` for how this is calculated) plus the number of sections in the data. + * + * If you are specifying the rowIdentities or sectionIdentities, then `getRowAndSectionCount` will return the number of rows & sections in the filtered data source. + */ getRowAndSectionCount(): number { - return (this._cachedRowCount + this.sectionIdentities.length); + return this._cachedRowCount + this.sectionIdentities.length; } /** * Returns if the row is dirtied and needs to be rerendered */ - rowShouldUpdate(sectionIndex: number, rowIndex: number): bool { + rowShouldUpdate(sectionIndex: number, rowIndex: number): boolean { var needsUpdate = this._dirtyRows[sectionIndex][rowIndex]; - warning(needsUpdate !== undefined, - 'missing dirtyBit for section, row: ' + sectionIndex + ', ' + rowIndex); + warning( + needsUpdate !== undefined, + 'missing dirtyBit for section, row: ' + sectionIndex + ', ' + rowIndex, + ); return needsUpdate; } @@ -231,7 +253,7 @@ class ListViewDataSource { var rowID = this.rowIdentities[sectionIndex][rowIndex]; warning( sectionID !== undefined && rowID !== undefined, - 'rendering invalid section, row: ' + sectionIndex + ', ' + rowIndex + 'rendering invalid section, row: ' + sectionIndex + ', ' + rowIndex, ); return this._getRowData(this._dataBlob, sectionID, rowID); } @@ -282,10 +304,12 @@ class ListViewDataSource { /** * Returns if the section header is dirtied and needs to be rerendered */ - sectionHeaderShouldUpdate(sectionIndex: number): bool { + sectionHeaderShouldUpdate(sectionIndex: number): boolean { var needsUpdate = this._dirtySections[sectionIndex]; - warning(needsUpdate !== undefined, - 'missing dirtyBit for section: ' + sectionIndex); + warning( + needsUpdate !== undefined, + 'missing dirtyBit for section: ' + sectionIndex, + ); return needsUpdate; } @@ -297,8 +321,10 @@ class ListViewDataSource { return null; } var sectionID = this.sectionIdentities[sectionIndex]; - warning(sectionID !== undefined, - 'renderSection called on invalid section: ' + sectionIndex); + warning( + sectionID !== undefined, + 'renderSection called on invalid section: ' + sectionIndex, + ); return this._getSectionHeaderData(this._dataBlob, sectionID); } @@ -312,8 +338,8 @@ class ListViewDataSource { _sectionHeaderHasChanged: ?differType; _dataBlob: any; - _dirtyRows: Array>; - _dirtySections: Array; + _dirtyRows: Array>; + _dirtySections: Array; _cachedRowCount: number; // These two 'protected' variables are accessed by ListView to iterate over @@ -324,7 +350,7 @@ class ListViewDataSource { _calculateDirtyArrays( prevDataBlob: any, prevSectionIDs: Array, - prevRowIDs: Array> + prevRowIDs: Array>, ): void { // construct a hashmap of the existing (old) id arrays var prevSectionsHash = keyedDictionaryFromArray(prevSectionIDs); @@ -333,7 +359,7 @@ class ListViewDataSource { var sectionID = prevSectionIDs[ii]; warning( !prevRowsHash[sectionID], - 'SectionID appears more than once: ' + sectionID + 'SectionID appears more than once: ' + sectionID, ); prevRowsHash[sectionID] = keyedDictionaryFromArray(prevRowIDs[ii]); } @@ -351,13 +377,17 @@ class ListViewDataSource { if (!dirty && sectionHeaderHasChanged) { dirty = sectionHeaderHasChanged( this._getSectionHeaderData(prevDataBlob, sectionID), - this._getSectionHeaderData(this._dataBlob, sectionID) + this._getSectionHeaderData(this._dataBlob, sectionID), ); } this._dirtySections.push(!!dirty); this._dirtyRows[sIndex] = []; - for (var rIndex = 0; rIndex < this.rowIdentities[sIndex].length; rIndex++) { + for ( + var rIndex = 0; + rIndex < this.rowIdentities[sIndex].length; + rIndex++ + ) { var rowID = this.rowIdentities[sIndex][rIndex]; // dirty if the section is new, row is new or _rowHasChanged is true dirty = @@ -365,7 +395,7 @@ class ListViewDataSource { !prevRowsHash[sectionID][rowID] || this._rowHasChanged( this._getRowData(prevDataBlob, sectionID, rowID), - this._getRowData(this._dataBlob, sectionID, rowID) + this._getRowData(this._dataBlob, sectionID, rowID), ); this._dirtyRows[sIndex].push(!!dirty); } @@ -395,5 +425,4 @@ function keyedDictionaryFromArray(arr) { return result; } - module.exports = ListViewDataSource; diff --git a/Libraries/Lists/ListView/__mocks__/ListViewMock.js b/Libraries/Lists/ListView/__mocks__/ListViewMock.js index 6e86c8fe6cc9..405dc517d29a 100644 --- a/Libraries/Lists/ListView/__mocks__/ListViewMock.js +++ b/Libraries/Lists/ListView/__mocks__/ListViewMock.js @@ -7,6 +7,7 @@ * of patent rights can be found in the PATENTS file in the same directory. * * @flow + * @format */ 'use strict'; @@ -18,8 +19,8 @@ const StaticRenderer = require('StaticRenderer'); class ListViewMock extends React.Component { static latestRef: ?ListViewMock; static defaultProps = { - renderScrollComponent: (props) => , - } + renderScrollComponent: props => , + }; componentDidMount() { ListViewMock.latestRef = this; } @@ -32,17 +33,18 @@ class ListViewMock extends React.Component { const rowIDs = allRowIDs[sectionIdx]; for (let rowIdx = 0; rowIdx < rowIDs.length; rowIdx++) { const rowID = rowIDs[rowIdx]; + // Row IDs are only unique in a section rows.push( + />, ); } } diff --git a/Libraries/Lists/MetroListView.js b/Libraries/Lists/MetroListView.js index 150b27220aa5..48968cdc5ca1 100644 --- a/Libraries/Lists/MetroListView.js +++ b/Libraries/Lists/MetroListView.js @@ -8,6 +8,7 @@ * * @providesModule MetroListView * @flow + * @format */ 'use strict'; @@ -22,12 +23,13 @@ type Item = any; type NormalProps = { FooterComponent?: ReactClass<*>, - renderItem: ({item: Item, index: number}) => ?React.Element<*>, + renderItem: (info: Object) => ?React.Element<*>, renderSectionHeader?: ({section: Object}) => ?React.Element<*>, SeparatorComponent?: ?ReactClass<*>, // not supported yet // Provide either `items` or `sections` items?: ?Array, // By default, an Item is assumed to be {key: string} + // $FlowFixMe - Something is a little off with the type Array sections?: ?Array<{key: string, data: Array}>, /** @@ -39,10 +41,16 @@ type NormalProps = { * Set this true while waiting for new data from a refresh. */ refreshing?: boolean, + /** + * If true, renders items next to each other horizontally instead of stacked vertically. + */ + horizontal?: ?boolean, }; type DefaultProps = { - keyExtractor: (item: Item) => string, + keyExtractor: (item: Item, index: number) => string, }; +/* $FlowFixMe - the renderItem passed in from SectionList is optional there but + * required here */ type Props = NormalProps & DefaultProps; /** @@ -55,20 +63,45 @@ class MetroListView extends React.Component { scrollToEnd(params?: ?{animated?: ?boolean}) { throw new Error('scrollToEnd not supported in legacy ListView.'); } - scrollToIndex(params: {animated?: ?boolean, index: number, viewPosition?: number}) { + scrollToIndex(params: { + animated?: ?boolean, + index: number, + viewPosition?: number, + }) { throw new Error('scrollToIndex not supported in legacy ListView.'); } - scrollToItem(params: {animated?: ?boolean, item: Item, viewPosition?: number}) { + scrollToItem(params: { + animated?: ?boolean, + item: Item, + viewPosition?: number, + }) { throw new Error('scrollToItem not supported in legacy ListView.'); } + scrollToLocation(params: { + animated?: ?boolean, + itemIndex: number, + sectionIndex: number, + viewOffset?: number, + viewPosition?: number, + }) { + throw new Error('scrollToLocation not supported in legacy ListView.'); + } scrollToOffset(params: {animated?: ?boolean, offset: number}) { const {animated, offset} = params; this._listRef.scrollTo( - this.props.horizontal ? {x: offset, animated} : {y: offset, animated} + this.props.horizontal ? {x: offset, animated} : {y: offset, animated}, ); } + getListRef() { + return this._listRef; + } + setNativeProps(props: Object) { + if (this._listRef) { + this._listRef.setNativeProps(props); + } + } static defaultProps: DefaultProps = { - keyExtractor: (item, index) => item.key || index, + keyExtractor: (item, index) => item.key || String(index), renderScrollComponent: (props: Props) => { if (props.onRefresh) { return ( @@ -87,19 +120,17 @@ class MetroListView extends React.Component { } }, }; - state = this._computeState( - this.props, - { - ds: new ListView.DataSource({ - rowHasChanged: (itemA, itemB) => true, - sectionHeaderHasChanged: () => true, - getSectionHeaderData: (dataBlob, sectionID) => this.state.sectionHeaderData[sectionID], - }), - sectionHeaderData: {}, - }, - ); + state = this._computeState(this.props, { + ds: new ListView.DataSource({ + rowHasChanged: (itemA, itemB) => true, + sectionHeaderHasChanged: () => true, + getSectionHeaderData: (dataBlob, sectionID) => + this.state.sectionHeaderData[sectionID], + }), + sectionHeaderData: {}, + }); componentWillReceiveProps(newProps: Props) { - this.setState((state) => this._computeState(newProps, state)); + this.setState(state => this._computeState(newProps, state)); } render() { return ( @@ -115,7 +146,9 @@ class MetroListView extends React.Component { ); } _listRef: ListView; - _captureRef = (ref) => { this._listRef = ref; }; + _captureRef = ref => { + this._listRef = ref; + }; _computeState(props: Props, state) { const sectionHeaderData = {}; if (props.sections) { @@ -144,10 +177,14 @@ class MetroListView extends React.Component { }; _renderSectionHeader = (section, sectionID) => { const {renderSectionHeader} = this.props; - invariant(renderSectionHeader, 'Must provide renderSectionHeader with sections prop'); + invariant( + renderSectionHeader, + 'Must provide renderSectionHeader with sections prop', + ); return renderSectionHeader({section}); - } - _renderSeparator = (sID, rID) => ; + }; + _renderSeparator = (sID, rID) => + ; } module.exports = MetroListView; diff --git a/Libraries/Lists/SectionList.js b/Libraries/Lists/SectionList.js index f40c978d53ec..1f5e54f4ee43 100644 --- a/Libraries/Lists/SectionList.js +++ b/Libraries/Lists/SectionList.js @@ -8,6 +8,7 @@ * * @providesModule SectionList * @flow + * @format */ 'use strict'; @@ -22,12 +23,27 @@ import type {Props as VirtualizedSectionListProps} from 'VirtualizedSectionList' type Item = any; type SectionBase = { - // Must be provided directly on each section. - data: Array, - key: string, + /** + * The data for rendering items in this section. + */ + data: $ReadOnlyArray, + /** + * Optional key to keep track of section re-ordering. If you don't plan on re-ordering sections, + * the array index will be used by default. + */ + key?: string, // Optional props will override list-wide props just for this section. - renderItem?: ?(info: {item: SectionItemT, index: number}) => ?React.Element, + renderItem?: ?(info: { + item: SectionItemT, + index: number, + section: SectionBase, + separators: { + highlight: () => void, + unhighlight: () => void, + updateProps: (select: 'leading' | 'trailing', newProps: Object) => void, + }, + }) => ?React.Element, ItemSeparatorComponent?: ?ReactClass, keyExtractor?: (item: SectionItemT) => string, @@ -36,28 +52,62 @@ type SectionBase = { }; type RequiredProps> = { - sections: Array, + /** + * The actual data to render, akin to the `data` prop in [``](/react-native/docs/flatlist.html). + * + * General shape: + * + * sections: $ReadOnlyArray<{ + * data: $ReadOnlyArray, + * renderItem?: ({item: SectionItem, ...}) => ?React.Element<*>, + * ItemSeparatorComponent?: ?ReactClass<{highlighted: boolean, ...}>, + * }> + */ + sections: $ReadOnlyArray, }; type OptionalProps> = { /** * Default renderer for every item in every section. Can be over-ridden on a per-section basis. */ - renderItem: (info: {item: Item, index: number}) => ?React.Element, + renderItem: (info: { + item: Item, + index: number, + section: SectionT, + separators: { + highlight: () => void, + unhighlight: () => void, + updateProps: (select: 'leading' | 'trailing', newProps: Object) => void, + }, + }) => ?React.Element, /** - * Rendered in between adjacent Items within each section. + * Rendered in between each item, but not at the top or bottom. By default, `highlighted`, + * `section`, and `[leading/trailing][Item/Separator]` props are provided. `renderItem` provides + * `separators.highlight`/`unhighlight` which will update the `highlighted` prop, but you can also + * add custom props with `separators.updateProps`. */ ItemSeparatorComponent?: ?ReactClass, /** - * Rendered at the very beginning of the list. + * Rendered at the very beginning of the list. Can be a React Component Class, a render function, or + * a rendered element. + */ + ListHeaderComponent?: ?(ReactClass | React.Element), + /** + * Rendered when the list is empty. Can be a React Component Class, a render function, or + * a rendered element. */ - ListHeaderComponent?: ?ReactClass, + ListEmptyComponent?: ?(ReactClass | React.Element), /** - * Rendered at the very end of the list. + * Rendered at the very end of the list. Can be a React Component Class, a render function, or + * a rendered element. */ - ListFooterComponent?: ?ReactClass, + ListFooterComponent?: ?(ReactClass | React.Element), /** - * Rendered in between each section. + * Rendered at the top and bottom of each section (note this is different from + * `ItemSeparatorComponent` which is only rendered between items). These are intended to separate + * sections from the headers above and below and typically have the same highlight response as + * `ItemSeparatorComponent`. Also receives `highlighted`, `[leading/trailing][Item/Separator]`, + * and any custom props from `separators.updateProps`. */ SectionSeparatorComponent?: ?ReactClass, /** @@ -72,10 +122,15 @@ type OptionalProps> = { * to improve perceived performance of scroll-to-top actions. */ initialNumToRender: number, + /** + * Reverses the direction of scroll. Uses scale transforms of -1. + */ + inverted?: ?boolean, /** * Used to extract a unique key for a given item at the specified index. Key is used for caching * and as the react key to track item re-ordering. The default extractor checks item.key, then - * falls back to using the index, like react does. + * falls back to using the index, like react does. Note that this sets keys for each item, but + * each overall section still needs its own key. */ keyExtractor: (item: Item, index: number) => string, /** @@ -108,19 +163,32 @@ type OptionalProps> = { */ refreshing?: ?boolean, /** - * Rendered at the top of each section. Sticky headers are not yet supported. + * Note: may have bugs (missing content) in some circumstances - use at your own risk. + * + * This may improve scroll performance for large lists. + */ + removeClippedSubviews?: boolean, + /** + * Rendered at the top of each section. These stick to the top of the `ScrollView` by default on + * iOS. See `stickySectionHeadersEnabled`. */ renderSectionHeader?: ?(info: {section: SectionT}) => ?React.Element, + /** + * Rendered at the bottom of each section. + */ + renderSectionFooter?: ?(info: {section: SectionT}) => ?React.Element, /** * Makes section headers stick to the top of the screen until the next one pushes it off. Only * enabled by default on iOS because that is the platform standard there. */ stickySectionHeadersEnabled?: boolean, + + legacyImplementation?: ?boolean, }; -type Props = RequiredProps - & OptionalProps - & VirtualizedSectionListProps; +type Props = RequiredProps & + OptionalProps & + VirtualizedSectionListProps; const defaultProps = { ...VirtualizedSectionList.defaultProps, @@ -146,54 +214,127 @@ type DefaultProps = typeof defaultProps; * If you don't need section support and want a simpler interface, use * [``](/react-native/docs/flatlist.html). * - * If you need _sticky_ section header support, use `ListView` for now. - * * Simple Examples: * *

    } + * renderItem={({item}) => } + * renderSectionHeader={({section}) =>
    } * sections={[ // homogenous rendering between sections - * {data: [...], key: ...}, - * {data: [...], key: ...}, - * {data: [...], key: ...}, + * {data: [...], title: ...}, + * {data: [...], title: ...}, + * {data: [...], title: ...}, * ]} * /> * * * - * This is a convenience wrapper around [``](/react-native/docs/virtualizedlist.html), - * and thus inherits the following caveats: + * This is a convenience wrapper around [``](docs/virtualizedlist.html), + * and thus inherits its props (as well as those of `ScrollView`) that aren't explicitly listed + * here, along with the following caveats: * * - Internal state is not preserved when content scrolls out of the render window. Make sure all * your data is captured in the item data or external stores like Flux, Redux, or Relay. * - This is a `PureComponent` which means that it will not re-render if `props` remain shallow- - * equal. Make sure that everything your `renderItem` function depends on is passed as a prop that - * is not `===` after updates, otherwise your UI may not update on changes. This includes the - * `data` prop and parent component state. + * equal. Make sure that everything your `renderItem` function depends on is passed as a prop + * (e.g. `extraData`) that is not `===` after updates, otherwise your UI may not update on + * changes. This includes the `data` prop and parent component state. * - In order to constrain memory and enable smooth scrolling, content is rendered asynchronously - * offscreen. This means it's possible to scroll faster than the fill rate ands momentarily see + * offscreen. This means it's possible to scroll faster than the fill rate and momentarily see * blank content. This is a tradeoff that can be adjusted to suit the needs of each application, * and we are working on improving it behind the scenes. * - By default, the list looks for a `key` prop on each item and uses that for the React key. * Alternatively, you can provide a custom `keyExtractor` prop. + * */ -class SectionList> - extends React.PureComponent, void> -{ +class SectionList> extends React.PureComponent< + DefaultProps, + Props, + void, +> { props: Props; static defaultProps: DefaultProps = defaultProps; + /** + * Scrolls to the item at the specified `sectionIndex` and `itemIndex` (within the section) + * positioned in the viewable area such that `viewPosition` 0 places it at the top (and may be + * covered by a sticky header), 1 at the bottom, and 0.5 centered in the middle. `viewOffset` is a + * fixed number of pixels to offset the final target position, e.g. to compensate for sticky + * headers. + * + * Note: cannot scroll to locations outside the render window without specifying the + * `getItemLayout` prop. + */ + scrollToLocation(params: { + animated?: ?boolean, + itemIndex: number, + sectionIndex: number, + viewOffset?: number, + viewPosition?: number, + }) { + this._wrapperListRef.scrollToLocation(params); + } + + /** + * Tells the list an interaction has occured, which should trigger viewability calculations, e.g. + * if `waitForInteractions` is true and the user has not scrolled. This is typically called by + * taps on items or by navigation actions. + */ + recordInteraction() { + const listRef = this._wrapperListRef && this._wrapperListRef.getListRef(); + listRef && listRef.recordInteraction(); + } + + /** + * Displays the scroll indicators momentarily. + * + * @platform ios + */ + flashScrollIndicators() { + const listRef = this._wrapperListRef && this._wrapperListRef.getListRef(); + listRef && listRef.flashScrollIndicators(); + } + + /** + * Provides a handle to the underlying scroll responder. + */ + getScrollResponder() { + const listRef = this._wrapperListRef && this._wrapperListRef.getListRef(); + if (listRef) { + return listRef.getScrollResponder(); + } + } + + getScrollableNode() { + const listRef = this._wrapperListRef && this._wrapperListRef.getListRef(); + if (listRef) { + return listRef.getScrollableNode(); + } + } + + setNativeProps(props: Object) { + const listRef = this._wrapperListRef && this._wrapperListRef.getListRef(); + if (listRef) { + listRef.setNativeProps(props); + } + } + render() { - const List = this.props.legacyImplementation ? MetroListView : VirtualizedSectionList; - return ; + const List = this.props.legacyImplementation + ? MetroListView + : VirtualizedSectionList; + return ; } + + _wrapperListRef: MetroListView | VirtualizedSectionList; + _captureRef = ref => { + this._wrapperListRef = ref; + }; } module.exports = SectionList; diff --git a/Libraries/Lists/ViewabilityHelper.js b/Libraries/Lists/ViewabilityHelper.js index ee6f353115a4..7108b2b5d2a5 100644 --- a/Libraries/Lists/ViewabilityHelper.js +++ b/Libraries/Lists/ViewabilityHelper.js @@ -8,12 +8,19 @@ * * @providesModule ViewabilityHelper * @flow + * @format */ 'use strict'; const invariant = require('fbjs/lib/invariant'); -export type ViewToken = {item: any, key: string, index: ?number, isViewable: boolean, section?: any}; +export type ViewToken = { + item: any, + key: string, + index: ?number, + isViewable: boolean, + section?: any, +}; export type ViewabilityConfig = {| /** @@ -64,7 +71,9 @@ class ViewabilityHelper { _viewableIndices: Array = []; _viewableItems: Map = new Map(); - constructor(config: ViewabilityConfig = {viewAreaCoveragePercentThreshold: 0}) { + constructor( + config: ViewabilityConfig = {viewAreaCoveragePercentThreshold: 0}, + ) { this._config = config; } @@ -85,14 +94,19 @@ class ViewabilityHelper { getFrameMetrics: (index: number) => ?{length: number, offset: number}, renderRange?: {first: number, last: number}, // Optional optimization to reduce the scan size ): Array { - const {itemVisiblePercentThreshold, viewAreaCoveragePercentThreshold} = this._config; + const { + itemVisiblePercentThreshold, + viewAreaCoveragePercentThreshold, + } = this._config; const viewAreaMode = viewAreaCoveragePercentThreshold != null; - const viewablePercentThreshold = viewAreaMode ? - viewAreaCoveragePercentThreshold : - itemVisiblePercentThreshold; + const viewablePercentThreshold = viewAreaMode + ? viewAreaCoveragePercentThreshold + : itemVisiblePercentThreshold; invariant( viewablePercentThreshold != null && - (itemVisiblePercentThreshold != null) !== (viewAreaCoveragePercentThreshold != null), + itemVisiblePercentThreshold != + null !== + (viewAreaCoveragePercentThreshold != null), 'Must set exactly one of itemVisiblePercentThreshold or viewAreaCoveragePercentThreshold', ); const viewableIndices = []; @@ -103,7 +117,7 @@ class ViewabilityHelper { const {first, last} = renderRange || {first: 0, last: itemCount - 1}; invariant( last < itemCount, - 'Invalid render range ' + JSON.stringify({renderRange, itemCount}) + 'Invalid render range ' + JSON.stringify({renderRange, itemCount}), ); for (let idx = first; idx <= last; idx++) { const metrics = getFrameMetrics(idx); @@ -112,16 +126,18 @@ class ViewabilityHelper { } const top = metrics.offset - scrollOffset; const bottom = top + metrics.length; - if ((top < viewportHeight) && (bottom > 0)) { + if (top < viewportHeight && bottom > 0) { firstVisible = idx; - if (_isViewable( - viewAreaMode, - viewablePercentThreshold, - top, - bottom, - viewportHeight, - metrics.length, - )) { + if ( + _isViewable( + viewAreaMode, + viewablePercentThreshold, + top, + bottom, + viewportHeight, + metrics.length, + ) + ) { viewableIndices.push(idx); } } else if (firstVisible >= 0) { @@ -141,7 +157,10 @@ class ViewabilityHelper { viewportHeight: number, getFrameMetrics: (index: number) => ?{length: number, offset: number}, createViewToken: (index: number, isViewable: boolean) => ViewToken, - onViewableItemsChanged: ({viewableItems: Array, changed: Array}) => void, + onViewableItemsChanged: ({ + viewableItems: Array, + changed: Array, + }) => void, renderRange?: {first: number, last: number}, // Optional optimization to reduce the scan size ): void { const updateTime = Date.now(); @@ -149,7 +168,9 @@ class ViewabilityHelper { // Only count updates after the first item is rendered and has a frame. this._lastUpdateTime = updateTime; } - const updateElapsed = this._lastUpdateTime ? updateTime - this._lastUpdateTime : 0; + const updateElapsed = this._lastUpdateTime + ? updateTime - this._lastUpdateTime + : 0; if (this._config.waitForInteraction && !this._hasInteracted) { return; } @@ -163,25 +184,35 @@ class ViewabilityHelper { renderRange, ); } - if (this._viewableIndices.length === viewableIndices.length && - this._viewableIndices.every((v, ii) => v === viewableIndices[ii])) { + if ( + this._viewableIndices.length === viewableIndices.length && + this._viewableIndices.every((v, ii) => v === viewableIndices[ii]) + ) { // We might get a lot of scroll events where visibility doesn't change and we don't want to do // extra work in those cases. return; } this._viewableIndices = viewableIndices; this._lastUpdateTime = updateTime; - if (this._config.minimumViewTime && updateElapsed < this._config.minimumViewTime) { - const handle = setTimeout( - () => { - this._timers.delete(handle); - this._onUpdateSync(viewableIndices, onViewableItemsChanged, createViewToken); - }, - this._config.minimumViewTime, - ); + if ( + this._config.minimumViewTime && + updateElapsed < this._config.minimumViewTime + ) { + const handle = setTimeout(() => { + this._timers.delete(handle); + this._onUpdateSync( + viewableIndices, + onViewableItemsChanged, + createViewToken, + ); + }, this._config.minimumViewTime); this._timers.add(handle); } else { - this._onUpdateSync(viewableIndices, onViewableItemsChanged, createViewToken); + this._onUpdateSync( + viewableIndices, + onViewableItemsChanged, + createViewToken, + ); } } @@ -192,17 +223,21 @@ class ViewabilityHelper { this._hasInteracted = true; } - _onUpdateSync(viewableIndicesToCheck, onViewableItemsChanged, createViewToken) { + _onUpdateSync( + viewableIndicesToCheck, + onViewableItemsChanged, + createViewToken, + ) { // Filter out indices that have gone out of view since this call was scheduled. - viewableIndicesToCheck = viewableIndicesToCheck.filter( - (ii) => this._viewableIndices.includes(ii) + viewableIndicesToCheck = viewableIndicesToCheck.filter(ii => + this._viewableIndices.includes(ii), ); const prevItems = this._viewableItems; const nextItems = new Map( viewableIndicesToCheck.map(ii => { const viewable = createViewToken(ii, true); return [viewable.key, viewable]; - }) + }), ); const changed = []; @@ -218,12 +253,14 @@ class ViewabilityHelper { } if (changed.length > 0) { this._viewableItems = nextItems; - onViewableItemsChanged({viewableItems: Array.from(nextItems.values()), changed}); + onViewableItemsChanged({ + viewableItems: Array.from(nextItems.values()), + changed, + }); } } } - function _isViewable( viewAreaMode: boolean, viewablePercentThreshold: number, @@ -231,12 +268,13 @@ function _isViewable( bottom: number, viewportHeight: number, itemLength: number, -): bool { +): boolean { if (_isEntirelyVisible(top, bottom, viewportHeight)) { return true; } else { const pixels = _getPixelsVisible(top, bottom, viewportHeight); - const percent = 100 * (viewAreaMode ? pixels / viewportHeight : pixels / itemLength); + const percent = + 100 * (viewAreaMode ? pixels / viewportHeight : pixels / itemLength); return percent >= viewablePercentThreshold; } } @@ -244,7 +282,7 @@ function _isViewable( function _getPixelsVisible( top: number, bottom: number, - viewportHeight: number + viewportHeight: number, ): number { const visibleHeight = Math.min(bottom, viewportHeight) - Math.max(top, 0); return Math.max(0, visibleHeight); @@ -253,8 +291,8 @@ function _getPixelsVisible( function _isEntirelyVisible( top: number, bottom: number, - viewportHeight: number -): bool { + viewportHeight: number, +): boolean { return top >= 0 && bottom <= viewportHeight && bottom > top; } diff --git a/Libraries/Lists/VirtualizeUtils.js b/Libraries/Lists/VirtualizeUtils.js index 9342d41bad67..91cb58e8fde1 100644 --- a/Libraries/Lists/VirtualizeUtils.js +++ b/Libraries/Lists/VirtualizeUtils.js @@ -8,6 +8,7 @@ * * @providesModule VirtualizeUtils * @flow + * @format */ 'use strict'; @@ -33,7 +34,8 @@ function elementsThatOverlapOffsets( if (kk === offsets.length - 1) { invariant( out.length === offsets.length, - 'bad offsets input, should be in increasing order ' + JSON.stringify(offsets) + 'bad offsets input, should be in increasing order ' + + JSON.stringify(offsets), ); return out; } @@ -53,11 +55,15 @@ function newRangeCount( prev: {first: number, last: number}, next: {first: number, last: number}, ): number { - return (next.last - next.first + 1) - + return ( + next.last - + next.first + + 1 - Math.max( 0, - 1 + Math.min(next.last, prev.last) - Math.max(next.first, prev.first) - ); + 1 + Math.min(next.last, prev.last) - Math.max(next.first, prev.first), + ) + ); } /** @@ -75,7 +81,12 @@ function computeWindowedRenderLimits( }, prev: {first: number, last: number}, getFrameMetricsApprox: (index: number) => {length: number, offset: number}, - scrollMetrics: {dt: number, offset: number, velocity: number, visibleLength: number}, + scrollMetrics: { + dt: number, + offset: number, + velocity: number, + visibleLength: number, + }, ): {first: number, last: number} { const {data, getItemCount, maxToRenderPerBatch, windowSize} = props; const itemCount = getItemCount(data); @@ -90,8 +101,17 @@ function computeWindowedRenderLimits( const visibleBegin = Math.max(0, offset); const visibleEnd = visibleBegin + visibleLength; const overscanLength = (windowSize - 1) * visibleLength; - const leadFactor = Math.max(0, Math.min(1, velocity / 5 + 0.5)); - const overscanBegin = Math.max(0, visibleBegin - (1 - leadFactor) * overscanLength); + + // Considering velocity seems to introduce more churn than it's worth. + const leadFactor = 0.5; // Math.max(0, Math.min(1, velocity / 25 + 0.5)); + + const fillPreference = + velocity > 1 ? 'after' : velocity < -1 ? 'before' : 'none'; + + const overscanBegin = Math.max( + 0, + visibleBegin - (1 - leadFactor) * overscanLength, + ); const overscanEnd = Math.max(0, visibleEnd + leadFactor * overscanLength); // Find the indices that correspond to the items at the render boundaries we're targetting. @@ -102,8 +122,11 @@ function computeWindowedRenderLimits( ); overscanFirst = overscanFirst == null ? 0 : overscanFirst; first = first == null ? Math.max(0, overscanFirst) : first; - overscanLast = overscanLast == null ? (itemCount - 1) : overscanLast; - last = last == null ? Math.min(overscanLast, first + maxToRenderPerBatch - 1) : last; + overscanLast = overscanLast == null ? itemCount - 1 : overscanLast; + last = + last == null + ? Math.min(overscanLast, first + maxToRenderPerBatch - 1) + : last; const visible = {first, last}; // We want to limit the number of new cells we're rendering per batch so that we can fill the @@ -119,9 +142,11 @@ function computeWindowedRenderLimits( } const maxNewCells = newCellCount >= maxToRenderPerBatch; const firstWillAddMore = first <= prev.first || first > prev.last; - const firstShouldIncrement = first > overscanFirst && (!maxNewCells || !firstWillAddMore); + const firstShouldIncrement = + first > overscanFirst && (!maxNewCells || !firstWillAddMore); const lastWillAddMore = last >= prev.last || last < prev.first; - const lastShouldIncrement = last < overscanLast && (!maxNewCells || !lastWillAddMore); + const lastShouldIncrement = + last < overscanLast && (!maxNewCells || !lastWillAddMore); if (maxNewCells && !firstShouldIncrement && !lastShouldIncrement) { // We only want to stop if we've hit maxNewCells AND we cannot increment first or last // without rendering new items. This let's us preserve as many already rendered items as @@ -129,27 +154,47 @@ function computeWindowedRenderLimits( // possible. break; } - if (firstShouldIncrement) { + if ( + firstShouldIncrement && + !(fillPreference === 'after' && lastShouldIncrement && lastWillAddMore) + ) { if (firstWillAddMore) { newCellCount++; } first--; } - if (lastShouldIncrement) { + if ( + lastShouldIncrement && + !(fillPreference === 'before' && firstShouldIncrement && firstWillAddMore) + ) { if (lastWillAddMore) { newCellCount++; } last++; } } - if (!( - last >= first && - first >= 0 && last < itemCount && - first >= overscanFirst && last <= overscanLast && - first <= visible.first && last >= visible.last - )) { - throw new Error('Bad window calculation ' + - JSON.stringify({first, last, itemCount, overscanFirst, overscanLast, visible})); + if ( + !( + last >= first && + first >= 0 && + last < itemCount && + first >= overscanFirst && + last <= overscanLast && + first <= visible.first && + last >= visible.last + ) + ) { + throw new Error( + 'Bad window calculation ' + + JSON.stringify({ + first, + last, + itemCount, + overscanFirst, + overscanLast, + visible, + }), + ); } return {first, last}; } diff --git a/Libraries/Lists/VirtualizedList.js b/Libraries/Lists/VirtualizedList.js index 4e039729d6c1..0638a6b20887 100644 --- a/Libraries/Lists/VirtualizedList.js +++ b/Libraries/Lists/VirtualizedList.js @@ -8,26 +8,34 @@ * * @providesModule VirtualizedList * @flow + * @format */ 'use strict'; const Batchinator = require('Batchinator'); +const FillRateHelper = require('FillRateHelper'); +const PropTypes = require('prop-types'); const React = require('React'); const ReactNative = require('ReactNative'); const RefreshControl = require('RefreshControl'); const ScrollView = require('ScrollView'); +const StyleSheet = require('StyleSheet'); const View = require('View'); const ViewabilityHelper = require('ViewabilityHelper'); +const flattenStyle = require('flattenStyle'); const infoLog = require('infoLog'); const invariant = require('fbjs/lib/invariant'); +const warning = require('fbjs/lib/warning'); const {computeWindowedRenderLimits} = require('VirtualizeUtils'); +import type {StyleObj} from 'StyleSheetTypes'; import type {ViewabilityConfig, ViewToken} from 'ViewabilityHelper'; type Item = any; -type renderItemType = (info: {item: Item, index: number}) => ?React.Element; + +type renderItemType = (info: any) => ?React.Element; type RequiredProps = { renderItem: renderItemType, @@ -36,6 +44,14 @@ type RequiredProps = { * getItem, getItemCount, and keyExtractor to handle any type of index-based data. */ data?: any, + /** + * A generic accessor for extracting an item from any sort of data blob. + */ + getItem: (data: any, index: number) => ?Item, + /** + * Determines how many items are in the data blob. + */ + getItemCount: (data: any) => number, }; type OptionalProps = { /** @@ -55,16 +71,10 @@ type OptionalProps = { * `data` prop, stick it here and treat it immutably. */ extraData?: any, - /** - * A generic accessor for extracting an item from any sort of data blob. - */ - getItem: (data: any, index: number) => ?Item, - /** - * Determines how many items are in the data blob. - */ - getItemCount: (data: any) => number, - getItemLayout?: (data: any, index: number) => - {length: number, offset: number, index: number}, // e.g. height, y + getItemLayout?: ( + data: any, + index: number, + ) => {length: number, offset: number, index: number}, // e.g. height, y horizontal?: ?boolean, /** * How many items to render in the initial batch. This should be enough to fill the screen but not @@ -72,7 +82,33 @@ type OptionalProps = { * to improve perceived performance of scroll-to-top actions. */ initialNumToRender: number, + /** + * Instead of starting at the top with the first item, start at `initialScrollIndex`. This + * disables the "scroll to top" optimization that keeps the first `initialNumToRender` items + * always rendered and immediately renders the items starting at this initial index. Requires + * `getItemLayout` to be implemented. + */ + initialScrollIndex?: ?number, + /** + * Reverses the direction of scroll. Uses scale transforms of -1. + */ + inverted?: ?boolean, keyExtractor: (item: Item, index: number) => string, + /** + * Rendered when the list is empty. Can be a React Component Class, a render function, or + * a rendered element. + */ + ListEmptyComponent?: ?(ReactClass | React.Element), + /** + * Rendered at the bottom of all the items. Can be a React Component Class, a render function, or + * a rendered element. + */ + ListFooterComponent?: ?(ReactClass | React.Element), + /** + * Rendered at the top of all the items. Can be a React Component Class, a render function, or + * a rendered element. + */ + ListHeaderComponent?: ?(ReactClass | React.Element), /** * The maximum number of items to render in each incremental render batch. The more rendered at * once, the better the fill rate, but responsiveness my suffer because rendering content may @@ -95,20 +131,25 @@ type OptionalProps = { viewableItems: Array, changed: Array, }) => void, + /** + * Set this when offset is needed for the loading indicator to show correctly. + * @platform android + */ + progressViewOffset?: number, /** * Set this true while waiting for new data from a refresh. */ refreshing?: ?boolean, /** - * A native optimization that removes clipped subviews (those outside the parent) from the view - * hierarchy to offload work from the native rendering system. They are still kept around so no - * memory is saved and state is preserved. + * Note: may have bugs (missing content) in some circumstances - use at your own risk. + * + * This may improve scroll performance for large lists. */ removeClippedSubviews?: boolean, /** * Render a custom scroll component, e.g. with a differently styled `RefreshControl`. */ - renderScrollComponent: (props: Object) => React.Element, + renderScrollComponent?: (props: Object) => React.Element, /** * Amount of time between low-pri item render batches, e.g. for rendering items quite a ways off * screen. Similar fill rate/responsiveness tradeoff as `maxToRenderPerBatch`. @@ -124,6 +165,8 @@ type OptionalProps = { */ windowSize: number, }; +/* $FlowFixMe - this Props seems to be missing a bunch of stuff. Remove this + * comment to see the errors */ export type Props = RequiredProps & OptionalProps; let _usedIndexForKey = false; @@ -147,9 +190,9 @@ type State = {first: number, last: number}; * - Internal state is not preserved when content scrolls out of the render window. Make sure all * your data is captured in the item data or external stores like Flux, Redux, or Relay. * - This is a `PureComponent` which means that it will not re-render if `props` remain shallow- - * equal. Make sure that everything your `renderItem` function depends on is passed as a prop that - * is not `===` after updates, otherwise your UI may not update on changes. This includes the - * `data` prop and parent component state. + * equal. Make sure that everything your `renderItem` function depends on is passed as a prop + * (e.g. `extraData`) that is not `===` after updates, otherwise your UI may not update on + * changes. This includes the `data` prop and parent component state. * - In order to constrain memory and enable smooth scrolling, content is rendered asynchronously * offscreen. This means it's possible to scroll faster than the fill rate ands momentarily see * blank content. This is a tradeoff that can be adjusted to suit the needs of each application, @@ -157,11 +200,6 @@ type State = {first: number, last: number}; * - By default, the list looks for a `key` prop on each item and uses that for the React key. * Alternatively, you can provide a custom `keyExtractor` prop. * - * NOTE: `LayoutAnimation` and sticky section headers both have bugs when used with this and are - * therefore not officially supported yet. - * - * NOTE: `removeClippedSubviews` might not be necessary and may cause bugs. If you see issues with - * content not rendering, try disabling it, and we may change the default there. */ class VirtualizedList extends React.PureComponent { props: Props; @@ -171,37 +209,56 @@ class VirtualizedList extends React.PureComponent { const animated = params ? params.animated : true; const veryLast = this.props.getItemCount(this.props.data) - 1; const frame = this._getFrameMetricsApprox(veryLast); - const offset = frame.offset + frame.length + this._footerLength - - this._scrollMetrics.visibleLength; + const offset = Math.max( + 0, + frame.offset + + frame.length + + this._footerLength - + this._scrollMetrics.visibleLength, + ); this._scrollRef.scrollTo( - this.props.horizontal ? {x: offset, animated} : {y: offset, animated} + this.props.horizontal ? {x: offset, animated} : {y: offset, animated}, ); } // scrollToIndex may be janky without getItemLayout prop - scrollToIndex(params: {animated?: ?boolean, index: number, viewPosition?: number}) { + scrollToIndex(params: { + animated?: ?boolean, + index: number, + viewOffset?: number, + viewPosition?: number, + }) { const {data, horizontal, getItemCount, getItemLayout} = this.props; - const {animated, index, viewPosition} = params; + const {animated, index, viewOffset, viewPosition} = params; invariant( index >= 0 && index < getItemCount(data), `scrollToIndex out of range: ${index} vs ${getItemCount(data) - 1}`, ); invariant( - getItemLayout || index < this._highestMeasuredFrameIndex, + getItemLayout || index <= this._highestMeasuredFrameIndex, 'scrollToIndex should be used in conjunction with getItemLayout, ' + 'otherwise there is no way to know the location of an arbitrary index.', ); const frame = this._getFrameMetricsApprox(index); - const offset = Math.max( - 0, - frame.offset - (viewPosition || 0) * (this._scrollMetrics.visibleLength - frame.length), + const offset = + Math.max( + 0, + frame.offset - + (viewPosition || 0) * + (this._scrollMetrics.visibleLength - frame.length), + ) - (viewOffset || 0); + this._scrollRef.scrollTo( + horizontal ? {x: offset, animated} : {y: offset, animated}, ); - this._scrollRef.scrollTo(horizontal ? {x: offset, animated} : {y: offset, animated}); } // scrollToItem may be janky without getItemLayout prop. Required linear scan through items - // use scrollToIndex instead if possible. - scrollToItem(params: {animated?: ?boolean, item: Item, viewPosition?: number}) { + scrollToItem(params: { + animated?: ?boolean, + item: Item, + viewPosition?: number, + }) { const {item} = params; const {data, getItem, getItemCount} = this.props; const itemCount = getItemCount(data); @@ -213,10 +270,20 @@ class VirtualizedList extends React.PureComponent { } } + /** + * Scroll to a specific content pixel offset in the list. + * + * Param `offset` expects the offset to scroll to. + * In case of `horizontal` is true, the offset is the x-value, + * in any other case the offset is the y-value. + * + * Param `animated` (`true` by default) defines whether the list + * should do an animation while scrolling. + */ scrollToOffset(params: {animated?: ?boolean, offset: number}) { const {animated, offset} = params; this._scrollRef.scrollTo( - this.props.horizontal ? {x: offset, animated} : {y: offset, animated} + this.props.horizontal ? {x: offset, animated} : {y: offset, animated}, ); } @@ -225,6 +292,21 @@ class VirtualizedList extends React.PureComponent { this._updateViewableItems(this.props.data); } + flashScrollIndicators() { + this._scrollRef.flashScrollIndicators(); + } + + /** + * Provides a handle to the underlying scroll responder. + * Note that `this._scrollRef` might not be a `ScrollView`, so we + * need to check that it responds to `getScrollResponder` before calling it. + */ + getScrollResponder() { + if (this._scrollRef && this._scrollRef.getScrollResponder) { + return this._scrollRef.getScrollResponder(); + } + } + getScrollableNode() { if (this._scrollRef && this._scrollRef.getScrollableNode) { return this._scrollRef.getScrollableNode(); @@ -233,10 +315,14 @@ class VirtualizedList extends React.PureComponent { } } + setNativeProps(props: Object) { + if (this._scrollRef) { + this._scrollRef.setNativeProps(props); + } + } + static defaultProps = { disableVirtualization: false, - getItem: (data: any, index: number) => data[index], - getItemCount: (data: any) => data ? data.length : 0, horizontal: false, initialNumToRender: 10, keyExtractor: (item: Item, index: number) => { @@ -247,63 +333,85 @@ class VirtualizedList extends React.PureComponent { return String(index); }, maxToRenderPerBatch: 10, - onEndReached: () => {}, onEndReachedThreshold: 2, // multiples of length - removeClippedSubviews: true, - renderScrollComponent: (props: Props) => { - if (props.onRefresh) { - invariant( - typeof props.refreshing === 'boolean', - '`refreshing` prop must be set as a boolean in order to use `onRefresh`, but got `' + - JSON.stringify(props.refreshing) + '`', - ); - return ( - - } - /> - ); - } else { - return ; - } - }, + scrollEventThrottle: 50, updateCellsBatchingPeriod: 50, windowSize: 21, // multiples of length }; - state: State = { - first: 0, - last: this.props.initialNumToRender, + static contextTypes = { + virtualizedList: PropTypes.shape({ + horizontal: PropTypes.bool, + }), + }; + + static childContextTypes = { + virtualizedList: PropTypes.shape({ + horizontal: PropTypes.bool, + }), }; - constructor(props: Props) { - super(props); + getChildContext() { + return { + virtualizedList: { + horizontal: this.props.horizontal, + // TODO: support nested virtualization and onViewableItemsChanged + }, + }; + } + + state: State; + + constructor(props: Props, context: Object) { + super(props, context); invariant( !props.onScroll || !props.onScroll.__isNative, 'Components based on VirtualizedList must be wrapped with Animated.createAnimatedComponent ' + - 'to support native onScroll events with useNativeDriver', + 'to support native onScroll events with useNativeDriver', + ); + invariant( + !(this._isNestedWithSameOrientation() && props.onViewableItemsChanged), + 'Nesting lists that scroll in the same direction does not support onViewableItemsChanged' + + 'on the inner list.', ); + this._fillRateHelper = new FillRateHelper(this._getFrameMetrics); this._updateCellsToRenderBatcher = new Batchinator( this._updateCellsToRender, this.props.updateCellsBatchingPeriod, ); - this._viewabilityHelper = new ViewabilityHelper(this.props.viewabilityConfig); + this._viewabilityHelper = new ViewabilityHelper( + this.props.viewabilityConfig, + ); this.state = { - first: 0, - last: Math.min(this.props.getItemCount(this.props.data), this.props.initialNumToRender) - 1, + first: this.props.initialScrollIndex || 0, + last: + Math.min( + this.props.getItemCount(this.props.data), + (this.props.initialScrollIndex || 0) + this.props.initialNumToRender, + ) - 1, }; } + componentDidMount() { + if (this.props.initialScrollIndex) { + this._initialScrollIndexTimeout = setTimeout( + () => + this.scrollToIndex({ + animated: false, + index: this.props.initialScrollIndex, + }), + 0, + ); + } + } + componentWillUnmount() { this._updateViewableItems(null); this._updateCellsToRenderBatcher.dispose(); this._viewabilityHelper.dispose(); + this._fillRateHelper.deactivateAndFlush(); + clearTimeout(this._initialScrollIndexTimeout); } componentWillReceiveProps(newProps: Props) { @@ -311,13 +419,18 @@ class VirtualizedList extends React.PureComponent { // first and last could be stale (e.g. if a new, shorter items props is passed in), so we make // sure we're rendering a reasonable range here. this.setState({ - first: Math.max(0, Math.min(this.state.first, getItemCount(data) - 1 - maxToRenderPerBatch)), + first: Math.max( + 0, + Math.min( + this.state.first, + getItemCount(data) - 1 - maxToRenderPerBatch, + ), + ), last: Math.max(0, Math.min(this.state.last, getItemCount(data) - 1)), }); if (data !== this.props.data || extraData !== this.props.extraData) { this._hasDataChangedSinceEndReached = true; } - this._updateCellsToRenderBatcher.schedule(); } _pushCells( @@ -326,10 +439,18 @@ class VirtualizedList extends React.PureComponent { stickyIndicesFromProps: Set, first: number, last: number, + inversionStyle: ?StyleObj, ) { - const {ItemSeparatorComponent, data, getItem, getItemCount, keyExtractor} = this.props; + const { + ItemSeparatorComponent, + data, + getItem, + getItemCount, + keyExtractor, + } = this.props; const stickyOffset = this.props.ListHeaderComponent ? 1 : 0; const end = getItemCount(data) - 1; + let prevCellKey; last = Math.min(end, last); for (let ii = first; ii <= last; ii++) { const item = getItem(data, ii); @@ -340,42 +461,103 @@ class VirtualizedList extends React.PureComponent { } cells.push( this._onCellLayout(e, key, ii)} + prevCellKey={prevCellKey} + onUpdateSeparators={this._onUpdateSeparators} + onLayout={e => this._onCellLayout(e, key, ii)} onUnmount={this._onCellUnmount} parentProps={this.props} - /> + ref={ref => { + this._cellRefs[key] = ref; + }} + />, ); - if (ItemSeparatorComponent && ii < end) { - cells.push(); - } + prevCellKey = key; } } + + _onUpdateSeparators = (keys: Array, newProps: Object) => { + keys.forEach(key => { + const ref = key != null && this._cellRefs[key]; + ref && ref.updateSeparatorProps(newProps); + }); + }; + + _isVirtualizationDisabled(): boolean { + return ( + this.props.disableVirtualization || this._isNestedWithSameOrientation() + ); + } + + _isNestedWithSameOrientation(): boolean { + const nestedContext = this.context.virtualizedList; + return !!( + nestedContext && !!nestedContext.horizontal === !!this.props.horizontal + ); + } + render() { - const {ListFooterComponent, ListHeaderComponent} = this.props; - const {data, disableVirtualization, horizontal} = this.props; + if (__DEV__) { + const flatStyles = flattenStyle(this.props.contentContainerStyle); + warning( + flatStyles == null || flatStyles.flexWrap !== 'wrap', + '`flexWrap: `wrap`` is not supported with the `VirtualizedList` components.' + + 'Consider using `numColumns` with `FlatList` instead.', + ); + } + + const { + ListEmptyComponent, + ListFooterComponent, + ListHeaderComponent, + } = this.props; + const {data, horizontal} = this.props; + const isVirtualizationDisabled = this._isVirtualizationDisabled(); + const inversionStyle = this.props.inverted + ? this.props.horizontal + ? styles.horizontallyInverted + : styles.verticallyInverted + : null; const cells = []; const stickyIndicesFromProps = new Set(this.props.stickyHeaderIndices); const stickyHeaderIndices = []; if (ListHeaderComponent) { + const element = React.isValidElement(ListHeaderComponent) + ? ListHeaderComponent // $FlowFixMe + : ; cells.push( - - - + + {element} + , ); } const itemCount = this.props.getItemCount(data); if (itemCount > 0) { _usedIndexForKey = false; const spacerKey = !horizontal ? 'height' : 'width'; - const lastInitialIndex = this.props.initialNumToRender - 1; + const lastInitialIndex = this.props.initialScrollIndex + ? -1 + : this.props.initialNumToRender - 1; const {first, last} = this.state; - this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, 0, lastInitialIndex); + this._pushCells( + cells, + stickyHeaderIndices, + stickyIndicesFromProps, + 0, + lastInitialIndex, + inversionStyle, + ); const firstAfterInitial = Math.max(lastInitialIndex + 1, first); - if (!disableVirtualization && first > lastInitialIndex + 1) { + if (!isVirtualizationDisabled && first > lastInitialIndex + 1) { let insertedStickySpacer = false; if (stickyIndicesFromProps.size > 0) { const stickyOffset = ListHeaderComponent ? 1 : 0; @@ -384,15 +566,24 @@ class VirtualizedList extends React.PureComponent { if (stickyIndicesFromProps.has(ii + stickyOffset)) { const initBlock = this._getFrameMetricsApprox(lastInitialIndex); const stickyBlock = this._getFrameMetricsApprox(ii); - const leadSpace = stickyBlock.offset - (initBlock.offset + initBlock.length); + const leadSpace = + stickyBlock.offset - (initBlock.offset + initBlock.length); cells.push( - + , + ); + this._pushCells( + cells, + stickyHeaderIndices, + stickyIndicesFromProps, + ii, + ii, + inversionStyle, ); - this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, ii, ii); - const trailSpace = this._getFrameMetricsApprox(first).offset - + const trailSpace = + this._getFrameMetricsApprox(first).offset - (stickyBlock.offset + stickyBlock.length); cells.push( - + , ); insertedStickySpacer = true; break; @@ -401,78 +592,129 @@ class VirtualizedList extends React.PureComponent { } if (!insertedStickySpacer) { const initBlock = this._getFrameMetricsApprox(lastInitialIndex); - const firstSpace = this._getFrameMetricsApprox(first).offset - + const firstSpace = + this._getFrameMetricsApprox(first).offset - (initBlock.offset + initBlock.length); cells.push( - + , ); } } - this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, firstAfterInitial, last); + this._pushCells( + cells, + stickyHeaderIndices, + stickyIndicesFromProps, + firstAfterInitial, + last, + inversionStyle, + ); if (!this._hasWarned.keys && _usedIndexForKey) { console.warn( 'VirtualizedList: missing keys for items, make sure to specify a key property on each ' + - 'item or provide a custom keyExtractor.' + 'item or provide a custom keyExtractor.', ); this._hasWarned.keys = true; } - if (!disableVirtualization && last < itemCount - 1) { + if (!isVirtualizationDisabled && last < itemCount - 1) { const lastFrame = this._getFrameMetricsApprox(last); // Without getItemLayout, we limit our tail spacer to the _highestMeasuredFrameIndex to // prevent the user for hyperscrolling into un-measured area because otherwise content will // likely jump around as it renders in above the viewport. - const end = this.props.getItemLayout ? - itemCount - 1 : - Math.min(itemCount - 1, this._highestMeasuredFrameIndex); + const end = this.props.getItemLayout + ? itemCount - 1 + : Math.min(itemCount - 1, this._highestMeasuredFrameIndex); const endFrame = this._getFrameMetricsApprox(end); const tailSpacerLength = - (endFrame.offset + endFrame.length) - + endFrame.offset + + endFrame.length - (lastFrame.offset + lastFrame.length); cells.push( - + , ); } + } else if (ListEmptyComponent) { + const element = React.isValidElement(ListEmptyComponent) + ? ListEmptyComponent // $FlowFixMe + : ; + cells.push( + + {element} + , + ); } if (ListFooterComponent) { + const element = React.isValidElement(ListFooterComponent) + ? ListFooterComponent // $FlowFixMe + : ; cells.push( - - - + + {element} + , ); } + const scrollProps = { + ...this.props, + onContentSizeChange: this._onContentSizeChange, + onLayout: this._onLayout, + onScroll: this._onScroll, + onScrollBeginDrag: this._onScrollBeginDrag, + onScrollEndDrag: this._onScrollEndDrag, + onMomentumScrollEnd: this._onMomentumScrollEnd, + scrollEventThrottle: this.props.scrollEventThrottle, // TODO: Android support + stickyHeaderIndices, + }; + if (inversionStyle) { + scrollProps.style = [inversionStyle, this.props.style]; + } const ret = React.cloneElement( - this.props.renderScrollComponent(this.props), + (this.props.renderScrollComponent || this._defaultRenderScrollComponent)( + scrollProps, + ), { - onContentSizeChange: this._onContentSizeChange, - onLayout: this._onLayout, - onScroll: this._onScroll, - onScrollBeginDrag: this._onScrollBeginDrag, ref: this._captureScrollRef, - scrollEventThrottle: 50, // TODO: Android support - stickyHeaderIndices, }, cells, ); if (this.props.debug) { - return {ret}{this._renderDebugOverlay()}; + return ( + + {ret} + {this._renderDebugOverlay()} + + ); } else { return ret; } } componentDidUpdate() { - this._updateCellsToRenderBatcher.schedule(); + this._scheduleCellsToRenderUpdate(); } _averageCellLength = 0; + _cellRefs = {}; _hasDataChangedSinceEndReached = true; _hasWarned = {}; _highestMeasuredFrameIndex = 0; _headerLength = 0; + _initialScrollIndexTimeout = 0; + _fillRateHelper: FillRateHelper; _frames = {}; _footerLength = 0; _scrollMetrics = { - visibleLength: 0, contentLength: 0, offset: 0, dt: 10, velocity: 0, timestamp: 0, + contentLength: 0, + dOffset: 0, + dt: 10, + offset: 0, + timestamp: 0, + velocity: 0, + visibleLength: 0, }; _scrollRef = (null: any); _sentEndForContentLength = 0; @@ -481,10 +723,45 @@ class VirtualizedList extends React.PureComponent { _updateCellsToRenderBatcher: Batchinator; _viewabilityHelper: ViewabilityHelper; - _captureScrollRef = (ref) => { + _captureScrollRef = ref => { this._scrollRef = ref; }; + _computeBlankness() { + this._fillRateHelper.computeBlankness( + this.props, + this.state, + this._scrollMetrics, + ); + } + + _defaultRenderScrollComponent = props => { + if (this._isNestedWithSameOrientation()) { + return ; + } else if (props.onRefresh) { + invariant( + typeof props.refreshing === 'boolean', + '`refreshing` prop must be set as a boolean in order to use `onRefresh`, but got `' + + JSON.stringify(props.refreshing) + + '`', + ); + return ( + + } + /> + ); + } else { + return ; + } + }; + _onCellLayout(e, cellKey, index) { const layout = e.nativeEvent.layout; const next = { @@ -494,20 +771,26 @@ class VirtualizedList extends React.PureComponent { inLayout: true, }; const curr = this._frames[cellKey]; - if (!curr || + if ( + !curr || next.offset !== curr.offset || next.length !== curr.length || index !== curr.index ) { this._totalCellLength += next.length - (curr ? curr.length : 0); - this._totalCellsMeasured += (curr ? 0 : 1); - this._averageCellLength = this._totalCellLength / this._totalCellsMeasured; + this._totalCellsMeasured += curr ? 0 : 1; + this._averageCellLength = + this._totalCellLength / this._totalCellsMeasured; this._frames[cellKey] = next; - this._highestMeasuredFrameIndex = Math.max(this._highestMeasuredFrameIndex, index); - this._updateCellsToRenderBatcher.schedule(); + this._highestMeasuredFrameIndex = Math.max( + this._highestMeasuredFrameIndex, + index, + ); + this._scheduleCellsToRenderUpdate(); } else { this._frames[cellKey].inLayout = true; } + this._computeBlankness(); } _onCellUnmount = (cellKey: string) => { @@ -518,21 +801,29 @@ class VirtualizedList extends React.PureComponent { }; _onLayout = (e: Object) => { - this._scrollMetrics.visibleLength = this._selectLength(e.nativeEvent.layout); + this._scrollMetrics.visibleLength = this._selectLength( + e.nativeEvent.layout, + ); this.props.onLayout && this.props.onLayout(e); - this._updateCellsToRenderBatcher.schedule(); + this._scheduleCellsToRenderUpdate(); + this._maybeCallOnEndReached(); }; - _onLayoutFooter = (e) => { + _onLayoutEmpty = e => { + this.props.onLayout && this.props.onLayout(e); + }; + + _onLayoutFooter = e => { this._footerLength = this._selectLength(e.nativeEvent.layout); }; - _onLayoutHeader = (e) => { + _onLayoutHeader = e => { this._headerLength = this._selectLength(e.nativeEvent.layout); }; _renderDebugOverlay() { - const normalize = this._scrollMetrics.visibleLength / this._scrollMetrics.contentLength; + const normalize = + this._scrollMetrics.visibleLength / this._scrollMetrics.contentLength; const framesInLayout = []; const itemCount = this.props.getItemCount(this.props.data); for (let ii = 0; ii < itemCount; ii++) { @@ -548,32 +839,46 @@ class VirtualizedList extends React.PureComponent { const visLen = this._scrollMetrics.visibleLength; const baseStyle = {position: 'absolute', top: 0, right: 0}; return ( - + {framesInLayout.map((f, ii) => - , + )} + - )} - - + top: windowTop * normalize, + height: windowLen * normalize, + borderColor: 'green', + borderWidth: 2, + }} + /> + ); } @@ -586,12 +891,36 @@ class VirtualizedList extends React.PureComponent { return !this.props.horizontal ? metrics.y : metrics.x; } + _maybeCallOnEndReached() { + const { + data, + getItemCount, + onEndReached, + onEndReachedThreshold, + } = this.props; + const {contentLength, visibleLength, offset} = this._scrollMetrics; + const distanceFromEnd = contentLength - visibleLength - offset; + if ( + onEndReached && + this.state.last === getItemCount(data) - 1 && + distanceFromEnd < onEndReachedThreshold * visibleLength && + (this._hasDataChangedSinceEndReached || + this._scrollMetrics.contentLength !== this._sentEndForContentLength) + ) { + // Only call onEndReached once for a given dataset + content length. + this._hasDataChangedSinceEndReached = false; + this._sentEndForContentLength = this._scrollMetrics.contentLength; + onEndReached({distanceFromEnd}); + } + } + _onContentSizeChange = (width: number, height: number) => { if (this.props.onContentSizeChange) { this.props.onContentSizeChange(width, height); } this._scrollMetrics.contentLength = this._selectLength({height, width}); - this._updateCellsToRenderBatcher.schedule(); + this._scheduleCellsToRenderUpdate(); + this._maybeCallOnEndReached(); }; _onScroll = (e: Object) => { @@ -602,75 +931,133 @@ class VirtualizedList extends React.PureComponent { const visibleLength = this._selectLength(e.nativeEvent.layoutMeasurement); const contentLength = this._selectLength(e.nativeEvent.contentSize); const offset = this._selectOffset(e.nativeEvent.contentOffset); - const dt = Math.max(1, timestamp - this._scrollMetrics.timestamp); - if (dt > 500 && this._scrollMetrics.dt > 500 && (contentLength > (5 * visibleLength)) && - !this._hasWarned.perf) { + const dt = this._scrollMetrics.timestamp + ? Math.max(1, timestamp - this._scrollMetrics.timestamp) + : 1; + if ( + dt > 500 && + this._scrollMetrics.dt > 500 && + contentLength > 5 * visibleLength && + !this._hasWarned.perf + ) { infoLog( 'VirtualizedList: You have a large list that is slow to update - make sure your ' + - 'renderItem function renders components that follow React performance best practices ' + - 'like PureComponent, shouldComponentUpdate, etc.', + 'renderItem function renders components that follow React performance best practices ' + + 'like PureComponent, shouldComponentUpdate, etc.', {dt, prevDt: this._scrollMetrics.dt, contentLength}, ); this._hasWarned.perf = true; } const dOffset = offset - this._scrollMetrics.offset; const velocity = dOffset / dt; - this._scrollMetrics = {contentLength, dt, offset, timestamp, velocity, visibleLength}; - const {data, getItemCount, onEndReached, onEndReachedThreshold, windowSize} = this.props; - this._updateViewableItems(data); - if (!data) { + this._scrollMetrics = { + contentLength, + dt, + dOffset, + offset, + timestamp, + velocity, + visibleLength, + }; + this._updateViewableItems(this.props.data); + if (!this.props) { return; } - const distanceFromEnd = contentLength - visibleLength - offset; - const itemCount = getItemCount(data); - if (this.state.last === itemCount - 1 && - distanceFromEnd < onEndReachedThreshold * visibleLength && - (this._hasDataChangedSinceEndReached || - this._scrollMetrics.contentLength !== this._sentEndForContentLength)) { - // Only call onEndReached once for a given dataset + content length. - this._hasDataChangedSinceEndReached = false; - this._sentEndForContentLength = this._scrollMetrics.contentLength; - onEndReached({distanceFromEnd}); + this._maybeCallOnEndReached(); + if (velocity !== 0) { + this._fillRateHelper.activate(); } + this._computeBlankness(); + this._scheduleCellsToRenderUpdate(); + }; + + _scheduleCellsToRenderUpdate() { const {first, last} = this.state; - if ((first > 0 && velocity < 0) || (last < itemCount - 1 && velocity > 0)) { - const distanceToContentEdge = Math.min( - Math.abs(this._getFrameMetricsApprox(first).offset - offset), - Math.abs(this._getFrameMetricsApprox(last).offset - (offset + visibleLength)), - ); - const hiPri = distanceToContentEdge < (windowSize * visibleLength / 4); - if (hiPri) { - // Don't worry about interactions when scrolling quickly; focus on filling content as fast - // as possible. - this._updateCellsToRenderBatcher.dispose({abort: true}); - this._updateCellsToRender(); - return; - } + const {offset, visibleLength, velocity} = this._scrollMetrics; + const itemCount = this.props.getItemCount(this.props.data); + let hiPri = false; + if (first > 0 || last < itemCount - 1) { + const distTop = offset - this._getFrameMetricsApprox(first).offset; + const distBottom = + this._getFrameMetricsApprox(last).offset - (offset + visibleLength); + const scrollingThreshold = + this.props.onEndReachedThreshold * visibleLength / 2; + hiPri = + Math.min(distTop, distBottom) < 0 || + (velocity < -2 && distTop < scrollingThreshold) || + (velocity > 2 && distBottom < scrollingThreshold); } - this._updateCellsToRenderBatcher.schedule(); - }; + // Only trigger high-priority updates if we've actually rendered cells, + // and with that size estimate, accurately compute how many cells we should render. + // Otherwise, it would just render as many cells as it can (of zero dimension), + // each time through attempting to render more (limited by maxToRenderPerBatch), + // starving the renderer from actually laying out the objects and computing _averageCellLength. + if (hiPri && this._averageCellLength) { + // Don't worry about interactions when scrolling quickly; focus on filling content as fast + // as possible. + this._updateCellsToRenderBatcher.dispose({abort: true}); + this._updateCellsToRender(); + return; + } else { + this._updateCellsToRenderBatcher.schedule(); + } + } _onScrollBeginDrag = (e): void => { this._viewabilityHelper.recordInteraction(); this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e); }; + + _onScrollEndDrag = (e): void => { + const {velocity} = e.nativeEvent; + if (velocity) { + this._scrollMetrics.velocity = this._selectOffset(velocity); + } + this._computeBlankness(); + this.props.onScrollEndDrag && this.props.onScrollEndDrag(e); + }; + + _onMomentumScrollEnd = (e): void => { + this._scrollMetrics.velocity = 0; + this._computeBlankness(); + this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e); + }; + _updateCellsToRender = () => { - const {data, disableVirtualization, getItemCount, onEndReachedThreshold} = this.props; + const {data, getItemCount, onEndReachedThreshold} = this.props; + const isVirtualizationDisabled = this._isVirtualizationDisabled(); this._updateViewableItems(data); if (!data) { return; } - this.setState((state) => { + this.setState(state => { let newState; - if (!disableVirtualization) { - newState = computeWindowedRenderLimits( - this.props, state, this._getFrameMetricsApprox, this._scrollMetrics, - ); + if (!isVirtualizationDisabled) { + // If we run this with bogus data, we'll force-render window {first: 0, last: 0}, + // and wipe out the initialNumToRender rendered elements. + // So let's wait until the scroll view metrics have been set up. And until then, + // we will trust the initialNumToRender suggestion + if (this._scrollMetrics.visibleLength) { + // If we have a non-zero initialScrollIndex and run this before we've scrolled, + // we'll wipe out the initialNumToRender rendered elements starting at initialScrollIndex. + // So let's wait until we've scrolled the view to the right place. And until then, + // we will trust the initialScrollIndex suggestion. + if (!this.props.initialScrollIndex || this._scrollMetrics.offset) { + newState = computeWindowedRenderLimits( + this.props, + state, + this._getFrameMetricsApprox, + this._scrollMetrics, + ); + } + } } else { const {contentLength, offset, visibleLength} = this._scrollMetrics; const distanceFromEnd = contentLength - visibleLength - offset; - const renderAhead = distanceFromEnd < onEndReachedThreshold * visibleLength ? - this.props.maxToRenderPerBatch : 0; + const renderAhead = + distanceFromEnd < onEndReachedThreshold * visibleLength + ? this.props.maxToRenderPerBatch + : 0; newState = { first: 0, last: Math.min(state.last + renderAhead, getItemCount(data) - 1), @@ -687,15 +1074,18 @@ class VirtualizedList extends React.PureComponent { return {index, item, key: keyExtractor(item, index), isViewable}; }; - _getFrameMetricsApprox = (index: number): {length: number, offset: number} => { + _getFrameMetricsApprox = ( + index: number, + ): {length: number, offset: number} => { const frame = this._getFrameMetrics(index); - if (frame && frame.index === index) { // check for invalid frames due to row re-ordering + if (frame && frame.index === index) { + // check for invalid frames due to row re-ordering return frame; } else { const {getItemLayout} = this.props; invariant( !getItemLayout, - 'Should not have to estimate frames when a measurement metrics function is provided' + 'Should not have to estimate frames when a measurement metrics function is provided', ); return { length: this._averageCellLength, @@ -704,14 +1094,43 @@ class VirtualizedList extends React.PureComponent { } }; - _getFrameMetrics = (index: number): ?{length: number, offset: number, index: number} => { - const {data, getItem, getItemCount, getItemLayout, keyExtractor} = this.props; - invariant(getItemCount(data) > index, 'Tried to get frame for out of range index ' + index); + _getFrameMetrics = ( + index: number, + ): ?{ + length: number, + offset: number, + index: number, + inLayout?: boolean, + } => { + const { + data, + getItem, + getItemCount, + getItemLayout, + keyExtractor, + } = this.props; + invariant( + getItemCount(data) > index, + 'Tried to get frame for out of range index ' + index, + ); const item = getItem(data, index); let frame = item && this._frames[keyExtractor(item, index)]; if (!frame || frame.index !== index) { if (getItemLayout) { frame = getItemLayout(data, index); + if (__DEV__) { + const frameType = PropTypes.shape({ + length: PropTypes.number.isRequired, + offset: PropTypes.number.isRequired, + index: PropTypes.number.isRequired, + }).isRequired; + PropTypes.checkPropTypes( + {frame: frameType}, + {frame}, + 'frame', + 'VirtualizedList.getItemLayout', + ); + } } } return frame; @@ -736,35 +1155,102 @@ class VirtualizedList extends React.PureComponent { class CellRenderer extends React.Component { props: { + ItemSeparatorComponent: ?ReactClass<*>, cellKey: string, + fillRateHelper: FillRateHelper, index: number, + inversionStyle: ?StyleObj, item: Item, onLayout: (event: Object) => void, // This is extracted by ScrollViewStickyHeader onUnmount: (cellKey: string) => void, + onUpdateSeparators: (cellKeys: Array, props: Object) => void, parentProps: { - renderItem: renderItemType, getItemLayout?: ?Function, + renderItem: renderItemType, + }, + prevCellKey: ?string, + }; + + state = { + separatorProps: { + highlighted: false, + leadingItem: this.props.item, + }, + }; + + // TODO: consider factoring separator stuff out of VirtualizedList into FlatList since it's not + // reused by SectionList and we can keep VirtualizedList simpler. + _separators = { + highlight: () => { + const {cellKey, prevCellKey} = this.props; + this.props.onUpdateSeparators([cellKey, prevCellKey], { + highlighted: true, + }); + }, + unhighlight: () => { + const {cellKey, prevCellKey} = this.props; + this.props.onUpdateSeparators([cellKey, prevCellKey], { + highlighted: false, + }); + }, + updateProps: (select: 'leading' | 'trailing', newProps: Object) => { + const {cellKey, prevCellKey} = this.props; + this.props.onUpdateSeparators( + [select === 'leading' ? prevCellKey : cellKey], + newProps, + ); }, }; + + updateSeparatorProps(newProps: Object) { + this.setState(state => ({ + separatorProps: {...state.separatorProps, ...newProps}, + })); + } + componentWillUnmount() { this.props.onUnmount(this.props.cellKey); } + render() { - const {item, index, parentProps} = this.props; + const { + ItemSeparatorComponent, + fillRateHelper, + item, + index, + inversionStyle, + parentProps, + } = this.props; const {renderItem, getItemLayout} = parentProps; invariant(renderItem, 'no renderItem!'); - const element = renderItem({item, index}); - if (getItemLayout && !parentProps.debug) { - return element; - } + const element = renderItem({ + item, + index, + separators: this._separators, + }); + const onLayout = + getItemLayout && !parentProps.debug && !fillRateHelper.enabled() + ? undefined + : this.props.onLayout; // NOTE: that when this is a sticky header, `onLayout` will get automatically extracted and // called explicitly by `ScrollViewStickyHeader`. return ( - + {element} + {ItemSeparatorComponent && + } ); } } +const styles = StyleSheet.create({ + verticallyInverted: { + transform: [{scaleY: -1}], + }, + horizontallyInverted: { + transform: [{scaleX: -1}], + }, +}); + module.exports = VirtualizedList; diff --git a/Libraries/Lists/VirtualizedSectionList.js b/Libraries/Lists/VirtualizedSectionList.js index 9d6752e48265..c48d7657f656 100644 --- a/Libraries/Lists/VirtualizedSectionList.js +++ b/Libraries/Lists/VirtualizedSectionList.js @@ -8,6 +8,7 @@ * * @providesModule VirtualizedSectionList * @flow + * @format */ 'use strict'; @@ -16,7 +17,6 @@ const View = require('View'); const VirtualizedList = require('VirtualizedList'); const invariant = require('fbjs/lib/invariant'); -const warning = require('fbjs/lib/warning'); import type {ViewToken} from 'ViewabilityHelper'; import type {Props as VirtualizedListProps} from 'VirtualizedList'; @@ -26,13 +26,22 @@ type SectionItem = any; type SectionBase = { // Must be provided directly on each section. - data: Array, - key: string, + data: $ReadOnlyArray, + key?: string, // Optional props will override list-wide props just for this section. - renderItem?: ?({item: SectionItem, index: number}) => ?React.Element<*>, + renderItem?: ?({ + item: SectionItem, + index: number, + section: SectionBase, + separators: { + highlight: () => void, + unhighlight: () => void, + updateProps: (select: 'leading' | 'trailing', newProps: Object) => void, + }, + }) => ?React.Element<*>, ItemSeparatorComponent?: ?ReactClass<*>, - keyExtractor?: (item: SectionItem) => string, + keyExtractor?: (item: SectionItem, index: ?number) => string, // TODO: support more optional/override props // FooterComponent?: ?ReactClass<*>, @@ -41,26 +50,39 @@ type SectionBase = { }; type RequiredProps = { - sections: Array, + sections: $ReadOnlyArray, }; type OptionalProps = { /** * Rendered after the last item in the last section. */ - ListFooterComponent?: ?ReactClass<*>, + ListFooterComponent?: ?(ReactClass<*> | React.Element<*>), /** * Rendered at the very beginning of the list. */ - ListHeaderComponent?: ?ReactClass<*>, + ListHeaderComponent?: ?(ReactClass<*> | React.Element<*>), /** * Default renderer for every item in every section. */ - renderItem: ({item: Item, index: number}) => ?React.Element<*>, + renderItem: (info: { + item: Item, + index: number, + section: SectionT, + separators: { + highlight: () => void, + unhighlight: () => void, + updateProps: (select: 'leading' | 'trailing', newProps: Object) => void, + }, + }) => ?React.Element, /** * Rendered at the top of each section. */ renderSectionHeader?: ?({section: SectionT}) => ?React.Element<*>, + /** + * Rendered at the bottom of each section. + */ + renderSectionFooter?: ?({section: SectionT}) => ?React.Element<*>, /** * Rendered at the bottom of every Section, except the very last one, in place of the normal * ItemSeparatorComponent. @@ -87,19 +109,23 @@ type OptionalProps = { * Called when the viewability of rows changes, as defined by the * `viewabilityConfig` prop. */ - onViewableItemsChanged?: ?({viewableItems: Array, changed: Array}) => void, + onViewableItemsChanged?: ?({ + viewableItems: Array, + changed: Array, + }) => void, /** * Set this true while waiting for new data from a refresh. */ refreshing?: ?boolean, }; -export type Props = - RequiredProps & +export type Props = RequiredProps & OptionalProps & VirtualizedListProps; -type DefaultProps = (typeof VirtualizedList.defaultProps) & {data: Array}; +type DefaultProps = typeof VirtualizedList.defaultProps & { + data: $ReadOnlyArray, +}; type State = {childProps: VirtualizedListProps}; /** @@ -107,9 +133,11 @@ type State = {childProps: VirtualizedListProps}; * hood. The only operation that might not scale well is concatting the data arrays of all the * sections when new props are received, which should be plenty fast for up to ~10,000 items. */ -class VirtualizedSectionList - extends React.PureComponent, State> -{ +class VirtualizedSectionList extends React.PureComponent< + DefaultProps, + Props, + State, +> { props: Props; state: State; @@ -119,6 +147,27 @@ class VirtualizedSectionList data: [], }; + scrollToLocation(params: { + animated?: ?boolean, + itemIndex: number, + sectionIndex: number, + viewPosition?: number, + }) { + let index = params.itemIndex + 1; + for (let ii = 0; ii < params.sectionIndex; ii++) { + index += this.props.sections[ii].data.length + 2; + } + const toIndexParams = { + ...params, + index, + }; + this._listRef.scrollToIndex(toIndexParams); + } + + getListRef(): VirtualizedList { + return this._listRef; + } + _keyExtractor = (item: Item, index: number) => { const info = this._subExtractor(index); return (info && info.key) || String(index); @@ -130,27 +179,46 @@ class VirtualizedSectionList section: SectionT, key: string, // Key of the section or combined key for section + item index: ?number, // Relative index within the section + header?: ?boolean, // True if this is the section header + leadingItem?: ?Item, + leadingSection?: ?SectionT, + trailingItem?: ?Item, + trailingSection?: ?SectionT, } { let itemIndex = index; const defaultKeyExtractor = this.props.keyExtractor; for (let ii = 0; ii < this.props.sections.length; ii++) { const section = this.props.sections[ii]; - const key = section.key; - warning( - key != null, - 'VirtualizedSectionList: A `section` you supplied is missing the `key` property.' - ); - itemIndex -= 1; // The section itself is an item - if (itemIndex >= section.data.length) { - itemIndex -= section.data.length; + const key = section.key || String(ii); + itemIndex -= 1; // The section adds an item for the header + if (itemIndex >= section.data.length + 1) { + itemIndex -= section.data.length + 1; // The section adds an item for the footer. } else if (itemIndex === -1) { - return {section, key, index: null}; + return { + section, + key: key + ':header', + index: null, + header: true, + trailingSection: this.props.sections[ii + 1], + }; + } else if (itemIndex === section.data.length) { + return { + section, + key: key + ':footer', + index: null, + header: false, + trailingSection: this.props.sections[ii + 1], + }; } else { const keyExtractor = section.keyExtractor || defaultKeyExtractor; return { section, key: key + ':' + keyExtractor(section.data[itemIndex], itemIndex), index: itemIndex, + leadingItem: section.data[itemIndex - 1], + leadingSection: this.props.sections[ii - 1], + trailingItem: section.data[itemIndex + 1], + trailingSection: this.props.sections[ii + 1], }; } } @@ -171,48 +239,83 @@ class VirtualizedSectionList }; }; - _onViewableItemsChanged = ( - {viewableItems, changed}: {viewableItems: Array, changed: Array} - ) => { + _onViewableItemsChanged = ({ + viewableItems, + changed, + }: { + viewableItems: Array, + changed: Array, + }) => { if (this.props.onViewableItemsChanged) { this.props.onViewableItemsChanged({ - viewableItems: viewableItems.map(this._convertViewable, this).filter(Boolean), + viewableItems: viewableItems + .map(this._convertViewable, this) + .filter(Boolean), changed: changed.map(this._convertViewable, this).filter(Boolean), }); } - } + }; _renderItem = ({item, index}: {item: Item, index: number}) => { const info = this._subExtractor(index); if (!info) { return null; - } else if (info.index == null) { - const {renderSectionHeader} = this.props; - return renderSectionHeader ? renderSectionHeader({section: info.section}) : null; + } + const infoIndex = info.index; + if (infoIndex == null) { + const {section} = info; + if (info.header === true) { + const {renderSectionHeader} = this.props; + return renderSectionHeader ? renderSectionHeader({section}) : null; + } else { + const {renderSectionFooter} = this.props; + return renderSectionFooter ? renderSectionFooter({section}) : null; + } } else { - const renderItem = info.section.renderItem || - this.props.renderItem; + const renderItem = info.section.renderItem || this.props.renderItem; const SeparatorComponent = this._getSeparatorComponent(index, info); invariant(renderItem, 'no renderItem!'); return ( - - {renderItem({item, index: info.index || 0})} - {SeparatorComponent && } - + { + this._cellRefs[info.key] = ref; + }} + renderItem={renderItem} + section={info.section} + trailingItem={info.trailingItem} + trailingSection={info.trailingSection} + /> ); } }; + _onUpdateSeparator = (key: string, newProps: Object) => { + const ref = this._cellRefs[key]; + ref && ref.updateSeparatorProps(newProps); + }; + _getSeparatorComponent(index: number, info?: ?Object): ?ReactClass<*> { info = info || this._subExtractor(index); if (!info) { return null; } - const ItemSeparatorComponent = info.section.ItemSeparatorComponent || this.props.ItemSeparatorComponent; + const ItemSeparatorComponent = + info.section.ItemSeparatorComponent || this.props.ItemSeparatorComponent; const {SectionSeparatorComponent} = this.props; const isLastItemInList = index === this.state.childProps.getItemCount() - 1; const isLastItemInSection = info.index === info.section.data.length - 1; - if (SectionSeparatorComponent && isLastItemInSection && !isLastItemInList) { + if (SectionSeparatorComponent && isLastItemInSection) { return SectionSeparatorComponent; } if (ItemSeparatorComponent && !isLastItemInSection && !isLastItemInList) { @@ -224,13 +327,11 @@ class VirtualizedSectionList _computeState(props: Props): State { const offset = props.ListHeaderComponent ? 1 : 0; const stickyHeaderIndices = []; - const itemCount = props.sections.reduce( - (v, section) => { - stickyHeaderIndices.push(v + offset); - return v + section.data.length + 1; - }, - 0 - ); + const itemCount = props.sections.reduce((v, section) => { + stickyHeaderIndices.push(v + offset); + return v + section.data.length + 2; // Add two for the section header and footer. + }, 0); + return { childProps: { ...props, @@ -240,9 +341,12 @@ class VirtualizedSectionList getItemCount: () => itemCount, getItem, keyExtractor: this._keyExtractor, - onViewableItemsChanged: - props.onViewableItemsChanged ? this._onViewableItemsChanged : undefined, - stickyHeaderIndices: props.stickySectionHeadersEnabled ? stickyHeaderIndices : undefined, + onViewableItemsChanged: props.onViewableItemsChanged + ? this._onViewableItemsChanged + : undefined, + stickyHeaderIndices: props.stickySectionHeadersEnabled + ? stickyHeaderIndices + : undefined, }, }; } @@ -257,22 +361,132 @@ class VirtualizedSectionList } render() { - return ; + return ( + + ); + } + + _cellRefs = {}; + _listRef: VirtualizedList; + _captureRef = ref => { + this._listRef = ref; + }; +} + +class ItemWithSeparator extends React.Component { + props: { + LeadingSeparatorComponent: ?ReactClass<*>, + SeparatorComponent: ?ReactClass<*>, + cellKey: string, + index: number, + item: Item, + onUpdateSeparator: (cellKey: string, newProps: Object) => void, + prevCellKey?: ?string, + renderItem: Function, + section: Object, + leadingItem: ?Item, + leadingSection: ?Object, + trailingItem: ?Item, + trailingSection: ?Object, + }; + + state = { + separatorProps: { + highlighted: false, + leadingItem: this.props.item, + leadingSection: this.props.leadingSection, + section: this.props.section, + trailingItem: this.props.trailingItem, + trailingSection: this.props.trailingSection, + }, + leadingSeparatorProps: { + highlighted: false, + leadingItem: this.props.leadingItem, + leadingSection: this.props.leadingSection, + section: this.props.section, + trailingItem: this.props.item, + trailingSection: this.props.trailingSection, + }, + }; + + _separators = { + highlight: () => { + ['leading', 'trailing'].forEach(s => + this._separators.updateProps(s, {highlighted: true}), + ); + }, + unhighlight: () => { + ['leading', 'trailing'].forEach(s => + this._separators.updateProps(s, {highlighted: false}), + ); + }, + updateProps: (select: 'leading' | 'trailing', newProps: Object) => { + const {LeadingSeparatorComponent, cellKey, prevCellKey} = this.props; + if (select === 'leading' && LeadingSeparatorComponent) { + this.setState(state => ({ + leadingSeparatorProps: {...state.leadingSeparatorProps, ...newProps}, + })); + } else { + this.props.onUpdateSeparator( + (select === 'leading' && prevCellKey) || cellKey, + newProps, + ); + } + }, + }; + + updateSeparatorProps(newProps: Object) { + this.setState(state => ({ + separatorProps: {...state.separatorProps, ...newProps}, + })); + } + + render() { + const { + LeadingSeparatorComponent, + SeparatorComponent, + item, + index, + section, + } = this.props; + const element = this.props.renderItem({ + item, + index, + section, + separators: this._separators, + }); + const leadingSeparator = + LeadingSeparatorComponent && + ; + const separator = + SeparatorComponent && + ; + return leadingSeparator || separator + ? + {leadingSeparator} + {element} + {separator} + + : element; } } -function getItem(sections: ?Array, index: number): ?Item { +function getItem(sections: ?$ReadOnlyArray, index: number): ?Item { if (!sections) { return null; } let itemIdx = index - 1; for (let ii = 0; ii < sections.length; ii++) { - if (itemIdx === -1) { - return sections[ii]; // The section itself is the item + if (itemIdx === -1 || itemIdx === sections[ii].data.length) { + // We intend for there to be overflow by one on both ends of the list. + // This will be for headers and footers. When returning a header or footer + // item the section itself is the item. + return sections[ii]; } else if (itemIdx < sections[ii].data.length) { + // If we are in the bounds of the list's data then return the item. return sections[ii].data[itemIdx]; } else { - itemIdx -= (sections[ii].data.length + 1); + itemIdx -= sections[ii].data.length + 2; // Add two for the header and footer } } return null; diff --git a/Libraries/Lists/__flowtests__/FlatList-flowtest.js b/Libraries/Lists/__flowtests__/FlatList-flowtest.js index b77b88b22a22..02d744f676dd 100644 --- a/Libraries/Lists/__flowtests__/FlatList-flowtest.js +++ b/Libraries/Lists/__flowtests__/FlatList-flowtest.js @@ -7,6 +7,7 @@ * of patent rights can be found in the PATENTS file in the same directory. * * @flow + * @format */ 'use strict'; @@ -20,60 +21,82 @@ function renderMyListItem(info: {item: {title: string}, index: number}) { module.exports = { testEverythingIsFine() { - const data = [{ - title: 'Title Text', - key: 1, - }]; + const data = [ + { + title: 'Title Text', + key: 1, + }, + ]; return ; }, testBadDataWithTypicalItem() { - // $FlowExpectedError - bad title type 6, should be string - const data = [{ - title: 6, - key: 1, - }]; + const data = [ + { + // $FlowExpectedError - bad title type 6, should be string + title: 6, + key: 1, + }, + ]; return ; }, testMissingFieldWithTypicalItem() { - const data = [{ - key: 1, - }]; + const data = [ + { + key: 1, + }, + ]; // $FlowExpectedError - missing title return ; }, testGoodDataWithBadCustomRenderItemFunction() { - const data = [{ - widget: 6, - key: 1, - }]; + const data = [ + { + widget: 6, + key: 1, + }, + ]; return ( - // $FlowExpectedError - bad widgetCount type 6, should be Object - {info.item.widget.missingProp} - } + renderItem={info => + + { + // $FlowExpectedError - bad widgetCount type 6, should be Object + info.item.widget.missingProp + } + } data={data} /> ); }, testBadRenderItemFunction() { - const data = [{ - title: 'foo', - key: 1, - }]; + const data = [ + { + title: 'foo', + key: 1, + }, + ]; return [ // $FlowExpectedError - title should be inside `item` - } data={data} />, - // $FlowExpectedError - bad index type string, should be number - } data={data} />, - // $FlowExpectedError - bad title type number, should be string - } data={data} />, + } data={data} />, + } + data={data} + />, + } + data={data} + />, // EverythingIsFine - } data={data} />, + } + data={data} + />, ]; }, diff --git a/Libraries/Lists/__flowtests__/SectionList-flowtest.js b/Libraries/Lists/__flowtests__/SectionList-flowtest.js index 4f94e6dc2c3f..dc6be3c469f7 100644 --- a/Libraries/Lists/__flowtests__/SectionList-flowtest.js +++ b/Libraries/Lists/__flowtests__/SectionList-flowtest.js @@ -7,6 +7,7 @@ * of patent rights can be found in the PATENTS file in the same directory. * * @flow + * @format */ 'use strict'; @@ -18,40 +19,66 @@ function renderMyListItem(info: {item: {title: string}, index: number}) { return ; } -const renderMyHeader = ({section}: {section: {fooNumber: number} & Object}) => ; +const renderMyHeader = ({section}: {section: {fooNumber: number} & Object}) => + ; module.exports = { testGoodDataWithGoodItem() { - const sections = [{ - key: 'a', data: [{ - title: 'foo', - key: 1, - }], - }]; + const sections = [ + { + key: 'a', + data: [ + { + title: 'foo', + key: 1, + }, + ], + }, + ]; return ; }, testBadRenderItemFunction() { - const sections = [{ - key: 'a', data: [{ - title: 'foo', - key: 1, - }], - }]; + const sections = [ + { + key: 'a', + data: [ + { + title: 'foo', + key: 1, + }, + ], + }, + ]; return [ // $FlowExpectedError - title should be inside `item` - } sections={sections} />, - // $FlowExpectedError - bad index type string, should be number - } sections={sections} />, + } + sections={sections} + />, + } + sections={sections} + />, // EverythingIsFine - } sections={sections} />, + } + sections={sections} + />, ]; }, testBadInheritedDefaultProp(): React.Element<*> { const sections = []; - // $FlowExpectedError - bad windowSize type "big" - return ; + return ( + + ); }, testMissingData(): React.Element<*> { @@ -60,24 +87,35 @@ module.exports = { }, testBadSectionsShape(): React.Element<*> { - const sections = [{ - key: 'a', items: [{ - title: 'foo', - key: 1, - }], - }]; + const sections = [ + { + key: 'a', + items: [ + { + title: 'foo', + key: 1, + }, + ], + }, + ]; // $FlowExpectedError - section missing `data` field return ; }, testBadSectionsMetadata(): React.Element<*> { - // $FlowExpectedError - section has bad meta data `fooNumber` field of type string - const sections = [{ - key: 'a', fooNumber: 'string', data: [{ - title: 'foo', - key: 1, - }], - }]; + const sections = [ + { + key: 'a', + // $FlowExpectedError - section has bad meta data `fooNumber` field of type string + fooNumber: 'string', + data: [ + { + title: 'foo', + key: 1, + }, + ], + }, + ]; return ( data2.length, + initialNumToRender: 10, + ...(props || {}), + }, + {first: 1, last: 2, ...(state || {})}, + {offset: 0, visibleLength: 100, ...(scroll || {})}, + ); +} + +describe('computeBlankness', function() { + beforeEach(() => { + FillRateHelper.setSampleRate(1); + FillRateHelper.setMinSampleCount(0); + }); + + it('computes correct blankness of viewport', function() { + const helper = new FillRateHelper(getFrameMetrics); + rowFramesGlobal = { + header: {y: 0, height: 0, inLayout: true}, + a: {y: 0, height: 50, inLayout: true}, + b: {y: 50, height: 50, inLayout: true}, + }; + let blankness = computeResult({helper}); + expect(blankness).toBe(0); + blankness = computeResult({helper, state: {last: 1}}); + expect(blankness).toBe(0.5); + blankness = computeResult({helper, scroll: {offset: 25}}); + expect(blankness).toBe(0.25); + blankness = computeResult({helper, scroll: {visibleLength: 400}}); + expect(blankness).toBe(0.75); + blankness = computeResult({helper, scroll: {offset: 100}}); + expect(blankness).toBe(1); + }); + + it('skips frames that are not in layout', function() { + const helper = new FillRateHelper(getFrameMetrics); + rowFramesGlobal = { + header: {y: 0, height: 0, inLayout: false}, + a: {y: 0, height: 10, inLayout: false}, + b: {y: 10, height: 30, inLayout: true}, + c: {y: 40, height: 40, inLayout: true}, + d: {y: 80, height: 20, inLayout: false}, + footer: {y: 100, height: 0, inLayout: false}, + }; + const blankness = computeResult({helper, state: {last: 4}}); + expect(blankness).toBe(0.3); + }); + + it('sampling rate can disable', function() { + let helper = new FillRateHelper(getFrameMetrics); + rowFramesGlobal = { + header: {y: 0, height: 0, inLayout: true}, + a: {y: 0, height: 40, inLayout: true}, + b: {y: 40, height: 40, inLayout: true}, + }; + let blankness = computeResult({helper}); + expect(blankness).toBe(0.2); + + FillRateHelper.setSampleRate(0); + + helper = new FillRateHelper(getFrameMetrics); + blankness = computeResult({helper}); + expect(blankness).toBe(0); + }); + + it('can handle multiple listeners and unsubscribe', function() { + const listeners = [jest.fn(), jest.fn(), jest.fn()]; + const subscriptions = listeners.map(listener => + FillRateHelper.addListener(listener), + ); + subscriptions[1].remove(); + const helper = new FillRateHelper(getFrameMetrics); + rowFramesGlobal = { + header: {y: 0, height: 0, inLayout: true}, + a: {y: 0, height: 40, inLayout: true}, + b: {y: 40, height: 40, inLayout: true}, + }; + const blankness = computeResult({helper}); + expect(blankness).toBe(0.2); + helper.deactivateAndFlush(); + const info0 = listeners[0].mock.calls[0][0]; + expect(info0.pixels_blank / info0.pixels_sampled).toBe(blankness); + expect(listeners[1]).not.toBeCalled(); + const info1 = listeners[2].mock.calls[0][0]; + expect(info1.pixels_blank / info1.pixels_sampled).toBe(blankness); + }); +}); diff --git a/Libraries/Lists/__tests__/FlatList-test.js b/Libraries/Lists/__tests__/FlatList-test.js index e0d6fe56c8b1..15e6eb38b438 100644 --- a/Libraries/Lists/__tests__/FlatList-test.js +++ b/Libraries/Lists/__tests__/FlatList-test.js @@ -6,11 +6,11 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * + * + * @format */ 'use strict'; -jest.disableAutomock(); - const React = require('React'); const ReactTestRenderer = require('react-test-renderer'); @@ -22,16 +22,13 @@ describe('FlatList', () => { } - /> + />, ); expect(component).toMatchSnapshot(); }); it('renders empty list', () => { const component = ReactTestRenderer.create( - } - /> + } />, ); expect(component).toMatchSnapshot(); }); @@ -40,7 +37,7 @@ describe('FlatList', () => { } - /> + />, ); expect(component).toMatchSnapshot(); }); @@ -48,6 +45,7 @@ describe('FlatList', () => { const component = ReactTestRenderer.create( } + ListEmptyComponent={() => } ListFooterComponent={() =>

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 a;%LjFD0i$-l@kQ~xhtb|C+D`|^Zx_xjI!AP diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testSliderExample_1@2x.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testSliderExample_1@2x.png deleted file mode 100644 index fadbe2cb8977cd2547d3cc4ea7e7ceb3e847c6bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186681 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 diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testSwitchExample_1-iOS10@2x.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testSwitchExample_1-iOS10@2x.png deleted file mode 100644 index 15de56b65af70a278de6113b813eb08b0ab0be86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150504 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

ceHB^AGYa7*KK<$p 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%0A?h|bWWZrAp;Dr-(f~w+_0BI9mQC6N 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 Oulp_b<^SS*@&5n`d;#qM diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testScrollViewExample_1-iOS10@2x.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testScrollViewExample_1-iOS10@2x.png deleted file mode 100644 index 16a6da74227d0ce4de23f4fec2069c38afdc9cdc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132913 zcmeFZXIN8dv^E?-2N?^4%!mvEDquvKf`GKdv4BWZ5D{q>0wN^{0tN`dv0w#}5_(kH zAWb0TS3P9NZRh#OoCBT^aZS{;9qP{@eZcci?BGoW+LpiNhe!L6GZ_ z-%edqT41cj8U`SQsBs2^vEyLudOhXWM%Q9-Yc_H=k28#32mS7llz#q|@XgU5GVr~B z?jWP;lRl!-q(nlEPc^}-lw&Ux49R-Wh9`K8Gz9skpfJz5&2B4a#F>uIzg2JCo36Cs z97ttr=Rv0p+uXuO25Bp2LoO-~fPUEf(+}&OXq+(UT>S+&@zh@+rMkMeury2P-yZ_~ zux`6j?(+G6&Of28vgSq8CiF6S<=^XWPhWFlIOE@Yz&8BU*<&9#44!`rTwZbObkOF5 z{`!Ca3{uJ4cMxPUAM1~)Q~!Ge=}OASKrrP0Isjx7Y>2%R)_T`_`dv zlYyK`={ujH|H(^d)$9s0TtB*DTWr-UpKX`HN0BaT7SW`Y1U`c+ePYM!miEbIT=|GZ zD3`$bXt_)uHTI9O0qaG*?nKF{^8GH-XneJSpPr-=zCujA+EnU`eW^yOE0!V0hxVvy)G zH;`4<4_#P%Yum?+3FtRLQBx*r?FR084h7Ek_{F5j?uT$jlc(#MLi74nC+K|L4N}^6 z1|U&0T^kSKinAFxA;gvF070BxguV}-v(Ino-;N_1$ zPYOP&ZCtgw!gQ*eJEbntD*X39Eg*T>U-X2p`ubwh_|w4hIK=M_cOu}aNX}r%rw!o+ z{m|EHp6^q6IT-s(w_yHClJ^-<$LJfHWs5iavPlypn9lgDXHuDYd{)YM{9#cD+o1^| zooBv3LJU{pIH>*;pE|>U=h>{hl{Wuo=~b6g+8$$#4md|PTxE$@--|v-x#R1+p0K>l zR335~Bwv~#?GLx3_*X?QwvBY8o!1G?%&T3oA$AZrGK7CA(B#2ik0nVN++rWh%FtkwODb0!PsxYH zg?yUOm%bu9U1bs2X&eXMh=**8nU!red3U#XX;p8Ebql^B&%JRbUKWkP;k z-JMd#FPS-erZtNGj5_Z1eGnr}WhHN^FQ>Mz5BhqjuNlKH*+n0$Znu1^yM(Q5eFwyq zMd(JQg&paLwk4U6go>AZ(MRnxz}L}lRU<9Nsv*m>9(+2BzxbA4CYO+zNkl%Q5Qh3j z39%Lug~%eeVBTX7^SrR3yM2hKvx|%9y9JwO&*Rw9?c)aXykH^ovvuiy_-5N>Q5?^ky4q# zA%>iVnFC!_mX%QuizGb7nmNX2dx)Fwfx>jmQ$MZu8WG>NZNK6pHO|SV4wiDR4#pu$ zJyXP1rHQ-g;v4!L#(w!1efhiFsz;C01mRPAk&FiM9>0z`?8M4%L{NSGyl0mT1}JM!>UXMOU6jV>c?c7`D|xkb21< z;n(@oxb_x1A)adGblqiZe|#C=rV+`WFAChlHrKqn+xyDGMSTKZuA=u|63fl9$(uJH zk)oW}SnWAIXU|1Y9q^$mOV!YF5rITVjBo#<3%BRa`H}uQ^7y!Jw34G-M1>k_*}38$ zcr(5_+ZM%mnLA;=zXO*I=Vkw)3Z2@~#}8TjeL7g!Cj8-BkIhvJ--bQu+Ciq`0-;(y z@)D|5e=GUerIg^pV8e6-VPE|o6y-4EeC#-k6b1aV5|Gk*@F1*Rdt8|V$BPTtUuii@~na*#h2 z>n}`bh-Y|sk)1DlB6@s0DO0}~SN6Apsxl)3zZCTeQHyV9CEn&3T-$PebwZ%9t$0LJ zjf}hu3$T1P8l2{<^x$iLo5AsBa}{7*!h-zS22zw;z`HhsbX*66T}7d`rIu*?nNzk@ zkzpSZ38=cFCQ1%xH6&v?TcRmhPP! zwOvi(-b)=tWUq8U6sG%*QE9!?AdFvBAi39Vdd;95VQGWXZZUz4DHjM?(uEmP zLB9!%M@zdN=lt`G)1Aj`Q}Iu;QP7)B&p}}hakSl|2r>a>+t@IvYGlsBTr3PZg% z-CVUSz;{`AJ!DF@;0nxh?3-odCie4bR6(0N71|l06MX~7W6#;BtXb?N+n3vFH0<1f zIBpAtxAxZBH}&2RmV72lLp0Fd;X*646G7coC-m)|!=M^j+S4;I4g)oBu*pSX%rjp8Gn*YTh9wX?Zt7}Zc7We<$WN4#Di{6f?l z4jmz6#+1sS;>qeD?D`+}p0EN&pAO0gTgEr_RlZ@DywG}`gGo)9r%yl-=e7$6TD;~8 z`;Eo~Jhu3A8~SHDYuW?1cCWf|uZeI94289sA&e;PaUzJYFOS`y(^$FilX5|IJjE#% zuit1kj#qzKmoyNWFs(M}Q^p&b<>8a~_x##E^pYrn)0RL4;^7xUAR*uG`FYN?xa_8+ zY~XKt+fIKuK0l&2>+nUJdcfaiK6-?fwBm!2x#xf%x#{#K^V;D-J$B^P+T$R4bx}F? z6`w4PIlS?k+>xcdV>fs?l_=Gf?+fxvV?FB?3uhonD@bO7@Rv@3iV5OX=t(I~T#YJ< z@dg(&Wafn!M}(xwaHy1p+xGNjYO$yC;}PLh{`ICb<*$=YSz64C zDk@vg+y+Aa!2>%}wFsksR)OgySNT6?m45$t*Kys4U_bGvn7)z}(jRJy0lSuj~LYO3(LUq^BqhaK4FG-peSwv406SUG`*GS4K!wRX=7 zW;?T1D>ceqMX-J`7^|Jov(8T&v4FI?Vk+UV5qir{El@2|YLDkTEP{b7$b8zWde9 znSnoKu7P3e>#Wf4DfZ#We$7q^B(}!DqOGhY3d8Mb%s=vuR}qJYHkxsm-={gVZE=`T z1R{ZBRJz>rgpTZVf(3xOTb2=xW{C`5Y)R<>2(n9r2H;ES$jM^UlqP zW9KKx2R{3SmQ%Unup`fNse{j83?LO9SrXTg#Ls5DIdAnv$29l#g_L=lGXW22OkIu~ zT%NMtjn`@%8jwYidJNGQ=w2T-8KwI(fo*eURuFpRMZ2M$mtIoH`|$~)J5{suSW3i~ z+*yMQj5fZU_sC_g$7g`m6eS=9LC{$~yIhYT$jhhIc@<9am``^7SNdmLt1{d9d$|Xr zM&M(w^;Wag+o9>8#5FJW$8h95UjxOi6OOZm;Dc75{d!nd=mfe2Jnfx0yv$`hTl&lGyu*G$w5cXBpkr+pD07mE=41{ zzrY(~Z;@@LORqDuE;3o>Nu|9euqF$3$}Yn4^j)sudKigcnBlhbCVPZ^70pM1L4RjB zzbi5vL((5Rtj-RnZMFf=`P)w6xJJ53o2W zME=**#~pzeQn}7BEf}TP(%ERcYT_M^ctS3l1}c#X1j{6( zM|@jRD(iAg!r)1N}RkRJg>l${*yf(WkUP?(hv%>6Ik;!FC9 zN2>+u3EWSe%4gQp1&$RPr5leBbNvm^P0Sp%NFMO;_8rd4Sl455sy6_Fb|IiEfFb+) z8D6Sg4n5M~aJ&$f@pI=8I%&B@Xnklj+%PH|R5c;N2Bo}f>BzJ!)##9f#r9BFB1uDb zlqps(BaZZ))o8OWAsE6i8{Twye%k?E`SzxX&2p!54E|GgabTtby1pVXvu`)e zEqLVv9=wo5oM(6h8~IE<6KlV`doU^i9uREwIJ>&rm5|x~!rtpvE2_0FYCdu8UJA?! z@z6ENN%YIT@!G8~jhAuIj4ho4%(Aq$3#%?oOgziT4v~0 z!k2Z`?JJe0BWYW!a>?Oh9{03**%U90BZ{(sC#R@duq!(h*^eo8wPuM?#U6VjhAv*8 zUTcwhJ|}5~wK?|4vlQ;=>4dPK7hb$ohw~^~Mff&OM{&9FudHYhE| zB3k;=^`S{#6!Q?V;YDgdgh+MEBa`~R-j zU)5cjuREp_Veq$$I;gC91nT(@$m)*=O3G*aGqRk@U!s~4S5N8e99{(n{##LRGG=e` z!Fg=m>h=HX2Pqk*|G&`Go{QU94e!VByF@n)2Jt^N0~**0%h@tBuD z#`Hg+3@5Z#)5PhRBti;bqSfB{o66y>U-!P)4cXEcU;{zD61wDEb9dMK*1@&-sDF6q z<$@p}Ml{eWX3AxK+WoP&r-2fA#ao)@j+LT`lDz3dT5TudMU;@Vh+w~mK2pl?M#0l40qRBPbbc)wN@^}!iFOYSqS-Sb)lzN3V;(4{4S^zQA32bi6=ZESD`@$)Z@C1sNW+1D;BrBYm!8ME=%)E4YuqOh5I9ZpEt z6qHu#wdXK*zG>O)Ue-~5eh~8~p3MLyHYu)z6QF#=P za42;L;UHVpi1qYKg(}V%6{h9#CVcPfWN+=JjjhikSB>f0!Jk&&0Y5yn4=zq6S#{m7 zA6q{6@FS$_b?Ke*`my*ZzS<;6xj_6R&TCQ;wWr5tAYSnRTGEb}FlFqinszEuw%#pk z`}AF6ZHV+&55(k@Z)0*oJU?LknVodjiwR_Y=m@=U-7Yp6dWoZ0nZA6gx=)cFPTP;* zW8&}mlsvOj6nw^V_F?tX{KB=1s?epUyU-m}04ng{kPpoJQ^x{X&;6pyzV(J%lf+W} zFmr8iWJO{B*L3)l9&)_8xHNV+qIClj9Mz!r#CggR$eh&B1l^8i?{kb;K_ro^iq~- zI1Sqm^FQ;m{{897jt@z40X(bp-O&q9?tu#zw2I$3b7qS^Ry9wtfe*yTS35B9b|d(H zM#-#u_~j2X)YReT;=q+T0CtFT(8e*ASvIBb{xpk0PzvcKya;NpNRd#76~a^Fg}DRc zl91t-L0j@?(J}3n?D%aYHaljd1SmCP`mbch+u)P99~;y9t`d3#%hJ?N75xJ=k^nh- z_}yi_-FQwyqeG3D!9{R;*$U9msu1-sGO(GJG}RcMPkx&}i&=$jL?NQNkzGud7$aE< z&*9=ywk`ZMpuqWd&G+ns&g8sv*Rv4;D3)aqoZu1O5-^=4j&kVgPLu|CSiBuPoe+}* zQ3^Z>BH_gWeU%o-*;%!h<2t^OtfclY)>$Zt=Cs~bt%Nf*!ddFIupE+ixR}39b<=hY z5=JV~@({lpH_y?Dj(^W-F!4V9`yW9>CtYJxrLkb5sqMV+WH)oI#kJRD0RUyqz{gY> zL)n^g0C&UgiXII1OR>N3y_hMB8MMLS&JSOm^9<0HfA7Ks2oe496JbJ}ptmk1PZlK{ zQPhg~c~bXL^AD2C%9*{yKY`ZUvf@!YtDd?rt$V&<=lqwS~*(f)Ikp^ zV!M$#ru_?47XMfSvv?C+GK2xrw7pNlj~Eo5Xe!91-gTruYHOQMd4EISkwFZt00Lfd zQRsQZ9uos!z&G!L`BpoJf?9P`*$8qgFRi*RK3`H9u-Yz@?`nRJ}^{NLk^kR4^u!+?xcC*ut8zsgg7s* z+L2{k91fka%ke`UQ4W^f^K*CJVrlW2i3A7Qy}DIu62jV()1=Yy;JcA)_qqtXN4xI# z6Fwbx2sbpM7rGM{x-uY=PqT^rkMA`_39ZVDY7FSv*$YF(I&TJpX+m$g0%e|Eanr3` zx-wh7gc{BsCI4~8Ggy0{$^4nTTZnJjD>Hp=pHDfb8!WnpelWjFR^*|5zcgO0B->=v zb8>Q`mD&}ofU(vDlQ)dB*0%2Tz4`7+#K<&!5kjj@t=dRP$jw;cTunr*TD~YpY1h=HXdqV8Loc!MbzKJL9!&>BVhy-icO| z^1H0`G?JJBpH7Zc z$dBTCZ-Sk-H)nSHrHCy{-MkP-ea3d9pN#SS*k2O$S>B>LNcYNV*!k0`xzYk#i*F^@ z+?jowUjST7SR8pTJKt|HcZEmG$Mt$CkCcT}(YtPpubd=uhX;b>o_|HB=!AJ_U8fk) zIg-HPe%Z8T5+p>_;}^X7(8V80gKt&G1l7tgpu}{K8v>2ak^^3`ziYa8wh249%}SiaYQsyG zn>9f*YF>oYl(ub89)H4;ECyX<$?~5$ftF@W9MtVmn6%ljC8*T_pk4I#)k6(5*dn9v z_dwHYPMZHV!{eHYC_KE20sV0bFHG%h&s6%EO<(ESYkSq45?r>aJ4hBc(&-a|B|p4N zb1L)*Dqq$E6Zs1r!-BLUdTgc}16Ov_A5rT!rQ!`wUMotX`pl8L{fDzRyh5tGizo9{ zPNp!}vw@xz9-DF;CVLLfi}H%NA%H#gmOrEVt{hm-hxByZ<_8x!tXa?aeu+Ey48e|T zt}>ol}a>p?UuG^ zi^vd`-si-^)nZ*7XwN0aRj99Lw{7vD&I7hGGA{K4tn`v`vJ|&6S)W3ea^Wac8E#{471t<(u<@9P`;;#pL@=tbhzQqI+TEuk(cLL`q zu!-YgRWskP?m_qScciO=xHcyMme^X7UP?mPhM|-Blg>S?+ag{Nh8mYX7u|_cB7ayN27IUsT z8~KDd_qOq;rShVY_TkV%fMP^_?QpM&ydyJ}=4JeNyn{hiP$5kZX}G#(2hz4<2KEeu z2zA7fGToShzy--1m?91~P#oMTcx^`i5M1R{itM)kP{rn2IlXhOe9$xXDNEQPms&Lo z0TfFPScZaz^xSz}x58)qWQzS#PAEIdZ-Wu!)Q9u4Xt$s_Z=F_>860o)gb*l}XQd96 z?@E}Os1pd;_HD|qa<0%PZu<|ik6=rCrvx{!M>8AoW;=1@DVu^;Nq+5C{1CIApuU~~ zo0g)2N!TxDI9mXcV7df1L(xF8x+Q;pc%N6Ocg&qLeIhVDLBVFeO$-8f;<8i>r4JU0 zrv&4Vj5`T87^m|&Qd4&B>)TPNhLT(^&#sX%hHPEf*VIw=pN(_ytHL-@=tA4azH?^i zg~tdqcO^An<&$=5qWgyTelg#s-1iY|a>o-CcEDC!CP~kbU$q?ox2;zVa?@JeAekJ%;4OW6079 z{7a};N;qMQ+Br^5G|oTC-s@?8E1Ws@@)#(|GKN66otLwoHa%F%6T$Ys3KW=i)l$K+>TVfz7OKPxgxb@>dtH6{F4cVD9Nb{*hgjjT*JuqV*Q| zj_N44SLA)W(I|cp;!L$ukM_RaIQ)eH?zEIAc9!QTbb+`u>A*nhTxs&x4m zCCTgSemg@e%+M}9YUd|r9F-RGvr>D<(5dL&_6=Q0=whKf7vmQq7AG}xR-VYLAM2{A_0rF? z2{vlga-DdFz`K|>KE90Ws+&Ek{OZ!s&gc`){oZi#oPzPdiR+>ZmxGwEqJ`XNv*YhE z%UHOYF<4-^r(onsg*!k{S(SZzki!k@So>6cJ*+sN4a_BLINzIDM~$m-5Wn#KJP@2# z)?LvH&=GDktZms!w}y(rvgT5jt90Bm+wB`(%gO6|wY%Oi_d*V`z0kG-luv);&8;K7 zAzLcHTG$sioQNd_u1K}RIVX-9<#d2T5D8uSex3@NeLw8&gl?D(+b zkMTOh;iYhl?5r=y%`#gYyn+qtG1RmWk3)8trNp|GRyN||pY5T)m-Y%+vtJx5i?$jk z%mnvG!3mN*$dcrhrGcMJO&_--_`KXmns7WRfvX~XJ`JI!Vor7(bH`g>$Oi37q(={z znhPngAoiN1GEkVP^Z}hC=vzU>Xm$(o#ZPnEr{#F>6Fq2+YLmck_j0(r=heC7O3tw; zV?T)a#iOR$B{zqOX@*u%Yqet#hMwG$goGrW1vPKPU&v|g^VPGvpq~H@K*JQ;ls$yohnZfb(*t4Kk(KZ1eWPtT7#94P&uB+Wq*xNKYJP! zPd-4;b$3!75eV{U$LW58D*$0PQRIlsTWB5Ee5_G|P%o)Sohw<6{mq}-ghAB1&T%Hz zO;i(itTcO}>i4AMAB3zJCM?r%iG>2Sh#-KnLE=ySY(pWuJIRP~zBB-sP-q4r5G<&7Ht332b_cH)*jxRXbMr z#O&xc;t4GAhJ|i9_^W=-Lpyh}En#iy>x~J=fyi1f-X28D2b!Yo6VV|sVISQkL9 z0Ndh$^E!5T-Q=^xV61LHU&nr` zkU_3AVd@qo08k$x3KFW=AA?)n!5V#Sys}V3Y>ho>!(-&vT}6l! zJD4*a87$;uyE5u?ocj7&0pL?TtPlS5$CRq01zVhs*hJEZ%CC;sO-q|2M#h`6wJO5f zDE^4ay%ufM+9>a;af49?hp2pjd!S$??9Y<`Of9z$QV!0m_7~%NlGZGOwgVYBfU{S% zpRq<)KF&*=C(G#;UJMTP&9dD=GvLY9AWB7AKT_KqH``I}Tl?%nA=m5`7wfzLQa!mi zxg^l$Yi1}m#LbFpy-OoUXWO;ku5PknY(SmXL387j-2@nRX;Kac;d`OAx>nvH zoTovC={4ozOpZ?OdIt!$}Tc@s@wIKf5$u*l|4--|7E4l{Sg%QR#?Z}&8tv-2~Aam*_M z*f2rIXXdo>=*)owCYe2gR_KT;$d6Ui5uyl$Dti-kni@g7C}dWDdYL79f`69;o|-cUmjJXBvd68Kl16PCDsJtTbe|1g zDH-Vt#dlxe#P2~r_Spqh$ND<7%z!E8^Zl;d8y|H`#@i);YUQPCVv#7jQ?PN-xcM?l zFxyzaW^egB8WEe~`M$YH5ITAEYJ9AlP9FM6m28GIxpq**@cWGQItDDAvM|%=l98s~ zw%0@km@zBhXNN)YLA?8?TrtYVEV0Z+pCglDI*@Du~GO{bJ)9l-3tI5Lw?=hn0tL zzL|7YJXma*3AYzk>}qu@JleQ!mhxtg^g|}j(J-6zz;jx9l{OJ*WZZbdm6XWr8)cAy zS`uKW&IIf_O`kUre$Q(yU4ApiyZ6+4mzoP9)3PHEB(U4mf4{sblZW?IE{HyRtGdZ+ zHL~h{i0%cZl@)h5+-^5GJ^oAbrb*VCLTdZrT1TgkK_k!P!d3UT`;?zu(Ns?^pmg|= z1(rpAY5o@-0CQZ%R2UetrM-=Ixgqbm+u~nzNABwBK2M~)wdR{Mu=8`C;J16qZDFJy zNS=Jg%5pTwMjlcLz?~xi9c1{dqckFeLx#``DWpoS4@7#(d`BM3>fWesVGQO`{x6+% zq>`&WZ6A{8BC|=}UN?UTGI!v{J1>#>k^3w`b#jdIEJS)OgY5a-1@yBMf%+-&Npic&<hB!t;?(0q96kVj%eY<#V2nxzAk|Ki1K)2pMhDF1@;2F1I;z}L(Cu44XB$TZ;5&uir z>GoD!(!^Dbc7*bQBXwa67I_{Ujo4a2@c2}ICpzZa*M18*^Ek*SruNI^vjcnP$un)h zGe`KBjft(_?FV2N?Zf*+YYc2>!36We5|%hY)+<0-quL^Xk%$sNBvjpP49jil z+5PZtX}es?Whzv?mlUuu{EYn3{0VfO_TQv!@2d1U2^HxTPYGZ=w^PWC5Mty+I)uiW3oR}Xtals$xd3g_KIWIeZ$h1OguO2nPkmw(eQjtrXT7J;2+$vQpokDG*m z&=*W$04i1>a7zHuZ8(BQFp&6;FNr3cy#ZI$nqHPG()sj4%1(zP7SE zM9c?18?(wh?%A&zu)Xhbdy_hUn(=8r21BHT`*KO{|dj)NI8NMGX|I-4Dz8^}Ta){j*&`C*IIVk?ex@z)HXD*&f+;W*ta#(`aq z{0oqn2Oa{&`!{bqd~*sAjftivle6y!Rw!s5+g=M;yv5|7=7}#|@tS~Ovk#6EiVIoC zMG2A;AYUIw@IM3tvQ|5=7+D*@Y#V_9a!GVau0r@SSSzt_^`%vrTd-0vo_k!tDrzY!y7E;c#(O%SLKie|(Xu)A!eXjRIYK zED86#OR@}o(h#q&aZplcg=uAfoyh?Se(GGMG=sP+)V`Nl$c4KFSJy6@!IAV+X8`dt z)zpzJ|K^2?fhdH-vdjaYQ>-YmPg$tTt8}INmdXVuKl-De>n(PwdJ2|j0Xgz` zGK5c~TFWKWq)2l>Y;ChD!(Sir{f&pSe*9+Bd1K6M&O89g=GZf(Wx|*uOdK~^n6iuC zc;#VazwRgG*SC5$#{73+NW@`X#92FW4j3J>(uB5lu-o}+gF~e*55GY(NI*n>ecJa{ z#tJDKuPw~L#9W~StV)7yu&$e*0%~KuJ`oiqn?6--@2e0i5EZ;5j(jOOCB>3a4~4~1 z{)~nv5vF^?A^gy*cETG(V0viSC|tu+!M7Bq{5Qp#O5;89KHvn<$#lcS4{6QAG+B&8 zR6eUM`bFt7RHBhp5Q`YNAAI%K8-UXJBfv2he7ox<8Of&yw!WPiKs_Fw9!sqT;+U%E zUjDDPw#T7TZE8vPN$u>mH@`H#ay?G`UTNW_UZ*`<)UG zS+@L1or%qqr_K;|QKmwdCWIZ0c0hZH|n4&^P+tSJJ=DQL*(-9E$F)WF{#zR!d8 z%}5NBew;Af2QR@f93=obWLs(GaI0Ekr%*EjI;QiCvk8$ zpYHPr7@fO1v5=iRhfx8QAtt&f=5B)1Kj8&Kz4z_cd(;vo#c*B zqp^Ljdq7H#v9YBe5!z}!Uys-w3kKRf3ha_|VexOs$By(kzu$RX0j~EZhu7DpqGA14 ztE@cc5#5LN$J*s8`UMZt4ewKTpQe>@?gZQYwoO5(KDaZb_tx>75WsC)$x0CQiri(# zPikHz!#UaL2UV%8+K@=d;%jvqZKMfr>(g1{+t}C#ZyFp)8%H6Lo`s!kP=WPckfx9sQo#FXmhRr5l^&GE; zN@uH=!=|1GD1>F9_Nd|R7|wbR{i={20W0A*Mv`&jJXN_+I%`TkU}4|m;g!XR1u8|6;0^McjAvgqzR@e_Ax6B+Inl(2lW=tnjaoRxUD zKNURTE`!0!hmUio2oi;edK6pFh!)CeGirc*Y?Go@<@$|Cf(pNkI3L7K9#nx%%xGO9 zSGFYLIakG&v74Ig{9*eI&=R7UVX(zKU~UDCl8%s*t?oUdykm)Zg&Jf<-%yUFf_StI ztTF@NsdH$G8~v04KMPr2kPc*l!GGiuXnkI}Iu} zd|YQiPs~(Ne|V&QY~Fm3zh*Cbn&SFBO-Nw&!s2P>%i%X;sW_68+2EE}*pvQ#5J2W> zIpa8kufniJg=zgHxi~b~`F0zBOfHwHr;UbAHMN`XW=jgXB=oA2EP*Am%I|!*@2;^0 zqmy$JUkWMTVW(`_*MQ}k;G@H`x&I+4$PPY&VTCioi%0LA2v7T5&A>&Fb_lB@S4q|^I?ECtI-A@ zZh`iJ3Pl#~^OrH(g8@R!gJeO;qbiu+oP;Cqb{eq6oN$eoSQpQJm`o8Y8ci|Tn1zd+ z-}W%`sDaN+3~KJ1R|2xs@f+wiYI19H-!ISa9OBfv;~Oqby({7}zyD<$J=(eyK%}xk zcrB|zeD%wyBuKpaSt9k1NU<0(s4eQLTr|xgHDkVPD;{=$(>TJ~rsh4G(E>}}2!kkr z3d{46rPlWOmX%IzUTL^_uQ;1pS*jM<0cbYc@9&lLb8I&PkIky^ zgIMu$+z1SDZk*Q{V@+}ZHq)O!2EG%>EAidM4B{7!6xD%A{rei-iE!xMVxV?zx^D;{ zXm3iT^#}gY`)~p9vFWB$5jQyNJPG5DO1+H_Lq!gZ*?yh5Xp7=mI#aeOCl0Sfbg~d` z3llA&#A1^mQBMwca2Mj$4%nFRR8`a`FnWPbiLoxFjI&c9@d)_D4G4ekY+k8v;cjG6 zVqt>FfgYrHlN`O4FEBtS__%B?Ni0m1BCb_9H9C~4BE4P4uukx9q+{sFi0u#~*vmDx zi6{W3lNNIWHjIhhk)BXCMc-ER*TLeyJ!gPevVZ3mMs{i9#pon^gR>Z*!wzhKVs#|? zd&wG5(s}rS-=_Y24+|D!bFh97+3E{ z6q3l?%e~4y#qfD|oHM5FLdYC#j=!oFn)AUVdkcXbwQ+U@ch;Qm2dl=?o7|VqH;!K{ zObMJ}`v_7_%W?CVq{zcH{F7N}OBIcPHL*&QkeBgDR>{HvV2>Cm1S+b7#(sOY9ImHy z^|QLF4Ex*pbWp4E&c-9%f1J|5j=yKjlr@Yu3i=q#IV5uuXi6iJ?Z?m>P)T-{`v{>I z_LT^})84gLtmV4rr{0wZKcf>bF_T)3@wW8MHyA(*(JNNTd5ELWd3%rIqJ(lq=+E>C z_k6>Et;k3Zsu)03QaF?yx?Oz+YeAXWQCtUB-%>Hbn>?OPs|OmqYT6%HNK(%^>v9uu z1o+CW!umO5z%hYXzw*L17qrV6z#Lah-;`xEjPbKFk-aNGKg#ncLByA%^HfLWukV{;HUgK45CQfb{RKvAc3j5Y2dYvN%@ zgch?7#t-7i$%B80BB8qnglkUfUG2Ve3=aU>LE3ls&l?-VGdN;j^e#RRf<;)Y>!*gmoV2YkLu>vO-TztXn(e=r+3ZpOxwj1)pl3*~{T<+eCtF4aOEX9FPf~NKhn3hV2MH{kBB%1t zy9-&^Xq1jWx?P>odl}P|iG@2KrNc7+7bCZiH$7@4hop_YU_h!|H~ugO2(@`=0 z8aT3~p?0zTZ7yb(IZ0Gl+B?(FqrbfB9#hDAYnG;JCOPW@gP)#se#29q3rz0wsmy-d z&TnjYGo2@^kvbSiub=#@9ynK&1^#8)c#+(ZfiNQjy~Jf?;*?(JgWp?5niWnSIdZbf zswqEuH_)Ur0L&*que#HAb|d0!Es*AV`Uc9S=wWT+0$&t`mXoPRs zPtmF#X|B)42Yoj+X%F-uZ^HK1OQr2e%N+`Z+{*r_9+x*g7KXVjtCb-l*o+SNdv=qk zV|YGrrfo3ix4FKY_pGN`5~%IK47hbnTrj&Djd5iXXn7?J!^3~IOi2+PRW3lEo{^?i zPOLlYOy9|25ss~x1b^%C5T70%NUQHrNFxhbJ(Zt_3KNTkQwejX+)m26xNLS)!wx7K z2ByFGQ4=|;a~#C~$rte$B0Zzmup3$I_q{iTw&KaXICdo)z-a$|+`^Cx)mXpJZ{SKJ z2%fsSY%WGc`PIYi-7Iq8rV^oEgX7bJlXaH&{5CbQtVkL~A+JW~WW^7rr&PzSKAg<& z3%_Y;c`_LKVbcTga>OT({H6c~|^+d_mh7w5zq0CC=@;bRqbR6Z}+@m+t)8UBb99thv|MO-NcokPsg= zvS*=AQ-{*NF|)jcSvd);$3|2d6JB z_Y0RDm4*ZkOu^V0or~w%6^#^^)__zZ`v544t9B>wYruwW@xW2Ayagh1IIt~VH6tM+ zMfuM4g!2Q5=dQRbK5z`Q@5S(jDK&{>Wf`enkGFO3HI4WPcy+`%FyOtOvPdM4>H7U6 zd-C2Y=GbBhG*E0;Qgop!+Cct!1w(LT)kP9ar07Wn063E3od5PJhgS-T$pML@bIFl$&AKuAVgnRJ;E}Ye-9&y&xd}@20!0 z-%V6hAA-UTOCwbNZaM*mxp#w#;zcdmJnospr}NuB49Fss%$}^prf+$#eD>h_4TH+S z8!?a%L7N6`FApe=Tw48eXC@Ztv&jzgt@-=B)uY3>wd*EV1P{#y|L=+a2d3v>i!z|{ zmQ?+xm+BnYx^?TAvf6eH!#96BozjLnJC!xDPqrM`8pX8fIsVTpKDMq?IV`tQel`7< z#p2q3+zPaM-cRnotNq)%bmP|b>r3HhA8H&lNau)Gomhd&_h}at(GO~_iS2WcoFltO zRh$0$PpeVU6+JJeH@NpjKT!j2rfXh2hL1W1tcnx za~4r@&PW!NoTCbYl0kCLp-F<|oO8~pdtZZ!GdsVX+1WE^cK7&KALxGd>fO3^>we$; zsvi05^)WKNL0)CzHIeu^s)a~q$yV7B6bD+K{l;n4zAV0v1@A0_4 z00AF&sTTwKG!Y_+G@}Qi(=+M>f85L746`Cx1#JW)<6J%g@PpWoqZ{_$c5#q@Tk>_Y zDEa5DyVF0%QRAsSHPCf)hb#uX7BQ`VPo5HpD7iO?(&K zN6`2xF5n_r1=k33d`BZi7}rP6mq%lw?fpF_@Qu2BCi`rk-?q-9Pje)hlA>M47Wn;7 z0rDOr)djm+`o@*5;gye2(2diMw>9#{nZfwT@J`Gb!%sJY$1Zpfx;otmBQ-S-yliwZ z*S&g>2W|e<6g3bWuAb}iL>Xj-UKOH!Hx6;5U~2dQEhN0~)_;{@fWP58)FeSDZbo8k zSyT?nc^(IBsO-J|@PA%MJ@{cwbe?Z(3RAZtNSO?f5rCf7l>yQ6vZ*U0i2?^Q0kLbD z8Pi$qqO8dIBFp2xrtn)OsPStw{rGIu}6*So;7x_-`BF%+RlcL=5i3?B?*=56~3ee{D%^Ws%KnZP=;~ z5WsQ&lL4j}IbXD(BfsPr!?{afJvEpY!gawSVy6iXmMZ3>S4eKI9GACeUoV%ZnOG9Y=a z7trM4-Fz)~nOXqp%W@+;QOx}c+MKA2`RgD6l0+{)R0K^$gz;Jrk0O_&&3b`qdE?Yz ztY60ou*;#&5?wVL`(dQif(j$@L<;dTvjib|v*VovY3xVUMv|RQ0S7MrSl5`=hI9%H za$vHkGm!D`*KTk*ceM0zzDQU*pu{3I;bDLb=3S;P`HEOg6tj3%fg8c+w{%EHz0s!; z%9-Dx@cm^P{#(+nCmkO1{1x$mSb~?frhFYjU4Ta98Wbou8vg!qoVHCm~sQj z)Admas{h*lpRmdLJA$$4ue*j8_9?53ifde6M(mBTbW3Shg!k50NTZz@gQo?zSwf-ZNx&m$HcRb6r zYn9OA+1h^l5FCwRAv(@K>#E`RDERpicJRg$*A;zv1NHlEZ2cvjB8=5^|Max2m(mc~ zG6=s;m?AS+v=#mhJP#%XO3R5qYJ+c3M$mdfY`++hBmbHvzw+o!?tRvK|5Ea+dHE0B z{f4*y(A__x;2%-&k0|)ZIsN0D{?V8JJLtErNiBl*F`74 zSEXZLI|T54WAOZ2@RHJJPb8a`%Y>pS#O5{>Lt8CWyfn>UZWLv3B|8tc>+4KP31uRb$p5dq14ysZTcAk9iPuW)X~yK~a=1 zxD>iyg(G%!q_Enu$2up{O-xJ4GLdhT!|_LnnlO&;NZs$cem;6M12$r08xfk_LT`2Ur8K+40sLL<4c~2GFV{q zCc+!%_d^0`N7CcV00{yYp!>XeRlxG};x^HJWsW2ZJjm9znwsa9q5oC!!>i)I1CBKP zR8;&jY7clX+wauZrQS+V7XL4#od4SXpRh??GGdtr3~IbJS=|L7`*;BLbNiE92LKZB zU-(Fr4RsdBDxmC9qJAZ!$fa^m7Z+i?)ItYd9Mz_f!3wjSEmdwDSbe^mH@6DXxOEm zye0qbLjW2B{9J-^U_D`vSeoKgXA1SG&fjy=T$DM4^b*L!OS_-*La;W(o`6b85Z3#> zI?!#eAU+5+8jz=TlU_hFr|qBk|&2`ziik@WbSdV-IK#%=8doD9PQAXS#-J zp>`r;izZ`#6cb%nd02oVc|QzYH-z#SIPZOGu~!^-W1`)?)M~tTEb~$@2P~x74WfxO z=2kLLT2GDd?r>qqz7pa@;qjGb1Fo?*u%-(IU9P?x_VF-G!(aS2tY=a~RNCgn+LV>b z>|skF9{nckqrgf`EB`XgXS17|n@xe32>KR2AcTkHxSBNwCIb%cZd;q{U;Bk7IQ!kY zJL8tJ?UWB}PbTG+go>rrNtSOSSq9IX5+Z;@1=kLem{fNLq|lKXJlUzSfDh4N1ilu_ zi$D;Oq&AxHPu)4xtf>Z{U*Fv#@if31Nb zcikJX(Mr8A7d+dulJzdtL9y$ke=$~>`4r#ru8Tgc=a=L zyABC=A1wAQ2t;XFhoG16rUb(z#qBV^eKA_YT&hEq-#IBW%Z;Z*zWsCQ!ZT6vS9?SV zV7#2$$`-ufl{}jZp|ka(zyaJs-a%CZ--AI7Hcj`Fg_#+DDje{8ZL8*6?E>fM-oD#$ zCds5cpZWv4*JwO#dW0Nk5;jVw+=u6_7voI6AVbTSlF3S}Z9h>pZ&V3M`%N%5{u%87 z)r!0VNk;Lkh>N2s5qg|favK>|E56g^&;6Dz>je_#W#)q^=+nLWSqTNHg&3IPe|d`k z4N!+fl5DBI?tqetYybtM^0ASot`|ypeh|1&Qg8UvcfUp*WQ7e&KFbWjGct$kq0l>Y zXpDsFNXK}@XgjYweC{x$<=`8{T5(s?e#EF;kN;7@%9jK`Un2FpGJ-ozdKD{QFoW1? z9Ql@0y*ZA)Xt^B>1j24GXNRUqoo|$kv33ehiA_N>ku;>9z@6M*=c!&v7lD8{yB2fhfkZ_iL z#4y6QmC_}9!z&@n07r1UuI{TIElmODNZDSu0NL*JH1Z7fouw2HcM^wjE3#QC>$W?l zj_9qzXY2i3Ax?{NjF#VcvuczGL<2N6MPOtP7a_f-BW~)@k^QB;!yc1Ft0&_8n`Lt! zd^FG4p`;fZ#Y5U&yQi*>hZPMe7oUW4J+wV84jT7*L`3es=aaoqp5p4eukhOyHzd)L zS2Mbc(UI`LWM%xFmJ3lTCEPC!o)y|s>$OriXqEvZMPP>4WcC(=LGm0hz~J_NzkG%h z$yZNDT`?MRMm2e02tiKez(DooyKGfE#G^resHT|LoGe<-_!9eRIZSZVheXH=J2|d? z&FFJv@MglG_BRQ=1+#za40Kj*s(Gm0R^2{JeEs3_U8JVrd5@iD;*15y*+9nU{M1MH zzQodC_*WHB(g+v^4B!NPOAjmV>9_U$5PYt;A+(fegP0NegLDiD{Qf=9=-n;>)>8K@ zi&bK*o4ui#>j$}fcSvyIu38}Qh%#ibuD7|*9lm)GONr!Byc)mY*Sc3Pw+tM{-jvGj>ITL#ztZ+> zY?2;rd<@FETRFhi!$RY!iulHfLTEl6NsYqee20+Kym&wvd!{Ov`qZc|^p=8~9Hrdp zf*S(%*Dej@e9`Y0h@u0ENtUEo;~ub!b|_o4r2$Rb)`&@pkgicszq)lheZ)37Q^3VL zcbDf@Q*K8KEv15d#p7Vv=tnv0z|=PtFQE->_)Ezv~>VBF7%}incw7g?0gUEmJ&O?Csj?42O>u*gD(ZXAC1lD^a74o@W8!e30)^uN4Ax~n^ z1|OlR;+1u~`lln)P2h%7!=@QYC1UQ{DqY~}wBj-IN_x}$rQVDjlLPS!zw0IL3_IXk z-h(N7_PQA_S)LI(dOVwMev=28Hn(j%@3+dFp9fA9o;W@alK^RSHR3$5Y^#qk;6v9{ zGCDeFb7rOStlX+``9v${V$yuHg(I}z`(kK)g;OMt88&%d?J^%G@x}Bez8sZ&&+6wV zx34{c!c6&0z7qXMOkj8U10{z#i`DNG@1|)K?)L$YJNVLTN<~a zS^H5#i;wN)jV+W-&flR=>-keew;^Mi<2%hEv+oAAe;QJ96{TZMNqTCGYr38>wVH8? z@mKUBL|0O=tGJI^#^ftxb6$JC3-Lwb&JYIPUpH!&C)>zYvHYpsB|2zM5I*QXfyGD$wWoXHUdCV`NKjY#zzo7J}i|Qa`55NVXKS5Jk4stOP4T#;@Q369 zhxaf3>eq9G4Ck+$EZzt>GQ%icdtJObjVN7K=Zq~ z5+7@Ad2ig=68c=;ot?B#qzLm6vXY@t>8PSz&tn0Oqp~)+lcYGqj|2zm&cqNS#P~QH_DkZPb&-?r#IbN z_@=Weaox+Y5ZxC^0~jt?!|rUTX3=Z;bOj;Z{$2{l7G23eB*TXKG}9P*3p?DTY5z4s1;CED^D8AvKX{BOQEjUZxR7I2esOb@YC3ry}0A zPYMZ^kz}tvO)1q-$Yu$wD>D76`hoPQ>G&C6r&dFrJowAwSLzfmewIhqdonWOfh0#W zpM7p1x9JR1M}JQ;uXWHMrB}qRrYhWS+_Ts+|0CiZ4I+A+rg5Cn?Y{Y@ys+E5)4d2O zbdYZjTF7|JF$1_U-bAii%`qSQ3(vmqCKKzp?)X{jrU%ucxbC(yX6U^5nBCSbC#yjb zt^Vq(Pg(1Uqt;HGNF~(&w8hjj$z`)VLk!i*8Hht)ss4^bp7M4t7&TClRH3`9o_-|x zoodGXA^l%mpLR!^y~h(9pWT{!&MMFJ4xM@i$TJ7#ZP}0qmg=F6Mlo6?_f|54K+jom z+AN>(7zRApb1GBaOo|keV_xG`7Q|^EHaWQ~Ap;8ZFAimMI<{;JPj@?f`Mf)O-#{x2 zM|vZXh=C1y=R)SL`(aUv(U-8O+{v#Yx7)9ie|tJ_IXlISQ6^N9V>Jdr*!dpPqs`^d zA##!_EK4QflxW<;;`U2P4#w`KrBUB^8^T);hIFXj$rUd)=gkRad_75wXUSPyc;+xt z&~}>TyxUPfq|+P0GPmeE=OzPU0hj58n7A&toG*N1TQ&L1?|M>SObpxu0Es9wNgJ(a zPTI%(2F=>P@Pj+jr`4=(6%stu(PmHd)ck%{`%`}H>$L{!>3~*JIRGrazeT_ook_n{ zb$1;$oBkUOsUy6gh`&T13+$HlD8zIbZu~o0;*<-946mi+u5(YTZ&o+1QIXcQVMz|mw(WR(0KmUOMcX8lEwo@01%$^2%lwJ`5Tse zrJj4h&Zf2x$1H-7UoA3T_c}@sWRB2Ek}HB=M-UDJPNt+K$b6!s_IayW?OO+U?cL?W z59on*(Mn0WfggqU`KKFvGpg1`6aQw0ysAJaeR(GzFZVjoI06nr42c{h!#dQABg;Y58zgHbkvA1!$X<>x>htrQWV$>e>3OR)8F?1 zZlz0rhrlJ(7WLP)sq(%XsECIl`%4E&@d`?o1%0821nl>dG0ejsr1*`pudzWi+p2Eg0@7nt$cH1wzz zh7F)mH4-6bTgQuop+>X3>MtJcaG&wHa-FAopiPj!r*z#tzcYE{d>>TkUJA?yz?PMf zZy#el4*um~z^_wDQKxTO2F;wq$q-?%*1SA+xte%%%JwhN-^+wLP1I|E)PXYRB{@Tak7yt5cCyHYQZ}Va?<|=mDEB{qM z{o~%Qq$o_mw=1rv>UZz!1a0ium)T6hzi!F#*W3@@z4_$5=JkV*){Fj$JR5fvt$t$s zVP_gdNw342#uKL-pP#T^&!mmN_!;}iuY9Y>zf1|Y5!UrG#`0Ov_ZcnmZ$tZd+5feE z2z0z4w?n*se&7-R#Fgl0$qkude-S$Ze?10;5z~hUS3`Gs+q-`~Kjf~w-p{s545Yl8 z(^rn$^=OSkN8^Or0HJ`t$FlbM!vm(*h3yP8`HeVcnfhE|_o;U{sny z*sHUP22^x}zV<(5&iSbjGG4uu{wBN>*A>eZ?Q{OIeo! zOSwI*((rA%1wdrTNri^h4pVTydI98VXwDy~NhenUDrKW`@$@Oytz{T(soQfT`+&0V32T+aKWXsL+B{{>Qi^DP8Ak7M2P%;3(SLkK| zh6NJ!c*HVkRb!{tbSb>KE&A~v|9Ry|TRC%3;eIsb0kiED225g&w(&Vc_yKk)fcxkD z){LD3K!amM5Q56WnF>;ACXH&*4M3Y5}-%K#CFjal|(YK+AP@en?@K^rvY>>Y<&V#!)I>W&D zB^~GGH{6hlZ<;c%+-Lx>5m^hR%ev+9j6ZJ2nje|Dq})b$D_w*PfpNU)m;BuhX0+@$ zwwmMF)NQ{gCXDF`hpD8ip8z7zMW^+54FKIoCln*Q0t|p390!DT z!D*DxEr9SN*LGTn>a;$w)nJ)pty~ZPIhK!{Or-I;;04iZTI!3!8CSJo={8E~eTc9U zd-3#JOor3i&5AYaHG;W!Zn*-RWd^Yx(38fSiZb|v0O4oZC&kF!B(hbtN3h=gU@cn@ z_#0cs(H(f>Y*ct0TTyb>N&;Q$t~K~K1FKBUimTuLYT2lG_8l|Byb&-*Fhhh6RU18r z-wBsJSOge8ti;=XAj1nz&nc&+By1;3%eVPh>(`78R1 zgA7g@Mlo~QC{|$rPJ(tm-)SYJA#YvcjX>Rt{?W*(XN(P$Tc(VPd zX&_41zV`qJbCNv-{h2sUs10NeAn)Xi^n8k5^L3y;$^RKfIb7!)koewCYMRn^bN`fP!%;%Ta)ZZ?`Z<`g>1|V*;Z8?wRiNJ)({rrLOIVuI#Z{00IRR) zzCz-5SCr#7Dg#WQC?ZXD^h1IQn^2bPSvcxEgW1=kc(Yuoz{Nog3!%G7Oc<$b8b9t$ zGj(k41*HffJo=#K6Tmmg(e}JXKI0un^u(A71Nj&z6BGHvf~Jmga{Y$7Sx%IXo^^eo z9aYQR4Z+sf`6F;qXShCxS^MOiGXO3vB&U|rmnN6jo)jkkA)+bTQxzwkJZbgk4npWf zk9QcE@-te?F6!16pD7vE53+?t>$T$kRK?zKTL-3di4-Lm-{!IG zx<&0BcjahDDVIx-UV3U&o(y_uzk7Hh77swQ(MQ74;DSfqSXp-sNcAO7f*SPhf6oEw zGGujEd4K;P0zH;;D;a&27iXX4z&f3~J~UOs|Pree7{KVuGtWqMrx`2skNKp4C?O$F&!tZvO>?M4B^x$sqk< zjf4>PT^NdH^Iv>$Rb@DWDn%9q46C_6p5f!te_)6)HfvOFmR<0KAX=Ppa%zrgYu9?L z1P{`X(dfm{(GXtbk+%fhWUiEj{pp!KnZgT7J53|@x)!JCHw92D(MD85R-X@2)EPQE z7E3gSA_}~fy73oY^94Zpfr}!bz*ohE?i$8W-sp6QBlyj`9D;a@l?3JTGS;A?j=TGFmXe0_A0o69y zwK)+H6;u@(&sEGl%K@{k>zi{^f2~@*xyN2-NAiR+A5XpP>z8;YCn`eLJ&VO?(#*gf z1pM8}H>DGOu0?&mo%zJ~gFR;ytFR_-Ivz>pL8VAtl)0$7d36y;{<5ULr~kjxL&0dkf| ztofCsAe;9fZ6FMq9zQ15;&SS-w$dK2Ix<3iHG9Q6xn}XPu}q2_PkWn^mJbj4Q?Mec zJ|1xsnl+IJ0Wo~o??J2H`+ZC6!84_2Ej0QjC%1g(Du^4^irhY?wHgiiET~gUQ1DM0Nw^PoCp5VlNNxC>dX(6q zZi%Qq!H`cQ{>JV=w;Igz>rtgBRlmh=VD25=Zea{xWAM~4FE>(W%hCauz?J5nWDrr3 za&gazRc~vCqOYq^ftjE8Crk2C_Cza%#+ZH)5dg3w>^>R3WTrGpH3LD1?o^9Ay*)jD z9QTm(uF}!wrY=9b9x+!B@02SxF;{Da3&3aeLu|@Ly3WK!k6)7^-H+jO5ph|x*4nhC z4Xz#i+$k!1TXWjX1-m?dxbJ{9%>Y=$rFQe>Ax^Lg^i;K;{%X7;uRHD+#jCSnDo~E0QDCWMeSvO z?CA(tk{NQkmY0HaJgx!vTKWagw!)*XnznjM(dc59OvkA73wcR>8LYMP!biJe)2%9JEt^0?uvo^2m(}ln>Gvf%wd6KuTh4;9M0e zy$8Vf5hPjT(q+`MZ8|LSC*G`cQp&M9xuzQktdsMe4Zln`C&0^J|3Z2mRfLnAiT4{!q@Hz1U8a zX?4IJPQ;>|!-bs~KkkL|GV-0=_GK9&AbyB!6;vA{tqxc_WhpDKCSH>lN$kKWA7(jX z6oZXNO*JVp^cd9cjl`iDDXRsXv+cj`n^t{>n#(?AUe2^eQWgV=Z{}8Q7;#+a0R> z81?3lySzddAH$>DI$Y?|?dT(m!4RMSAbh&)vp-^O&Rn>ViW>a|COh#vAI)h@ym7{FqLS=#k49!QH+S<%^6)(S)UvwMdN2#M%#5S)!U3%x_(8K z*;#4e!@e-DoshP#W~=;Tsev-*S}Q64zK>VHQnXb6y6SC?65NsAE%O^WF1uZ0!>pEp zv-i>uB5{79Eger81v?9s5WtfBuY9d?l&;*J-cpF`F++AS&Z#nieIdl zE%P-<-B7N})LiZSjbObd|3ZIxwa^M-4X*8SMmvshuiq^zu>3*lCqF(*1f2(f{$kq} zu0;UzqV_cXBl#~*^YVjahQL#?KIhw_SrlO%PzC05-Dy^#)ui~A z{5O?%AU(auR)b}k1)!dr+ts+jSURvZodfB|{C|i~fDdGUNWXnB1bfP-G%z2s&r}Ku zUuH~k54%Ysof_>eahFMn<(fy#e2i$x2=*ZPIsHON9F&t93sx&N-lJhu-De}cW~@Bf zdy$cl5-~Pkv=-*=aE_~kJ%y2kR9s$3T(iV*eo7H50ECl2E$5qg9R4fV!TINX0@O#K z$Dqfaf6;wC>;Ow@a$_rfB(US#$oJp#Qvvt#r`&6QLX?k}a3h?ey{F0f)!F!Yc-B1A zuec^nf`@Pu;b*q|@8F4tdWwYv@WWrWwd0dAv*Ts|uv`baqR0x!3Pr+Ku?@~}Epq~$ zJ&bGMj`(K6Kwthe_g5^f_5t`(e9^Ac-%$&AuK%BO_7%M+mD|3RBg}is$6@kH1RY&#yGkZO?Sg?~G7%}uh1cm`SJ%TOk za9netfQ>*%FlY)4L+9e82P5XK;(!>k*&WZ&S|H4;H|2@e(=^B5ymly2O4J(YsSXCl zItF4uI{_pm+a1xCGW9@v_)nW1dLU_C3P^pF1_*G;5tVl=8LI74)&#$oE*~#JtbB5; z(r=?TRQVC+>-@7l5UnXg|87FP5j6ho3}d>ko#^}J!* z(f}w~w0P~Ud0Ys%Zm;1suGJnJ9q;KtAAFMR=+S{aJ_acKl=BqFSt;*T`zAmm0No0v z6l$wwnublIx%gl(#8QI+*~-kEh}&}wVWp_jvA!K=!GoXu&JW%DoR*N56pDMy8!J2d z`R(Z%!)V3v>)v5Zi$G88%JvH(4G%F{BJm;sDwlQ`Cd1i7emLd<+ddOHFJMF+HO9Wk z5OD+N3;`4xXQnVfmOfvFonx{wK=EebI-Bf@)mQB>Er%)2yV}ahz{_Vu8UT4fQj5#N zz)-lOMa_Y7JQ|1aS)$F;^q8ntNspt5q8=OopBq2ys6F1zdLgGBvixOifjUWr^VksR zbsg04xOmP{wlwL|&j%MutrpM^qi_)&O z!(yx5eMJJOrU>{ij$1Q$+S=9%h|zULmdV$~0s1li+~ag)3H$Whjmm0KkpDv*rS>A3 z2O=(q5ts1aQNM5;)C=nmw|S_K}aqQb`Z+HEcxmk)T_afRrws z4&~DkM5p@xU92+@sp0$1-umX1{SFIxa`ii&V7E?y+y9D{TfR8@g~PMXbxmXHY2y)x z>0w1zL+DZ7>dCjPTsb3$-S!Nu@ZuqZJiNMZhW$A!SSUOA2;`ImJL7w7X&Y8qIi-|8 zDJyS9Fb!=_r<<1tfl5R{Q_g1_K6QZl2*dmKCY%K0Sr1|>Hw>-4x69^np%DuJ!~Xm& zkL|Vbd?K_g_$w8k>Eb3;n+;s7@3A4mx@N_?-H(23CHNH_C-Z%O2nwu)A)uulOj$N! zCoDR^kZ{xV0FheB7rmU=R)g-hXM9xrgt=I6__`dd;V0Kv+{X~V;F}DgeEup1 z>oo^w4 z#Xu`%M*u}G>fP+zT4)Z|ttH+7$WzMstwx*UnM9i&St!7NRd?oN0a&nHrO>tY`MneC z(Wq|kMjX`^*LcAx+dURNU`U=q*~<6(wufpjgvg!dpXs&J$H*KdH(9C5eKyBK>0?X* z1hZgpbteZf{BoV0{#=4qFQY((Dm~e$^DDUYO$%dAOIm&TA`kX^#q6MyM>R2naR}@m zdMx%^+n?bq#^Mz8S(7YuS8h_?L<<)N=m^FY*1|TLxTdpuf6AwO6ZT^psOe%g>!qA- z*l-DEe46(0l=a#hY!+TkHAOHx#^S zg>;HcIgf4V9SjVi_sjBXePTWwX3eid)B^}5Fx`vR&b zQ2mC(QC5m9Lqh;(xp(nq%gr4NS`>Vn`);srb9#~MTvxq|(&f-S_XBu$wyvX!wcMUa z;-o{MbduyZ_kcpjJvq!fir0(>JB*z}e@36!Iw03=6q1+!Fn-fa#G|@C#1a5u@~a|0 z9uZ={lP8gUzi@CUu*H>zzvfWB5QEzzeB>%lqLXZ&d?C8mNOf_S^G%)v`t)3g2>$B^ zJtJOXeZ+bQ6GX)WDy{4B#kb2kP=2hv(6C1k0+t#NWK8BO=Lz(FE{rV?+Oz$T?3(z= zq~uML-AbBl(?&?t+bRyx*FxI-)S<+KlT(iUU8YW9M?iH@lVm9^LQZb(xWb+p;k6P@ zLFeA7AVVjEL`kHh+ObLPtS%wVR>(L|yDH^kk?ybD|JqgZO>~|`a7g83{~%F>QkrJ~ z@&wsZH?&>RbT));N$> zD4P)+XDvZilAWLj$9Ln1hRH zHz*1*7E?-33>PIJBFEMvv6QKqZtE~(^%jY}ACwk_lr;p%WJT^)HJddzKh#^9bZ^hh1(W3+16%gt^V2x&H7>-b@zvmqZVQdQ zE@GTfyD?$dFH2}P4@i`wT6PML=-#F4XE!;)lE2&BCM;Zo;LoKG@XU;*$f6fedlv)h zcb;CkD)N#M`!Oz$-7iUdTcrW(C1aZ_E*4@38GumQ{S;X`M$6u*?$h_5ebN~x`THr{ z1utVjeYp87sROV=>HeIKdPtR8ipnj7eZE!>_hmhQl$IOHwy{ld?kggDtHHi;JP%bz zl?6}sV}IHl9)rtY&=TX<1%QMvI(xzwLlkgpti9d-qkjko-8?z1XIidj90SX%)6V?jShZk1-l(tJ~|%92|uSAX3T4viA-;s zzb<$9^LFEshggnU^5&&sjgzYkBVe}#(k)Pm7 z0k2t9BKK;vWm6hy+7hjOUUmp051@hw=JjN~1zG3!SmO8rRc3F$2OrG@7J_7A6_y5m zv@y*ro9#BNxN$#{u#Vn?|p56nDsYX{nbZ3oJ`n^1J9#lI-m3B_7tFJ}f zXvHcgth)7}=?3KE(O!>?9~iqt*-=Cu6mhIjC7W;HPBD-lSU() z!r$xsj4{3G^OaK15Hd$r)X@VM6m3a4=UW?2)1~CeN9jGmIqIW3sh#29P6~XI7=r{k zrq>+nywDa~Oh|iocciW7mslQ7zBM)sSa=4mY%-Dh!FH0WGih*NSD}sB<2)IOW9Rvd z;9e(T^2tb1dOx*ncAPR>^tV~p_0l2QgkhkbSBO&IXW-&}babS{QyH8<|5O?&D?`4K zP_*{vO5?Cia(9=A{nyWG=CN2!gAxrcRo}-LI!Z+3Ybf34!%+DZqM6XA+1yXEUJQ~i zzcZSJ=<2KnHX2^E=ywTsE5nMSFN*q(wmRBAW_M;$d-~a&9t=O-guK7iXPN9Ea*w2l zy(@b{SW8Gn!j%pJi%JJ<=5NM`Z5j%`Rl=dmi$sv(T6q$!5rKrX{<#R%f|bHIWb3H8 zS^Ax@=48Q@rU;_%BY9r3%+yJQ?(27cbsQ?SrO)Kb2q#U@;)(+uZw@@;Hgw* z48gKoN@`94qE;gZgf-y=HnHW-i%pChnVj#4nLc3^f-u2gWXLqPeN|USp>FjG$SvefA6tFw94S~n)JpNM@(W!Goh$_ z8cVLjp6zDiFsHI@5uJfoPen>ZzS4J$Dd-_k{nk_)od>D0d*v6#Yxo_js@CjU|7a#= zWIR!;S2fVZ@MuquetO89kZqtzSgM8i@&w0M;|Y%TV%KRE6ME`QqEbW^)aS@uu)UA1 z&;Zf!R8ON$p-s^#K(qy*N623W*VGp}3FQ4~X)rtBO(%!|6SRmRXdM!ps5Pz@fqZXp1yF0_{401Idy%6kOJrPaLhoKUvt`yZ(2}0rztFZD< z)f~xsM|j%=vO$NkCWi{UI2ZU+Y$7%ULm6s|aTw@BN5jHwedbXheW(0Fan-$DmcGx; z5L(Z+x?Mf0bl)E9DN>;a*bp&7sxLT*ZHvy)i#e_`Ew0JXk-78{(*tN54fQoT74Q;lF&kfr zqR;0WOo4=v!fYOVUSg9Sz1>P2MrhQq0RkK{t}IN43bnX%?I@aAg~0~UO40rZl7!lM zA=ulfXm7quMft0^SlNCNMSCEpNkANs|bQkpSIUb3c1Dh@mIlNENL2$!N=J zjoK56BPBO`dOo|vH2P@daOfVw{3&BCx3{+p-i_?oP>hoB{P|a>dEp?Adx)4h&?);f z3fTp!HSehjLj=PuhG-GPj;8EPw)?Pbq2!-kr?>jVb<_@q1j6bo?o%W3^^)LoAdwQW z773~?wWF>QYrB3mMKYQbgnT|XnNT8T#aoxr2>l4J6--p zpN&_FV4WTF0!4snqCtf|9hBU=o|&R=^Gno{yRvyA1wuf(Zo1OmLAeP71#wi;^Jz%< z22TBlOHQ+!M;Zn4eF11LQhPjJXM+6s^$U~t4^_kI-%yoAnT#DhIhiwa1t-x6sh0^N z2Gq7nP7*NB2yXK6>6^|e%YyDa`~m|uA8;Sxg+|rKbbo?{^Fs>z;rltfL}Hb6as9Sx-U$Q5ydj{6 zqp}V@_r#lAD-MJ0hWln-d}o0?_rUZvL-v#M(X!UE4MlT$nEm8^Ja?CORoPys0G`|F zhM)`cvq7ahX=-T_kW%1POS<0JeY+-F{Q9PjX4bA4MeQM{#Mrq`4@zD0E8>;HZQp#I zJTDr*@|zn7oisn8-^*&Lehfj@%;@my!2AkRg&d68NvmiEPP|m>&6j>6ob6sBXNh0DLlZRhdw}g%*|rq81%qarehf zA8#R|e=K%AR}m;1m|Bfq;-N*VIZu9h_I-IGc1+LOP^1##CD8K#KjYc{Sc*QwME3S$=kI*U3diEq$7l2|+2x`4f=qHn zj4%VC8+D~QUAU!8h;1t-38JEiMXX|nC#OqtW5BFZc?7zsX)bc#jX>ppHmPMl!u^KL z9i@J?q3MUmOvY10NmwJXiu%P;JO#6kTB#&XnxgWe&%qnc&7N(vQXZ>Rp%&y`9hsha zCbQY#Fp#wH1;$XHVG^IoTm1`)vmQu?_)KBztM+uaa)9gRIyVM=Qru?LGc8ji+r5Aa zHCQf@CJ~;YuYk+RW75S04xW;L8FzHI*aqmaQt0N?Ne`zeY`5#NA#W1FU&KpxOZ!Nl zGoZ6LZR6_AsS|;<*G=~z&WSJI=Ly}V0XQ7dwhZi1Wy*05Y1%II)Y{Ited>y%2@j9y z_%J~A^l4^N2%PJ5wmwM0r?vuFsLj+bJaQprd7T{P#Rr|nS5~dLS-)GFuHuUcL}JUf zJIr0cBuq3$4rQNY@&)rZcWc?IKD8fvbL1Cz^NgHD%LZ7F6ZiL1wm(l4ro|jlMKu1g zX!W~wG+#^3A9FW|=27fr^YE}s`0{TcOpZLQ6Y@@O19qp$>WI$}wR>?yM)B)ibb;DJ z(%l(M+algDW?OgijKSP}QDL#5aKBPS4mEmV;&gGGa*3Z)JF$;Bq#7;c+gGL0KYO(6 z-UZ46s)Yq&b+1j?fW&aI?amen-e!{mOczc}q4P}G z*18}nyzJ8dB%Q|xmey|E32rZFZ>{VCwnrR)r=X~m7jSR+)XMAaRskK+S(VXbH93R| z!d4>W$U8`f&mixT@)%UEjP9f!D;UEfzQg1-gO!!j9K@zn%5MD_5b@Db?1(G+raW6yI}ko3{-IL&n} zLKN)}f|~dI^<34?2^4?S6Gk81c`58p(F1J!Q++TD?7WQd-evCl9Q8E-M1b?QJ^AM` z*{JGQzJq|ry?sFwPtm6p^`J-JZIHy0l zo^fMvbutS%KbX9uV|=@%kR|%DeEvvDofk8XHM{*bK|98}7i?i%|#8R;r4K)Gsy z>nF^2w5zKeb7~l=`dSH;V;+AS;83EV9N8%sGHj>TdDM{A?ZMY)P^j-s=+f%<4ePb6 zZXRJ%jmp9}%Ns?Ai zJBq`wdul&_WHA9(%_Vp(Z|WfUteQauzb+nKHxEHE}o}PkCzZl6{qvl5mKJcmzRZ8KBPX5*(VaRW7)IRxUbQ<745-Zc# zEKe-*un5Uj6@E9c#QjN*X=S;`FPOW=s1Y zs~f+XZT(-+tX))KNYz%wnt8hjmD$nBHvTand*g+x`(`e1-6y7(8nF-de2KLpBag=S zy4T`4u#2(4wRy0Etw+2TwR>{Mts=FQ_jlX+cP!k`DsSf5>01L_D0aV`z?Yp%7BT;3=^2-A2`JV4wl6G~SM>h3334k<5@HhXOfl z#fwCD&~x6woh{h0$>~NH9J-3B04%Wdsso@3<~_zX(c+mjj7Za5%PG|!iZs2u;MLt- zJN}tW2iDBif65_N;A&B`F!;UaCsff(6Jnh&g~t;TwQMYn#-@WSG5)@V zPCWfK8K#PU#%^XK98BZeY(Yod2vuvFE`8nGnV&zfuHSTrp0Xh#;ZyBTT4&|lXvCau z#N0Mc`pHr{Nd%W>v)3aNB9oCFjJCNq@cinGIG)+iLGP>yD9@3lvb}ny? z9L8kKRe7BN?6dTO<*I2$OfD~><~(onO+}wt=*E_5RWp$W*r^tf_GfIZ4sKXxz;;rE zrHldu{VN3@pDgKpyqkQ~({FRjly^jkwQ&(+-MyYL}TNqN1deKO|sx4j#E4RZg)enV?fO;i>_<%r~*ERBLGS z3Ku9aW=_LEi!0@%-5skHnHDSw9~!XP#MS{-CWsT*V9h|W0Ix}n-O~mfM2h6Wi^Fa7 zvPR5tj@_+hIi?Wu$gdW8K6(~9nuCgRCsw01tN^Vp1|@>dO0!BeQrL7Bl+S=&c`KYA znDemH5}r~*ryTck8l2%-zo}#N+sbD+MvzF~m_jQSO%VdoESGhjMm2JtEeE#494EV# zr6V_a&@-r-$cfab+9bdzdq02xH3P5=pum=jHHy~adGX`U0q3&cx6SHdsf94_kKt-b zC;54A;M8m_tdR<>`2OL{Lvvs=08=A@G&syh%f5W!*JgmrJ{fEzS~g%rILD0S7Oog4 zL`5%Iwxvc1_6V+JTLN^0pS;Lf)f=}UkUOWIgrP?+Y*frAdx~PkiXIR(U)2MN) zwqU!AcfwU#)igb-5!e+F8~4RmXgk$A+!ELc`?TMZNEl+YZFDbSS8pfLbTKZ1OJ3k2 zc)PR~_Sv)oS9o9H`4d!=!_F?Qei^-!TgvE7U0Gy>sphC2pR0au6_n- z#YiMfIqmc82Zq&^K%uXJA;J8%af;iAc|+Q>_-^5)#CZkzBDvKC6>ZrL3DP2T47!xU zJfOOOAfsT>@j(u#q-VtKHuODo1_aV_v$(mrWwRam1A`j=q{gv#0G{0})m25?Ny*rC zHAVu*bwcAu>;J*tTZTo|M*qK?kdPK7q(w@G5EK!R5ET&wEJ7L_5TzxBAw)p|rH7JG zL6q*07`g_el!l=@ha6zw+=D*P^Sl0W-kvw-f>(3R?0xUG?_6trKa1wdXk?@nARthB z?@jd#d#WZOvLaE8A3+#qLj`rDJl5F`BJ^KYkmd(6s>qLQ>5g-R?7%9sY!!F$}0HOv6?ARcXhpfy2|cvVf_vT*nx3H=Mt| z2es4ji_H^1wNxNkcQ6r+x^qBT$3qr`u93~HX@SG4m({D$^orVk+h7#ruGLZrAf^bR zgJ7!W&|U3BmtpO77IWV!YB}3t+>Gi`kdj%{BW;>ZZ};hzo);foj1FA(dn-0K57|zQ zisS=V#hm!PMk=wY)7IWyJPHS&B1(5IHISfLi4@HFq*jBxPE7Gs~YfoNHYi*-w ziuiLyW2dg05eLotuc*Y@+C2_&vv$vcSbYSs!!`AliqfxH-+l5ybtw79{#YNE)UO1_ zaq8mtvvz=+$ce^e0D<8tvEFUKVP!Qtk+n{1}Lvt7dBHerdb!^T;>VHsXXRTC|tJtikNo?u@=2 zUz$bUsGdQlnLKBQRE$KZ~s~aJ|z&BQel>Y&^seFg~6ohiws>v62ml~Q3l&7pyB<~7F|6Z`$guZ5G z0|#Eoi!7Ctc8R1nhCnpT7+Vr2FfLnDZra=WJ}OSCwU|C6Nn=nB-qz#LRZYGAnw=-j z!p0)2sP|5-B9#9mMunOpXsd5?t#TD1Htc~xm~NJ@`m1mvE;U>_1o#|FdYl2ghx^lwBxz{QI%q0E!<4DhevBoA#7L+tSpGi z@wpdd`N*@MLbLe%ra|-K@=p2C=0Azs$u^XG3G39kFAodLl+Qis4CFRf3dQykOR3#o zZd+M0RBP<_ma^~RX`1Gw^uRIKN#pBjq=xR<)VzWxjiz*oxHR5E`f6qdF{%3w$+Zjn#jVu z(7l&K1$ugO!`wsLRn3SaJl%b>_o=W&S{0;xmQkq}B!HKr;@&D&R+TGH>W7l0H+PDM5k^_K&dCCVjNqY7$0?6C zPZkdgCJpIKPbc+lc^4k9*I#-z(fZDeifpjvl7ZCUgy6oeP`%m4jnC zAIq)IF!=e=T|NH}eO@|5i^qf4A@59Q@k@ZhlB2<0ALY?BP%~$gbecz#)_fYKFPGR~ zrm#y1chjAXTLwwv4IR4kBJV4zE_`?}<0{~`sauUripD6Ba~+^$*kb7GO|k#ethQ4u zBj@P|5yQ{yn(Q$QFX;4;-TklCnrbK;Vcs51_ld`McM@DiNIP3q5Sg$?Kd8mEbKEd7 zG+&1cVxrTy+8z(|n7e*H^E=3oSi348B+A6`y;6FE(9uI8GiBU~n;jjrSv;Dc+XK>F z&sOa>ntkaac81ltkj6|Gi>8gM3d5pZ3U-(cJso0z%rSh=;kuYrIjSya)33N{P9s*a4D=`P!Nfe|^5D{L_c_soy$Q@-Lb({mXX%)e(D zNQRzQ01?qlZ<3rY12-LPx5~hacw(!AQ@&O*%tDA+?GjQL_3>E-C9Hh^Qcz-S^T2m| ztVwxYMh?Cr^^)|ZTLy=DK9WkpttG)I)6{QCt#{DoJc|}5gUovot(=;{|5`93>aOk1 zDTSW*gs6-~t$3fEu7!Q!PF|36kbe^lw!MLhCDJFaGqLglJ(7YNC&5@GH{`%mO@DT~ zK%5OeW=d~9P_q!F0&O6}1z%-++($gt@>spkJqN)R@^~53kSX>1{KcOsT#$(#dxrligDRAC8x+o`r6?7?1O(rAdxYcl&+Mk4JGqQOXL$jo3dLUbHAunuTv=2a^a4h1m z4s8Re>ykqycq#q}81Ohtv8i8E5>|uszem#zog}((i{6Nqx850UKURMsK*mh(CGi~j zj5IsSrYv|9@2Jmtm0Lq#&qOsM<7sn;7)gO;h^t9i6x_{NU?`ye6xaUu{Ou=uYs>Nl zZEc4VJ(L2?A|g49F6%}&AOz=fv3qNL+N1?Z!EeTBoAbrLXlL3wXzlH_Ugr<)_qU%T ztFq+G{YHI-II^39kIvpDkQ(PZxo$G1eXF8C&p^ZJ4$sxrp=6&LxfSUl= zMBR?j7?QJ^nlD{S);#NCLrWgG+m0&g`+VjdjQF-^d`dp)PlPx8P{i&Zc({5->vipEw}XUgU{(Q*+ISQBF6foE^NHMn>FoWtmr=>ny8_o3hB z)f&v5!Gy6q7!#1hHh&JRx{UnpMK{ATa*mOqny9m>RZtC@ubyLxTV_3HLw37%eRapb zOK)A2pUAy)Bs8lQ1C zvgJZ_<)ortR1SzaT8-z|zcOI?cAGgUZfA#7T>kWA-FlnhvlL(F`h9S;)YwwuES~Ka zBZ-eH7?}Q5<=LM2y&z0*fsDth__UQ(Ugl4w(}x?h#=5!&8anYtcnLFLGDBex$qeT- zn?z5nlYvX80F9`S3K@I$*jjK%yt7%P^mdX8G~lfgr?*4$c=%kjlo|Pl7@q-`K(~A; zaN^=i8_TPRy*wN-V1ZNYE)8rd21%U0@P19QxCXn15d3TPLu$LoBI^T-IYObY=AG;m(mUwC{8>d{V#nX%S-T9AOszC0 zO7Bh~{GB#sau_vj{-vREG9fsMYR6cQ6(-8IvTV2{f6&Zpg$oFW@@qKCO!MBN1}D%@ z1*9nTPY@Lr;;-2sZk7o6v~Tm|-FSx1TjzKjF#W&4Wnhcv45T;FD9m}j z@V+`-Kfe}F)G7npzY+6hgDJg2w*27c=d4qTG7K8<`&AW6G|!24)EWF2O){-t&vKBs z_vTY4Tuk!gr9M(tg|1$-#^u9o;M=0neS`R**CJ{VYoWBN>WFR})@ra|gzoBS^_GGc zDqg^6H}4nRq2l?@hkK&83wO}Gqbh{(DQC@N}WRCGs>xC@r{In()8TDsh>_@89wOnX1OkUfLl z>$U107_4-MMcc<$IH!jydLv$q^xZUAXvThuO8EKCZYuxa38|YPCHJ&XwQgnqrVUaW zmKS-#{d&dwVI-f=VULxr!uOJ8_+;Ffl}`ng_uEBZSty)3qQ39K%(?$*w=FqJb`jfq z+$Yst=QzN!YpoTe`t40t?R370w=tXBwze#~F8i~R6f8)&-n`q#xs&!ZJ?+6`&lf`t z1j{Pcg7fLSq_oL=zpCHAS8Hx^&K0#uJmn-hZ&3(5)~41RsnvMumiAZ*dMcQsgq%_sBmiBj^~rA>R_F%vqMp< zyUC2U2qek9M`QD7q(Oes!o*H)Xuz^*0d~C6Pbj5HDo$UT!mk0Y`WmmZJ?-;}-$yrG zjx{;BIRUQ-++1i_i(|RSO<>8ndJNUA$G=$7k$pnF0^Z-RtXG@}?O47?Ht~R;_x-_4 zlI)IjC5!nva12SOOQO>;(7h`7g~5R9>w@KWSlqN|ND9l(ENgmFByU($$;?EO>j|xL zx3nrarAeBNyk--e9FfB|WsYs#^D3l!-T}f^F~wq=p`xVkRWHzMbjyi}m_5;VavmXp0P7QBYI9?l(WkWw5090`D8H zHYNW%{Dh#AH*5*m%7Imp=b2NZ)R)vAA9ho|38NZmx}*4OZWfg1IjwT*Yn>@y7x?CJ zfIO46H_*xt?DQAjG{&DpNexxGfa!8!#P9Y1%Uf1%YfQU6gW|$XTuj1H%jMQ4$>_~| zQuP=Y3hwpY%_PIXJ3qGRSa0y_X~Q%jy$f}5Z@19fbYW!cU1@sS>IyS6VI&8#T>+^f zi{$Ss;9^`=>6RK=-5M2d_%z}fV_fE1o~#(snywiRN*f)Nb5un0`Aq#*jqm7j7*N9W z{nl{cE%u^l|ybtek#0pz(UhOb8nL)v<>hze~5Dp9o_mUS8F%KaJxKK1DEZT zfh?)`F~VEcuRoPuT9zd4zBA|)2`f-k)PL7^N4Irn=|zXY{*Z335MwmnD^z!zqR5fvdTe3F zNxurbqs^oFd{4BzDp|6HM`W`YzmGOqGqKe!iQ-J(hoSHCG4}o3%yw!|)8rmCDH*{y zlxuOny{jil( z4^xw;AW=k+Sn!k<1KE!R$V_kY!D|crhU@+GNshq}I#^@{kZ75df-mWIjVTNVK0K_$ z#5xHROl<^UKbLv8uM>eUMo9Yy!YZcfK=Eo-9okQ8Nv_Rb(*1|- z$SfIN%HUc7cw~b``5x`oueoRc=s;OGf$mEC(k@kX9f?UxrS1y*_PCRX@$gu|>u|li zw)4C#w}Bi75c`fLV-)|p3X5xA^6YQT0+)ZJT*)jTW(vY+Ta^D{*^&rqgpSkMdiT~d zZ%c#+|GmoJtNx$VWu7S=Pai6@5B?)j^ECs_41}Kb{twC-!k+*Ydr)d|v!UR#ZFm=m zIGqNlk`ntB_gQDeY{hETzCS^VaR7uLE(kr3n@yD|M>0=Z`DVtFj=W0i@-YkgZPP>4?-J2r!4b#vTBNx_~9y5j7(XGoguNcEX!`PNifDJX@8~3TKYV&nczogS)z09iqc)KGc4}E3K>j5b zTgs|Rnu}S8PjjtYrL7}-Ns#G*>;1lsvPyAg^s&h2Y#~k7t1NHHvBh8MagapWhToHg z&tJLz%WlhtoH1~ty;Slva0#CVf3RxB5%6VYuK)L+@Dj7g?;m9Nd+RVRCi}-7~VF@3+flA=ccKRiB5?&b05syK*fuYei_d6A|*8-YR5B*W1$0`j#pLoOo zr^_)R2nnDsYXm704AlS+?h$A^qhr8YJos`EkZ&Yk-}_=gv()zkq#2Vnyzfa*|G;&y zS4U9Gym_Q!C=%B5@x{;B=4BkS5e!x*so){Cl#k9f1^NAS1Tj*KT@|i&M&FuYPInSJ zXs1DUZj#OJ$5qM~8zLqCgcSc!F|7Wx`P90LP3&xkdnKqVDeD9e>iSzMCcq~T7TH60j{s6drXSYWn$)XkAoqTkC^l#vYvkx6C@nw<_6C_B6P6DdYWU|vCaCnlu{9>p< zK%ROKMHk-PuEZ6(%Wvk^g-al2WihJJK03Ol4O1L&#KF2ixAgicar~v}0qc!+lKceQ zAM>>rGBVEsxxfDn&&7_Zrc-1<{$DG3aIl}B7ahgKUxd+kzz-|lqICaIy!4?uk=-6oICp>z2{yi%BFZk>dGNV z&EYych(^)g@w=3f&g=IZFtg(I$eQaMBGK{WfO2L zQ(<%Io35*f9Rh|ehv!JLLq<5OClF9!ca?Gxh`4c4)M}lkaujAV74tR$*<-&)4^C#@SxJpm_K|?oT+NVbP&s<<{ZM z$O|$uw+Py*3*$w;#ln<~0TWdhmM4MBw z_qcQ+JtM+1D;QAN4$>D(hp}h@q{>^)Cnth9wRLze>lT)h3yYEzxCl?~RP9tMs>l(f zhrA*3alKSWfGYDs%V4pSrI|Yx$c^q+2ewu__Kobk1{`b2yB}>BG z&c>MkJm1EoZyQ?`l#^0@?lx=Zv}piW;_Llg&7|}03>~fB>wM8E?)6)3dp4xdHS?l| zxYs8r&?iZlTvvUmx|)WdVS@t z{6&9Rkt3~nu8eQLiKt|mgfg2ut{q)BGreWIYfdBO9{XHIR1JEkqJORu#40?rULr-2 zHnp89N+*{PVb3MZqkMNa&C`+`EK0YEhw1>JE#~XS5C#$XxQRzAlx*`(<-GY^&s)uM zWm@DaA#wctFr~o9m|e!1PXSyS7qLwtN0I(pq@l$!gqVgfh3+roeca+W&?{+bE8q4z zVo{jF4a^#!-+3^hfSZaS=NBn7?ydq7)Nq$KTul4B*-DGb=rPO!bNQeC^24qO6}*^< zsZ=7}PlOKFR21&W3aQUrwAXw27=+8h#hp04SewqC^^<>nQCL*%jFYI7!En?}o$lg0jFj%QKZ;9Uoe8hH;K_H60?5H@X+nwLq^n}R!5RYY@fAn1exsxjo zkBV@0ClwcyTkR4y`9w?`J4~q5X0k)E@7RR@qtFwvm3(fj*>yjKL*P+&oqM#=IkSk)1CGF#DLFLn>Q0o zx)!TO4ka>HUiKxt&ds6ZW;zRoXn@;5D+v;z)Ankh&(dR$TcVh~cs3Eo0V{Z7ft+Gs zWWkj6b6!po>yUy@DWGL;v24>%p!OD?Pq`R9&nnXPOX_Hf?$Rg9$mS*S@90xtYx%HM z?R8~As;5mdpd#ZOcV4k4XM_nDQE#!C+`3ZDe%{-HdyeY{H-LA^avkTW%#Mn{+@h_v z8kOhEjIubfDUtoyn-D?l`B8KS;%TJrZ>C+;u&&Jfe4za4NMaAMTDkKe*o1GxLA?oN zXxo}LGot{1U9~4I*A$j)GH#_aB^>Pc{OCzq`#*MgnSJ!Zb&F((ZP`t2| zy)yPOQF=&xQP)6PQOnnOeq3(X0BR=zy}#<+Ic7QDAE3-SkZZka77aJ7RlHxBq?rWQ zTxC`$Fpa;|Pi5uxs4t9Y4Jnl*J@N0B8 z5e3-yn9Fsa=c^(PC4Oq6ZbEDtTa9U+L0)zD7a@jyh0GUkqm6^G=Dju!8?XmRe-Wkn zf(MwgT+N1BkG^e{yc^?~eM?$qEu;l$?m#z(6^FxAnCe+rs_x*UzV!%A1+|`HxwZzZ z3Wr&En|kDqt})LK_ah8`#Wlj7UR;f_Po}VcZ=ud)OVZFHp;ts1x`w<>wb%lb90^N3 zZTg=#;LRRVjwS*P8?^(DTq&)!53^8m!H>N_U)jz%Cy*(rhYm>5yNL_9bHq=Qxv5?p zQ)-%5`}qTHd$(#r#yKDLOScIjwl#XY@41drFYa3Cp^Np_b2AIln5hQFRoKH|R}1=( zb#%oQ#wUo{WT$S#_J;(*c6S15sFkhlS{7y9I_7nPH1&&LBImz|SceT=AhJ%Ys-j*t z>2kuTde5ViXIJ>V=f38MfGUCR54-2eXj2{~KOWwFXrL`)ne;+quxuCJERmr0h_tgK zu%NZMhI$ct-%0z3Lr9Z}=!t44QYy>(rsy~VpQ-#@Dh7x(S|WTg&7Z{tNG|#DklT3< zw92s&wdK>|cBRHVh@~U4v*ZhK6k`dPq{`8Ro6tnOp@|KDfz|1`71M6@U z7er3xjJip>tLQfmc8|e7ZW-LNUz+zl z46H{b9u_#PO=%*#l}eppk{7%Zw1+--wHf7c+tip*QDdu{we#Ly9S0nG7XM>@?b>&A z;B)lFi+Zr0vWGXJjcvNe?#nkgT}KDXKc(~H;0%hRL){n9_nea9hgk=ukDQ*~T4?n; zN&Bj9-a^Ck^9we6>6BML5xBraSsowd?+Od|{2{ZOg+0r4vCvYEJ=S**czrKS~?vBcM>D+ zzeXzBsF{HR33JE(XuqlSK<(E}k6^tqLEHYh-tTk0ygA&X<_*%%`K&i?lx7cqQDMzH zAB)lY9d>}F;6@KdQh5vO2-}|Fc$`7n867e$xMKH&PGGCrY!V;zKb~{YNK;f?EY9iC zy~9tPsF9AA8{zN)Sc0PuIex>KkEjrz0UmAb@yx58%zR`R>-y3ZY~OanspS)FLC%0Q zRJc-oWm#7lz1gKF(f0DnY0}&WFl1LHMKXm+fsKdxr48$*oa}2psKd1@RjN^~Lu?&E|rM9B|lR*?Fqw)h9 zB4&s7rkqf2iAjIoxO^4lT>q*pThy0^8XW zCf1#pyq3f}(HfZfp_=Sk?Z6ocrfl`u`)7#Q0mR`fQYw?W6iE($l8p6IzNdl(+9~VT zUkwgs4JWJfCw9n0-}--RxKR~IYcmf=s$yq9!^PM{j;?s?j%!{!W7BI2|0AYJ@=0qx*aOL7mPv+~@T182fC4yP!ZEwhQ*6Qll< z>6F~eY!OoEY8Qbgqlnk;j@zr~=HTZ~Gv#3gd%N4gmrrL1j^|S(m#jGol{akIrjdpg zE~&Az-)`Y;Sc0b56`YlOu`7&!~&KxYE0%>W`BJ+|l zN>dX9gnTBHN8jMI{^>M(otcUz2T zZ05!9#dY#}q@5*f+1{T;nx->=tXAM0g51$Ghzjw#NVB<(02kN;Se!i?xL}V;6a44? zwbNV6e}?jI`)+vJqLDkM&jY%vO5GXCyI4Q3zP!k|{o(noe2Wlkw_=SCx%EZ*^CF`0 zc?DHOkB>)zW5*}M79YMwvM0j430E;Uq+;DlR%F6;B#E2v;+Vd?`aNF&O z94>dyFGE*nVkG$1rc-Ncby!J^M2Tjs>mj0X@0v5rf zhI>EyrKloQB>R#qwyX;E4?lG)L?}D8jml382wQ;Oho`?ED?hG>&-Wws3c9({UELFyIV3T^o@m*m z!RicEwz&wYBgFg52dO#BzfyloFU?N$xVQ6@&T---q?rs+JsTJ3kH>hk1t` zu6r*omqY}G1!V^;JfxME*VhU5$(x$T`%lES(BO>(+|mqZ5i7Z^GMz^bx?~xdm>xqo zC%ikoysGX^gM_nA%nEl{K13T@9Cor%j#&EsV#dq&1~9dfcIW2->JyqmcWm3I`Ej@9 z@xcV%Q8j~_&wiO{#tQyou4(&^xrv|$i(E*>`6>k`v1@7_34g>0B#jh}ifJ6LCtPQ_ z>r78*L=Js7MtT>}cHZ_L`K~a3^W{7laL|4jt4Z=Gl@4q3?j@VGg_2v7KWMQ$G3OOp{^G_=&i~(;Vk)(nH=R3|{^d%|5wK+c7Z)|_ z14~K%7ESD5vJ?v?LAI+zYX3h43d?b^!~fISd^z%+N1Iy*DmzchQs$HlfNe=Lk-hdc zs`a55qu}x3I-Dt)pH1cmobBp>>T;sDY~Glulk)^zlnMp6b|t}uJPh>hWlyXK_3Lh*F+MTJ)ENk+lPojA(%EZ2AET}?zyRR; zz(Fh;6IxC}CnFd=j0do(6R_taq<~>;cUJ$({7rb6(Xsb^&W>Pz0DXJ^UXL^vB^zT~ zpVE3>{h02!rl15I;3h@A^E%xX>tEwZtUiK_Y11$7rS430 z0Pv7%#TCp;VM=9bS{Fj00bjY@_9IZPZ8-GMYkxJVLILot&W`STUbW8y#kvAgkw!A= zGV>__Lu08i@zG_Eb==PTNX1sJ+imSrKrKj6X8{NPY=TtcH2~EJ!BDj)eM^7U%$j#( zovLQDtq>BT%ReMIGXYV?uI#tAs_vBC>XeJI0B^!=f#WB2;v(BaLd1;(rytKFLQ-k` zskZcFvDs<)jzU* z8leL`*P*mvc7w3T$z9;U>%oHbaDoF5hsWyJrHtF6CVvjwGa1?LILmjxb2=_qQ@v)I zoI^QQ2TDDJztu59h(z4*1aK?UiuFddTGLd?T(4~$b4!8;eKH{m`_a8uk7)61fVgPo zQa-^Qe%>KB5gf3I_EX;6<@G_=2lB7pnf3K0YHby-iSR;`!Qdu;jH3O83S)T z4bkG%iw+e1hpRLFmsZHwtUKvLO2Mgh0#RrLZzOSY3Y)eooC5MRNH04WviI0ocM zhAr`V9EX@*l9M1nR%>9p#IuLj&(i{JtokV;rB_cCiSgl61UIic9gYpZQtmf#%xxl6 zgQP3~6eBw972?~2Fy;qH3!1bxp)on)+j{)**7+$gg4<$up~IUsk~yV^VnS6Q;p1Mx z!w+vxXG|3j*+y6Gz^}~?zvwBYw^;3?C92pBR}0_F)qWYf@090tf3$LYFoQ>d>sCi) z4}+>schvD%R1We5Y9*iL&N^DPxAg>Vo3V6w=CYVyg6a4iFtmW{kNyb_=T zSP+y#b`-$&Kd;WhoUL96kkY?W)oTK3B;N-LU)Wm5*@gio>I~B0+4reM_CrM121pl8 zO3~!hg&}r9l=po1RD2QjQnYv8^}T~lxk8S&|7gTI<5}iBh<6*~?NX;eGPT#JBL4w) zHNkZxVNc1CTlTNxBa@2BCijCF|4%@Yfy{U3dJk1-8tRS1Gxnx`h+5 zvIlQ@&r&piph`l;?EVk0Bvx&qS^}@T<=tbA-xl~6-F5k-A%NU8D zqKDf>!+xUsP_z4$g#2=Bmg)8hP{2>Lg;POe>G3siMkOe3!!3Fxaz&2zQlA-XT9W>+P$;xy93Q5_8Fh-2SN`V8Jr$0T&_*o= z#qG5`(!02y(i@rn5|K95o|Z9qZ}az;wM{F*jXcr)wB5UK6AhsU%nO?}ISSSp^6RaN0x71OXe8qo9qQvjYBS?sZjDKbx7Z<;x((8InQ?MICKmg;QBXG42gG- z3S2omk*6OG@mq$TR|*d%3WbS&e&ur%5crx;DHPTm;=?`8doujtX+4UQx9`6S5BqrI zRW-!hCOGky=;+=(1#%VY7_B^S*ZoHWX_`CB2;0>}{oh+3i&kV1b~-w)sQr z4xRw^`{k$~P1Q>P35P3d{$jGgnQ^X#KWQ~0;3jiNi_N0b_dBf<8>dBxw6>?6!qL?$ z{v0^%NIjH$o_0XG`IOxV9skqdMmLCV%-2m0f)2%?*1MdJ1p$hfE1X{EQ3t|T+}n0r zG=-Jwu5sR~ip!$CC5k!-RJX{SI<@dZ;n14|FP+;pN}9jUA3xPpTtmi2z4<`BSO$s= zcz`ZzF8jS~w@_$@Qyaxfv-IT@MlauB!^wTxFZYPXx_cT6lOccP7^_=V+;6$?#V^_!70|lCS_Z_tIbT0pYnKrd3PCVU2oZ- znwH4*EJ|b#YLjj~#3_-;`H-(coYf?g8xW)mQR1FmBA3OkRE1~#G;sX>aIDFOH(GZj zA!Ef(!hC1L_`s1u8#K;irLu2TWe+Lq*awOi_GALZ~}GD2D5?I8@_3-V77zp=6sH9OWa+s)41vj5y@BW`K4r=xj_r{&Sm`;$K1 z0S5Px9TR0udChrD`m0_d-2iMT1d46m2Qt4|3pcb3T}bTQc+ z-+0~)f=D61Hy2_bRgTqC;g^!yNF}6GC8Zgjo4qGkZ0;us#0{~qKWw=xd9-DGG`+eP zg+@Jcy)P;5bVWQ_WN?BA++}Z>2%?9mX`v%baMG@xg0BJ&$y62;Tk{R$$FR;PygJpk#I)}lX1d@kNeI$cL-94jU5R5 zZuh=F7nn`B8j&1*1UaM#g&yr4f9LoP_25zYnbu+sWyf`Kc4rCSB3R%G7#T#0hl_P2 ze}3shehT!)7~N`|W_tWlO6M8FV_Ud!^V2~-5ckp6|90z(c-PuIEann;RmV571veu0 zIp_=c(?Iaq`57WeJkMt%>EV?l)lb4dj?J>BsQ!Prwc;g6ki3=d?4Q;_glkqel1Liw z-nGC<2EZ-5qe$q{&$&9f&X0Ghj{z~1o^YEeW3pDhcfpdXz7Nw%*}sVrRZya27>C| z)2R6W_rnB12y!_mobdVI$5bpm3HgjS`tvIP_d|`-5F{HGrE%}yr{*>QPi=2r7xwAD z9}0jUCN$qk`|qjgv%yoB=8ZT1|K|Gt$Xu^v^BFaydGrCT5#IqSA#n^}bX5HJ1+{}W z)_!(cqzaJ!Emb(2e^qzX(J2gE#$^3kHQ&zK8U{^>guibRkWE2;0da|g{>P%EdW zbPMbPBnl17xY}1i+H_BKmDJ$VFJb#pHiU}NzFxO*Cm{BlSu@27dtD(CIPy=s8_}qP zRCndae@CLC+6hQ8)dvA7615YG@5oNP<&Ctw)=v$w|N63Q2f}E*^!0=qEjHzFkH16f z=|c#zj-12L>=FCe7O#WCB|3>X?>Hi#qpn&rN~lmPO#V*~ZTtd3-yYgjK+?_&zm|Y1 zH|qe@@p?pN;bXLwuJfokVi|~*yL@>?jERka09F$B(QMrkJJm7(*utS%ppqBKJ_CgT zsGFN_e6-g`f{?-!LsCMQ246z|#?%Adbk|bA~ zk1W!8?!$|D`#6{lR}*bn0mXxs zQlpL1hnqA3u4f4x6WMp&LB*5{L#~jH-eZ(*#%l3><_O1UI@ zRxQp#1pd?o(+q0on`<(lULpAhbMXGy7L-M4bSkw$jbYznJFks+^0@cJ-YYR5fNQ~5 zeu^2gzkTZP&niKm2U;)TmPay1F2CkWq;;zQ>dx?s7 zTPo}i5QbYhEFM(XBOh!DHeGk#`mIBk8Eqcb!GJVYz|U(23?ddDBw^b@j@H*tTaFv( z>1g9bN-eKd4-A@Aem2%J(bt7I!%_0?I{btW*1ZkXo!!87fW}GZ8ei?`(Nq}8L2dk$ z4GO51_`CkZ2tm+=)ZjDF^sQHfTt13RGa#=`T{Pqa_8GAv&f;|0`9&}J?YxlbF`dx> z#ZU1z5j%uzwFtIb!;2x_2j<0{*Qsa*JJgvke5c*t^GI=!^5VC->+D_)x3qaM@ z09?WHij9aJmpSw;hadX2Ef7*9M4SxMOp-^KYygLXO>#RJKZ*EBt|OMG1>nKx3I_m| z8vn8^zPKU;fH;P7#KbZ|b4iw`^JE&BA>D_5@Z&kew;!yXQ4G`^5IR?~ca=EM8^35A zWqFunF?phz;BUfx(VmKZ3wn#93rI(#twyph0`28S5(oadDrd)i`2bL8vaN)HB@$iM zAO)&k78@HERUTxmI1{QLZt~#|Czw%d?L>-VC#e4PvTKB1MwUkh2_{uWG!^{1=9i;- zQUv-LcUd?BjUtq+I<&4km-1UAnn){gRfkM&zNd0Z_I(hdMQ6Chl6qvZ2M`acUs}o9 z3|=aEIcF$uuDhg(JfS^81v%YW`*1uJb&`X*6nxlWX+Bsx?xmPGAe=&0sIW<+>ieAqWXdzMrld_Dc>TufEIuzjh>Z zaOlcPZ%VG%F3M>~$=`J!Bx#R>v@BSH#tMcV(Qr)#{H7uo77eO!D|BiUeMzI@#j^rATpXiFyhj2`T`~U!<#f+xFr8>}4jX^^1O>7Jug>uj+!KG`Yo} zO0ga}#EMqNhhOQ+UX=+;@!QRyE&ogt^!ssC%q4>5VFu2Fxgo@DriO76n5Pr8A2+M=nl_` z*tw$>^@&c!zBz939bs|!?gh16?=;6D5X1IIV6hnuH7lBQA5ox5{tVT z#`rsNG?h~t<54rIr<)>$5~P3rqpH67~*&y6S#XEv~}`BY5YL(bu(<(1eS zEoV}`aF7nIJvZJT)Y4xM_dJs**L_QLeB=6`?T)V~*e6G&YZI9~`joRbB%pw6X{~G% zg);Xz#|ZqMh^C@oFiTd0l-`#VPt!L;pbo&NZQK1UP`9z|K|e6xvl3@S zBnEDgy}(!SV!HSdN@v8^;DnC^+vCgnb9=*}z3H@msK0w}#pi?_(d&yO$sa$=iC#8+}_dw`h2y60(@ zM^^$1$teRE5=pQP*b1*omwzx{9K8eF*nHkU&DQPmK@0NfaO|dKS^FGNW+1WmpCdvp zVWvuFk%hDkZ6kBu5t3)4PCn6Ngzl(dN9sVy%E$bY!L(1N@-y08T3t_38C(P90KF2P zOEN)sP>(_i!_?Za1Iq1c@@j$@pZk|5`J+8S-s=9vB*wXI9(qB#9#P|kD7AKCYiy_u z&S7?XbP>|pOOSJSJd9z-sejsEke|<4kc?cBcKf^S^pygG%I25((Bl)No1~&ADjN6O zc^iI~fIN1dZ{Z!S@Atx0&~jjL#kF6=ev3&0``9loVI|D;kt)N@yf!IG6D6U+8FjU{ z9Q`zK9wAg2dN=;Q;9hXyEWQ-K>@(k9eobo2Y*9Za_RsOnw+k#0Dt*Bs7JkIot2Kl| z#;7_MQ0SL44j<8R7W=o85S?a8B8J9xoy;>noY4i_5C7y2M4|>~)432(L*k#4nYcVS zFs#ovYI6u{k^49*w`7%!4z7>RbN)Tx?PY;8;Og!z4;MHTSsq9yzdN?nq;Tj^I9u=g z<RxR6MU4L;AQ=12Yb9<=>i*pTg(!)EdL!j2f;_hJt0~DL`sS*e|-@UC&e%clpIEUu~WXO z**o>^Q`=Tu8-<# zV=e7Zi6CmZvAhGzS_iE0zs`ykIg@%s6&rBSOrhle@u|3R+tax@NQiMV069slS-bhuc*PdJ6V=QEop~)Z}Lo*`olHN7yZ2Bw$`UC3L!`e zO7;{zX)eXa_tg1oS0G@xiVG}U}qDXb=R+x*G80rUPak1wRr6J zM`&)xeVuyn&wGHHsZFxT1$9qnMxM0po4q3+rfDNLbNt3hq31!~Y+v$i6v$*wYAa0K zmiK2+!3qUS*T>P_8lEjD0=_ROl(qUXomQ@(ZXOewJ|y1rT+-lf_wn1LfO?sZq;A27 zyr`W{XL{9#c~bL!n0mnC@b)s-KkbLOC4C6Zzn5z!g5=@6g1aGKw4N$(<;w}ssWL?l zZGu~i@ho$Ky7;%eIF?)NEotHt^v~s49FkVafP0Zh(E@t@|FHKSKvgyCw&+|e1(m2M zIf{Zxk{~%LA}Sy#IU^ZKl38R#K_x0lf`B4|1c{Q9A~{OVC|RN`a=twYi+}HP-aW7C zy}I|@TUPD*Ys*@*XRq#_J^LHq7~>Nb`}$s|QjJAi$O8Ss<%{0Q9M-Z}pLd zns0Kn+|Sqm9p~`ldoBC$JAJ3i)xCK*0miQZ>U8pWBJuU*7Zq>E{!!xf_Nwrhem@d` z|7GN^<#Al;ThWV)*I5P~*CVsK5c}=9cB0*Gk>E*FnMRxhG!kZ#efiockNc|Bd5e z0O~J*^B2JRi`@OULGH|;@=x-Kog~#fp8D$8Pg;cO2J_fdMu|%a2UazyY1f~w_Bqw> z;g32?!1Jqr$4RW%65nH#SR%vxw4a?b`s94x^5;DeHUj|}HN1JHzhG&qkQ?Zp zK|HUHq+35*#$GeKP#NSx5o@tFD_Tgt2gibYt7aR*xn*vm8Wx=gG(^q5d+_!~v(CMT zQj)mn%WqX2BD(hQ)pBeo1dGpRT$+vulE#J-R9;M^{c2v86uFOA#Pa&xvW&$ zx1UWoCZ?S4=$@G!L7yX`ewd!)*iV{2d%!6+&Ep;7@)nk~oo6DtqU z9tVKyzYs$IkrlbT?NCvG9uhjFa6TeDgs0cj3ICa$+5h3?$R_t29lIyr;T9gSNbh30 zgx01#Xa%rP^Kteud`}#qgk1|h<(;VN1DdJa?EfTFs7IENWHziK2tS!>TDDC2tX!m(g;vSWvz{6zR4H5mExhxb1^ST*8_ zjrZH^8q`fU>-eOW2M-Ig*gdK+4XVlfF&2M40*~olqazDqNN?L*3dk(TUg)bnB{t?0 zN3o*@(-<9d=xg_x&9H7^!7&aYE})JN@!S@S(aFO1f-r*^chsN~u~2W&s4KcWSXLxr z01#VxSo8W{%S3P{@D4rO{t@WL-3NT~vPJ>~Eq+GB#K5ijtb0vGvYDeAWKn;_)@Y2& zgPN3(9{8=Vg?=#+ay+7qXNqw=F9<5mXLXhBEcXBfP&g<=M70ibhYi6pk=&QHnap)N zH>l?wCEf0+n`Ks(qxu28Wyhrq9h#1p>bvg3zp{ez^fu-b6l(FHf18F4QGR$!{ndyT zkCXT}BI38YRpmM1WBhB(W$Azj*#ivKPP5Y49rvJJuaV4x8KQ!qXw3VzaX>|A4Acw| zJzE~A+WewHZ-v^D+62>Eg$2fQnWg~)z$)`K@W+_}Y%q-;=fTC8nLWNE;4nzD`D;1- zPFNq(f1C4){F|lA2;~pY0LORCkV^&SV329{>Y%e^V!e^bB01p>aI`iis;143@#AmQ zBcQ-HZ9nXKWom_?MDUKW_1Z5VXNV8D9+@J3g2LzMSptE{xL$jDXCy?m!V2-F-l?G( z@7^F!KU^ZLC%c-TGJM_*m{w9Z5A}MhF=*bZ4=PgB^?e3(N`LdH4Pe#@{d~-Z^r(oG ze#+Zp)N6G#9dAsS42MS8!)?b}VQ#eRVQt0o&Flw@F}H zAD6xOaV{{iGXyLb^(-(ZS!gap?TyxO^s=RMUmse;U=xVhnAKgEJF;OioZ!ydh|kLM z7`r=vnW^$hX3cqDedg4R8!Ib$Wx~Nd4WO!sOHzsNyNl2uSODu*^#!cJp0L2Xo;5Fe zw-50CR8UkS!uAdXdL{J+n}9LLsty-5Pcz-@3I>J|1NmQ&F$$%NhnMVY!A%Xtc!&35-8y2&ftT{Lu47GHt<+ z(T||YP`6J%AHDf;64BLyW&^to@~AKv!Aasp|1BP{wZZTAvO z=NfvSHP@Q4NkFZYBS&Pl0qJlp?kU~PGQ;O+zG%kOxm%SBqlY&B`jBYZoTRF(p zOTXDvU$^2k4;*+a-ccm>rA?Ww*_X{4*$hf>ziEyG?AzA`7M$Xj>8`le2=FT*9+BpO zb=5)(=5J_zxd=Qi+bk2D^(?_&F=ou!_OaVDMqE9KOY~g1fU^}kbZ;fze?G}c>38`M z*}U#DX3yhM61VEd^QIuIi5DHUPVs_J?z5)aQK00FTMudJpJyEGp9*&j#^u;5>vE&a zb5)h>cz*-J>F?ErUxe=6;!lvrdX(6hfo*4++uLdF!Q(f8fazT^A)+8zssxxv72v#s zE5?a$t6=FYbVtsqec@Xf-l?mfyA=btZC9d%Q0NvEE}gGE){8NzqR3{b4w+-%?Fjfb zO?5iV)#n#T9K*>@6_W0sanC)&g(>LX$}X^&V^;?h#l`0Nf|1KuPZ}r+%fg2Mf2i4o*7}8t z$h4Byyc_8so9YLpAB68i##S?PTgiiCT;bMDoE6HX@yWBJmK0EGU+&r};MlQ=dISGO zV>+JRHIhv%h&=tJ+wF%1hwp@_C+mEY*cuDvU>swpUH*JsmpNuY6fy+U=cEmL>fB($ z>f$gvuWm@!wQa3qPl3WZ&E7eWu)q|RDl*pkQE&xzON^VniHNJr476(kywg-sqk@w+ z4XLUhX=@lA_aLw~;3?=X<0-8)hs3Jl-_t%&u{hj+KkA4yy+Y*8APPq0+4|~cv==IN z(GPbykJU8b%G?V7)EE~rhs1$_sxG!Q+z&!)Wv1yWY$)1JOsGJvs>guge zDzWtyErvy?tQQIvTo$+Zd?}B8N8}V#H}igpiR%kGLdvrdn5ppuQ{IinslqDH1Y&GP zC}<&R(&ua#<>71p@|!>#{c`Ghq;*>rke81lM(om^-};;?_@o0ww+&tA=DVp=%7z8- zp@2fdf)PcX+cb6$`nzsIaUGeY&GC;^buWZJ8DKD>!mBG1Vw4ndP_;v;;CdKETX~oD zBy>BV$RT}}PiQ80%0AM=Q-hkHV6N2(gkbHIW`! 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 diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testScrollViewExample_1-iOS10_tvOS.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testScrollViewExample_1-iOS10_tvOS.png deleted file mode 100644 index 4958d3d218ff082473bb69aa0670eac48f05abca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92278 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 ECrew&^Z)<= diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testScrollViewExample_1@2x.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testScrollViewExample_1@2x.png deleted file mode 100644 index 6c02ce1fdb4ba8380e1a05895356008167a81415..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133046 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 z zm!gf$su`Ao8}16$yaa6vW@Cdm2fS|p2p^rW8WJE6el%U4!DI;~Vr2WDU)CC?J^Z`? zB8de^<<_Bt;N(On>h%h1N~a@$l$Cm^zP39%mx{KsXStJ#VxcDU+VmgqCHpI#1d%*= zt_>w>?Fi9fL;*ycEMZ--(2&V&nN+@TG=B-piPX5dTCHp859GY}b_W2p>mPk>B?54_ zf|R+bJQd$;oyqoHhRjIK9NqpenB@Dru-5_fkF*$Fq}qAsr{0*L9zWc;JqfTOKfA-aA+u%9@Xs`ZAQUvGAAlZlg_?BP!#Rd@z~_6%;xeG>y~d zz(0Q9RFuRfdh7pp+If;;WQjU1GZ=0Dy2 z&Gn|c(o&v>reg(Fp~cP?sIv^ac=g-uwkOu0LRVEDbsNxzDUnU!c^+W=Q`oj)9ua(yq7rFfk@?I?rL6AoKlSYRg0^c);om zoN!Vz$ley^8voL>Itk}PEXp(DNdMdLzTQp^#{RdoL{vqJfzO^|sUC+lP=`a- zY7VGyT6_97!)MpqLd|O>^V5~3HKFmuB#V4l?oYt8igsu1ob9aokexY~)0b)|pyRBy z<{)F*%ThxO?bXS4}Le(7cb_ZQj=%ms{5*uXaEu z^5$+CJ6c^ZQ;n# zhaWvMUrmOU<_Y|atnwS7)s0JQ6X#A|Du#D+wjwF?=LiKC^^ol0{_ac3z)*X(cB^E1 z$HL53xd><*n)_*<=MDc5K+LY-5T!LunbDS&ie%lACU}h^AEcM^jCuEn#@-|Evuay$ z(a-i&9w8qOimzk^L8UPIVGg62xa6FMapf(n7Ji`80qu;t^TkEplR1++UTDeQIqVZZ zPoTx;44bMyUIMdQS{$P4z8Ns5n4s(qoJe~zy~3Z{p|!6v(g)fT*-C68zcv5D}oyJH^pGzlAXsPv9! z9~>yf@I3%6zib#+KT?_Nuz+Gg|)Ns$=a! zUwyuxDT&KH6_v+NEOj^Rh1!{ZE*Z+jr9&;7MvVfwhl=gvlwY3OH>tk?7GLlkqLdT& zr%{ezoSvKhc$fB`dqH8ZgLdU5gaxeA{8sA}vwWpsiacaFk%wsJT%UMq&uG6VNsc@t zlStE!?t%>5|I&ZvMn`BLgKQp`V^lkdGe{R$**(gVi1ZX~>s!nL{=<1Q4j_S#G%;jJ)Y?CE(`n*H?1{-N0SD4WNu~HD1i|vZHVr5?)+!kj3Lz zG>N6arcPvhujiRo^5gugl_(_J`73wYUzYqS>i5d%P{b<%lA-xJT`O?vVO~*A&@Oa7 zsi_O)mf1-KH)Rr$RYK~>$;Si_i7 z11K$L2`rz4I$0jHO9X2GrBu`w@|UhYi(^(eV9r#|wW4S5_>sb%wK&z7r`W*roDC@|D zvF^Gt@zdnU_JHr0Uk)1pVW9aRi|KC`w?c9 zMdx)q_gE1BL#KGl-=KNpiD1NOd|^Xu0?|}`){B}L9Gf5Lo3ovQwq5RCtg{1v(%DXg zjeCYUTXMpBIoBcFAfpttyb^6sAnt|4u>#mvll?q{t?je0c<4UE%Cvd%YAu~pQB=|- zs@CTOD{VBA-W)m|F^)M_*;qGM4wHS>8jUNjcv*@9sJ^uX&jsjaGfnOIC z2Yf)CDIB$hSfhncg}FK-Po}VWElERKex9yL?`8a8)$P<;O0*@q*xA#mJTv!W|7J6@ zN6nBvY=%yL*MVYu#z93!brkg10U9a7 zDXzmUQU345Na8lOfd8mG2CtDjsX6{?#A=Ju2gz$g-DQCz8=lAg^3(w>g?0SqlWgo# zd>~A-0Z3j-pNlB241;xkIEX4udK z^~+rDOw*dwFATu^65*8``_H}00KrOkJ@(#(A(*H5xjxK@qaR8vet+DxsEICZLKQ)@ z#>;x!_#Y%z9RW7xnMr@H!ZFK4N-MRl20sCDl4xldQH2XaWG$F{1TChA=ZH1r7mikB zn{;^VZ0OplZPG`ae;v4T>tU0B#P?DHSpDRmWUy|%R{4B0SN^e=#$3Ipo)=(bWnz6B z#J#r^!uGc?Hkrvi^ESOH{HPt)w^6)+QPL&T#c}{1#5s)AWq@h{D=+n8E6yP&UPcv* zfDIeacOZ*3;N=RUOGXbI*1 zPQ0O2xu=@b#Znz#SyKmWmL7x#}hf%FAdmI-){9L z28E~3Z|eo~e+luUhOx&V?GVt27L}+&{&3!T#C#-wU-B;&v`EfyF;4}VF58=z>e+~4 zdGV*OP3ZKxmEW(^d)c-i&Hd)_6S*^-tmF8<%uAVGwz~~I?FbL-<8-ffj<&rb8pSPN zSrt*dU@_RC(F|rm)Hs%i4{uf~5u*42P~BWyWgN2Krcivx$j)mPrMZ)tK4)$p zVk9p`5L}<%Cx;zJ z*O;at8^Pm`1fDo)!(l~AJwWLQrlvn|Yn=+=Mn}|ci1q?kX8KScIB!Y)`y z4ZM!ANJ*p}+!w0nH~s7Q4zp)Mz^l}a{q~}zmL=6;b=jCFlw8Cm$&#X%hv;mejuc`C z1OLo2+D{A4o!Q+^*;^nwi3O6V;DS68NYutw_>DaR+W}Kx>$-y5xAN19wqunkF!}yI zaVg=iCU`cLel4f(S2C2lo5RE$L7WDN6G*K9MN@_ZD<+z61=gt3T!}91rUQ-|ufO$y zJ*;zk45CC_6#p&gF>7YC+|F=Ul>@2b^(5oI)sq3-J?xyG2hmXq=r~+{kiYL)W?RU`tWk)rykaNfB&iVt z<2MFrzlNx9J|XO;%@=`9I)s-MaUIdNW&9Lw+8r#D#2;CDwfF)h^d1(9|7Ng6 z4_V4-q#0(ar6qx9-)$;!q8)%3+!R=Gl&94K>-9aHP}j~*#FC)BCc|*#l~~$l(TZWU z2TiN(j)JVcTnp5ZCD)0&-*l$#_YtyPWL2rTUxE+{@dMrd7wV54o?<=m&@$2Vao3rt z$9J*Jsn_qxpF$8xO_U=NqXBXXnu^yW389G_)ki{O42 z5LYJ(bCb+p$9$-eLU`dv@U&zSv3=gzR7p}6mjViL}TWYuC>E?8=L&rvnpUf`bln zEx3X1jV!|_41Rwy*tO&r2jtl^i3vjyszT*?le$Um9Y_2wR4#1%QQCcXPIPyk($ndo zMovzjm{;f#`dMv49iKC zvU+%Sz`F7U`PeM|45u~NS#%WS6R$VtH*tzPG}KnK=d#NsAm;vjtU_$(@Zg;1HP>AP zW=_m*hi6z%l-DTLzP7LQh&;+cEt>sTKK#CsG-zG68*;Rg(J8t0Hm>Th%)+5S_~|-e zj9-8%iWz0^{eo{xnRlko_zl^cnK>LZ zFW8u6`FpN_s;EDF;$7T|6EdAu}?B z*tx-r!MXT8TD@CUC2EBmp(O6bLCzE`L=Y*E{wr%YMfRDF$;{5X{`8W$XLPLQR~)TH znGBf!!KT;#x#wyLU2^W>364S%Wp}Q~%5GyLTHG82T~zqM^=<;rsIp?k@PC92+Rkzv zyax&&3iFe-3>vuKbWtn0W5D~X8gjjiP$XE~*bGyUHa=F3RxcjRcuI=Q>eDlFVi;AR z#@JsvGPbL+hKA}-)QUU%ly!qsr3muz!)z~p1CK34xxRg<%u9`!peBss?hr^d%$le# z|7iHY&UjRKSao%x)+!dfi??me+MDTl2wSZEcJ5Yy&fzOmrt|h1!xSC-r@N;Mi;I_s z449A%0dhA)X_$)4ZpY4$=Uy%-_!S)O#iF4(8uo~d4MmcQ0eQW+7ErP-Z|19sF+@4#FLXZTl=g7Kaa}__ zE0HZF4#k`ba=3W$OY(SIz>Uu5NpwuOli}}p0wMjEMqKu1nAH-ni`I4WXXPj;Pjwgn@JWQ2- zo(VW>(VHb%ZJgFwJ*D*g-srf_V(PPQPB4Vt{>9NjkXH-Jo$&;Z3ctqPJ1I-Xfob=@ zu!2cM`5mFAg3Fo~Av*iMGLL}VHnzTYIF1_mrAg9XviYDyXLlxMd5zQ*4eHk`hB3Dm$*=7ILGJ-*?V&|#7m!E&hmYKjxP1|c z_5b^7D;HqyuXyqw+WyUd@~>vmV(ebjQ?Er%^zhg4|3>%!5$f>%m7|~eA|)jRpaKCo z-`y$gbKmnQdD3Kv_ZpCLNQ(YEI8z&6s6>kk-Jl(t^GN-$E57};>c1fVWS_KPOd?hEC3rmpeOPZ%ViBU=7iOg*PUAmMaT?F797m~LTY&MY0q)(yz)?g5g zn-4y|=>(qhhOrf_Sc!@ZR{Bq-zY(=F-!?}+qQtIKKiKOz%$^r~5oc8`0BIC4019(g z-VsDjIXni>_2w0#lY7z%#KodHv6X7-`zHN|4#R-g90J}i0J2(NlL+i-E^ZY=xR8FW zLmJ$4OXf2JxH5p=y*J9o;W35%cC3stUWRL)i4h+h1TZPwhwNlVQF8Al`S-7v7OBg2 zHFV*Vr0z^q#0Sy4O~fDXqUNVUhx3|8cSdj);ln$ZHWH6d_3Du;ilxoG!Wbz<#f@#O z4JT0~RWNPYxr;^6SFt@d(1M?UW_fEKK~e3+-=ucUmb zMa*ysZm8I_?D~&9fYvI@jbvrqSb(k96@L1@V6Ms`1Tpj-PtvG`U-qh6Y^X1LPDk*X zTFTHw^f&^|`GM(Xj&Uqiv~q~MvT#m52tX6uWGM+Pu0y%$Pcg9_f@oH*{_OJMDaqSR zN!5Kd^@E2%Xn^8P5hj?^p23&?pu{5ifft-5uQM&3KJlhG3YQ-@xhN4D4I9m3PnatT z+4HqX39Q7LfHbJQzrfr)kVl*@FI-51oT?oePo4HDo%evc<)i!~&Mj1(HYC)~y)tmeQ#xV#n%@3k*5iN;^tqK~YmT9PWjh=-U|l688d>EZ~Dn zaXqAYzNwafo}`JhrDOS&2|x_s@)VhN&nFkCp7cg%KzHpf`&aR-0qaU(tCUU!rhz~I ztdkJNj#)AWCkAlPq1g&s{rz5YBSEetk;!CV`#jw*>yB@UvQbi1a|J8iZs^Nj-Jx_| zk3}Hm)+Kh#66@k|k2-fXY%{hblvMl9Gg0^a#i!(8xqQbO)MXf+98_yJqC-7Mkd1G^ z+~DNKBuf*A`UaIkG&^wYw@p{#VlK-~x}*)KaP!$Kj^OZumL%a)0^aE%D@51v*%w-OK^M-n|PdWfwclIN1-;FOX zgJL8>k5vHm1S_!5oB46_;oiLqWU;ksU2ms#s7dExjJ^^CaRgw~)n0#)eYCN2wZ7et znswX3F5mCc-@fXnp(v+}7O2%){%sCGijr<0cFX*CBtTiXPV}rYTeo&xcn5 zXju|Kmwsv&P2I#3XCr+9)(x8TG7!?(%m?zsnqLAYs8P?h^RF?PtXf>4=gNqLTW_4e zL%i!zwfcdLG4ahK#Rbatxl80`8c_ldhXcuE)A2X6A4(Bs3;A+U4s$CvA*W%{Zxazkx7WlFxlDsQCV=NptLg%Ui^ z0qgZ!2;_Yv97)MGFLLpI+-^D3Fn)pgIBPI1X!24E|G{k63<*UB=TQ2;KvRn?R6r{6 zny4ukfd-O^Gy)OD943r!o0};o8l`9=YEd_T)W(w%5l&$GiQr-NO_zs$wAs$&QW}zY z2ixt!9q8$6!;LNz`ifBGuFEufH=@zc$?m~u{lx)814$E&bkWA!cfh!8r@+2b?K@!f zzC{~}!i*jKU<)Y&8}ElR-K$N?lSVQ9kD>&@08Rfu*4Ltk$+L!fJpjAhIR6y&lZVzA zgxFkbn1a{dMW)z?pKS<=MXE}HQjsK<0T%G~_*QC3z$81DssJD|SS*QeuDiDxHJqwH zXrL8OV6t%iK~VdShCc-m4oYh-z?NB@@{F9PZPF^-S8`_3N@Z|QKWZyX=lG4gV-fo; z%U~zgTd#c#|MUs&I>ul=kiNv`Bi*+?yC2^)XNf|_ihpLJpDrk(V{BRApASV-s`o%~ z%@eqwmOxduuMj*9(t<2dQH!GpOJGX+Y9M5nWmr)~ib|eSER#p!2nV)(?L53&JvVhQ z4bY4NV5Efsxjn(b3Y5kUvD*V|D%6XtNI%ZahISUo`zwdy)}63B6y^^-zChnVe4eWs zSx9!z9fJ224%JJ~#?}f_02?oa!jVpM71`6~k!^r1QF3V)+# z>GkoP<{&gzM7Xv6^-q9T_@#QjK86t6hX{p^_yPH@A&p&m=r4`>>yOdqrVJmSrBi*%6l#eT~ky+cD@V zV|4EVe<)_^$(ZwVtKZI!J{R?e=NlX9>73~};G>%F@S^aq=x;YDE>DsksC-`MOz#$s zoMS-J?iP<7H7?L~B-g_=_QFRme)UWC)XcLdN4YXOk56EI#?t`kIj_oL%{O7mcXRUH z-9@4#6?^1{)s}Naz?xW#NdR}Lk)yDRd#L>^FfHFoyG_yzAy`c?=97CA>7Aq3BPKf0 zZ#v3uZOj2nlueV>iivs}%Xal*BROzb6BfmIBH+* z4@DsU4wUz@buSnz}2OjNqLO z7uv9)M9DOq?w5BDQOaHRK+=>W<+wghpUM$6VemUl1P?S(xXK28=7;)90I_#1?a$hJ zn$g!b*fw~yx0axEuAHfx+uJvv9Av|cdDS^pXQA;~jYN4Sy#Y`(5$PO8@$$D;Kfgw{ zjy@HuW~o%0O!VA3uAv*}5PE^|MpiSZZ0M{%r`OAHJ~aBRFKwV9J((kacMLLxI%OcHxT3L?K5Y?OjuXDtSQ`^EQi+?H!SXk=T6 z>sBV5$Ia*}Ej-;R)luud9O!#bU6j3PjmCLfpD77b1GO$OEtlt$O2H#1bWac&9AM}|_-g^j2-!77FdXD# z>Cn`3xutNU6s_5q^DXU50Bk7K?6-$K_lmgW1MURvZOCb|9Ti?nS2NJOCmF{U>2=5B z8)I`IIAFpx_EuhiowOx)oLa*)uS~zvAhHkk1ptdr5d%Bce6-;I`pxmZPWN5~QIvI{ zJTO?H@v0@JDsc>btG>TDYQ4335t6+8s@>&{CTaZEW-&uCsZ(}kG9Z1!+1fr}6Rs-?K`h?Y)eAQ?sy%ZCkH!8q;0E@qd^#Ds3zDdwJwwHIFK2wmm^D*S(L?)T@PYw zQRmUU2{3oB<80&b)7#@SjdebqT2jA|d6|On6Mycr71Rq8OCP z>n$hs-9dHp^nvB)2g)1~yE6O6Yu%+{12r?+uO&Q39!v7tiDeJ$Z!~j$j;4|uUeHXP z>YQ$_z!=2HSiBkk0jE807YutrExnV{yhue_MhI8#p=S;v&kQ~_f7T1 zrs@3}n7nj{dhh&+roS}r79~@f{XA=Rqc8!;(x`8p&(G^s1QMzI3+j)1dgEGxbQUZ732CDLWp0J{napsqh8Ggdtu8}bBU50Kt`G3C3)}5t5lf~wIr)f}DjCrQR zi6H#48X#*8-rrGnp;I?ayI%Nqq39za+buLZ#((+;7pgK_+nP-tXZPnJGKwG{_Om0d z@6L2L$-I6dzdjNtOtM(B-oh$BLINk}5Kg)04}N5t`#9$n9>sP|$8uT1@Y`0R&oubg z4y%ESe^0yKbaB+qg;2Ma?v^A?$9kLJ+TnD*)x%iZbO~Tc&Mdj1vZru<@(SdfusJz z%AC#XznG6x0!73Eo~G-&rWx*882L07V-^6 ztf9905i7O8I}5tbnzC*Qto3G??o%;nEy+6w`3vU-wC)G$035!)<@g#+ZEa2ydQ&1P ziXl<5_)IhQkvYb$p|DUdd8)6}oK+RR-`Ms@Ht$`IO#G&x2rAs_1Q_VcnsK#aGCW$x z+?0Gb+Et55+tkR@@d4H89)rR{JreBz3d_3IuDrfC_^tb0+|M_fVzf!=T&~nB?@MV9 z!wM`^7n&AAMkCaHgeTFGh!#j^5sllA23LxLXGFk(0t;o? zXABV}>P)K6j?U$@x)S9iz3lkZIw;GB$dbvOdDD}N6n0MsX-?1#q1tyKek^t)rm1M; z5-~lyLTONI_YoCX{r*}*7yK*TXxGLLudqGw!IoQ2v1?hG{20etdKX8Vv-X~V(RqFC z&70!@XcvDNw6t?t{aC49JPIghn(4SkGiC%cLx(>DrRZy0U$}mptk-HO-l*m{E%zuI zw_X+P{0|%$y&ow47q2nWlE{}Yxuds4VGSxM%!W3-cv_|E^H1@iUkGA`GqcdPoFZ@S6P!*&h$Y`p*X9lkm( zbDbh04`={Khx|to|JUXgg^ZTylgujti=8`ocJt;A1@{ZEkaqv)44aVmI*$vP$77cd zw`#FT0Pxs<#_hlz{p1^U5!4dytM^)B%<6x8viZZI!5v!Kd3Sv#ua90c5*7L$0ckED zCIUfIOQKY3BIMHX^u@ADV1Zs}J5*!A zaY4P9G^-YI3Ztc4Q)6S&9ulBZ{MzLF$vhNA;<<}2tiAT*M?(@mNidy!ex|W91d$*g z!=^^|$Uw>!HvKhfeGC-)@OPqICFrC`W2UHfvgj=IKmLpnh=$7a_t-x?Z<)uKVo5Ql z61sRaXhA?lkn3+Pu|?!>{4UV~)CYp-!|X!6ji5PJ{4g3BQFBWT1S-g@2O; zUGp}%$DW<$qLvTYX9s)*aQqsf?jZfH_JSyB#Nhk9y67!+G%1S_DiSc#+AqL<2MqK= zb3xQi0-pC0E2f7g>`So+EE@u-4YcRp^p{WsboiDF;W_`=i@gSm`u>oV9s@DbPo0R? zfu??+N<(Nj1mgGfG=FrgWTf=3>cPSQR|%A9`lAc|hY1Ka4r(X4_shir2b&SMe{sSN zQEBOXCUw=s)^l{vR`dV|k8!>={O1V}W8i+$jDd`B-sTABjcDpW&1BJux!L}S`WY}* z3BDLow2AMyr121Tp#W4;_}4QT->)o`Jy>%>44mcsbyN>%>OV~YZW~rC=X0PP zef^PtHqWAwDVkyMe?DNfVC{Wjs7aCVK$kH28+OE*C(Don#RvII%JgngnWZ_sn@shUpd$aNIMHzrF zzcL95x;uq2uWDvkjXd#?glSyU?W-&>&)Wu}@xJxXToZ(~DWMe9pGG3~ACyJ;N!J3uP`FC+dS*D|d9JS=6%s_n1#myGn! zgZiu4IDgyzZ_G)pA95Mw488zZn+1;8>6R&AtDOeHlnZ*~i0J-TR2*_{0r(k1nYG=W z)*ty$?EpwWTADvx;kx-2hbgF$N7b7aLJv#Ata=nT8$HxOdC% z7hn)Fp|JsMsrK8qmwQ1V8z9dwYur48#a0Fpq#}B(b-`-n42nR$L|eQ2qt0)apHp0P zlEQ`8LgOn#-Mgl>MJ-PWwSDGaF)bm!$@4b01q*Oah+v;4g0oMi`GAJrcQhP?vn+0c zD){RP&_y-?n25vSCQr7?D3G+%xjT)R|MdMU{&mWIXD0W1wO(S0zoGPBRQ4B@{RQ}c z0sddE2tkMc<%<4tMSp3>f6cr8PsK_AxY-yk4o<-5zJM8jU=c15y#5r@=H*+rQu@Wy z0h}|4yXpQZ@()O{0L}GnbyF z+vM`y53RcfD>#kc3@3oKewRYC;ly(dk!WOe;o4F6GO@y?^F^P_@^iTOZ~a+c|0ba5KmS=1euFBW-Z$InllvO# zMc?PDMBd#!@a^-}da3aI6*&HCWq-A@zq0FJ+4ZmNiU_&>D)@gD{C|@R@i!Ude<&FQ z0d7P*5Ae7R&tLxofR8`02nb$9J%T$HKBaUn|H_^LXmbgY--zf#gy4%SX#vXHkbeh>A2{%i!?dtsYhIH> zH-UnY!)sbIy4eas6D-_pNzAMQ2a`%27T^?RsWzGJb?`&n!k0qBq<5S+@g6@;c(rmQ(#e2UPHE^^oKA70={-ekYu ziiBJ6p$SrT4CQZ_wPN`HkedFlS62C*D<4>L9Dd2+Us)ux*hRsMnrBm_nm&o_<}FC#>2O%hq=S017r zIZ}9fjF?{~I7+br{g*NXr0A73DM=$Qo~JOr1etzz$wSK#nCh zGXF=ESp21P(g6u82iOF(IZomq)y+Df+QoM9M5Z7B*e?>`SFYHPuR*Ddf#;+EB8~Sv z@9uBf+20JtzZr~wGZ_CS!~QQN!%}r14;}UXISKJaJe_T8pFYCsfXzN%^%JFSY+_tz zOzd99wJQfEIFvB)YVAiJv0a>>0Iu;HKLuXC#ie5+_4V>(#sBsf{nn2l@a{8nAf;%K z!oCr|6R0~OB{sTXHhK|Ik$k^Mwx<|`pxTM!o^GDOZGqP)dRyBuL&uxV&ul*Yg1NwE zR)B+I|DvqP{#XW7Y7Wy7JSJRPMJ;#VK4-dh&}N8Q=4ELRc_Z9UM%Q`Lu5n##fU7{# z2Y((MNWW)G+udJvDL7tdxER6G<+V*uBHc>e*MrXuv zc_rfKx0QkzMCJ@)>wX*QXU$_g$V6Cc{iYaODvjJ=Q2tKRR<+VmC_NO80r*%+(lcFZ`; zxto3BGMuSWk>!#Sedm!iCGbkdJ~<4OdS4D2EZ~ng5!!=ivV)aUAo(Xrs+t}d(qP2L z=U1Ke-v$IZb!wp&NPcyGlGpQ)nfCIcCdsXLv^u*)NZ?1-Y9`AmWQFG~B7WNE=SM)+ zbJrHXmY{#&(YFT@DUEgwwesv$|7=ujR@*_>OM{8^yzGa(*r6fx5g6oF1^4*3YEiV> z_on=DnKrj8pc@rhr$JidS;8y%0e*f>;@7d4-;`qLhg$UGp_S0ePD-dxvR7{1=Lh1y z1`5aT_|2qd$sFysJ}{gaMF^NCI1gwx)S**Tq(b1wsZ282dF2+5Kc&Y#%}S>z9dnR> zI>DM>S=6MQKv|xkI{w+l0||wZ=cDBWoiAh7`n4@tX=jJ==2{)s@tdXz20^b;Nsq(E zmow5t$J`fFMC7B&r9g)ho|^?tL|Os8%3|I>oE&Fg@-cDIv=n!X3O#dhBF}!H2Q$bw zxSYN!G={e9u6!FTVc1@8Xg_Wd-^jBMfp-Tq=(XLZ1E+!3un#98kg~aG`TD1pxv@w1 zri~%^)7vf7n{v;8vLW*?COb0Ck?yFv!k#GN?wAL_LYY%Zcm%TAv+Y(o-aNmYZ{BOZ zEE$5M!dPpilRmfY`RAe}96}pj$xtN*jhe*kI5f=9bN@3D2Fjwux<>IJ$aK2k&oj0N z>9h#R+5~ENe0=uC{L^hl=iM$L+xy6iNw(EJ1rm=2)dtEBLG8#x#Oe}-aK@Mwa}JJ& z_a({~*pM~ekJN$ucb+iwyymEVhZ~1OtZDq}@nhFf>(W4=5q3?wF4l(qK|N~Tai?C6 zv(w#R;MT+x?)E=1C~P9agl^VA7HFec^UCPJUw+)LlO6s#s7qclVv!BXBr^)R^{(HtBtc4RmU#ueazn`;wUEkld!s z;H~J+&WqI-gflYK-cA~hop&4NVw9;8By%cv+NTqYBH9$`*{!S8YxuP}FYkW(27j!4 zin%Hl7%;Hw_6hpWuOkn>d-9Svcy@&(E=J(4l_Y~pMv_gr-EJpe>74z5rWxb3fV&s` zcrm!JnJk+TE(%?X2@1Ab`?i>Roin_*WU{!ESF3C~h`fhiw@dK)l=Gm@AYI11?Z$WR z?lC%vj3TJRky*A_2cL_w@OC4SfKAo@0LP%V<9xg5$JC?DC`4wU(@$Sl_6Ew$iY3$0{ z0_aLM*H|N&%6so84=(*pJY2B5QKX2A;l0Kpr}oC>WyWvJX4UYc#MGWbR%0jrRb| z16u3?Fa?oEW*RydR`dZ%?ew3PNwN?&iF73?(1m*XM&1Ts zK4W%THs4IhaAr)7r*MdnawJ^zB61eFkX!pjN-Dc_YjSwpg1dHPzvQzXIIGE_XwL`s zdhW|9)?OJ4NHq3Qij^vs9WBp*0Qf0@wJjbXzr->mtz0YWIKf(yzw^zQU;xMANoS;8 z>Jz(G2KK!9Lg3Ou5bYh$F$G<4f@oD8ov(B2M#rmtZE27|t%1ih4N$i5pbP9q!Bps4 zR-M<{4Q=W+l}iTJFJ?p2_MR53->%_u48i0-o=`cbIve0Mux zunN3di{9a5;D~6PB%_%u6N`z4nr>#7r#_j(7vIreF14V-Bd#x6?CjtqK`pp5>@84) z7(u-22f|h_HLo+A83heE%xvCEM`ZUqci=K2YBDD?3FuwSHQU!|z`opsC~d@5-22>J z2vJybzdRQFyqn11VF@fWg$Y|=l`jkJvO0=nwgS~33_jXate3EUN2xc-@Ppmt`gq=R z$DW2X2v=n9$Cr(r1Ba(nRw%xw_K_c|8up!?564|gkB;qxM>EY12%CLQa(%MoE^pR4 zM*MS8R_{yBts$dG#={-^SlNLpTYI;S*W4XZlbB^&^_a|?-!%9mR1QXCUeFnE+2*#8XjT$H2}afkUXwCu&JPFec$@Xg|J0T5nXw?QcMu#~TwQ&!SE+Yu zMP!sm^a8f0<^3q;$|l0(_s~Q&gWPCpCX8K4t`2zdmzv;1=q8$HQArz962tPARCo^b z5UjV6Y?PP)g|4MA-xO8c<#YAN=9S%<$|6x>8-)&uO!=bpa5XVUS15vx1?9lFHLFn~ ztU701gyN9Hw7~7g1R<1l@3o@24s{V4U(1|AX@nW9=GXXyr75Fh&irjzYor7X9uvy@L~X$XWQ;D3#iPc`mcf79HCX8TM7UNWG!S zT(sE?)KXSB^A?@2wwe`ljDY^sZmHQ^>HHF7oW^_Q1RMO?YeX6}w~5pGxiu@bg4aZ= za?F&3KWM>sTZM_9o-!vIM@LB!$PqucS=I)2JGS|4XDRPVr(Q)iI8(f`zcTuW=eHHe zn~*C5#1CgF7Bq-NI=gl~ZdFP2crI>U|Dca^s~gx|ZgcV<3>iVOR`A5=alGi(B7`<% z>&1CA1WRoDi^RJ1BxdBK@R1}%E~5$ zev76}Go?(8)_IiCk?_}+E*84K6VU0zh=G`IXG?cXX z%550sij6tI7Y7AX+)?*U=Xb^Z}$o* z5N(<+Q{KDK!)j-i3U-+Z?tqRCzt}r)qAeiqNJ~a7v5PW^>tE-)<0)8Njk&)1LU~*f z2u9?DSNN4s)*9uv+#Ob{PSU5tFXtA=>_?{6%9GK$S|HYZ1xE3tn@T%Yvhpf)P&-NH zO)-hn?5Q}CMTthT537lk_flqQ$9Oy6A}SX5VZB;xrR^Obf4{SxK999W(_=YZ ztH%!`ueeJvQYDn*Gaabs+gtiUIzmxBm6OPD;hU zP6{C`c_0X8({=7wy-sVCZxGAB9^`(qoDm~@1XL=sueh1o+vlZ}yY|Gn)TD(@>q|y& zdpDQhh>`)N z*I1myq`t|__!IwU-Qz93mo=ffSuYMH0bZb?XI7u+q;?TCKE11SSIIz}1P?9CKpeH; zO=Kmm|&k3#o{rmGwqSP@Sp|>)p~>Sbbb>9%1tbyJSlbB};!USJS~f z2QOGWm$*jghxkLE6|VrKU;PC5EnI;$76F~+0a=#)U(dlyt@xF`QLs^gx?VEC*na)= z8O~*s|K0BLD|a3&FGlt~OzM58I+$hodqm|NpcaxGF#s-g)*LS+(fQJg;ph<$#YQ;Y zz5raO=qPsKbti;K;Gd_9X^=ZR^vJg^u3?~jH3CI&YCr(|^5*QY=8RGo0^1*9)hVX# z^bP!T+lC+;r1NfWyg3`Jfin_(PE2D$`U3^oNPJK0*wA*BQ48K57%V4PXyy;rMJ;p< z@o1@!|DM-9U>NB9sM>}cY!GQrNsuC;LpqYVI9U|hN5r3JA!w2y^2a|}KJn0C%cAu7 z{`&I?317T7K>PA*QD|iEk??DSo_u+6`|@i&zUJbnKX_=>FIoc{^$U6im<8?4T*C(! ztpSbdli?xpD7MC)clxXEx3s`#R3ouyI``TQEf0B<#bD2xi= zk|24WZVzwGYwdb3wJ#PH9@+mBdRRQ27Rp;YXQmNt=N@q2g0Ia-*^2F?NKj&^NLS>Fn>Fo z?As-`0jz*au0Yv@B|`A`0z>@ydO@JT#ir;}{Dl|P}{zbu@b1kY@ zf*_XI3=WIA%g6MC`pS63Vl(+yP%oSra3?n|-I7-N&Og#Gy>1yyrN`^u00KR|GT6ar zLl}ECzg4w~cO$+`05)IgnTv15sB4z`z3a{IlVN(xfJ@=OEuXTd;r~$&&wQ%D-W^TWr#C zu65R;UsYYP{Y&3t`LC~MwfnC8|pz?kP*6+TbFqc%!$<9dg5iC5pcOXq}{iUFp%rXFzy^>=LXmlD5-NcR8 zc97Gs%>7CrRv%8nNhb_Hn*HVveK=rHiZPY!*p(P%7SgT%8uA%W9HT&yEY)o$6wx6c zN%@o1m3&Y9E5;$kA-AyL^c-Nj^aP(#JG9b%^FO%4!(f}Ng@9a$2USCL`t2l0<)d>e zG@^Y*du{)4UDxIge8Jw>Io09+C~|l5q<^%Ta9>oEo$}i4R3~$}HSi(!>xPJL5eSZ6 zeBKDYM6|g+lzF-0O||?5tH%mbM=99j;rE#Nf!^T~1}>7loe4mO(RzT(iU;E__7DDV z(J~9(0|Z+L8Vle;QaAu!C=dwo!QhIuA|y-OSe5bh_OjUsA*T6-f+#kmvn3g^2hR3C zrHC2JKa+LE$NI|vB%!T_ebY@8&xbAKww1M##tqnfSo$r&``w&*pYyFt$9ca4RD=P5 z<8iWciXQMUBp5xNNdqVbxpH7SRS+Caz3}e$n5mK%U0xF&RLRvjZ654@Sk0JwnMJs; z2)l3daq?)^Xu^4f%eE=@&RD4aDh<-ehQwSB|0R`UMl<2qEkbBWl3`tAmSkOG2aN8c zy_fq6gYTe@t4>&QT+KJ`ZehnTtd#bR4t%i|R6BrYX^pi8?hzYETDJ?ciqnOd@L*{U z8xeCopi*r}6fT|cuuK4WFozDVKOE2V@tK5G`~6n>NCrv%xUflpVf7@4C*0D6SNaQU zl{*CcqzyC*vi!L%!n)5~hf2(CDQ>)526fXvWFRZJ?@gD*>q#CKF1(@&Xv{Izus>&d z$Ul>QFPwWRaxfHnZF}iMBu+-M!-LxQ&vwM&VB8QSC_&rom}9r%4#&>*M3Wz-ZVLkd z3n%QjoF30~#@)qlL`ST~=;;bDA*FMZnQLl6;6XxhaOM(5(Y5XSkg`-Swt`w@wj#|p zuvq-Z%HIwF#QDXi;8WtAa62{ZU||ZnM5i9Pn7sm2qbhpEki$nZlsAWh^fhXWo|$kA z+DU1*hpBEJ%|aGP2x|5)hOwsCK#R0z4&6grE z?OT)pxdMXD?3+ZhIMsM#l-V`ocK9!up)Zl$j#sIn?P6x%CFU?Zpd#yfsq!j_YrZ#A zqB+YGniYTod426M?yJ3`o$ozcE7|#}0q?p5zHT(QY1=pbR8bb`pE(2AK2-XRxtOoU zxOv0PzGCuSqTV97k#O6xKBGULA{evwNyPN%G$(&v#YXvU0sY!y2%0)r3$Lsa<}3{^ zn3>1t-$IZ^jL@vsj;%TLl?EIku(vII!4T;_6Ik$Y%u(58M*LpMf&Y2y788c;&00toxIw`dN zMdf{3DASwIjM|i3ariS1k+GpPl z=#7u3aUluh&B24kCp~pns4sLBtag=@hZ!XLxZ`rnDX+oB_B%aj#vulk%25rJM~91a z#$pelRepu1ap*+VL)~Z1?M;CLS81nNU~t2eM8M!$s64Hn#z%@AXpoiQkamQmv^^q< z==~N{%ADrK75j6>a}cM}u4lL=|2ZqYZ;S$$oV<1#j@I?4z}^OURce0=4&&vtf3u(M6A&qpnV2koVQ@tbJI4CGaUuei zEd%a>*UfZH&by@DfLD(z_+`XZpTDPq?x((}FOtE7*}2sRXG=758JZo(2F_~rsRc_x z@5>=5HTimn=<%MG+~=(LwbP@e?qHtjZ-2amA}FnWD2Z~piC8Zg=Zorw!0sgW0d${t z*f@rPa^s|<9MZj2*G~^7bcCc;Wph0wboot3B^*7#mB&2vMZuBn_{SE$$%`~s>l@#c z3aqW3b_Wq8uu!f=+HMjMv}hUUN=PfOt!>nR-8<^t3A)FhYnpFGFirx~CY-qm2t^+l zwGlIPU|JI!9L!Yne{ECiIB_V1F5RTekm1#Mbu$f2fotI=LD|w?{1_qYKY5I=SRv&lcZS(g5F3rs?)~P%fH!xE;wPnhuA>}B_O3jsah-5C%R=8E4VO!t zS7)Rc&>HO!*zZ$eo_xEoW7<=;Sq+Uw5e;g|u|`t0V?^fXIiYC?9D@(a{PDEcR^a|m z%gIT`kNwi_#rhFPa~L*;^jVnsTTk2tYfK*94-RZdv8%tXlAThuNN8KFn~l{+L`CP1 zV5#Osh3I)tO>L9(3`@$&fIt>*%*JJhjU6z!IG(vCntL=%D86y;i;1pr-SZ&JGm3*& zdQ<0CjP2q|yG(K>P~msg`t4<2$Tj@NR5p;PcU)z0wSmqxbvj>^-kL_|{K@^*sy{Z1 z>v%PqO$C)TO|~%l#QF(#p<5Dl z{B)V5b}x9XNQL*7zY?}Vgv8)o%{y)KTv)4mVm*IN^d(}12i^9rR39g*PYh0`vx(q) zF3AzF4N2*q7CMVbAEr%!`@KssP!G^yOo<9nL}ymlrda53zUaT>{Z^%g80`KbeKpRW zu-ysUMM#oMR#$r$dAZzCr`V~(;H5u~;4KQDqiH|F#BEo#?4`u{azMakp*7a*c&XZR z3$uYQxXqtE;dLP8El6DVv1Fp2ba%VwTjOByLW)$G*G0y~t|{#ys%6jgGUrw9Qpm%- zHU(C-dgJ28x}c!tf2_O4*JQC3iN z^2*u;u=AU^B8BuPc;s_tc0DosjR~u+z|4aiz6=?HLKjf`?cpVm{O{i0L9DtiDOXzN z&W9L2M|433H-}--(R8=*_*P412RQ}Af zH&!j%6p8;nGqT3L-LsRy8cF24yS)s5fc@udC{bc%P5SUqkXoN8m{NspbzhLA2g=Rf znW`H6dxlU#k;+ggkneCN#EE?nq4WK8{o7Suh({8I&KEoL*-e!zToY2SFUDK*`*~NX zE9{@X82S<{Pn%v};hJiBXpo=1iDJD%U5QHopAAL5P~*HxhjCzsfZj08U8Sym-~pfU zetfU0aFq^I0EY8-h&}%!vsiTxH0e=F+yCxAP>4Ugu`4;FwY=d?gJ0p1k6oW{RziJ_ zAZMFr&U)nS_pX?QpFtiH|IM*1n`$*7Bp}};vLRm2N9239L{rQan|KQ)JDTapM;^0i zB@{>Xf{q{7mri;QdgtCkzxtqqGSRAG2NeM-{fcned>2fbP@j|G_|RGn%di1M$;2Ag zUtIfP_IA-jd0jTGC*zW~a(V#}uCKslDvT`EPFI-YssMnT1^&~&a3JC&&qxp?uG(}J zkI<`}H;TWRUksG-I$(WZyfyW{!c1{s0oI&Te>Y~OOW}b>tnP1y&Eq;?&~(0U_J2D% zM5a*#2e3j4ZfvFxhZ^@=J^i!Zae&^WKzCRFc+3F5AcPiRa5FFQiL2@3p6orA-)>eO z5D@-B>dR5S_%R+DSrCFqR&`_VRAR_B?Y$V9xGT`xE#%LdX_r&LgN0c1*>;^D%eiBs zb<@?)Z`n_`{@>o0r@0HA=G`Qs3uj*L|7*57PcGavz`q$FR1J+lOQ!ym#MgT)RX2Y7 zc7lIFUoM9BgA&Ur76j~gEz>Ekleo5(`!;T~ovwTAl$V?&K-LEMy-L2m zff~HRbi958>2$A{y8nvyFm(^Fs6IY1SfE(`Tcj$U9n3%gk3%v zb}t514PrgIuz_bp=Mz2qFARuOx7gGz%eKGteCR;7+rP85)Vr8JggS997-BzDzyu$n zJ}ef!(*N&u@n-t2Wl+Y6n)mOOVf^pEs#)x-3ptFhfh$s~H`wI}#!Gz|gtE19hy!YqMfU3otDkc6nqWt@3>zlf(vwFl^K-WsJ2+pRyhNzn=N^f?6YFGz<DYg!7I(lM@mK_`{0F`Kogd6AT~sF~CAV1Ck)k8J%bE0v~fBPaA1E0Q{Xo zj?Zddh0W2#VRigTvDI)#KoeoG3kHzaDEfLuA3>F?qLl$W6YtB0+9mR(V92Qo|KgY< zz|mKY?Mwul?{LSVHOymie@}=u>kZ9s0Y=g)GPZh(E_QV9g)396n!0m&l{g6fKCbi1 zmj_RU*7tfp+9XDCa%L0A7)TD42LkTU2d`FH3|gt&AhP{2rdP=mNNd3Y2u0a6jK}eL>szMs`nJ0Q>N=ubBbvnAntMIl2&ta zlC*U&x(Q@tRU9`@Be>SB-85>_YWPAoWh}E2AG~U4CXBh<6qjW_0_H8!jEbjY+~3%+CkP-bZ$OWf+&=gOkdaI zSUpo1NSBnJ<|@#G2l6*#Tc*dVDRq3GB8KjgcdP;&P1+Ixoh0dS@VCZj`5*vRl`B(( z9E9K(Gc0!js4x+ADX(HvX;%l}L{2{5t6tkJJUN zId*4w=oqCrD_Ez-Yf;?~Dn-?zh#f4>Fvt6?dmr%P{LI9n|Z({gje} zexk%rg_OLBS`;~)7$ul!VY2|Tcg4j@vx7AjrMy!Oke{ch=K=Yh;3hn8WnF&oY6rO3 zDgh94RH}N_t-kgT_*DzBQ*8p&T^SD!y2Ok6cIA)xNx)7|F-)`j&-WZy2)z##AUaik zsq3jT#TOqn3q13IZl)!f>gvK_)}@p9pArmT#0lp*^0@-?1~#4wH7=b2T!zxwNdq95 zdnXSj2x}`gzcDKSN`!a4hQ=81ioIZ@`i0%;VPH{Sr`cXiG)v{tLo4L>_G#&;(R4U+ zDl+Xo9EU*6Nd;nwwPyJ3tvq~Xn|9UKm zapQ5xF8PkZ@@C;;YN9#RBLGw+(@TgK7TJLcq?X#YE1+Yx4rtlNEG*6rb8iDnzQ9+N z{Z6prTSP{+9SoZfjedn_kg&E=@ND1KM=PNw-Na^KUn=Fx^+`C%+%hvbe<+aOEi8w5 z)m{U-&di!~0}yZ=zAbAdOW=rniOl;6d&ua!zEZbZ`MJA+#X`{F8dGx`>{CsFU2;O{ z;Q|-a>uIm7%ug%~lOz~m+-7WfEgQH7c-%>b56FTLY9P_ZdKeX*Kwn8c(S#X%Zq4O zDoqVdyY>12b_laNoqLU5vbPJhW;iICIF78I9zCuuJx*6J*{eO%Jh@WP?0!Hx-{u*! z*l?Cq#L)Wz^Q5iy?wpO@ZVrha8^}p-N&`T;k41~Ef9Kd;(6YVev#b0~QLoRx3bMA% z+_MFwMyrqo362`~DxyH6050vY(c;;*`59p4Ze-m%tL#X|hWBm~9M!Uh4_TaRcY`rdl8f|xM8Vijg)H;Vs*toi^Zt?~5YW*q z)ioBiRql2r@j8&*en~3-wnnV8WjYZiQkWi92B>dlTv0_&9+jX+I%#+mcO@~ly9ppY z=LdAw41)rqH{fb+25bzyiRGb}yc7J2^sLl(Y=ijUfVUazQu&SX%ZiZDyc1)Cm7+}e zScAWT{j}hCe4d-*!d&7c7{yJKmYY>jaB=l%wtA1?2kt{C=g*`j9UvP-77) zj|}@Dp|WUfkU_zL51cfth0HSNRS=_yEM7*65oUg*`uwogt6e7gYN|H!XbN^^!@>fj zFpknO4=s83A#zK2*_i+GywR2kvQfFAxquC(G>8og#bP3L@V(&SadY>CMUn~W>KDbv zb==29F(wDzPf0V)DtcNwo|d3T@s~s{g2A;~*aaZ_m9$YxO#* zWpJpQ({7l_^+HWV#P;{N4PsT*83g`c+KanA0O^xEbLT|6b&yVWfT>n z_s9D&I`z`38E-D8A&wC6PgW4b}D6R~$M&DxpJrJzNwlZUIPd;U|T2;+q zXC>IXXux!c&}MtyMakl0!;0WPNE8BZIi|z|a_;rKvU8*BU{OW819n-1)$N!qn|zB( zOXw@`o2WNk7rWgtiYp!!TDiqH>0tRrnaF*2+w_h30uQ)@dtotDLXAunjU-Mfr?Rke zt%*x44#YM&)Jc!x0}9V|6vd9~2d63Wjpi^?D_aT6@p1*2{D?8OEi6`==TX_;Q*n|tH0*xJJ7s^;B?n52d*%j1?j>eJx`Jg7RYuYK|npX9_!So-2n z%>!uo>{e1}ETz6>OM0$Zy82$;3#!VlS<%J}9dx8GBK-j$o6*p~TP9;6L}ErZC;L+j@q@^BCntC;@iX)Um+=L z40W_o)#pHDBj*WmUjvMb)Jm`oo8Ey5L2yJ8qbRF?>5ZWs)(lQIU75xmo*dO7rI@zkf@Nkts0A(4Sn8QMZkaY*1Kg}9;m znaz=Kd&Mz0fp~{2%@~WvmLU7e?h1`>315tyj+&m~=67U_fkYb9<@Qa|NVXNt>HR!* z_g6}SgP|DulAz(%r2gBkH+Vy+pqR7R+fi8ZqqZCeNfVtl-}h5!$&YsHpV_n@3lf2_&Sbcyv>5lodj+LMF3;5zI%}$M?4=~f_PfU(A z22(+CNi}tDDR}K%`=Q@Py6oez=;U%G2>wp_-t(I?1jm>SfzJUZ@*%f5;rCO9K zkAQilEpIQ!#|-z(!uG}l3SZ%5FFyo4(PH;?IWf@B5CLxur${vjQnUF}F<*QBx}F_o zqvDOqVmo)6ex%k(3Dqyc4@9#gD{DFh@75gGg!4c7%26QJ)x(GRS`W^qb>pynPktqN zpu|bjW={Y9@Y&ZvowR|#<)Jt}Yxll`gX8?Ngs=GW^xORRY}`wCzlkZu)0dXgMB$+O zpYBw&sm(d~6}I_0-(|Pb6nR=HjNDplk&)8IZktcLY^PCYY)EHpK6`SYPK-3RTm$89 zixFb;238QI^?M8G>T8f8?YvXraK{7a^zQIT_ zj2gDi?@*eaKP)+WQI`nwJT)69CH9Yr7!fq9A-;hbSe4-)G8+ra69l>Un8cqgq>DgX z!=5QJO(w?T2WO#15x#UuWRVQ4n`A$8n6^l@s_drsO)lsC7KRq|{>%2Pl8k(?-yn{~ z+HrAOx`VxSSm5-q>EY`R_U*;_rn`7i5Xe&Co(9vr;Yg*M$z}_s`~AMTc6w8j{b%mL zA%;_L%B@V+Fv1FTU3XO$TxR1c$T;d&T`C)SV@0&$2GJ}Z$X zdNO~Xsk0t4(jIDCPyWmZD$9W9&rM*ajuVo>(+gkaBOR4Np_|GZaf**$vhT6$HXpa`pQDiR(moIr8uoQB%@AJPMd-k}|ym>pJ?Rt4L^n5Tmnr&1+g z?-7Cz@sVb{IlbGv-M1g@<_m%faogwSeZ{@jgVWKEw}6*1t4LF15s2^X1Z=K3cF7&e z7n!kELw*=@560lyBJH8jke^kp5e<&LCyd1v-qO!P0XLbh*FP}dwzuxS>53Lj?GctA zxjpS}dPYMeHOl_1JP7Mp9y05u3W362x)a6}d3>onttHvC9o28ZR-r6>ZDDUXNNp3U ztUUi+ z2yT86^1Pi(31nB>s=pI)^M;x!!Jno@^AQbIKiO#?jbG{Qb6n+T^X~hA3oy5o5=03F zF7Dh_&Nr|OqcEw_9gs8&Io60fk_;Sd)0pE61A}2saX9hFEpg-r?~fwB69&2nNF8D-Vj<<`` z98-*@1g)P&c$KiUp~$k}Vdd`A`lBr~*bFh-en>5Ah7T#>pahl+kiQDCKSi|jgth|(89wi(!a+vf}eE=4( z@kKG-OS8$z>W<)6{17mW-{x!8ghuQODc*Rgjsua9l4=U!z$W^9#E*nz&ddhEXXP)i z)9AHvigCo{8i-w3Jh?|IkR;_#$Dvfdn;`;eGPLD1tS<^rUI`cL_!EP3g^eBITxksu)n4xD9sZd7+0}H)Au?u zn@?lokmz>n{fXt?qxTCr66|C1CJsrfV*59ZzRTV)C{)|N7OWH>J0m>gYg05t8^^Bz zc&8&eWLc5|b9ei60yUdznU{f%xnBn!z%Uv_W#k9P1TknD6T@;8aWGJ=?{12Tz8f}2 z7#MK8K##WeekA-yqM~r2q!#HiYgz4^%HjL<%)2yHrbvw1KoZi5CCwO@2#o|{77sSx zZ2Z9VW`#=RzKkT{l+PMX07VDsY)XgB$QMf1FAv??u> zV$knJ^IX%D=GSE5X`bo|wPW6EFMdxj0T08VF`&7pkzVBVY_njZIZi{KI{xK85fR^N zuU+!k%g_pCdLLfoRtB2QyaIluiW-=?@d~GW8p1=x;fpIN?s$VVo7;Uhcp~Kr|VhnU7t(z#K^7G?65=3Nj$!I{XKas&S;vzS78n~Wd(9AE{o?8hGmwq~$vJc&oa*u;u$h_WWw`34&Xf11ueD)zQ z5vqF+RTn=t0Ti!KoEKdWq1B1#$q0~VDD*RBnJo+yjYgRHAyV{{Nspm@!Vta61hM$i z;reSa!e%$tfVSJECuLxreLXVjL{%L7)(3snv+Fss{ey@(MWdT-xz%#(8CA5qc z$cvQN(ZFIH0Qa+1H`8<*y}kMnSLkpryZsaU0z5pN=F-T zWDCa3)uVIf#Ed+|hOl_&mLwEdouQZ z9}M{s_FqV1U5^=xO$RSz74fQn`_(ejhx=V`KPoT(R^i_gbN)N^Y)dye-HC1&M`(@Y z2(q$l_EeBh6jcm3b{q&~hw}rdzkAlmgfQ!tyv7$g1`>+(<4P z1=D?BTV|wBMRzhwaE;RP*@x>iAYFsNn++qD`IObiyLv3nLCmR64g|q&`BiX_bbbpw z|6Upzybs}A4|X8O^Xgyv`jv!WJo`c`pFe1wq7_&3j=0TA<^kz})~&5PQ71=Gv1)7t z(UV|XeO!N7eOUD+0!R(d;Q%rtgAts}(dgva&))L3?AgiF16Ol*SipR9l8q8H*@cN! zS#;ltY%`QO?Sa!l9kr;!u6RvVUPso@=}D4UM!DN23^z#FXQ$xd*Gj4VG4qkuhkd1L zv5%(F%(VABYXS;-YySAnzaBi>v;{!{Y4B~8|;0`UGmL`u4I(#v(TkBu-ImYlI zC2;z>0mzZ1w6deP;rv<#C+NA=c-(Yu=>!fU{eFb$Wo63-xcEE4gx6|rsx`#jIhl{6 zW_M$=0g)EFG!JA}FLZ~6zsXPqBZ*Jkpa4o_MRXxSV??50YM2cRt<2xzCOYL$cu; z{xKDuxK;Cnef47js@L8&vqTovZtFd@uQj0>TczG`7kKS@zaxHE)_|?%3MYaC zXHexDV5f^R3qi$O5`i&ZG{N-8IXA$7exKSgDbIU%g{%4 zoQa@Tc>JGfFuT%eH8FIc4C@32dAE&B7L#P6@qAd^&H7_d&yeV0t9A0uGkzVE_+8Uc)PtFLqD#r$xyHK&udxgPxGvV1cCyTPzVt{a7==X%tBtua1iE zRU0Sd$o}I9A%mIx)$Sg57X}30p@+%GQUg$d1jj$bGG>Z)?k%XQX)=mGKycfVE(eO^ zXSFDa)5A{69=rwq*+7K?uvK*vkpWQqLat{Ri18at;$d9eqFi&YP}uc^_WgXKLKz#2 z=56K}teE+C9Y%Jk&-NZU82&gYG;rn7&Y77rXJ($gpS_>?6kkU@fJ8O{f!?9` zkGpraVscd+IOR5eR@j@p^?#Z5c&nlYzpZPEjEikir&r3;9;n5QDZHP5a~Q0xvSF{v zb=@0qNC%c3h~6*KG^JGOiAp6GNIbg}Yr~B@Z=A@hE#g86s^AYwFy9(e+_8dJD?yqu z)_K)uerxHXH!}&P=;9J`Gn4BKV#YG=1`CV9gV)Z@j4Je8NUW_;RL76VVNp&CxU(#E z*G_A){jmik$oB74HB`g+xX%1=OYt;0z~espEG`}ruI$|W7D74E9vRwMFArg&iz(6G8#`c|S-i61{8ax~tpZ5IC8G>&kzmDY$Wq4CcDd@m;%Db@PC$NBuzr}6 z^2ngL?OWGOI@?XziDNnHIqIR)O|9tWFFZHhQ-U>QQhr8E4?5vo5qpF42yCQP7*a|V zQ{0tbxp<+GJ1{}pkNTyR#K!bmpf=a-Ez_j7!n)z(Y4o1 z+-BS`H@>Q%wEYuQvN{{Ttq<>O8EL&t191By3r$bx zP8$;(Yj!MH#o;uK_PyB!GRza=TOpdno}}z7cg0-Ny=U$!*u}cY=X^2MVjp?=Pw{In zoA}J$v#kJZc!{>`Q&Ow@+E(nWhZ04?Khb4_*27T8rVE$v^7=V+UR)>pkOac@)o|M< z8#p33tV7yY?KF}ly@SN}f`|!oc?2}(y5t~|^HoI5Es5*^P^rV6OqF}#Z6|0JMl8cd zMao7b@8s7!itLTt>bD&~nUgcF9<`&N3gRC7thcmJxt`laNVHx#sqj3}iht~jcvA#I zUTI3rIZsU#$o41Sgp1OlQET@r_S1Yx1j6Nv9;=WV+6S^xk~}D}u?%>6p*5PGB-ros z>iV>$m139DL_KM5u^Jhhp8tMzf2_h*A>53aclDKBe$vlwciW&vz#k?rFbQ*zg?*W? zAX@Ic!g2bp4hqy|$IZL8G5c%~NmC%UsyZvk>YE;M;(l$3_zHt6oU1u=l}>RX*)yVq zQm!E;zGJy1>D|i}(^?|7QgW}OcsXUach^5}DJ6)mV#a+@+Ap_c2Dqu>G#+p}!x2O; z8e4h2-rTXo_VcFKGj^i{PP{Ei2M6Kss~fq)Mh4Fb0zX;ztIo<%6}NN7eBL7^JUN4D$|Wur6Bo@4LLA#$t|dR)Wyuo5|u3^ z%<6a#q=kDviVYm=kxEoMVSGDB;>O^X( zlJ%flLP&?!u;T8_50}CE>m!HsvfSSobtDT)5lCvJq!85OK#S5g+1;p4Q3Pw z6Qx^jM;P-uufMmLN)AcEgzqGp*NUr9!;HH7Z9rzScIfX88WA?ec=^@t|y^&OA90)sj zs6Qdfg7&;I5n}N6%U0c7pxr4~(p(naFkc>&w~#kN*|Z#d`NYPYph3>yJMKX8bnBU` z_!_IR!SnNhwaWS&4ZtB4w#cusR+ely2h+jBs zWG43-v{))aSAx{ceYQl!y)V2m6#%QAk?r#VCk4$e6goFbtnNT4HP|wSq|n@I6_fhZ zsDtF|b3bRZz`&%M+6WCa{Aeb9TuU`=ozY-(@EP=lLBX-3CCj^?tGO$CrL}j#2K2y8 zy0++E(@Fa zQ}JKn?~0J z2wo^AA!gcSQDd*QQ}YOC+eTIxS$AGrr`Boqq`Ddx5oEY##F!@A?P4XO%g~k}vG{cA z+<{XbkGuH6J}KEKe*k|v$F()dAM2m(2RoU?FoR|WS*PS(!nv5*d3L#Vo11#>9;Y)l z+`C7`y*L<4PfF5Nr=O6K=cfd-9F!4`sI?HJ9_)^*ZTiAXp?rPJ?H0nhfOEG+2N;xe zQ~1LXbJ@n5oOY3mw70(=Y36cw*5>z>EV_hNAsj67eg4VF+Qser^?s6kOSL%*jYCS= zVVUAH=Nkhx(ov?r4yy?&`5l#8eZ!kEaU!e>?-t(dDc)CAQ5(rSqnD0ya59T;Mr|`O z5I!9pl3tXIc`{@1?Y>omp}5?H>dOkHoz0T8L81DY_=t8U-!=U8TP7k{_|Qm@R<-Z7 zW$K%fHEAa6%Jwm<%Fh7~9gX8IeGVk;%nUCwReYEI}|nw(=`^7HPMbGICthFQI8rjdj{@x}5v-orx5o;o<4V{L@#Qf*T z&e=*aJVGhDPBd-iD9fJL^k*pbW;^jFWE|*SfAEB(OBRwyk2QxfSaR?SJu{pO&0FAT z{A?NFx6^j}__$NQ;MjA$7Q^#35vgT9J)Oj3_F$Kpp;!g#yPv;sW1Mk;oFU|KuNe7R6RUQANIYU~Iv zd@>ddvV)@EE;Y?4si({V5ig(Uy8e4}t}}1@*S=llxE+|hPX%uv?~1uJSn;51J+z0@QVt2e2qvG zR;|hR#*vAqJ#RBV#NQrwnU5iz^1981hXPH>aUky_N5-PE#D929gpz8XzpFDX{!+Xb z+;(-QZgN>9p)NnSv@P$TlakxVeQ2&jrXVt$+*(X5Yan4rF5|xci&Hf{{l__U+Ih(9 z>?P*H{o8g2j`7TVn<=JxqJKn=P3x6CW1%=)VMDa5*v=elR2KMB>uTmgz;%<8W;97F z`5LCybdaQ6=Wu6iymgLu-m?&SDl-Mi{X&=VSK0KnOI=b=9%}(&!?WE*Ez=Ay3G za;a=NlgM7Z){~XXYB`PX#W$AtVSMxo5*6sW{kJ{_V^*R;vN?7!Y`Kj@;(cVe&DM~d zBj4H#_0r=7sRk4?Oi8hC`mD2|;dq?bYSy#-z;)aE-|p8>;Z^cH5;$k%>zKYU)k{iR z30xhdS=cBEgqukJELCoAf=l?b4M=ah&sY-##wtPgLMG?C9( zWj#J8-=MG#ESb#Z9X7zC)OL>o(W3_V!tck7W%avlEOYEkw3>7fJN(~wc1dBp}xrq)_y#63#09EUVN z?9Ymy8QLeWH+I7i6fBm!_iDQ2C4Me(M?s>WHhZqV(%&ZC+tEOmGSV$`Q-r3yFsH<=_;ox;Ql7Vfi#H+(C((qbz%e)Kl3{0Buw`wH@sCruN~Z)QKV?mY@6q z9-ANUZDl$KY13+eS@l+eA@`W7baii~8s$@_91GO*1xDPK%-EHtBBv0qgSP!*xM)s~ zJ?2g|S@fY-))!`SpT#(Is@G^d+`{5hk>84_qVx!ezqUf*qUDqTRu+R zXKcJ?pFq}Q!wnzO-0D`R&)I4Y&`F3g9#$Lj*R~e$7C;M;6@m>_*~i1kqg&u8{FXFh zpk|+wmNqAaYlUDlrEDeI@;u6{$8(yT z@+`}a*SCC7rrmFU+JzcVoNXGY<7_O|gcdK_qi>IyDCUXkFekiZGG0i@+zV8F*G%bv4peQL#)w+i{+PcV0e;nhrK^AQ#C|X-4 zJGSL<(opyJi0ux;ND=}acFT>8^bIsby}qm z#IxaCD2tx~IODm0V5t9dzWbpz-f2%3J}@yDwd>c-s5G`c1tj z1Fmh(0a5f(jf*Xg5r2?VePSRWy=9n>raEu$cp(XVDzNiEy0i`Ly3d@IqR43r2$SR+*k43P|Jb3Og!y(>E5!heXCzA2(%n$yWDqT zqErSZFbft>@I76qYg-rPDrl1q?L1X2xv97x*)Uvi#1qBio1B+c#e$k$)Px>Mxf;ep zuIZUaA2S^7bl6X+Kk}$ZSi54b!J>^xm0an{Q5L$A{37Q1)s+j5`O9nTK3{n$Qu{(@ zEhs4KGjCj9t=eBzcGcU_GRArB?hn=L_bEB~`G5Ht7l~BtQFsF58`QPmPQo;|CE5d8t#bzR)RTRR6V*b zCx7H8ou(b9!7UDzAauHi7)_VORos$fzajNbh^ES*20m3E?TC|2$=GHpkoBuZ=_~U) z;GfC8FgSVFyk&KjX*fV3w*|>Fk+I z4G*moWc*8-6Uy5<#YmYFv_|qyAG8`+jt4H&!)Dx*$D1y^f~Oj^bvfZn>I@j$rnAyG zf>kfctM4mylSOCiYLlNOewG@Bp7%@hI~gMx=QO5dm!`)^S1fzK z8Gcof7t1e`sI|YjQpr@KdnO>YY_~=}Uw*+*-{o-Y%zDFVuCFSrjP)w`#mt1I)NYv^ zv-dQ;O5WDmAGD?X%Y<(}oi0zu{?>ONhe$1Zir zklzs?#>6%9!U0d3dMJInhi)WhOC;z&!>N8swq{SuW||3lp>w#*$ihR(d}`MrOkT^Y z5GiFh3)HmzeP`%3JAtX`%I8z<@Pe1nkgw(558(n9|FW-*IxY$y>B$XG%|z#3OC#lY z@{u~)xvr-^O;hV0>k4C6T!D%=T2mN<5O7cy`|=vgdAq?wJNk*xxCN(>>$Wc4kdWc| z2bh#s1=XKP1KaQkN@6DEdwn$rn{_5yx3jc~`V6y};#nEzdQMv7dB*yN=f|lAQ!zh?skiom6GN;DTQs{CPWMNWC!q+aKS zA2jg|5q$fShaGu9rEb#qI=JbLyeRh6HLHaLIC5t#iVAN_3TUdYg>CnGJBLL^&W=8u zjsSwVi9*a>-%6>02h-2v3cT}xX|Z}$n(|Il=wkmRz$0NoP=|+H>IP%4gTwxNLDcRF z=C+X%$ck*@ymLd?soXi!T>}b5*qn~mCH2X9BoCAuO#nS(bFA7;fVJHfV+dGeDHwy&E0L%^$|_739fN}RuiACe$xC*$A0zlCDgmf@PjJjRmU83 zaA)1E!(CQW>nUql#`?GM<-Vdy_GKOhMt47j~&*KMB))o!OlPg zzQuueLkKYqoT!R2oErD(H@;d$grJBTfF_=B(O2zXu!eAp6lHTj;uaU~0;_M^w@Lh; zWv8#32OX7Jj=P*fhguSv2B@FP0icMUFze_^Tn7f1VRZvixJ@ZEE=DCGNL=M`@$1#3 z_vu^*6BOn|*uH<<*}~DNF>{*8XHcmR0GA@s&wzys!@tXEqF3QLm@PosT@9+@<|NFt z-2UO-tDRm)#6b-klk>7rokF>MRUE+WCf4ul_#wSwG~3wJY^4Oud$J|55$F%NSPcEv zFXj`q1m+-9n4Z0{T{CFgR8Jv=Y}O{>yUv(V`W}KBYy3{@|2+*>;7#f4?zO z{SA6H!BCmV_a*HWpL?*h0Gx@U1c8mNOYK+uUO6h%?W>Z^A}b(0Frn|?zWSgo->#Z$ zVi}_mduIaJrkg;Cr<{tfdaq|E?g!^Y#)OHNk=1{M8yWbHI_A6v`ngUsg%v{m}g@IY-xLnB&Y zHWbt10t6zPzbF!SBbS3=M-*>Zo2r@s^?Jng#y&7XyD^o9Y&epH57q~MVbr}ug8NDO zfo1N<4()MMZsA5n$0rO%aDT z(s!b54^E%a*bBN2^uY7Beou8wOlpW$RlS7^Pa8OH8y*j(Qi}*I9#4a6Hn9bb7nyFn zNTLYR9~11T`iU9aU!?)Ogr_E6Al2`h0YCZuPIOjBB2BST7AvM4H)L1dd?rDOcrDK0Bwfz~OqWsbAW)XD>KM6X zpF4`R?3tTZ!R;`0D8vbP0u{@5<$jV|Z7#Beec)Pjb>k@&_sR(H-7>TXzSHQgb}6Q+ zH~z1vT>ALFY=5)biP|U~Cp8|^DtzEE?ufLtiXT>(iK=?22s^;$7BmqRdhSBe(L{#Q zxh>V}Ng{IVTE*PZQsa~+JjPR2k5Z|Au;O#Ajr#?nw&{Lt(*+72qEkMT@Nsh4{ zdi}(_^59abrmZZ`HV&_!O#Sku!0AHzeI}7{&0wVyp2)BI`N4JwA5CG2{dSp46HnwD z_-I-5eTkB(@|l*;Ns<{$r1bJ<6@kifk|=U3A9uNYKl>c}@uLGSmAeiz(Bo$%-E(| z({q{Z#TdsNEdAX>F6W6rTQ=^;-x-^kZ~HI24n6ZIGXj{0S!?e4aSUGzSS)F$r#ZR! zv9zZX(NnTR)FvH!(xH~N^{w$yzq@tCyt|A;bd`jr{A5yT@lYT;!&!LkMB3ilD02@I zl|psHaz&HFEvI9Os^aVO1fpzAV(Ozy8kApy6$<10Cg6~+e6m=!jomG4u^GYb)6>?A ziKa&!jbj-SL)3?`8oy|dlnH4cr^-Ha3;b-bf<*x>gCzq zojEj;s*j3^KRn}`{;PXu`Bjw>Q|dc@dy03IuQ1{nsN{{f-hP!VHri-YL41!@_K|oH ztwLD8%^XClIl8j~7)Hd@F)kWG{C9IW%HzRK$@SSTYqWJ`(1@8s>GoX03XGR72=3F| zm7WC?v{*X{oUdpo?7Ps_m!PZ3kDgI+njflC3vRA2<$>IPQ{Tg_giVBr4_S9;Sb777 zn1-|vxk6ur{PmD52GcBKuO2JrN(>w~nz_M&C3NJZe|pjTvx0*JDA`yAYy*9UuIQuz zzYSCHbgm{K#}o>r_?z_|9#^!hCfWAu8_F)A^Bj}THSd0^7NC2a@G0vvpE= znlrq31q{9}+pXBoJ}gj44M*3XgT5WPy@57qCGK%Yb-mb%4tD(xOJeNdkMM^Lq3p3Q z(&^;w!V(Lk2N-$rC4QV@B?h5Swjz{Nl^uLrho1TGMu|Ydg1iB=+$<_iY{S@x{pVc+ z;$J@Me1`5(x(Klia9NrE%tuKsSyhuUNZM&eM6bOZ={rqO{f=6!ZnwhPoLKiAd1~P? zLI*nl+Ob%wBevE*XfBRoeWyBdZeKs%@xcGB6ppgDY#D(xGAwR+bG*$dk%1_vL-Z7$ zOH#Z!<{kB>pDFh!i?ZkQn~!d0oBxT8OM z?iExFH&3-3!wcTIyS!I{Rw7(*Y`dU1e5(19O?o88sMz{#uvH}qTM>4*0uLM*y{_bYmBk3VAMv6(XWBl|iP%MDg;<2O zIy2CJC5}yS(MO1wu~EF7Y;(RyF}Lax-OC@WEfShEOyo4WUWY}cHnujEE5}q%l@3PJ zheh`0spA7b5cF_6GJK=rESR@OX+G%*mX0b zl#^X!40T9kC^{pc)#QIFkXKAcYgy?~9Q=$D;}s3`^dbzGj~`v zJ#YLH-9YZkStpErWz-o3UocYf@tGVX?f#PPA%A1Eq3A1@_>%Nq^?xG;YT1EJ) zkT6%O4BJOij(3tg+AOfYRHCBv68+q$rga7TDY5c?udV-Ffnp zsf_jTrRbuzsuGk77k&@v>ud67UaC znBeEz)0qV@#sXx{+)MPkxeTgw;G(Max}=^gPa=2rBBzgP&74yrrw zRJdR`9}95+AdH**?nnq(8!(xvixE+>z5jsyY(=YG+((Qt^4gGBd9r6l1JQ$5I5;#;Y& zxSerbe=J>VRDQF#_B5?~uvJn|&aGb^-b09(ko#J*k+IFE`L5n=4HV*)1gZ?&4IbTZ zr#Xbx6AUkh_KCtaUCq|57^cWh&zcovY>WA>219g~hqoey$hvWlZi|hbOv?_HpW%AC zC$l6s6J<4+SM1!zw}nQ6d~jR=!2g?s_os?21$}ijY_edBnTp?i$6&d{tOsIeqN@+D zV}ShIb9nDv&*j9$-UEuqkms`&ArCQP1Xt>+a4p6Lc~JF<>~lO{pPZ$!n)%Vh-lrq? zT2U+6O`jcIDxWkpwu%NB#S4>Taf#nGAW(-W)QGLftk^3On+NPEZ7V>(UfY?uq}s;PnHZnxA^1N;yw!N zP)hUJS_r$6N)~+}dvGLQk96b1oGN|kpG3xY{m3nF)~CO=C^O}%%3Gkeuj#l#%@%I@>vnaT2DA($QLu@8B}y>%u1(> ztG8__7>fO>`h&}dnNc;*NALXrZ=y$cYvQ1amk@DNGyc(R9PLkdA0Jfv$kRni_Cqo> z#1RB19ma~~?1>OOM}_1q1jlg-bH)W1Oz%6$06V`Vsl5r6B@&yN)fXU@JI(-W7JF*^ z)59urG2X*AkgYrHI;s<|Jk)d64QyzCX6!SF?i5LT>Xl{R%%FgF7XkKt*kY+%>Vng~ z`E%(`GoQ=Yy2HB8v%7msR}lPXSVioSba#CA@ z)ZH&Wpul24`64;HxK)4ii`2PnBRuL3iR{g-(9b?((bCqlHY#~yrh{(a7d@ z>oQX{pvr`nA!ahUH14>|9AwcV@}4gvmR=O{8SH1JTZcc{m5Mp1G@-MYiP(8FA9&U& zM=$U8Hc!Aug!`>jdJohk46L-X;W3j_U(QDHS1Q(}C`N(s&@OCf>H|LZ)WVhR;vJ*z zl&z!PLaCZy`LsK^e2u)Fy33iLOZ3#nMjf_$Me4@vv&TExdD%O}pKcIP;(It`}Y zXR1#-s&=s^2999jFZv^UlErDCE$@~FhIj$jV4iJBnu-`9K4yhw^wLmTL2P`}#y{wGcx$V$+_psoNRL|opx6%{D z&}Jh~MJdYj2%S6uS(74}S?a!%&S4z}6fi!K{GiD@as0xFGKVikUJOItXL7D_ITY)- z5T}dTuLVxWN%Nk##7pyw5Mfy2es%`a^Nv&La#N=gtp~e4z^y&~rhDbR<&RTRB^Dm* zw@!8$5lRjB$VeR{ZRb>N``&!640gHJusFtIkDu(-%I^t+f^F=zjgR3 zS5Uv{{YB_M7EzO-z-tFgdn7PVGJhucmgw-(7@gE%>^vD_4y=G^ZBl%!!>{`V#cdy; z4si-1{y!f)F}-qqoTmebx`zP^v{KUznekZ71QrwT$>6&mfg+&N zoV-d696&I1mKp0=2f+fr^d&!miXW27?k)Cu0V^mE%{||hTCXV(p0}0PZ12{AM0Rsvy?#^^ zUTOIfc(gJl0YyNz^Uz|Bfa^}-`UYZqoC|oN)Qayfmr&5Xx(>Xh&4HKs)lNbp3NIps z_9PbJ8;^bgGe#28PTN;T$xcNY$8dk}&e;#W%zusI@Ij#as!$?(l*!)zVnu_eA z%Zpo=sAxn=Z)(a?4uSG>FLx%n2-+Z#eiBc?`5?@qo>!z1qz1ddNam(5e5Tw6o=Tr; zw#~iM01jx_^TZqL59~{NuxX{-HN@QM6QFXHYwtyR6#k3Te)Azw!9qk*9Tl;BqPo?3 zyTn7c>zRo74WQq}#HD3}tX&h$Cbg3*wMHJR|4{|Wk)ON)aRH#|#YIJ6 zBAR&Y>$uf6P!^LdZg%)FY(MJNXS^an6!X8MYnc)WH%BlZN8 z2t3E`*M9nahzk+FC+4DSR#C8fo1J9k@djvK$T)uWQ~j1mDCZ-+69D)=MmXPZRC0#1 z_>(3S7SzI|uWMjCtGuZ11BwGK0GzE~aVaw--f)cZ%H;HQ&cER4 zWBXjrs{Df$Q_qB%2t*v*>MAx`o&Ls{I=+ys^=Rmq?44s1e#LmPJ$^Sc6Ihc8UzhCQBVzoTz^Z z*hL!=^F4J)4A^S%)dDoIR%2cn4GR2-Q8nGJLKe(hdzk&lobIrR*vt$Gp3qrgnv2UT zK_ffWTZPo1NLNM2K9S>);VY)m)>Y5h|GCT1L?A3tPZgs=R&D zY6z6`Ao3R{%Ya5^L|nN>2?Z>+VmH6_0td41$I4a6x|d|^*j`GWnDhfEhyhkAX$DuI z9zB*N^J{r{6&Tpcq?+e-iC^#7R(3}v?wP&XGA`4>RJ7MNR&U#Mr==Sg+e^^I(OVtKGA-DO@E-rg1PJ2 z;&kb9&LbVAUmkkh&xkjL8p8A_kNA!%stzo*?t@wod9%UGVn`n!tbggZOEg6Hnn{&) z01D}YdV(=a8=r}R&sW8brx%~R(ahSwZefbx5?r3 zaiW_WR+-;cg|HhVI4SX1caGD2twF?={y5B%o{Nuqw<7G>qjs>Rp?MIVsEr>D1nhqJ}j+9v0bZtbuBuBm_xE|M=G9f8-V`rh?J7z(~qS9Y-f zxdi=*;ppme5T%PaS)&_pUrNBYr9U`zmgI_l#1$7A^Xdr#5!b@R`U%wvW##OHNi;;4FsA%2 zr;+e3>yX3E67(GeD7tD2BJWuDL&-uBf@?j$CQGfIXXx8sTr^l=fKepS8=VPQb_n7d zY#?brh9V}2C|{he-B!6mMNjr##SG-FfvUR3t{Yv|P|j7vk0igj8)gM()eh!KXP3HXR;J!a7e6~IV+y3H<3(O zJNalj*}D>|-?(*PIw9wu+ixpDG0z+?Km0~So!Blp10kW@XkZG7++n=D85wsQ7_KCYTgp?9GwA0hC?hzKHwGd3P25~Nw zQ9$*HlkEZxSsiysmMPD6ln3k}G|;XJFNth7yOeoj@Y)I&XW0x1bzt7XdJ{>;h}qz_ zAezL8Shdj<#S6=wo0G9gm#@R@O#pYx}?7~?6)D(`0zDFBR_Q0v2g{h@JcwTq#(qBU*mTh z>Pf|F540wtOsrpwC*zZws?^ymmm6Zsk+Ym0hE0W~YAqQgyuEl+Z9twcW+>uv1o@dXNiQzw(?jEEYU0o?C))H(uA$$b( z`*Qa;A&3&XL=m7uXdyg7A5a~1+-uh;uMLxUeS(QeiFhf9K5GI7F+dS?&@4$DP(%Fa zXyNKbt_3Z$CSJHNb%~nc_qQTuh~FYB{M`UzXCgsomi6i{@7V<)4n934K2C7Gj8mKt z1XIQTY$9I!SEuCXU{Ik2Y+kI|@xbbGN|@CDdc~On<-d=?JHrC}R)J+L27l6w3n?-M z`~5!)Pr#T!(Wt%u+r4+Y@=qZL8EvK_e&3xJG>Ht_&87b{nqacO1d~1Th+h_pe4x!V z{BM)0CW*cIANRgO4q0U!sFVJuJrMnXw^^$b5(6iEF&|9YJQFw_VG7)qMX>#6U_grQ_9zML$S(yeZ{D)F&MERXt9{ za{v%?W0e>qK-~}4dw?z_QT90^`K&1f2wPz zU29W8=3a|0 z@XJn?bF(&0zo!BP+@n5P&IPe+i5X=68vOx52on0lE&@e8-qLGy)FZJ=+-Y@a~x#?#|}vm+TF777<-zHHS4#NoE1@kssI3I~^15 z<4@QhPvqoPu>Sl~!a1!Nz0`r(C{T+`3^jVnTVRauxc6glrwjM}{hcN}>R?u^)?$bL z&-mvN$N$+|+5qe^F<=1)8`xR4QOWh&A~?Q1Qa_Hzl`BnvJgF9nuZw{;MJ+6DKqpdT)+~qGFjZbQMLNO1-k*f0#?X`Hs~So0!o$NPcbVG+$zH4Cv?`ycP`K- zEB+IY{yC^(@oh3)iU4x#08K2aKECJ)Y(N8*{dbzUaG%yyX3X6{HKdK|M`+jKQk7pc|+K zFItNpI9$|5x{mLUZI8&!r%Z#g(sgy7#9Dl~bF1JVtHWZ2{4%9qRs3-!=|@WyrX!>- zlnj>GR3FU4vkM4&1q4@+*q7^z8?+e(Bem2A&e4JX*xXDV=&U@*(_F7b0^hrpdLN?Y zKW))z==|qQYG}4GlvrivKmk~K zKVr3=K^K8V0QdZ|&O&kek%Rql!YYfg`?or2jr36AJ)=y&=`bXy$i|F7P#zGeX@rxU zrlDMU9{Zf`krJ6NWhAO9(mr!S6L}}?e~*2{uY0cyz?}0d=YD?l?0A+)*aoFc#=ZdT zp45ytgO@>i8MNcmA+c^2sYPtAX-SkKU+2BAt}RZu7-X(Du*&FM^`u~TRvq^tJJ*%Z zPzUD3-q5p4uJQRuD8Pg&?f1elltFyT_m`oUrnM&*=a0&abjOc2TJp(Vq6u(4b<(GL z3#2o+d5wA`DuBE^3bQ4J@m;O)_n6B0v_NU#f~NX_mo;*xKr+Fw+LCJ*%}Wd^2S*XZ zSWg%HM_bqx0tD3_Q~celQZ*QKldVM>%E%+9Ztj@xzO>N|PUIU}V|Zq$OWlC&)Vdf4u;pceKP&B=9r9lzh6R=+!*(;U7sPTX~$#Zi)r?F*#I1UG)5S6UK<6PMJj+Kyp)~ zTt=`eC+*Uc7#)a!D@PqQa`6L|!dX3qQE1ZJj8JF8F3ly}n6Hx;ahu^lwXhf-Pn);k z+SfBxkede}liq+%9h0oe+dM67YU}QyO`4Cjxha6d2UHC~)hbYID+Gc4yBrqYg`m41 z^vMET)lGLD`#&HDeMhXc6H!--j7l>Q_P{Rz5gmi18Q8ubW zJ4%0!Pv38YVeL$mgjf*tYr#}ZBN+c}h1pz!SBVhxg83G`BCpcC?r_%173eHv+-LeD zgaiA9o5a?tjrGt(lw8o@bbLXQ@WXUMDo$h~NyPs&oCRS6 zoROcf^a6I%qzkO(%FszyjaBg|A?Tn@1%InzXd&=Y8Yt>XzrEH(Pak2$2f-ih|Je2c z>%-l;U{Hm(YVFyB@yj@$E|GF~kSMK9v;U$$(e%?7PT^t9qyFj?KTb)){u^dhxvSs$ z2X`%C^^M|de`XFT@euU%J*gR^dxy=BC%eiMLeOzR(?^SEya4J`rCT$_40}BDbLdl_ zL01R$>yflebr${Vkw_4#XPfTgj*a)JbUpuQ#e8EU+NHzh*zC25gO3kq9A*H=@S`Jy zdsjGN1JT9&y+<2wsGfyR^&EP?UE7E?ZuO7ASJFb+$jbLyVB_gKl}tFu*wpnHZ#)>- z`MrWcM@qrVWRU$prj&$uEE$c{Rvrv`^P2uEM@8hf6>H*T9abu5I z%ueA>=LYt^y|J`)nl*U_6=FGnFJ75VIEPJA=lm1ob-y5i%`=67q*)sTMn~B@kr+=f_0Fvnspf~wgH`l*sb=dI}z96(L>Q9k+^EXJy zsIL%$pvc^V6!yP8gO0SCz#!-4^YamZ#tnqX;`yMv(?Ti&m;W2h7U@C|yYCk{-oKrK zs3USgpDQ}i9siAR|35XYTOaZRXJvLm_aE>9U^u2dICGvty9#l-y zKCk>=T%uixq5aDPQYb=k;{AbDqwKEm$v;qpsvD>HR9*K`fX85Ux&GI7kW{icKmjon zDX6!v_U))0zOnrN$?f$3#_bTt{|SBky~SN}zq!vztAJ7T0+ZM+PC(l;j{n9K*U8dW z(ka{ZGH;`ru}#zF8K#ZP$@4d{R7jagC*D<>Q7C{KN|CU5k}U7>(C!(6sWl6YyY4;Z zvF>+=;fnI7HsKkB2fQQa;q$c^txQ$NOQ#^SBT(nHBWpQQ0#`>kQ=2z#1_{*GwJT~lR2)b5fx(Yq>v88&Fc3eIp(56 zIk=u3#Fsv_!ZsI--HFwn9hx|mDjhfyAq~}2L(MPcE#BNw@F*r%_3P0}XV5h^>JUiP z+Ig=h@VnCxx08#TLh^0;n}yE=?o%JHifARBVX9+$?sOpW>mq--3>WKaPJ`6yY-R>*pZT1oYt7&Hw%U-_ZS= zHve9kf6K+crSji4@o$SHo-Y0!5B?pE{+%lSov8ms6aOM9Vu<}Oiu@Nr|3eS{At(P( zBO+Y)4>9|PnEk&)%m7pjl0aN-UGkW&L|XAY9VG=Y^g8>SloV_(`Zk;F;Md&&!|dGfZOzOQV0Wab-YVro!5Um;kIBkt)K#;qU4~WfFen9#sG*!ML}|w3`)-3m{7@rLsLZe6) zK_o}X8Kj9#(=exj2JgFfX5PAM-kO=W{M*%4b?VfqbI!NFz4zDq%q84|c`JpG0m+_2 z3f%n;k-*A-KuO2B=1YXuu^TlU&yB<7E*6y4a;)2rC=wCpLa=-$ZLT)_WhJwo&-&(Bk8OFk&zbqSmoX8sk#Do_b5TwjwMnSii(wYQxthQevDSLUTlVTtjHhj4X zx%X320>}?a;YAtt&ih|~sq;&5QeFjdgcOdn&*!*{=Fj501-3G@-X)$^#cV^ zT6nL4L1gFo-emVeMvwDS4zgGC9o#x$Ye@ffL7^`xl#0Q-UjfJ&ouF&(u!piPcm3QK zZW_IBH}wbm>w>Yre?B==z4JXG$>fLp4pCUyia>Wx%~(FDZlq41#cWVUfp}3>(Y9=mq1MfN@C^|1(ob$v;5ex2%cZw+za8^ANa8#XywO(F@8e%*OSv zr-CGVeGe#y)zr;lr)l6}z5<+qj~9{~kO%AMvZgRAmTuR&7l!wq2Z##Fhg z(FSaHYq7sF*of~?=h*p%N2l#Se`3D>?I;WimRjz(35fzRV){+Kw|)$IPjZE!n-bEz)-A+_@hrZ5WH_11gB+;zgg-p`4D^q!J`+lY zlcjQcqv1gP^kW84@9e?zx&&Ovd8%vu{%sF?ob6yR@UQwBa1FRUT`&AX$|y=@-frNP z=><5ObNfDwg5vdlT&^P}pfFgF*Gh3e^N(!MPoE1*XY6J{2e|-0t*aALS^H#*F6&fr zZxSr|5}sgm@N=$RR%u`F2f9w1ds-lP9XjVqSNiOiTD9h^(5r(1#X@a&Dtw07SnpFw zuNw8cOE12rTB|ab3c|33ESbNrIW<(ND+mPX{{Xi`Es}%DR+QFa`|1=yb{!%feAQ9KsE0LquNh&=gh+E^BxJj3ffK<=aE zfV;nH;diO%cLnRz(Co@sVx#C#V3TGrc2W!7^{~!cVsim_*iRf58xAcq9Tv6o_HX@# zKAaHK*!6q&>$YS3UTI_W;=%&5hq{sWzBc8H0O`7};6*Q(P=APQbk9wB&4o8;0#(!a zrSiu!KR(KP$VPk37R6@_H-K6Pr6;~MdXEasPUkkx>S`ZbT^Ms8V(cFuc6#O*OwL=9 z<#w1Vkt8=q=OruZEL2x10LZ8wbNz?7GMX6Mg}ZI3eciw-TZu={b}XRI;ub{8=7W+@ zB~rYfYpj#X3wp{FG^ehLXupo=#@A%$s8xZQ8)RfEyr3uz-v(|DEfZ*%rw4djUNez* zOrG^!PycpX^U(7uHLOQ|-kS>EGX~5Hhy@SBU?hI$ zs5CJpK-51i2mdUMsbRARBI4Of5md2oS!esLw-yE5-QOMT z{>T!)-~!6gK_Nax(Cl-+!E~Yo2~t^OE;OCw(j~cPo`}MglSwy8Xlf$sAk`n62`eRO zg*s=(FhjK@Uje<6)pu?MH-=y7N4p)y>iz!qj9RIC1~^&1jz>nx7$j7aL)=vfKFnA< ztmK<-lR_vDm4UGf3p2SgHV|KTnQb>tK^h)omlEW#Ob3Nx&rkXD*lH2yz+xk512*c9 z?y~j=xYM0(B1Z)DwU0#DY16OQX_Yl={T}($Al#kN-ey?CADEbfJn3*Ql6k5TFsgMU z3c^esKyf%ed+jgZmx0NnCI9mDRE+~-QX}yYO4~@iZ=<2`9Ilf<#bus<>K%B}i^tA8 zw;DozSJ0MmHZI`!+h1K<_ks6GrwCTA|XfyHM<+UcCb3LtIIIg^ZFu$RSFu0f(Vy>o}a>=}~dJO0&m z_pOnS4hdZx0B;RD8bWZ-fu86s{_d`CMPu4f#}U{=yqjJ#xunnt6NyllQ^{H@YBv96 zBmdoMeiq152=oSL*E0VL-Q1_Dod^uJB*bUh^sxh#4eZb2FEuw7vs|CCLYVC6i_-{9 zahT5y;+CWG6B{F~&*zjzAXH~AKaCSk@m^MzH3B5=88}anh#o&pFSdW|ZJaM>`RsQxZPsjk-dW;YsS~K**fCCv^6g)1EA%Xchv`08 z?S2?|9ChJLc z^t=$^gL0wB}Afx6;3Wuk#rlwgZLqo^Hm| zKm;H5KCxj<4#(CU8R<>$mKzF>+au7Yi>#msaz4yZSR!|oK?`cxE$2MvXT?BZmR()O ze;3B*H7CHYgHge|-E+*;n;MRf z`(>!pF%Rg-=MNHt5m6Ph*+ z$dMS8qZ@T*SZe`<_p)}?Tz_z%^Dh;$F2ViCsmwxyIhWe@N%QKVLhh<~8^2K-t3+%o1A%2=AJt4N^q#l^9aqM{<0 zUA1O6aZAVzyjPzg`%Kf_mg7#oaZhw<)An&7tGAfk*WCB#iO4>6(UAxZQd!yZ#)pqG zF4h)mT)SX?Td_|(vdkRqEv;5Y)n2Vlj%@Dhw^3aSn=2^=OQRQFa$|LnDrsZ4LHsJ=^Cjs^)pAPZtA&Bmn9~T>AUp`y)rBd<|fCG^mXDf9;LRd zz&^@LRC9J9s-M>mZ*h=T*EYNFwvSFj19ZpNH^PhU8syf*&sLLCg5oI z8AQI6>W`8nk67h;G-6S7-({J5bh;=OaKT-JrlZX&FHl`}sot7WC%WMUfmZ~hP($G; zyZYet>GO6lw5`NX0i1q0hLTG=$Xs`QK#P>{1Y_t!e4C&BpP>-?3{pP22}7|;PpiiV z_rB|<6am4{Z{K#00jhjfbNFKzn!BGr4xR0IBM{UP6J7b-UdmJM$HdF!NMbLy@`jP} zWX;(6@QfwZNyo$5k6$>|1SJJjokiOmg5Ek5ofej0_Zv$l?4#s-%n=+%IQwf(%TAlJ zHBRXsKylObW}YRQ2Gf?QmvKrfAORR@%mQMzD`1^!o%$X)Ojab8?d^~OX?MO% zVPi&ha?py@hz&C;3(iz02kEJB)2iOmzunu?vA=5H_`Z(e8AA^*@91`JuA%PeS2|dTi+>byBGCU-927aG5mNZ-b#|%JMzM8 zM)9JF;)QvL(1?@5dy$T*z@Z^y%-5Z0tBGarh+@w28T#xqk=xPMk+{7bOE&%Ec|H#! zozpU8@5mW#uNQ%Ljwx*irB567;=OYksT51MuV>Q-%=2{;Pks7pH_lCz_7R6xF;Te! z9!W4_bgD}QjGNoxP=>m1RUmyi6-1QDLR8USvUH{;EFb{IXau? z%2m$|w>oQR4rWYde8BkGydHL;0}gqfb(i0xkn5SI66HP4?;k+i-Br2}R2xZb z;1}kDg1ppwFh>cH`Di_`*gI?dDS$#0NE+&|?p_=Q*wMQhlP&S3crpZagvl;k+=Ecc zfuQMs?(D?bhFNA!4;Crl4y%bPJ zet_Ulko?5KB+2)J?9sVL+*JzzJbA|(adXFv| zl;>w+4(tLHe&=_`qCp=Db?78c(QyxYxwCsPfn569xG{C?vODSaw=2kUq>2tj2HkmG z!j8;4^>h0ZBq+dt?#%-du||#*;aeZ)7V$c1es`m-NiEqGI=l;cl>Y_gFsty1JyG0a zYB%j&F#RBl-L=0O_!pG(|0QgwZ$A}q))APUEuM1)1(M^ufNDo~fw_|-!95vld3t+* zSgCg7W}0bPYEV`(-YS$3z(23ZezNlmA~GJ zW~%Ojt4S?INDMrp?g1t*lQegXU?KpqS=?v24pMc{{#S|VOGi`+q8ADB@3qC+GI6birexV71m8*L0&f(po&!XB%)q{uqfUc)P z@y2qK)^f=@roOn_0WH<}toT0xIo1L%WHOdv$nRG)4X)=W64!mZ4^K>bls~xaf;Vgb z^We?dgW@W%-@tOe?V*KVxp=lEE*m=Obh}&1U}&3wqHF;14>d&yMuXrzoU9@0q&e>2u_{1IZx|Tqg%{q zmv`fAORwit=B$$8+RZuc!JG~QuoBy&N|zl0c=J)0Al|&G#62S1X-4ff9Hu~HaMcm` zDt)FD?kM-*EC%NAy+H5i%b_j=&^`*iY_73V&{sXh{rK5?!RAr=Z2+=ya02#A@4SHd z(RD+A5b&R9zG#mvY`RRoBpA^?i6{j7;S<58d8WL-BsOut8KaKip=_U--!>Vf)R%*( zmgpP!0ra0==WFJh4XS*=z+CCN)~)Z_`F5qKi2$*{HbcCJ+1RYP@I7w*KK3A*aUocI z@h&@f4>9(FiqJ!6s&ZJNK!kJ+?pdOpspf7tG+rRD&?var<5|+|(3K*nps#=44m^d@I*YIIic7=N9ya=yB z>}B3Uudo1Vd1{$$bO!k-V^k4wa}|F+Mo)45_d}{DPVUgF{}P>X%}E}wWbew}12?kAbXLJIfE!rs^OqDxjB2ui^q8z5>wh%R26Ovn8&berA~ zijbgb?zONx|0bk#USxzo_dts&z2)k*^n9r^JSyCClYj{p%^4R^Q6ZDNhE&u&F zcbK!b-FFsVo%(E&5RzA&J~`Z4L0+rju8>iele~1B?aoN1l}CeRZ; zqe{=6HWHzi8MX(@U;32I!dX{kk>prgy%?Fkg@lzw={R-=;3ljM5kjJhIlS*?$>s)* ztR`CYzKN9t_Ir%~Q5Y|xL^6by&|sW6rh6l^^=#yw_ zVf_KK$JmMthpx>Ge?4x+L2G5!?Ex_<>SCu;SH7H$(mNJRE3?{Pzn`Bp(U=V9rQ_<8IYL1kW&x_+Wo1)k(Bp$M!Q zaw|Im)|Sv-?ZthqUJZ_{a#)Hto2AP|hrzP-g$2qjT&YdewLdZJ@DmONJM@j2Ry3N@ zh7dOn+=_gzipaM6mfTst=Q268Hi8#V`D$}Vq$A&U)XR}|($)EltXnMBNh`3Y2Rc%T ziAj4g9^;1UL>yMR!bft=Iu~$u^k{^Hj{TEq#9U$=N%>NnE^6iTu+7qXQBETmugg*W zk#WXecKezaa3f<52weAUrh`vgq;fOtEdTlJ2oN1&&0iaNY3L zbmNia<5(JU#No}J<4~P0%2&^EB)dFECJpgX!nI$mGne(D9?Sev3wsYCGh;HeZt~8x1)u_W*QeCf!n3wi}`A&sqTIt6;gKtcYmbA7-~vXk{;u5 zP_Xd3(pMMh6zF{FvIfLCBo1WoxT-UMrmN$8SY|qMeIo4YtuwvHvLH=iR}x=GpwXWl zOg80))Yo1zIt2KySHp%&Fu7<3Mo8JsmlH#YW|U6Yoj$%xmc;zb@QJO}b#=_HN|RnX z=l1m=$0uT%^6_uJo9n<=l%K{+B?eH=v_t2AqFM1`U?25#2@BZH2U+L?&7`|_hKW%5fWf}KS8oP%@?v%0gl zc@(-S-b`-S&#PeXa3H+^k`+3#O9$XvLGo3(O93V6h(%+X|qjqzs* z+kFrUqHpeP>caVmL?IiRBQ=J;>qm(kh4OE362w=UAuMpg0c48$o0%nsjgL>Qzl>=% zj0rq}-g>~Qe)!kJUypn}HdKTe%O-;sum9Qhqu4SPV+P{>>1#|)K>J^l{@3=>RFntsI4uG&KgYT*0>6~0b_ucj<|qN{==@{+&k*0?!!qlC>JY## z=tVIhGz1nlLk7S;skslhHleka--;#XVL`w^|3gFY2M827rwhCOqwAKY{x2%x+m@{W z5Z-maIbf{>NofC}xAJ=Zn8q=2V==9l;G*T1yAI3*=su%!oP5S4`VZo1gBCy*`YJwdqz1tz6~%huJ<`rW1v9YLT$JXl1qESi;|hB`PD z#t@=_8b`Kq(tQIvCV?U++4fBkOabOOE%}F`Lq|RWhZXy_4DA71$SCwdP!t&K*|4oP zm)`*{1Ls?LNXn@Ys}-{#K~1$eTZXe=dCTilYnR&~3{Mv$@dGG}iD%U31)nTDUa0#UxOAjOsgpU!*G0*a|DqovM9Usq_b z50Dt%{~**BqhR7fCV5ausH!B&**(EiBz^>%-)r7T++4R9 z;NOS>#6CJvwa&4n;T0@@?L20+9lg=&HG^3j`7pVzK$fZ+&#=4+UhjO`7}4Rvnqd8O zmWd|gE|{S}H9l-vGJ$$nyop0^rc0W}LBPfwZ%4ICh|#3EbFy+fOah7sJ{Wj_G|m1R zC0Ox@j+VozrftIUmo$xX@pT0mp`)yZ8=f5#ZjS;#pmMJCk_i%qbhO>Ef`zOi;2`$cCucs`t;945wT@koA-^@s3K9LK`^QDa|O29@|J|OC*^b$POy${IJFleR;uPRsbNpB zr?L?N$j_(s?&AO8s%6*jG2-I8KEz6e8_9hxx#RIzejPOL{V*T2`i)xc6JXakB_$!o zudv>X&!mJnWnBnl3Iu=!mHX}Pl^g*?3Wr2h&`67Z3)l#w#;&PWG1&Fvx(>(!M?R<0 zUp199T$y<{`+b3*Y+8b69Tl6TA@D-;nR&zNmpcvSi(DVa6ZbSJ3%0TPSWVz=b6yX) z>^!u<9@g7bn_XIYu2o_Jo!ocYOz0j!wm;(nkJWbeC#yF)*?t3B(oUdMaCDx7SV`D?{|Pnc@hM06lMyZly9k>{ETsqGmmTu8@8 z2@jkW&w<)2vHnHtPAt$!nYR*8ks0eZP>S)!rDjlhpu`~&a--=O7I=ttlEg3m8dzPI z|2bo^?=&91w~&T@0LhYzj&jhamYYgT(o-CXE8z%7nPN#x;N3Rn-%JBZ0+8&Lo@H43 zo5?Xr=s6F@Bj@mf?>8RppH=@D*$NR<>nyKFwq4efm5&cv--<%w&a4~c0UL#JtxP2mjDN~ zNm4lqNdu=c@bVoHO7SYfoo^fxkrvDMJI$k(W}@!b$elM2NhZHOyuQIt0oAqs@Sq%C zU4IxLi+TQMdq*J~PFP@EgaC$dC<9Q2;QI}cCeaFvkUG!P+6N&ek0m@X!({>Iu2N&G zf@~!SCR#sTw@tJhTFU?gq55%r$*0Cn4`WEnku?U$HC!J*B@3RxwB9QN){Veminfau zX0$Bu?DarBBSuW2-yiX}mlg}*_O0Od`UF@Oz8?Wv?&2sxJ;UY#t#|itj1F&ju(%In z0nLNg8;ikhH$hC4>Mo#Cy3OIda;qHxg$9^bIh?622%8~%-%0W7gTSlGU-xc|`C1nm z5Zb0~bdM*3l{gm_v^kJfad>J<=||@N^5pK8RbP*tteT%Vp(#sw5NEGl))!K^+-64Z zkDCd#8|RIRI zCGpZLZ3xTcta0>jzG6GDds`&NEAHxO&;)@l8#tTzqXo&m$ds{cxX}+qIZX9&CXls+vFv zto0!m>2n|Q!Q6cRwkZZ*yFke6f0Z7w8O@ogD+tg$ z9su0~ra7wiqWW!WKMNC&9}YC!+5I9fgE{up3qg7sh}HYg7e5o8!mG80N$SpPz&xa|{UVv@pxpL;af#6_BgA93K?FXA> zM%l{>ybd)};SR`J)+jtyf6g;1yz$Ci1V^_V=v-QTpXreOQ0`>zwjZ22@a$E8|2qo| zoHBs^GjeXQVrvx6H+GOh5wz#ZU4X^bvX4|k2_=`-_4-2t)1A5T-VQnbOq-I&z?)#S z|1?m}@A&gsMzR$PfkGT!=oQdc^%8~Ywn~ftx^f_-r62fydM4Vvawx;DRk0Pm3zHre zc zn}+~a;Ks#8pEJ4DJ5P=zkpth1+=oBKmL~u%I|!}U*2U^w{j%$wC7T8|Y`>mq4!uKq zSJZ*$86_;rBEYB|2I+yaX;t@~UlBR@%>*t#@7;LD?4CoF2w$Gf3$$%Dy7k2I5A9zB z_wvlN6jMDE0gTKWxcbGu@7~Br6a-EKi^)r(oS|gp`)T!>e1J#itPfkYD22bq&QOuX zfGgDcXW@B`Kr(mMkBsFWa9*19;Zo=<#de|gp^oh2$!$TXX6O9oFK_5;^1zolMx9@M zFL9m)g1)?;VFo*EJ;;-vqz8>KyId*zSC$-{*Cemtd1*Jf?q>!r9)9oye9u4{#t1$W zM&^nAdujR?;Nr^cwUA>uUpy^2Fn%>R|rk8@*H8Z!&G zqD-$#4~+5P`q%Q?8+MGQkVZDI%_m#l6B7PGmy#B_$FdU6jE5vMrjXTec+;owYB2w@ z#GDI_`$-DCzzP_Q&eX=DdZM!BLu!WDJVR>CdptjTNHq^2&1h^rDuDc@YHG$7KoNj7vlmRoipMgCe#Uw~ z=b#yuTg#?n-@6_eJ@$8|5ajqpVU3!%(#e_sOrm@mqwkf%(^M4UYD9VA62z%!L5Y-m z_I)n;ckv($a}ecLIb}L8o{u%#wW(3KKbMvreO#1GPFR!5l033NKLZthKkT9D0L(67 zpQAt*!4Mug0!=?6t1>w~S0|RYU#a^e*XMb0SlwwV%Y|=GahFA)lTgRAL6i!gU2*c6 zQ8(pT{duIYTHeg(WJXlDSaJ=#OY-3G-8>kyZNnA+NA~Bp`Z;;6(0p*QV9`LH!{cp- zd-FU@cA7PPb-tZFx`3J5L4w_2Q1r8?^}^M^|95OlWVH{pOcRnAfIWY!pWQ-p!A`=& zl$J41Sxw07o>O{(tJDa9hvt3;ekOF@z4^``iD}MTb)KjsJDgzb^VWigv!o ze;*p~=J_`l{hO};t!V!i{eSzSe_O|YTgQL9YY?aW+ZX-Y7lCm9-@fSIzUbe+=-
y5 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 diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testScrollViewExample_1_tvOS.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testScrollViewExample_1_tvOS.png deleted file mode 100644 index 5be05ba37bbb29d3bff0f3b409782d778c024b16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90881 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 a^0jsEV6XbV_X7reto|hIL3cNYR7 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