Commit Graph

38536 Commits

Author SHA1 Message Date
David Vacca 1914d9a4c0 Use AndroidX GuardedBy annotation in favor of Javax GuardedBy annotation
Summary: Use AndroidX GuardedBy annotation in favor of Javax GuardedBy annotation

Reviewed By: ejanzer

Differential Revision: D16234167

fbshipit-source-id: 7f818d20b332a866926f80275b4c8a7489d4c6d3
2019-07-12 18:51:39 -07:00
Jeff Thomas 9645328606 Lazily create RCTVersion dict
Summary:
^

No need for a constructor here.

Reviewed By: fkgozali

Differential Revision: D15056802

fbshipit-source-id: 32a2c541e5c1fa6336b7f6f2131772198740626c
2019-07-12 16:51:28 -07:00
Héctor Ramos 970101e1c6 Test collection step should succeed even if unit tests fail (#25621)
Summary:
This is a quick change to avoid having "Collect Test Results" fail on `test_android` when unit tests have not run. If the raw Buck results are not available, avoid running the buck-to-junit conversion tool.

You can find an example of the situation we want to avoid here: https://circleci.com/gh/facebook/react-native/101397?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link

## Changelog

[Internal] [Changed] - Do not fail test collection step when unit tests fail
Pull Request resolved: https://github.com/facebook/react-native/pull/25621

Test Plan:
Verified on macOS + bash, the conditional will fail if all-results-raw.xml does not exist.

Circle CI:

The `test_android` job as a whole failed (as expected, master is broken), but Collect Test Results remained green even in the absence of a Buck results file.

https://pxl.cl/Fbjl

Reviewed By: fkgozali

Differential Revision: D16230885

Pulled By: hramos

fbshipit-source-id: 73a8290bc4679f2e0dfa88d1e7f71fed279c2104
2019-07-12 16:12:33 -07:00
Kevin Gozali 0c8c95f4ae iOS: Use RCTTypeSafety header namespace instead of React
Summary: For better compatibility re: https://github.com/facebook/react-native/pull/25393, this target should just use `RCTTypeSafety`

Reviewed By: PeteTheHeat

Differential Revision: D16210888

fbshipit-source-id: 6a55d631453cc420909247a7d5a64379587225b7
2019-07-12 14:30:11 -07:00
Florian Schoellhammer 2bf8c8bcd6 Unit Test 12 - Fix Storage Mock
Summary:
**Final Goal**
Currently unit test by default unmock everything and dependencies have to be explicitely mocked. The goal is to mock everything by default and whitelist (unmock) explicitely.

**This Diff**
Fixes the typing in the mock and add unit tests

Differential Revision: D16198318

fbshipit-source-id: d2bb71e9c940f4aeb48f8ac92bf3c5444ebc2025
2019-07-12 11:17:53 -07:00
Dan Gilbert daa6b0a1fe Update types for autoComplete prop. (#25549)
Summary:
I believe there's a mismatch between the type definitions and the expected prop in Android for `TextInput`'s `autoComplete` prop.

* Android is expecting `autoComplete`.
* JS types are expecting `autoCompleteType`.
* Latest documentation documents `autoCompleteType`.

Prop added here: https://github.com/facebook/react-native/commit/179d490607620a988a53aacb01031ed300d4ac66

This change updates the JS types to match what Android is expecting (`autoComplete`). Can update documentation if this is the approach we'd prefer (rather than updating Android to expect `autoCompleteType`).

## Changelog

[Javascript] [Fixed] - Update types for `TextInput`'s `autoComplete` prop.
Pull Request resolved: https://github.com/facebook/react-native/pull/25549

Test Plan:
Before:

* Pass invalid value to `TextInput`'s `autoComplete` prop, see no type errors on JS side, and Android blows up with:

```sh
Invalid autocomplete option: foobar
updateViewProp
    ViewManagersPropertyCache.java:95
setProperty
    ViewManagerPropertyUpdater.java:132
updateProps
    ViewManagerPropertyUpdater.java:51
updateProperties
    ViewManager.java:37
```

After:

* Pass invalid value to `TextInput`'s `autoComplete` prop, see PropType warning for `autoComplete` prop.

Differential Revision: D16220809

Pulled By: mdvacca

fbshipit-source-id: e25e198cbcbe721c8d71f069bba293856bf5f36d
2019-07-12 10:37:57 -07:00
satyajit.happy afe06e5831 Add package.json scripts ro run android and ios in template (#25618)
Summary:
Currently users have to use the global `react-native` command or run `yarn react-native run-x` which isn't very nice.

This PR adds `android` and `ios` scripts to `package.json` so users can run `yarn android` or `yarn ios` directly.
Pull Request resolved: https://github.com/facebook/react-native/pull/25618

Differential Revision: D16223229

Pulled By: cpojer

fbshipit-source-id: 69b082760ff2ee31ab0406251f9a50339fd227bf
2019-07-12 09:05:12 -07:00
Michał Osadnik c20eaa5ae9 Change module parser to consider extends instead of default exports
Summary:
Following out internal communication we decided to change logic of current parser to consider types which extend 'TurboModule' instead of looking at default exports.
It also cassed for minor changes in testing logic and updating snapshots.

Reviewed By: rickhanlonii

Differential Revision: D16205707

fbshipit-source-id: c75cd4febf773ba5101e6b60ed1a921773246009
2019-07-12 02:15:29 -07:00
David Aurelio 9374b23b33 More generous access to DestructorThread.Destructor
Summary:
In order to extend / use  `DestructorThread.Destructor` outside of `com.facebook.jni`, we need access modifiers to be less strict:

- `Destructor#Destructor()`: package protected -> public
- `Destructor#destruct()`: package protected -> protected

This will enable Yoga to move from finalizers to `DestructorThread.Destructor` without having to buy into `HybridData` completely.

Reviewed By: cjhopman

Differential Revision: D16182362

fbshipit-source-id: ad616c403df8e7c1e3d751131cfb7a9cfe62cf24
2019-07-12 02:01:29 -07:00
Ram N 6c362a7b19 Enabling Sampling Profiler for all apps via Dev Menu
Reviewed By: makovkastar

Differential Revision: D16141959

fbshipit-source-id: 3a9964961a6af4bc7d4650526031db564ec2dd27
2019-07-11 23:32:25 -07:00
David Vacca aa5edca0e2 Migrate Nullable and NonNull annotations to AndroidX
Summary:
This diff migrates the usages Nullable and NonNull annotations to AndroidX instead of javax.

The purpose of this change is to bring consistency in the annotations used by the core of RN

Reviewed By: makovkastar

Differential Revision: D16054504

fbshipit-source-id: 21d888854da088d2a14615a90d4dc058e5286b91
2019-07-11 16:23:29 -07:00
Michał Osadnik 96318e438f Split component generator and module generator into separated dirs
Summary: Code generators for modules and components don't have a lot of in common so there's no point to keepo them in the same directory and mix their files.

Reviewed By: rickhanlonii

Differential Revision: D16183434

fbshipit-source-id: b6ee32c6b223e8d6e4bc843b2e111598bee94dc5
2019-07-11 12:58:10 -07:00
Michał Osadnik 2bc6e28d17 Add generating Cpp from schema json
Summary:
Add generating cpp files following NativeModuleSpec.

We still need to figure out how to deal with module names, so I currently made in workable by extracting `Sample` from `SampleNativeModule` and filing into proper places, but it's a temporary solution.

Reviewed By: rickhanlonii

Differential Revision: D16181292

fbshipit-source-id: 0f50352d7610f99f0228045ae78309383d3e8bfa
2019-07-11 12:58:10 -07:00
Michał Osadnik 859deb97f6 Add generating header from schem json
Summary:
Add basic Native Module header generator

We still need to figure out how to deal with module names, so I currently made in workable by extracting `Sample` from `SampleNativeModule` and filing into proper places, but it's a temporary solution.

Reviewed By: rickhanlonii

Differential Revision: D16180561

fbshipit-source-id: bb27592d565ae439707d781fb2650f2bdb140146
2019-07-11 12:58:10 -07:00
Michał Osadnik 58e61f4b6f Add skeleton for cpp module generation
Summary: I this diff I include basic codegen skeleton. It does not work yet, but I'd like to consider it as kind of playgroud for further changes. I have splited tests for component generation from test for module generation.

Reviewed By: rickhanlonii

Differential Revision: D16161909

fbshipit-source-id: a0ecb81898810fe6aa09f76238c433894c731b73
2019-07-11 12:58:09 -07:00
Kevin Gozali 79a7828b91 deprecate iOS .xcodeproj (#25583)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/25583

We now use CocoaPods for better maintainability.

Reviewed By: hramos

Differential Revision: D16193719

fbshipit-source-id: 26382f2da4eaba14a71771540b587fdc80b41108
2019-07-11 12:02:39 -07:00
Kevin Gozali 549c46975e iOS: suppress nullability completeness warning in TM generated spec file
Summary: For now, suppress this warning - they are harmless.

Reviewed By: mdvacca

Differential Revision: D16198994

fbshipit-source-id: b167d0e98bbc4abcd0461d50f01f364d8d560aec
2019-07-11 12:02:39 -07:00
Kevin Gozali 725e034128 TM iOS: Run RCTPlatform methods on the main queue
Summary:
This module expects to compute main queue stuffs inside getConstants(), mark it so. This address crashes when running tests:

```
Main Thread Checker: UI API called on a background thread: -[UIApplication keyWindow]
PID: 88318, TID: 22602153, Thread name: com.facebook.react.JavaScript, Queue name: com.apple.root.default-qos.overcommit, QoS: 0
Backtrace:
4   RNTester                            0x0000000100beece8 RCTKeyWindow + 72
5   RNTester                            0x0000000100beeee4 RCTForceTouchAvailable + 148
6   RNTester                            0x0000000100c0b54d -[RCTPlatform getConstants] + 109
```

Sample CI failure: https://circleci.com/gh/facebook/react-native/101079

Reviewed By: PeteTheHeat

Differential Revision: D16198720

fbshipit-source-id: 272eaccf5027d0bf5b2838ed9623ae079fac148e
2019-07-11 12:02:39 -07:00
Ben Cheng f83f611f56 Revert D16200939: [codegen] Change module parser to consider extends instead of default exports
Differential Revision:
D16200939

Original commit changeset: a21cbfc46164

fbshipit-source-id: a551d5a9dbc7eef5c67b725e59d712fb323bd01e
2019-07-11 10:05:16 -07:00
Michał Osadnik cbd4ad43c0 Change module parser to consider extends instead of default exports
Summary:
Following out internal communication we decided to change logic of current parser to consider types which extend 'TurboModule' instead of looking at default exports.

It also cassed for minor changes i n testing logic and updating snapshots.

Reviewed By: rickhanlonii

Differential Revision: D16200939

fbshipit-source-id: a21cbfc461647df2b9210c0eca4c2c95c285dfe1
2019-07-11 09:30:52 -07:00
Michał Osadnik 4d50f5f4b8 Add support for Float and Int32 in flow parser
Summary: Int32 and Float can be represented on native site in a different after cpp code generation. Inspired by component codegen.

Reviewed By: rickhanlonii

Differential Revision: D16201358

fbshipit-source-id: a5c6c449d69f162ad9cd2a998d57e9c65bc17706
2019-07-11 08:43:19 -07:00
Oleksandr Melnykov aa2c682a86 Fix IllegalStateException in TextView.onEditorAction()
Summary:
This diff fixes a crash caused by an IllegalStateException thrown from the `TextView.onEditorAction()`. This could happen if we don't return false from the `OnEditorActionListener.onEditorAction()` and Android will fallback to the default behaviour, which will try to search and focus the next/previous view in case of `EditorInfo.IME_ACTION_NEXT` or `EditorInfo.IME_ACTION_PREVIOUS` accordingly. Because ReactEditText prevents requesting focus from Android (`ReactEditText.requestFocus()` returns false), the following piece of code from `TextView.onEditorAction()` will crash the app:

```
} else if (actionCode == EditorInfo.IME_ACTION_PREVIOUS) {
    View v = focusSearch(FOCUS_BACKWARD);
    if (v != null) {
        if (!v.requestFocus(FOCUS_BACKWARD)) {
            throw new IllegalStateException("focus search returned a view "
                    + "that wasn't able to take focus!");
        }
    }
    return;

} else if (actionCode == EditorInfo.IME_ACTION_DONE) {
    InputMethodManager imm = InputMethodManager.peekInstance();
    if (imm != null && imm.isActive(this)) {
        imm.hideSoftInputFromWindow(getWindowToken(), 0);
    }
    return;
}
```

To prevent this we have to catch `EditorInfo.IME_ACTION_NEXT` and `EditorInfo.IME_ACTION_PREVIOUS` inside `OnEditorActionListener.onEditorAction()` and prevent the default Android behaviour.

Reviewed By: mdvacca

Differential Revision: D16180306

fbshipit-source-id: 6118257c16a7a4a205ae05da671cd76d3a18d565
2019-07-11 03:51:39 -07:00
Kevin Gonzales b8ccb260ac Added button with accessibility action example and support for Touchables (#25582)
Summary:
We added a test to make sure button and accessibility actions would not have unwanted behavior. Additionally we added support for accessibility actions for all touchables. However we discovered that RCTTextView and possibly anything else that does not derive from RCTView does not support accessibility actions and need to be children off a component that does support it for it to not crash in ios. This became noticeable when TouchableWithoutFeedback only worked if text is a child of view on ios.

In a local branch we where able to modify RCTTextView to support accessibility actions and text no longer needed to be a child of view for it to work.

## Changelog

[General] [Added] - Button test with accessibility actions
[General] [Added] - Support for accessibility actions to all Touchables. With TouchableWithoutFeedback being a special case where text must be a child of view. (See AccessibilityExample.js for an example)
Pull Request resolved: https://github.com/facebook/react-native/pull/25582

Test Plan:
Test plan is testing in RNTester making sure the examples work

## Open Question
What would you say is the best practice for adding accessibility action support for all the components that do not extended from RCTView?

Reviewed By: cpojer

Differential Revision: D16192919

Pulled By: osdnk

fbshipit-source-id: 7d4e186ba1f30393f2b4d08a0e227b960f83586c
2019-07-11 01:38:18 -07:00
David Vacca fdd8debee0 Deprecate method UIManagerModule.viewIsDescendantOf
Summary:
We are deprecating the method UIManagerModule.viewIsDescendantOf as this is not going to be part of Fabric.

For more context: https://github.com/facebook/react-native/commit/9ae7f0c7dac732c8c2f2253699f7bcf04943e98b#commitcomment-34177828

Reviewed By: fkgozali

Differential Revision: D16186404

fbshipit-source-id: 146600c2da20a7a39c50538741d5822838947f3c
2019-07-10 20:56:39 -07:00
David Vacca 0fb3fb1d8e Back out "[RN][JS] Remove definition of viewIsDescendantOf method in JS"
Summary:
Adding viewIsDescendantOf back again, more context https://github.com/facebook/react-native/commit/9ae7f0c7dac732c8c2f2253699f7bcf04943e98b
This method might no not be implemented in Fabric

Reviewed By: fkgozali

Differential Revision: D16186405

fbshipit-source-id: da91822845e3c7b1f48ebf8c4782f8a2ee593bfe
2019-07-10 20:56:39 -07:00
David Vacca 458c06b8e7 Back out "[RN][iOS] Remove definition of viewIsDescendantOf method in RN iOS code"
Summary:
Adding viewIsDescendantOf back again, more context https://github.com/facebook/react-native/commit/9ae7f0c7dac732c8c2f2253699f7bcf04943e98b
This method might no not be implemented in Fabric

Reviewed By: fkgozali

Differential Revision: D16186406

fbshipit-source-id: 9cd4c9e20c01713d4e8608a54c6f54082067e27f
2019-07-10 20:56:39 -07:00
David Vacca c242fac096 Back out "[RN][Android] Remove viewIsDescendantOf from Android code"
Summary:
Adding viewIsDescendantOf back, more context https://github.com/facebook/react-native/commit/9ae7f0c7dac732c8c2f2253699f7bcf04943e98b
This method might no not be implemented in Fabric

Reviewed By: ejanzer

Differential Revision: D16186407

fbshipit-source-id: bd7a3f46ac8fbe19ba270b2fbf5c324c9400b740
2019-07-10 20:56:38 -07:00
Valentin Shergin 2ec8ec050f Fabric: Removing SharedAccessibilityProps and some code style changes
Summary: Trivial.

Reviewed By: sammy-SC

Differential Revision: D16139594

fbshipit-source-id: 300b7a2cd24c56dc5b9dee4a0248dda1b388589e
2019-07-10 19:26:50 -07:00
Blair Vanderhoof 45b0907f61 Fix ScrollView context warning in Modal.js
Summary: This fixes the following warning from appearing when you have a FlatList render a Modal where the content of the Modal also contains a FlatList: https://fburl.com/p953k985.  Spencer addressed an issue similar to this in D7863625, but we still get a yellow box due to the fact that `scrollContext` still exists, but `this.context.virtualizedList` is null from this line in Modal.js https://fburl.com/nqc261a1.

Reviewed By: cpojer

Differential Revision: D16160666

fbshipit-source-id: ba222d3eef234f4c8c4c2bddbc71bec27df81e0a
2019-07-10 12:43:13 -07:00
Kevin Gozali 7dc0d4bfee iOS: removed turbo_modules_enabled from autolink
Summary: TurboModule is now included by default, so no need to have a toggle in autolink script anymore.

Reviewed By: mdvacca

Differential Revision: D16173820

fbshipit-source-id: 215ce7d188ce526b5a71df881bdc992c1ef34b34
2019-07-10 10:21:38 -07:00
James Treanor 6ef91061e8 CocoaPods frameworks compatibility: Step 1 (#25496)
Summary:
This is the first step towards fixing https://github.com/facebook/react-native/issues/25349. These are the changes to the podspec to correctly update dependencies and build config that will cause any breaking change for users or libraries.

I am breaking these changes out from https://github.com/facebook/react-native/pull/25393 as suggested by fkgozali in https://github.com/facebook/react-native/pull/25393#issuecomment-508322884.

These are the changes:

- Made C++ headers in `React-Core` private by default so that ObjC files can import the module without failures.
- Reduced the number of `yoga` headers that are exposed for the same reason as above. As far as I can see this doesn't cause issues but we can find another solution if it does.
- Adding some missing dependencies to fix undefined symbols errors.
- Added `DoubleConversion` to `HEADER_SEARCH_PATHS` where it was missing.

## Changelog

[iOS] [Fixed] - Updated podspecs for improved compatibility with different install types.
Pull Request resolved: https://github.com/facebook/react-native/pull/25496

Test Plan:
Everything should work exactly as before. I have a branch on my [sample project](https://github.com/jtreanor/react-native-cocoapods-frameworks) here which points at this branch to show that it is still working `Podfile` to demonstrate this is fixed.

You can see that it works with these steps:

1. `git clone git@github.com:jtreanor/react-native-cocoapods-frameworks.git`
2. `git checkout podspec-updates`
3. `cd ios && pod install`
4. `cd .. && react-native run-ios`

The sample app will build and run successfully.

Reviewed By: mmmulani

Differential Revision: D16167346

Pulled By: fkgozali

fbshipit-source-id: 1917b2f8779cb172362a457fb3fce686c55056d3
2019-07-10 10:21:38 -07:00
Valentin Shergin 27009c1031 Fabric: More precondition asserts in ConcreteShadowNode
Summary: That should help to fail early in situations when we lose critical class data members.

Reviewed By: sammy-SC

Differential Revision: D16179539

fbshipit-source-id: da73b81568c2f3657b9bc2bd1cc7ee6624e75626
2019-07-10 08:48:38 -07:00
Valentin Shergin e97a2a8535 Fabric: Proper node construction in ComponentDescriptorRegistry
Summary: This is a very similar mechanism that we use in UIManager and it should be eventually unified.

Reviewed By: sammy-SC

Differential Revision: D16179524

fbshipit-source-id: 7c8c45b7581ac4a1db3a773d62004ff368f18321
2019-07-10 08:48:38 -07:00
Sidharth Guglani 12ca9830c8 add baseline start and baseline end events
Summary: Adds Baseline start and end events to be handled later for instrumentation

Reviewed By: davidaurelio

Differential Revision: D16048790

fbshipit-source-id: 8409dbb633168753a7bf8fab20bc6551d113ddd6
2019-07-10 08:48:37 -07:00
Sidharth Guglani fdf3873281 move YGMarkerLayout to event based system
Summary: Using layoutPassStart and LayoutPassEnd events instead of YGMarkerLayout for instrumentation

Reviewed By: davidaurelio

Differential Revision: D16048789

fbshipit-source-id: 041a35bc2cb1b7281ca83cf9d35041b4011cfeb9
2019-07-10 08:48:37 -07:00
Valentin Shergin fda3ca1311 Fabric: contentInsetAdjustmentBehavior=never for ScrollView
Summary: We have exactly same code in classic RCTScrollView component. We need that to not interfere with iOS automagical behaviours.

Reviewed By: sammy-SC

Differential Revision: D16160846

fbshipit-source-id: 5b5affcc64abe5e3204f619216412f9da5b03b78
2019-07-10 08:42:44 -07:00
Christoph Nakazawa ba03e4e7bb Use babel-core 7.5+ in new RN Apps
Summary:
We are running into some problems with the spread operator. The solution is to ask for a newer minimum babel version.

See https://github.com/babel/babel/issues/10179

Note: this doesn't actually change behavior. When creating a new app a new babel version will already be used. This simply ensures that the minimum version fulfills the requirements.

Reviewed By: axe-fb

Differential Revision: D16181111

fbshipit-source-id: f5207318b3a7bd9f092c0e64a8065d0f713012da
2019-07-10 07:12:58 -07:00
Michał Osadnik 0b5aa39671 Minor fixes in Flow parser
Summary:
This diff includes minor codestyle changes.
All these fixes was discussed with Rick.

Reviewed By: rickhanlonii

Differential Revision: D16169332

fbshipit-source-id: e561e2f2b116b6fdf8434c3dfc20c3e610d7ecad
2019-07-10 06:47:18 -07:00
Michał Osadnik fb7b2d3533 Change returning value of DirectEventHandler and BubblingEventHandler to void
Summary:
returning type of Bubbling and Direct Event should be always void of Promise (if async). Other situations shouldn't be permitted.
Reformated all cases when it the function wasn't void.

Reviewed By: rickhanlonii

Differential Revision: D16165962

fbshipit-source-id: 7c1377c3ed4bd54a431a13e5bcda4f7ec0adf4dc
2019-07-10 05:40:20 -07:00
Oleksandr Melnykov 8e4b2e7448 Use try-with-resource to prevent output stream to be leaked in BlobProvider
Summary: This diff fixes a potential memory leak which can occur if an exception is thrown inside the try block and `outputStream.close()` is not called. By wrapping `outputStream.write(data)` inside try-with-resource we guarantee that outputStream will be closed regardless of whether the try statement completes normally or abruptly.

Reviewed By: sammy-SC

Differential Revision: D16148850

fbshipit-source-id: c5c0a78b36375857f6e717bb581e8686a4a94bb9
2019-07-10 02:34:52 -07:00
Christoph Nakazawa ddd7775b38 Back out "[react-native][PR] Set collapse property before starting an animation that uses the native driver"
Summary:
Original commit changeset: 1d790fbddc31

This fixes an issue reported in AMA: t46804879

Reviewed By: mmmulani

Differential Revision: D16163296

fbshipit-source-id: e487ef079b2146704b0d16dbc0471504e4066f9c
2019-07-10 02:28:40 -07:00
Cory Reed a0acbd638b Export Modal’s Flow types (#25554)
Summary:
I'd like to use `Modal`’s flow types in my application to make a reusable component.

## Changelog

[JavaScript] [Added] - Exported `Modal`’s types
Pull Request resolved: https://github.com/facebook/react-native/pull/25554

Test Plan: n/a

Differential Revision: D16180231

Pulled By: cpojer

fbshipit-source-id: 9cfd5163a187954783102bfe4d9b4d1dbc8c6e6d
2019-07-10 02:22:08 -07:00
Michał Osadnik dc52f8c2e6 Force property to be optional if value has WithDefault
Summary: It's pointless to handle non optional key if value has withDefaul so I'm adding a rule into parser preventing from such cases

Reviewed By: lunaleaps

Differential Revision: D16166709

fbshipit-source-id: 38cef522b217917a3a4886d857720932f2ebb475
2019-07-09 14:44:43 -07:00
thecodrr a162554f5d Remove unnecessary flag when running JS server (#25517)
Summary:
This removes the `--projectRoot` flag in `launchPackager.bat` as it was removed,  fixing [this bundler not opening issue on cli repo](https://github.com/react-native-community/cli/issues/484) when `yarn react-native run-android` is run.

This is Windows related only so should be only tested on Windows.

## Changelog

[Internal] [Fixed] - Fixed Metro Bundler not opening when running `yarn react-native run-android`
Pull Request resolved: https://github.com/facebook/react-native/pull/25517

Test Plan:
1. Create a new repo using `react-native init`
2. Edit the `launchPackager.bat` file
3. Run `yarn react-native run-android`

Differential Revision: D16162108

Pulled By: cpojer

fbshipit-source-id: c12d9853ad49f00d56b9a8254a5b2c40a358cb2e
2019-07-09 03:53:26 -07:00
Michał Pierzchała 5b448eca4f - Bump CLI to ^2.2.0 (#25555)
Summary:
We've released a bunch of versions since the initial 2.0 release, with a lot of bug fixes (especially for Windows) and some features added.

Changes since 2.0: https://github.com/react-native-community/cli/compare/v2.0.1...v2.2.0
Latest release: https://github.com/react-native-community/cli/releases/tag/v2.2.0

## Changelog

[Internal] [Changed] - Bump CLI to ^2.2.0
Pull Request resolved: https://github.com/facebook/react-native/pull/25555

Test Plan: None

Differential Revision: D16161897

Pulled By: cpojer

fbshipit-source-id: 542c4bffa7c6b0537f1c7135f43c98dd3db358e4
2019-07-09 03:42:19 -07:00
Christoph Nakazawa a622421634 Add registerEntryPoint to HmrServer
Summary: This diff changes a few things around so that a diff coming on top of this stack will be smaller. The aim of this change is to add a method `registerEntryPoint` which will allow a client to subscribe to updates for multiple bundles.

Reviewed By: gaearon

Differential Revision: D16131963

fbshipit-source-id: d460d6647b15a711021c7a3a51f52486a1aea535
2019-07-09 03:21:25 -07:00
Oleksandr Melnykov 88e18b6c8d Release underlying resources when JS instance is GC'ed on Android
Summary:
[Android] [Added] - Release underlying resources when JS instance is GC'ed on Android

D15826082 was reverted because it introduced a crash in Ads Manager for Android (see P67222724).

This diff fixes the crash and re-applies D15826082. The problem was that `jni::findClassStatic` in the destructor of BlobCollector.cpp couldn't find the Java class `com/facebook/react/modules/blob/BlobModule` and crashed the app.

JNI didn't seem to have access to the Java class loader probably because the destructor was called from a non-Java thread (https://our.intern.facebook.com/intern/wiki/Fbjni/environment-and-thread-management/?vitals_event=wiki_click_navigation_link#threads). The fix is to wrap the code in the destructor inside `ThreadScope::WithClassLoader `, which will allow to run code that has full access to Java as though you were running in a Java thread.

Reviewed By: shergin

Differential Revision: D16122059

fbshipit-source-id: 12f14fa4a58218242a482c2c3e2149bb6770e8ec
2019-07-09 02:20:55 -07:00
Valentin Shergin d656878e0d Fabric: Removing AccessibleShadowNode
Summary: Accessibility is essential but seems we don't have any use of AccessibleShadowNode in Fabric.

Reviewed By: sammy-SC

Differential Revision: D16139595

fbshipit-source-id: a6aec6d22c4a6050d7ee5e6b21ef4ad04d80ffce
2019-07-08 21:10:48 -07:00
Valentin Shergin 2111f205ae Fabric: Removing SharedYogaStylableProps and small codestyle changes
Summary: Trivial. We don't use it.

Reviewed By: sammy-SC

Differential Revision: D16139556

fbshipit-source-id: bac282c1aa228c10d27ebd636cf71fcc33b322e9
2019-07-08 21:10:47 -07:00
Ashok Menon 424f93022d Use iosfwd instead of iostream
Summary:
The instrumentation header only needs the forward declarations for ostream, so
we can use just include `iosfwd`, as suggested by Riley in an earlier diff.

Reviewed By: kodafb

Differential Revision: D16152451

fbshipit-source-id: 2afbc40e623b180dfc5917fc8093ab15bf647968
2019-07-08 14:56:44 -07:00