profile
viewpoint
WOO Yu Kit Vincent wooyukit Hong Kong

wooyukit/ChitChat 1

A native Mac app wrapper for WhatsApp Web

wooyukit/SVProgressHUD 1

A clean and lightweight progress HUD for your iOS and tvOS app.

scmp-contributor/android_sdk 0

Android SDK for Chartbeat

scmp-contributor/apollo-android 0

:pager: A strongly-typed, caching GraphQL client for Android, written in Java

scmp-contributor/FrescoImageViewer 0

Customizable Android full screen image viewer for Fresco library supporting "pinch to zoom" and "swipe to dismiss" gestures

scmp-contributor/twitter-kit-android 0

Twitter Kit for Android

wooyukit/Android-TransitionApp 0

Android Navigation Transition Animation

wooyukit/AndroidNetworkTools 0

Set of useful android network tools

wooyukit/FrescoImageViewer 0

Customizable Android full screen image viewer for Fresco library supporting "pinch to zoom" and "swipe to dismiss" gestures

wooyukit/INSPhotoGallery 0

INSPhotoGallery is a modern looking photo gallery written in Swift for iOS.

push eventfacebook/litho

Nicolas Palermo

commit sha b9d1cb403fcf8f9f594d3e9de2fcabfb0c99e0e8

Change how to force mount on nested RootHosts Summary: We need to force mount on nested root hosts when we are going to run animations from the parent. We used to set transient to true but that prevents visibility events. Reviewed By: adityasharat Differential Revision: D25924361 fbshipit-source-id: 4a432a3b3a2aa451068e6269c357be403b992f26

view details

push time in 18 hours

push eventfacebook/litho

Andy Street

commit sha 7354055939f60303868a90de68505c013a7329f6

Fix gradle build for kotlin api Reviewed By: strulovich Differential Revision: D25910907 fbshipit-source-id: 6f64eb25a5a20fc2cea40e187fe0946be6652290

view details

Andy Street

commit sha 56b26fccee03ae786baf94bc4b049ebac1a82f30

Fixup comments on D25850448 Summary: Fixes some sizes being given as dp and improves naming Reviewed By: colriot Differential Revision: D25911049 fbshipit-source-id: e23b61ac08b4fcad499f1bcb1a616b306ec0f15c

view details

Andy Street

commit sha c83d6348a8d667af872a28385b49adfc1d0e0a8d

Add viewTag to Style Reviewed By: colriot Differential Revision: D25922803 fbshipit-source-id: bcaa2b911397273b1dd1a882be0c5ae1aaa61b42

view details

push time in 19 hours

push eventfacebook/litho

Ian Childs

commit sha 85945a4ee0dd60c2ab017496c8d4f2b242fd2565

Remove usages of use_old_styleable_format which doesn't do anything Summary: Per title. Reviewed By: jselbo, xiphirx Differential Revision: D25918495 fbshipit-source-id: becefccd2175fa15c749aa7aa34f94eeafb4e660

view details

push time in a day

push eventfacebook/litho

Andy Street

commit sha 98127e1eb7389c246727e2889ee9de21db7b711a

Add wrapInView to Style Summary: Adding this even though it's going away in another diff so that I can run the tests before and after the style impl change Reviewed By: strulovich Differential Revision: D25849499 fbshipit-source-id: d116ef32f651fc42f05bedffa9f555fe2bce9853

view details

Andy Street

commit sha ae5ba37a68b32002232b4d9a2de1916c0e15e362

Remove TreePropHolder testing util Summary: This is in the wrong package and this isn't a great pattern anyway so I don't want to encourage it. Reviewed By: strulovich Differential Revision: D25850357 fbshipit-source-id: c805d49ab2fb37aab97136c2cf8865be92ff2f3e

view details

Andy Street

commit sha 3b7085d32933b2029bd136ca9d3435133f161822

Add test for common styles Summary: Adds tests for all currently defined styles. This puts us in a place where when we add new styles, we can expect to add a test. Reviewed By: strulovich Differential Revision: D25850448 fbshipit-source-id: c78c424a813cd57a38de5247e7cb865fd5820ce5

view details

Andy Street

commit sha e46af5cc790e72c93ded21b0bafd4ac7fc471309

New immutable style impl Summary: Reworks the Style implementation in preparation for moving more properties to it. The API is staying the same except 1) You no longer need to import each style property separately 2) Everything now uses the Style.blah(...) API and not Style() directly 3) Setting position no longer automatically sets positionType We are changing the implementation to try to reduce large object allocations and having to copy over all the fields each time a property is set. The implementation is based on Style and StyleItem. - A StyleItem knows how to apply a single attribute like width - Style is an ordered, immutable collection of StyleItems While adding a new StyleItem to a Style, a new Style is created pointing to the old Style plus the new StyleItem. This is similar to adding a new head to a linked list, where the value is the StyleItem and the next pointer is the old style. Similarly, when combining two Styles a new Style is returned pointing to both. I recognize this implementation doesn't allow constant-time style attribute lookups -- we'll have to see how much that matters. There are definitely alternate implementations here with different "tradeoffs", e.g. using an immutable map and copying it each time (if we're concerned this matters, we need to measure it which we haven't put time into doing). Last thing to note about this implementation: separating Style into StyleItems allows us to decentralize the usable Style attributes which is important given the extensibility we want to offer. Of course, we aren't actually taking advantage of it in this diff, namely because Litho's core is not yet set up to allow defining custom attributes (i.e. everything still uses CommonProps). Reviewed By: strulovich Differential Revision: D25802862 fbshipit-source-id: dd969d1fbff7e01a12da3f26a2709515fac22fd5

view details

push time in 2 days

PR closed facebook/litho

Reproduce the a11y issue during state update. CLA Signed

Talkback doesn't play the updated content via state update. See this sample built in Litho playground activity.

I captured a video here: https://photos.app.goo.gl/gZ3DteYKofhtLL766

+94 -21

1 comment

4 changed files

boduan-coder

pr closed time in 3 days

push eventfacebook/litho

Nicolas Palermo

commit sha ac6bcf5d73287876e359ba512f78051a68dd8a15

Set focusable false when using AX delegate Summary: Right now we are using a forked version of ExploreByTouchHelper for fb4a and ig4a which comments out the host.setFocusable(true) which is by default on the View. For Whatsapp we are not using the forked version and this works ok in general but when trying to add expresso tests that simulates a tab key down this will request focus on the view (even without ax enabled). This change matches what we do in the forked ExploreByTouchHelper. Reviewed By: pasqualeanatriello Differential Revision: D25831887 fbshipit-source-id: adedf60101eabd7bcc31d350b35377ebf13632e9

view details

push time in 3 days

push eventfacebook/litho

Aditya Sharat

commit sha 654a93a6f7a059b7e4b5fafe1bee6bb2e6104e99

Adds background and foreground to ComponentAssert.hasVisibleDrawable() Summary: Adds background and foreground to ComponentAssert.hasVisibleDrawable() to fix tests that would fail when background and foreground drawables are disabled. Reviewed By: astreet Differential Revision: D25848584 fbshipit-source-id: 9b8cb94b2255e4672858f3d673ce1b38bcd3c4c3

view details

push time in 3 days

push eventfacebook/litho

generatedunixname89002005325674

commit sha c4a002017150d18b4902330e8501e6c6bf6ad843

Daily `arc lint --take GOOGLEJAVAFORMAT` Reviewed By: zertosh Differential Revision: D25896671 fbshipit-source-id: 177e695f58815cf78b8e30564238b3c64b4ae8c2

view details

push time in 3 days

push eventfacebook/litho

Mihaela Ogrezeanu

commit sha 9a5fcee6c9c33464dac0861fc52f198ffdde3866

DataFetchSpec and SurfaceSpec interstage props cleanup Summary: DataFetchSpec and SurfaceSpec models are treating some non-interstage prop annotations as such, which leads to incorrect and unpredictable generated code. Verified which of these annotations are actually used for passing interstage props and marked the others as regular method param annotations. Reviewed By: boxme Differential Revision: D25497102 fbshipit-source-id: 3a4f37ce2ce6c853c6d2635f9bf04ae0a88a92fc

view details

Mihaela Ogrezeanu

commit sha bc6f545cfbb4541a71c57ad13cb7ee265e2cb756

Add test for inter-stage props generated code Summary: title Reviewed By: adityasharat Differential Revision: D25783396 fbshipit-source-id: 1203987c2a1fea9104ab2b254ec2ddf272465663

view details

push time in 4 days

push eventfacebook/litho

Mihaela Ogrezeanu

commit sha fd37f8e013ae7bb11c274d0e09cf64eb61430500

Remove getGlobalKey from Component Summary: Doesn't seem like using VisibleForTesting is preventing `getGlobalKey` from being accessed inside the package, so removing it completely to avoid misuse, and replaced usage with ComponentUtils.getGlobalKey (which checks the stateless flag) Reviewed By: nicous Differential Revision: D25883183 fbshipit-source-id: 4c89409daeed34823faf86f3698168c7ad3b4bae

view details

push time in 4 days

push eventfacebook/litho

generatedunixname89002005325674

commit sha f85e549ce6be82eea0a7a95b6d9d167cba406ad0

Daily `arc lint --take GOOGLEJAVAFORMAT` Reviewed By: zertosh Differential Revision: D25881451 fbshipit-source-id: f75643c9157885189690a8ac21e5ef91b9f6ec60

view details

push time in 4 days

pull request commentfacebook/litho

Move litho tests to run with binary resources

This pull request has been merged in facebook/litho@1297d592f6d92b53a3104696e61965d1a1ff0e37.

IanChilds

comment created time in 5 days

push eventfacebook/litho

Ian Childs

commit sha 992b6bc41e74541c662134f1c6443543f582c992

Split litho-it into more targets Summary: More targets are better, right now we have one big target that contains sub directories tests too. Reviewed By: mihaelao Differential Revision: D25837549 fbshipit-source-id: 531a5c00a36e8d9bcd45071cd75b1e1566061e65

view details

Ian Childs

commit sha 1297d592f6d92b53a3104696e61965d1a1ff0e37

Move litho tests to run with binary resources (#755) Summary: Pull Request resolved: https://github.com/facebook/litho/pull/755 Legacy resources are deprecated, we should use binary resources which is closer to emulating what the Android resource system does. We fix LithoTestRunner to only set a manifest for the gradle build, and we set the Litho manifest in the bzl macro. Reviewed By: astreet Differential Revision: D25794343 fbshipit-source-id: 78c8b99ec3c6ceb893f755e950d2907470eacd36

view details

push time in 5 days

PR closed facebook/litho

Move litho tests to run with binary resources CLA Signed fb-exported

Summary: Legacy resources are deprecated, we should use binary resources which is closer to emulating what the Android resource system does.

We fix LithoTestRunner to only set a manifest for the gradle build, and we set the Litho manifest in the bzl macro.

Differential Revision: D25794343

+230 -107

1 comment

17 changed files

IanChilds

pr closed time in 5 days

push eventfacebook/litho

Mihaela Ogrezeanu

commit sha 0fc02e93c3eb6dc8b8703316a29cbc3d711f6591

Remove state comparison from isEquivalentTo generation Summary: Since shouldUpdate now compares state there's no need to compare state in isEquivalentTo, nor is it correct, so removing it. Reviewed By: adityasharat Differential Revision: D25536801 fbshipit-source-id: 69151267b25e50685b3ef7977658e9231e58f28a

view details

Mihaela Ogrezeanu

commit sha a748b0ff4533b756df3d812d9baa6aa425fa89df

Pass scoped ComponentContexts to shouldUpdate Summary: When we remove the StateContainers from the Component, we won't be able to compare state in shouldUpdate anymore without access to the StateContainers from the LayoutStateContext. We'll need this for stateless components to query the LayoutStateContext by key and get the StateContainers Reviewed By: adityasharat Differential Revision: D25197165 fbshipit-source-id: 266910b6874955b90af4b090d4500763ef9f73da

view details

Mihaela Ogrezeanu

commit sha 39863802a2f954c9e04ae64687decdf275c500bf

Add ScopedComponentInfo class Summary: Introducing the ScopedComponentInfo class, which will contain all the layout-scoped stateful information that the Component currently hosts as fields. For stateless components, the goal is to move all fields of the Component to a ScopedComponentInfo which will be hosted outside of the Component (by the LayoutStateContext - see diffs above). Here, we're starting by replacing the StateContainer field of the Component with a ScopedComponentInfo field which wraps the StateContainer. In the next diffs, we'll experiment with keeping the ScopedComponentInfo on the LayoutStateContext (eventually we'll move out all the fields). This seems easier to gate and move around than doing it field by field, let me know what you think. Reviewed By: adityasharat Differential Revision: D25197155 fbshipit-source-id: 626fa7ac20a53b96a9dfd3a97ae395abf0c32ee3

view details

Mihaela Ogrezeanu

commit sha c064d39d8358d08fcb26d7c2f60d37ef0de5fc3c

Get StateContainers from LayoutStateContext Summary: Keep a map of global key to ScopedComponentInfo in the LayoutStateContext and access the StateContainer from there instead of keeping it as a field on the Component. There are cases where we only have access to the scoped ComponentContext and we need the StateContainer, so we need to do a map lookup to get it when we could keep it directly on the ComponentContext - I'd like to hear you opinion on this. I would like to move towards keeping any layout-scoped stuff on the LayoutStateContext - eventually the ComponentContext becomes only a wrapper for the global key and the Android context. Reviewed By: adityasharat Differential Revision: D25197175 fbshipit-source-id: 6f60e73720f4b96b902ba496d6666b345556d54d

view details

push time in 5 days

created tagfacebook/litho

tagv2021.01.11

A declarative framework for building efficient UIs on Android.

created time in 5 days

push eventfacebook/litho

Andres Suarez

commit sha dd429c2e51df1f195943712be09303c6bb02aa14

Apply clang-format update fixes Reviewed By: igorsugak Differential Revision: D25861849 fbshipit-source-id: 840dc1061e557717c7f9ffcccbc09c24b96b78e0

view details

push time in 6 days

push eventfacebook/litho

Tom Mulcahy

commit sha c5428e8aa6f2df0b64c61956adfe80a18eb9d3d5

Zero dimension views never overlap Reviewed By: arpitratan Differential Revision: D25282809 fbshipit-source-id: 2feb35307ff96c3b0d9ea846f01dd23a59bd1cdf

view details

push time in 6 days

push eventfacebook/litho

Andy Street

commit sha 5cc1747f120cdf34e8a18dfa6e29eb7263f43850

Add Dimen interface Summary: This diff changes a bit how we do dimensional values (dp, sp, px). We need some sort of interface to accept Px and Dp on dimen props, and they need to be able to convert to pixels. Note that I'm not distinguishing between props that take Dp/Px (dimensions) vs. Sp/Px (text) vs. any of the three (positions). We can add that later if we thinks it's valuable, imo it just complicates things. Reviewed By: strulovich Differential Revision: D25848116 fbshipit-source-id: e935cbb77a0fa391c4ea1f9433016e4c7dc90a2e

view details

Andy Street

commit sha 78e4b605a3841c55ef3b317519ee0cb289a7e25e

Accept Dimen for common props instead of Dp Summary: This allows us to take px as well. Note I'm not differentiating between places that can take sp/dp/px as I don't think it's super useful but happy to hear other thoughts. Reviewed By: strulovich Differential Revision: D25848331 fbshipit-source-id: f9404f4d8f93c1bd5ff30742d9425e967c255153

view details

push time in 8 days

push eventfacebook/litho

Andy Street

commit sha 61dfe24b58aeca9a2acac74e5131bbc391174cb9

Remove Clickable that takes eventhandler Summary: This isn't used, we can add back if we feel we need it Reviewed By: strulovich Differential Revision: D25782732 fbshipit-source-id: 191788256c2a8445e7f59db2ebaaa176d965bbe1

view details

push time in 8 days

push eventfacebook/litho

Artem Kholodnyi

commit sha e9007c5ecff1b074cfbdaccd8b98d2ddd4990c10

Flipper Editor: Handle AtomicReference NPE Reviewed By: oprisnik Differential Revision: D24994074 fbshipit-source-id: 7f87d9ea7daf0c09a3f32dc4593824e52c5182f6

view details

push time in 8 days

pull request commentfacebook/litho

Remove unnecessary null checks from DebugComponent

@nicous merged this pull request in facebook/litho@a5ad43138dc59528dbb8f748f5bd675e19c07931.

katgregory

comment created time in 8 days

push eventfacebook/litho

Kat Gregory

commit sha a5ad43138dc59528dbb8f748f5bd675e19c07931

Remove unnecessary null checks from DebugComponent (#754) Summary: Remove two unnecessary null checks from DebugComponent. In both cases, the second condition of the `if` statement (`Component.isMountViewSpec(component)`) internally performs the same null check ([here](https://github.com/facebook/litho/blob/bc7ebe1a33d9d5e518d975ddb895732f1c25922e/litho-core/src/main/java/com/facebook/litho/Component.java#L798)). ## Changelog Remove two unnecessary null checks from DebugComponent. Pull Request resolved: https://github.com/facebook/litho/pull/754 Test Plan: This quick change only removes redundancy: it does not actually change the logic or UI. Reviewed By: adityasharat Differential Revision: D25847298 Pulled By: nicous fbshipit-source-id: 5810c275870c3b32af3b2c83b398474e98b6f4c6

view details

push time in 8 days

PR closed facebook/litho

Remove unnecessary null checks from DebugComponent CLA Signed

Summary

Remove two unnecessary null checks from DebugComponent. In both cases, the second condition of the if statement (Component.isMountViewSpec(component)) internally performs the same null check (here).

Changelog

Remove two unnecessary null checks from DebugComponent.

Test Plan

This quick change only removes redundancy: it does not actually change the logic or UI.

+2 -2

1 comment

1 changed file

katgregory

pr closed time in 8 days

push eventfacebook/litho

Andy Street

commit sha dcfb59c716ab344c10ef464683db390eeb16f8ab

Improve error message in MatchNode testing API Summary: Updates the error printing to also augment AssertionError Reviewed By: adityasharat Differential Revision: D25847984 fbshipit-source-id: 547f4772d53715904c2b14f45a9538efbd4232c7

view details

Andy Street

commit sha 2bad81b6952d7fba801b30eb3b7c20610a3aa8e6

Add check API to MatchNode testing API Summary: Some assertions are too complicated to express in the API so you can use this as an escape hatch to perform them against wherever you are in matching the view hierarchy. Reviewed By: adityasharat Differential Revision: D25848011 fbshipit-source-id: 5d444f753ade2770a388507ec623953f68d848ac

view details

push time in 8 days

pull request commentfacebook/litho

Remove unnecessary public modifiers from ClickableSpanListener interface methods

Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Facebook open source project. Thanks!

martynawieczorek

comment created time in 8 days

push eventfacebook/litho

Nir Hartmann

commit sha c03dbc0428e9f02ef690379c8bd97aa9b5e6b5bd

Compare base contexts to support custom context wrappers Summary: In Lite we create a custom wrapper context and wraps the activity base context, the old comparison will fail in such a case. In order so solve it we will compare base context to base context Reviewed By: colriot Differential Revision: D25783986 fbshipit-source-id: f7dbfcec58db7cfd4a1832d371e109727927501a

view details

push time in 8 days

pull request commentfacebook/litho

Remove unnecessary public modifiers from ClickableSpanListener interface methods

Hi @martynawieczorek!

Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file.

In order for us to review and merge your code, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA.

If you have received this in error or have any questions, please contact us at cla@fb.com. Thanks!

martynawieczorek

comment created time in 8 days

PR opened facebook/litho

Remove unnecessary public modifiers from ClickableSpanListener interface methods

Summary

The abstract methods in the ClickableSpanListener interface include 'public' modifiers - those are redundant, since all interface abstract methods are implicitly public.

Changelog

Remove the 'public' modifiers from ClickableSpanListener's onClick and onLongClick methods.

Test Plan

N/A

+2 -2

0 comment

1 changed file

pr created time in 8 days

push eventfacebook/litho

Ian Childs

commit sha b760520403348aac32e40261ef35079478afcab5

Move rendercore incremental mount tests to use binary resources Summary: Legacy resources (where Robolectric would try to emulate the Android resource system) are deprecated - instead we create an APK with our resources and use them in tests. Reviewed By: adityasharat Differential Revision: D25814355 fbshipit-source-id: 69ae1c7ec8626a0891395502b85daeaaed9e5a38

view details

push time in 8 days

more