Moti Zilberman
5898817fc1
Implement letterSpacing on Android >= 5.0
...
Summary:
`letterSpacing` is completely missing from RN Android at the moment.
I've reviewed the `letterSpacing` implementations in #13199 , #13877 and #16801 (that all seem to have stalled) and managed to put together an improved one based on #13199 , updated to merge cleanly post https://github.com/facebook/react-native/commit/6114f863c3aed826355530bcf404ee5aed2f927b , that resolves the [issues](https://github.com/facebook/react-native/pull/13199#issuecomment-354568863 ) I've identified with that code.
I believe this is the closest PR yet to a correct implementation of this feature, with a few caveats:
- As with the other PRs, this only works on Android >= 5.0 (silently falling back to no letter spacing on older versions). Is this acceptable for a RN feature, in general? Would a dev mode warning be desirable?
- The other PRs seem to have explored the space of potential solutions to the layout issue ([Android renders space _around_ glyphs](https://issuetracker.google.com/issues/37079859 ), iOS to the _right_ of each one) and come up empty, so I've opted to merely document the difference.
- I have neither updated nor tested the "Flat" UI implementation - everything compiles but I've taken [this comment](https://github.com/facebook/react-native/issues/12770#issuecomment-294052694 ) to mean there's no point in trying to wade through it on my own right now; I'm happy to tackle it if given some pointers.
- The implementation in `ReactEditText` is only there to handle the placeholder text, as `ReactBaseTextShadowNode` already affects the input control's contents correctly.
- I'm not sure whether `<TextInput>` is meant to respect `allowFontScaling`; I've taken my cue here from `ReactTextInputManager.setFontSize()`, and used the same units (SP) to interpret the value in `ReactEditText.setLetterSpacingPt()`.
- I'm not sure whether `<TextInput>` is even meant to support `letterSpacing` - it doesn't actually work on iOS. I'm not going to be able to handle the Objective-C side of this, not as part of this PR at least.
- I have not added unit tests to `ReactTextTest` - is this desirable? I see that some other props such as `lineHeight` aren't covered there (unless I'm not looking in the right place).
- Overall, I'm new to this codebase, so it's likely I've missed something not mentioned here.
Note comment re: unit tests above; RNTester screenshots follow.
| iOS (existing functionality, amended test) | Android (new functionality & test) |
| - | - |
| <img src=https://user-images.githubusercontent.com/2246565/34458459-c8d59498-edcb-11e7-8c8f-e7426f723886.png width=300> | <img src=https://user-images.githubusercontent.com/2246565/34458473-2a1ca368-edcc-11e7-9ce6-30c6d3a48660.png width=300> |
| iOS _(not implemented, test not in this branch)_ | Android (new functionality & test) |
| - | - |
| <img src=https://user-images.githubusercontent.com/2246565/34458481-6c60a36e-edcc-11e7-9af5-9734dd722ced.png width=300> | <img src=https://user-images.githubusercontent.com/2246565/34458486-8b3cdcf8-edcc-11e7-974b-25c6085fa674.png width=300> |
| iOS _(not implemented, test not in this branch)_ | Android (new functionality & test) |
| - | - |
| <img src=https://user-images.githubusercontent.com/2246565/34458492-d69a77be-edcc-11e7-896f-21212621dbee.png width=300> | <img src=https://user-images.githubusercontent.com/2246565/34458490-b3a1139e-edcc-11e7-88c8-79d4430d1514.png width=300> |
https://github.com/facebook/react-native-website/pull/105 - this docs PR is edited slightly from what's in `TextStylePropTypes` here; happy to align either one to the other after a review.
[ANDROID] [FEATURE] [Text] - Implemented letterSpacing
Closes https://github.com/facebook/react-native/pull/17398
Reviewed By: mdvacca
Differential Revision: D6837718
Pulled By: hramos
fbshipit-source-id: 5c9d49e9cf4af6457b636416ce5fe15315aab72c
2018-02-27 14:53:58 -08:00
David Vacca
62efff8ab8
Implement cloning for all ReactShadowNodes
...
Reviewed By: achen1
Differential Revision: D7063509
fbshipit-source-id: 90df8a3d2e6f2a4efa13f5eb0337b191b690bf8f
2018-02-26 09:04:48 -08:00
David Vacca
1b63da753f
Implement Cloning for ART Views
...
Reviewed By: achen1
Differential Revision: D7058410
fbshipit-source-id: 394330654be1ab70853f78580c2543e04a3efb7c
2018-02-23 17:52:20 -08:00
David Vacca
d352c93487
Register ReactRootView into FabricUIManagerModule
...
Reviewed By: achen1
Differential Revision: D7043902
fbshipit-source-id: fecef5a019dadd3d2802baa20dd8a3711e566ed3
2018-02-22 23:06:19 -08:00
Andrew Chen (Eng)
cf0193f9e0
More tests for FabricUIManagerModule
...
Reviewed By: mdvacca
Differential Revision: D7045459
fbshipit-source-id: f96758cf04b41836f73b29e62d43a122d955c67a
2018-02-22 12:24:32 -08:00
Andrew Chen (Eng)
190e6bef2e
FabricUIManagerModuleTest setup and testCloneNode
...
Reviewed By: mdvacca
Differential Revision: D7037558
fbshipit-source-id: a62617c7e16102cf7d12ecde48a95feec264fa51
2018-02-21 12:47:51 -08:00
David Vacca
4371d1e1d0
Implement FabricUIManagerModule in Android
...
Reviewed By: achen1
Differential Revision: D7031902
fbshipit-source-id: a8d9d505f981ac4268760efa32f4cbc7955aec32
2018-02-21 09:33:22 -08:00
David Vacca
ad06403c3e
Introduce cloning mechanism for React Shadow Node
...
Reviewed By: achen1
Differential Revision: D7018869
fbshipit-source-id: beca45b1df9602ebbc9172091b24a2bf44e103f4
2018-02-20 19:09:52 -08:00
Sophie Alpert
1490ab12ef
Update license headers for MIT license
...
Summary:
Includes React Native and its dependencies Fresco, Metro, and Yoga. Excludes samples/examples/docs.
find: ^(?:( *)|( *(?:[\*~#]|::))( )? *)?Copyright (?:\(c\) )?(\d{4})\b.+Facebook[\s\S]+?BSD[\s\S]+?(?:this source tree|the same directory)\.$
replace: $1$2$3Copyright (c) $4-present, Facebook, Inc.\n$2\n$1$2$3This source code is licensed under the MIT license found in the\n$1$2$3LICENSE file in the root directory of this source tree.
Reviewed By: TheSavior, yungsters
Differential Revision: D7007050
fbshipit-source-id: 37dd6bf0ffec0923bfc99c260bb330683f35553e
2018-02-16 18:31:53 -08:00
Taras Tsugrii
79a63d040f
Skylarkify RN defs.
...
Reviewed By: adamjernst
Differential Revision: D6934209
fbshipit-source-id: 59f50b739482a53473c157f9e0183024dc88dc67
2018-02-08 09:47:28 -08:00
Dmitry Zakharov
0c49c1f332
Native Modules -> Native Extensions
...
Reviewed By: danzimm
Differential Revision: D6887988
fbshipit-source-id: 475c05f60a2e1ddcfaa9263ab363bff8a528236a
2018-02-07 08:07:13 -08:00
Agastya Darma
b1cdb7d553
Implementing space-evenly
...
Summary:
So in v0.52.0 space-evenly is introduced but not yet implemented (1050e0b by woehrl01). This pull request implements the space-evenly.
Manual Testing.

[IOS] [FEATURE] [Yoga] Adding space-evenly on justify-content in iOS
[ANDROID] [FEATURE] [Yoga] - Adding space-evenly on justify-content in Android
Closes https://github.com/facebook/react-native/pull/17805
Differential Revision: D6858294
Pulled By: shergin
fbshipit-source-id: 7a705ca05f58603ef4588e1bfd16c16a78f8a390
2018-01-31 10:17:22 -08:00
Héctor Ramos
964320447d
Add support annotations dependency
...
Summary:
Should fix current test-android error in Circle CI.
Closes https://github.com/facebook/react-native/pull/17774
Differential Revision: D6837326
Pulled By: hramos
fbshipit-source-id: a53464d3abb52248c6565dee68e7e7f9be9a313f
2018-01-30 11:03:52 -08:00
Sergei Dryganets
0c18ec5b9c
Popups calling error callback instead of crashing if view with passed tagId not found
...
Summary:
The showPopup method has an error callback. For some reason, it is asserting in case the wrong tagId is passed instead of calling the error callback on Android.
Pass not existing tagId to showPopup method and make sure it is receiving an error in js instead of crashing in native on Android.
[ANDROID] [MINOR] showPopup method calls error callback instead of crashing on errors.
Closes https://github.com/facebook/react-native/pull/17550
Differential Revision: D6776014
Pulled By: hramos
fbshipit-source-id: 1d97b762818d1591018fd43556eb41c3fb491eb9
2018-01-23 14:07:25 -08:00
Jonathan Kim
4f2cc42a2d
Make xplat react native files buildable
...
Reviewed By: mzlee
Differential Revision: D6605611
fbshipit-source-id: baa33947319a27b95020924d177a9398a276dabe
2018-01-21 22:05:05 -08:00
David Vacca
4d3519cc6a
Adding JS hierarchy information when a StackOverflowException is thrown in Dev mode
...
Reviewed By: achen1
Differential Revision: D6716309
fbshipit-source-id: 23458cd126d13fec3aa9c09420f7cdd230ec8dd0
2018-01-19 13:02:41 -08:00
David Vacca
1aac962378
Capture StackOverflowExceptions triggered when drawing a ReactViewGroup or ReactRootView
...
Reviewed By: achen1
Differential Revision: D6653395
fbshipit-source-id: 849b1a2ed6ab9bc057414d451e97a673178c30dd
2018-01-18 18:48:59 -08:00
David Vacca
877f1cde2e
Fix and re-enable "view flattening" optimizations for Marketplace
...
Reviewed By: achen1
Differential Revision: D6751078
fbshipit-source-id: 32bfb9ac64f183fabbba85755be372016722afc6
2018-01-18 17:55:08 -08:00
Ram N
f5efc460ad
Add support for finding multiple views with NativeIds using a single listener
...
Reviewed By: mdvacca
Differential Revision: D6735460
fbshipit-source-id: e038a68637a00fda7058fc82e253ae68cdf67c6e
2018-01-18 11:33:34 -08:00
Cory Reed
d2f0abdf4e
Fix Android comment and docblock typos
...
Summary:
👋 Hello! Thanks for react-native, it’s a great project.
I was digging into the Android implementation in _ReactAndroid_ and noticed a couple typos in the documentation. I went through and tried to fix all the typos I could find using [aspell](http://aspell.net ).
Not applicable: these changes are only to comments, and CI should be skipped.
[ANDROID][ENHANCEMENT][*] - Correct comment and docblock typos
Closes https://github.com/facebook/react-native/pull/17049
Differential Revision: D6472182
Pulled By: shergin
fbshipit-source-id: 7e62cab118609596b483d1cf16c3abf651d6753b
2017-12-03 20:16:36 -08:00
Dmitry Zakharov
4f886a29a1
Remove android_react_native_perf.use_separate_ui_bg_thread experiment.
...
Reviewed By: AaaChiuuu
Differential Revision: D6313250
fbshipit-source-id: 583a729a157a2053827631a43e38917753e78477
2017-11-14 06:58:46 -08:00
Dmitry Zakharov
1b71e03932
Make RN Events registered disregarding ViewManager use pattern.
...
Reviewed By: fromcelticpark
Differential Revision: D6260009
fbshipit-source-id: f3d00162f8473976264ebef040d01163950f2170
2017-11-07 11:32:34 -08:00
Omri Gindi
a6465d1c17
Backed out changeset 322626be193e
...
Reviewed By: wutalman
Differential Revision: D6258856
fbshipit-source-id: 392dc91f87148c70817f13858a7fcd368f028b2d
2017-11-07 04:53:40 -08:00
Dmitry Zakharov
fdf04953c0
Make RN Events registered disregarding ViewManager use pattern.
...
Reviewed By: bvaughn
Differential Revision: D6223864
fbshipit-source-id: 322626be193e5fa840d3e5477e86adaa90f2726d
2017-11-06 06:40:19 -08:00
Pritesh Nandgaonkar
0230672275
Reverting the dirty child optimization
...
Reviewed By: emilsjolander
Differential Revision: D6203290
fbshipit-source-id: 8e42abb70e55f0fac90faaa21ecdbe0fbb76ce6b
2017-10-31 23:15:43 -07:00
Pritesh Nandgaonkar
587225ab45
Used hasDirtyChildren tag for the optimization
...
Reviewed By: emilsjolander
Differential Revision: D6134754
fbshipit-source-id: bbcfee14058140b946401de756a3f130de0f51cd
2017-10-31 08:21:54 -07:00
Jonathan Keljo
dd016f334c
Automated fixups for Instagram
...
Reviewed By: dreiss
Differential Revision: D6168048
fbshipit-source-id: 0e51319d93fd697db01ea3933f48cd06a6ffac12
2017-10-27 00:52:40 -07:00
Ramanpreet Nara
efa4d3c222
Rename I18nManager Left/Right swap methods
...
Reviewed By: fkgozali
Differential Revision: D6140072
fbshipit-source-id: 282dc614c036de8f217a729f21a1bbe92b8afd7d
2017-10-24 20:45:59 -07:00
Andrew Chen (Eng)
90a42396b9
React native shadow tree sonar plugin
...
Reviewed By: emilsjolander
Differential Revision: D6050845
fbshipit-source-id: 8c041b26ed4eb701830f1aced73d996c71cb3326
2017-10-24 18:34:40 -07:00
Jonathan Keljo
18364e95b7
Export deps to be source-ABI friendly
...
Reviewed By: dreiss
Differential Revision: D6124559
fbshipit-source-id: f831196724f8e171b86c58af5d2ed7944ecf6b6b
2017-10-23 12:22:53 -07:00
Ramanpreet Nara
1a7abcf526
Android: Implement border(Top|Bottom)(Start|End)Radius for RN
...
Reviewed By: achen1
Differential Revision: D5924734
fbshipit-source-id: 24759326064c11d2cd8948c7a710376ca9f41c63
2017-10-18 19:33:32 -07:00
Ramanpreet Nara
0f467a25ed
Android: Implement border(Start|End)Color for RN non-rounded borders
...
Reviewed By: achen1
Differential Revision: D5921865
fbshipit-source-id: ed964291cba0c701de677c24c54f885cda78e7cc
2017-10-18 19:33:32 -07:00
Ramanpreet Nara
7ed7593b2b
Android: Implement border(Start|End)Width for non-rounded borders
...
Reviewed By: achen1
Differential Revision: D5917755
fbshipit-source-id: 3ec0ab1a1e191f5f6fd956691995e95937a513cc
2017-10-18 19:33:32 -07:00
Ramanpreet Nara
04a8c62313
Android: Implement margin(Start|End) styles for RN
...
Reviewed By: achen1
Differential Revision: D5907651
fbshipit-source-id: 4df7583483e6f10b5433b9fa9d9345e00ccedd20
2017-10-18 19:33:32 -07:00
Ramanpreet Nara
1ed08d3c01
Android: Implement padding(Start|End) styles for RN
...
Reviewed By: AaaChiuuu
Differential Revision: D5907207
fbshipit-source-id: c9bb322f94d701463be35fb1ca92aab80f47d8ab
2017-10-18 19:33:31 -07:00
Ramanpreet Nara
dc92e69867
Android: Forward RN start/end styles to Yoga
...
Reviewed By: AaaChiuuu
Differential Revision: D5906097
fbshipit-source-id: 79bd43ea54572eb612e781628551bccf5a4f948d
2017-10-18 19:33:31 -07:00
Alexey Lang
52a67db629
Fix Systrace section for Lazy View Managers
...
Differential Revision: D6088310
fbshipit-source-id: cf14c9cc91068cfabf4e7c1bbae5df7f25e0ced3
2017-10-18 12:18:12 -07:00
Andrew Chen (Eng)
91372e8f9a
Add callback for UIImplementation layout updates
...
Differential Revision: D6063839
fbshipit-source-id: ae08fd2fc6c6365813b8077efe14990a0355a5c7
2017-10-17 07:47:12 -07:00
Janic Duplessis
2b4ff6ea19
Native Animated - Restore default values when removing props on Android
...
Summary:
Rebased version of #12842 that was reverted because of failing fb internal tests.
Closes https://github.com/facebook/react-native/pull/15919
Differential Revision: D5823956
Pulled By: hramos
fbshipit-source-id: 4ece19a403f5ebbe4829c4c26696ea0575ab1d0e
2017-10-12 13:11:00 -07:00
Valentin Shergin
f2c6877b91
Fixed crash on attempt to update local data of deallocated shadow node
...
Summary:
Trivial.
That's okay that sometimes shadowNodes and views hierarchies have lack of synchonization.
Reviewed By: sahrens
Differential Revision: D6040022
fbshipit-source-id: 6b49a82317b620b66a87441719fddcafb1f27934
2017-10-12 09:46:29 -07:00
Dmitry Zakharov
ca834f96af
Fix scrolling events for RN.
...
Reviewed By: bvaughn
Differential Revision: D6020664
fbshipit-source-id: c9fb9069e9dcde298901ba2c03bacc8b646844d0
2017-10-10 11:08:40 -07:00
Andrew Chen (Eng)
7677af1d10
Litho UIImplementation
...
Reviewed By: marco-cova
Differential Revision: D5880274
fbshipit-source-id: e6741579d3de6090dea8d26cd07241d57adba84d
2017-10-04 08:31:04 -07:00
Aaron Chiu
bbcfcdb8ed
bring back box-none as layout only prop
...
Differential Revision: D5965540
fbshipit-source-id: a4a7b32a563674cf5f94e88390483763cf49d6da
2017-10-03 11:30:57 -07:00
Dmitry Zakharov
346af557c3
Fix regression in Java->C++->JS ViewManagers interaction.
...
Reviewed By: bvaughn
Differential Revision: D5953937
fbshipit-source-id: 8bc5dd8a483054ab9830ab653f2a3b41cad6c791
2017-10-03 05:30:42 -07:00
Valentin Shergin
d0790fea39
Introducting UIManager.setLocalData(), the way to provide environmental data to ShadowNode
...
Summary:
In some cases we need a way to provide some peice of data to shadow node
to improve layout (or do something similar), `setLocalData` allows to do this.
Reviewed By: AaaChiuuu
Differential Revision: D5828368
fbshipit-source-id: bf6a04f460dc7695a16269426d365b78909bc8eb
2017-10-02 16:31:18 -07:00
David Vacca
a5d1d25f56
BREAKING: Add interface for ReactShadowNode
...
Reviewed By: AaaChiuuu
Differential Revision: D5943137
fbshipit-source-id: 00950190e0256303d423ae86c6c18facf173ad6a
2017-10-02 09:08:28 -07:00
Aaron Chiu
e7af72b29a
make view hierarchy optimizer smarter
...
Reviewed By: shergin
Differential Revision: D5744725
fbshipit-source-id: 4042310494a2bbd3d3472485ad8496d592eb28ac
2017-09-29 18:19:54 -07:00
Dmitry Zakharov
da30b04703
Implement lazy discovery for ViewManagers.
...
Reviewed By: kathryngray
Differential Revision: D5865095
fbshipit-source-id: c94970e4cd7aafb20cf844c48feea053ac8b6b0f
2017-09-28 09:55:59 -07:00
David Vacca
9b3cc30357
Backed out changeset 7c338fe3b747
...
Reviewed By: AaaChiuuu
Differential Revision: D5926999
fbshipit-source-id: 58595f74f1fab764b63b5d7d6c2f20d8edb2efda
2017-09-27 16:45:11 -07:00
Aaron Chiu
672db77eae
add UI Manager operations
...
Reviewed By: achen1
Differential Revision: D5741087
fbshipit-source-id: f6b8f713cb3c4e48b417b47557a45ff9a4a5bf05
2017-09-27 16:16:20 -07:00