* Start removing ASChangeSetDataController
* Continue removing ASChangeSetDataController
* Remove unnecessary change
* ASDataController is no longer an abstract class, remove its assertion
* Get back beginUpdates and endUpdatesAnimated:completion in ASCollectionNode
* Remove duplicate import
* Move `ASLayoutController` related code out of CoreGraphics+ASConvenience
* Further cleanup
* Move private layout files to Privat/Layout
* Move ASLayoutElementStylePrivate into Private/Layout
* Further cleanup
* Move tvOS related files to tvOS folder
* Further cleanup
* Add inverted property to ASTableNode
* Add inverted property to ASCollectionNode
* Add example
* De-inform data controller and use different CATransform3D
* Add logic to pending state
* Add accessor for inverted property
* Add tests for baseline alignments
* Merge baseline alignment algorithm to the main stack algorithm
- Baseline alignment is now part of the main stack algorithm.
- ASStackBaselinePositionedLayout is no longer needed and removed.
* All snapshot test cases of ASStackLayoutSpec are passing now
* Remove baselineRelativeArrangement
* Remove TODO
* Minor fixes in cross size determination step
* WIP
* Calculate TextKit Height based on max lines to display
* Remove TODO
* Calculate height based on lineFragmentRect
* Fixes issue with calculated width
* Resolve TextKit stack threading issues
* Removes blank lines
* Open brace on next line
* setNeedsLayout in case of changes on live node
This updates the values automatically, which is perfect to reflect the growth of ASDK. I've wanted to do this for ages but the shield.io API didn't have the support up till now. We lose some granularity but I think this is worth it.
* added accessoryType to ASCellNode
* Moved the passthrough properties in an own section in ASEditableTextNode
* added documentation and reverted ASEditableCellNode changes
* fixed code signing
* adding seperatorInset property as a passthrough property
* revert changes to project file
* moved setting properties to setNode:
* moved clipsToBounds to setNode
- When a video node is first visible, it's player is called to play if auto play flag is on. However, the player might not be ready by that time, especially when the video is loaded on a slow network. The player just continues loading its asset.
- When the player is ready, we should check if it is expected to be playing and if true, try to play again.
* Don't lock while calling downloader
Addresses #2785
To avoid performance issues, we should avoid locking the downloader.
To achieve this we need to do some kinda gross things. Essentially
the cost is the code is more complex and potentially far less performant
in edge cases. In testing, edge cases are nearly never hit, but I'm not
sure how good I feel about the cost in code complexity. This exacerbates
the locking issues in ASNetworkImageNode:
1. There is no convention for which methods lock.
2. There's no indication which vars are only set on init and therefore
safe to access except in the class extension definition.
* Shouldn't have checked in product changes.
* Using ivar instead of local var copied within lock.
* ASDataController: Correctly handle fetching node at nil index path (return nil).
* Be more aggressive, in order to avoid needlessly waiting for updates to complete
* Test that the initial range bounds are what we expect
* Use the user's previous scroll direction in the range controller
* Remove flow layout assertion