Commit Graph

11 Commits

Author SHA1 Message Date
Yuqing Duan 998cadd523 integrate RCTImpressionTrackingView into Fabric on Android
Summary:
This diff integrates RCTImpressionTrackingView into Fabric on Android

Following
https://www.internalfb.com/intern/wiki/React_Native/Migration_of_RN_Renderer_(Fabric)/
and
https://fb.quip.com/T8AtArEVcb0Z

Changelog: [Internal]

Reviewed By: bearzx

Differential Revision: D29804625

fbshipit-source-id: 16e89d629390093ace51d3b25725c37a49a08a39
2021-07-21 16:23:27 -07:00
Joshua Gross 2cd89d040b Experiment: use int buffer to represent MountItems instead of concrete classes
Summary:
I've had my eyes on this optimization for a while: during TTRC especially, but really during any heavy render path, Fabric will create hundreds to thousands of MountItem class instances in order to construct a BatchMountItem.

This results in: hundreds/thousands of round-trip JNI calls, hundreds/thousands of Object allocations, etc. This will also result in increased memory and GC pressure.

Theoretically, by reducing the number of JNI calls and reducing allocations, we may be able to get some small wins in memory and CPU usage during very hot paths.

I am motivated to do this, in part, to indirectly measure the cost of JNI calls as well as allocating many objects vs an int buffer. I am unaware of such a measurement that we can use to make architectural decisions for React Native Android overall.

The other reason this could be a positive change: if it's successful and we can delete the old path, we'll be able to delete a bunch of Java classes entirely which is great for APK size wins.

Changelog: [Internal]

Reviewed By: shergin

Differential Revision: D24631230

fbshipit-source-id: 86a46ffcaef4ecbec2e608ed226aed0b5c4b832e
2020-10-30 20:40:24 -07:00
Lulu Wu e6fc20ee68 Keyframes is not implemented in Fabric Android
Summary:
Implement Keyframes in Fabric Android

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D21952500

fbshipit-source-id: 6ba3af1afea227d58b6b12c1be629698d309a04d
2020-06-17 15:25:18 -07:00
Oleksandr Melnykov 7c066ae952 Integrate WebView into Fabric on Android
Summary:
This diff integrates WebView into Fabric on Android.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D19177933

fbshipit-source-id: 0586f2a44201ee867756e000923859a73ec68ab9
2020-01-14 11:36:57 -08:00
Oleksandr Melnykov 8cb66e3202 Integrate RCTMap into Fabric on Android
Summary:
This diff integrates RCTMap into Fabric on Android.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D18762933

fbshipit-source-id: 6e3e02e0e8101f94fe0c6582e1a63a66fb2f70f9
2019-12-03 09:07:38 -08:00
Oleksandr Melnykov 8d31e38966 Integrate StickerInputView into Fabric on Android
Summary:
This diff integrates `StickerInputView` into Fabric on Android.

Changelog: [Internal]

Reviewed By: mdvacca, cpojer

Differential Revision: D18029223

fbshipit-source-id: 2e412b83f9af347e01606d526c04e13d1f2bfbb8
2019-11-04 12:42:26 -08:00
David Vacca 619e27e9a1 Annotate core classes of Fabric with NonNull and Nullable annotations
Summary:
This diff annotates core classes of Fabric with NonNull and Nullable annotations, this will help analysis of nullability plus improving integration with Kotlin clients

Changelog: Add NonNull annotation to Fabric core classes

Reviewed By: shergin

Differential Revision: D18010918

fbshipit-source-id: 40fe68470b97cdf740f52dfeb9130465aab5e6df
2019-10-25 15:11:51 -07:00
Andres Suarez 3b31e69e28 Tidy up license headers [2/n]
Summary: Changelog: [General] [Fixed] - License header cleanup

Reviewed By: yungsters

Differential Revision: D17952694

fbshipit-source-id: 17c87de7ebb271fa2ac8d00af72a4d1addef8bd0
2019-10-16 10:06:34 -07:00
Oleksandr Melnykov 36b7febe8f Integrate Video into Fabric on Android
Summary: This diff makes the Video component compatible with Fabric on Android.

Reviewed By: JoshuaGross

Differential Revision: D17450815

fbshipit-source-id: 5e47d8cdca96f9fbe72902bac7dd157f7b5fdb1a
2019-10-01 03:56:39 -07:00
Oleksandr Melnykov 6c0f73b322 Format Java code in xplat/js/react-native-github
Summary:
This diff formats the Java class files inside xplat/js/react-native-github. Since google-java-format was enabled in D16071401 we want to codemode the existing code so that users don't have to deal with formatter lint noise at diff-time.

```arc f --paths-cmd 'hg files -I "**/*.java"'```

drop-conflicts

Reviewed By: cpojer

Differential Revision: D16071725

fbshipit-source-id: fc6e3852e45742c109f0c5ac4065d64201c74204
2019-07-02 04:16:46 -07:00
David Vacca 563e0bce97 Refactor sComponentNames Map out of FabricUIManager
Summary:
Easy diff to refactor the sComponentNames map out of the FabricUIManager class.
This is a necessary clean-up to perform a slightly major refactor of the Fabric classes

Reviewed By: JoshuaGross

Differential Revision: D15421769

fbshipit-source-id: 3be73a6e20b338c8cea23ef0c88db417df7e3aa9
2019-05-20 15:43:32 -07:00