Michael Schneider
39a2d7eebb
Fix shadowing variable in [ASTextNode setTextContainerInset] ( #3188 )
2017-03-15 16:44:50 -07:00
Michael Schneider
bc05227631
Check in layout transition if the supernode is still the node that is executing the transition ( #3181 )
...
We have to check in this case if the supernode of the subnode is indeed the _node that executes a layout transition. It can happen that a node already did a layout transition and added this subnode, in this case the subnode would would be removed from the new node instead of _node.
2017-03-15 13:20:01 -07:00
Huy Nguyen
7a11c4b32b
Fix recursive description of ASDisplayNode ( #3186 )
...
- Before this commit:
- Bridged properties are accessed to construct a recursive description without considering thread affinity.
- We have multiple methods that does the same thing: generates a debug description.
- After this commit:
- Bridged properties are accessed without triggering thread affinity assertions.
- We have only one method that provides debug description of a node. It is then used to construct a recursive description.
2017-03-15 18:20:19 +00:00
Michael Schneider
ef2ed54d0b
[ASDisplayNode] Add locking to view and layer in ASDisplayNode ( #3179 )
...
* Add locking to view and layer in ASDisplayNode
* Another approach
* Some more
* Address comments
2017-03-15 09:05:38 -07:00
Huy Nguyen
bf41847665
Don't load collection/table node just to wait for updates to be committed ( #3182 )
...
- Because there would be no update otherwise.
2017-03-15 08:55:50 -07:00
Michael Schneider
e6ee24debc
[ASDisplayNode] Improve locking in ASDisplayNode ( #3172 )
...
* Improve locking in ASDisplayNode
* Address first bunch of comments
* Changed `view` and `layer` methods for locking
* Adress comments
2017-03-14 07:27:34 -07:00
Michael Schneider
be74cd8231
Cell nodes can be used without using it within a collection or table view. In this case if a size change happened we should call super as there is no interactionDelegate ( #3168 )
2017-03-13 07:33:06 -07:00
Huy Nguyen
326c97a0c1
When update title of a button node, need to get title node via setter ( #3167 )
...
* When update title of a button node, need to get title node via setter
* Explain why we need to call self.titleNode
* Fix previous comment
2017-03-11 09:12:00 -08:00
Huy Nguyen
74b9b56632
flexShrinkAdjustment lambda must always return CGFloat ( #3166 )
2017-03-11 06:58:04 -08:00
Michael Schneider
0540c863ca
Improve locking situation in ASDisplayNode subclasses ( #3159 )
...
* Improve locking situation in ASDisplayNode subclasses
* Adress first number of comments
* Don’t hold the lock while calling _updateComposedTruncationText
2017-03-10 17:29:09 +00:00
Michael Schneider
0d0176d376
ASControlNode should not receive any touches if it’s disabled ( #3161 )
2017-03-10 17:14:20 +00:00
Adlai Holler
bfe35fc0b1
Add production workaround for missing elements ( #3158 )
2017-03-10 14:35:20 +00:00
Adlai Holler
a0e67a8b15
ASMultidimensionalArrayUtils -> ASTwoDimensionalArrayUtils ( #3157 )
...
* Requery subarray count less in ASMultidimensionalArrayUtils
* Simplify (gut) ASMultidimensionalArrayUtils
* Remove weird change
* Add bounds-checking for graceful failure
2017-03-10 14:33:30 +00:00
Huy Nguyen
18c906aa5c
Some bug fixes for ASStackLayoutSpec: ( #3153 )
...
- Avoid returning a NaN flexShrinkAdjustment.
- Bail early (instead of assert) if a line has a positive `flexFactorSum` but then no flexible item can be found via flex adjustments, for example because the flexible items have zero size.
- Continue flexing other lines when one line is inflexible.
- Add unit test for the first 2 fixes.
2017-03-09 13:35:17 -08:00
Huy Nguyen
4f440a34e0
Gratefully handle unknown headers and footers in collection view ( #3154 )
...
- UICollectionViewFlowLayout asks its delegate, which is ASCollectionView, for reference size of headers and footers. If a header or footer is unavailable, its backing collection element will be nil and a zero size should be returned immediately.
2017-03-09 13:35:08 -08:00
Michael Schneider
f0de855970
[ASControlNode] Align touch and tracking system in ASControlNode to UIControl ( #3145 )
...
* Align touch and tracking system in ASControlNode to UIControl
Currently the touch and tracking system of ASControlNode does not align with the system of UIControl. ASControlNode does not even consider `beginTrackingWithTouch:withEvent:` or `continueTrackingWithTouch:withEvent:`.
This commit will change the ASControlNode logic around touch event handling and tracking to align with UIControl.
* Add assertion for layer backed nodes that would like to add an action target for a control event
* Adress comments
2017-03-09 12:43:29 -08:00
Adlai Holler
7ec293d590
Add Validation to ASElementMap to Avoid Crashes in Production ( #3156 )
...
* Add validation to ASElementMap to avoid production crashes
* Only assert sometimes
2017-03-09 12:19:28 -08:00
Adlai Holler
3155d72882
When converting index paths, only wait if asked ( #3155 )
2017-03-09 10:56:35 -08:00
Adlai Holler
44d9415ab7
Don't Eagerly Trigger Relayout in Wait ( #3134 )
...
* Don’t eagerly reload data in wait
* Update tests to account for new reloadData behavior
2017-03-08 10:43:38 -08:00
Huy Nguyen
dd8cac4414
Add a concurrent flag to ASStackLayoutSpec that is off by default ( #3148 )
2017-03-08 16:33:50 +00:00
Huy Nguyen
21953c97ef
-actionForLayer:forKey: of ASDisplayNode should return nil to avoid the node being animated by CA when it's being moved from one supernode to another ( #3146 )
...
This reverts commit 1d21c0bd5545741f284e553d7ed003c69fa6897c introduced in #3063 .
2017-03-08 14:02:12 +00:00
Michael Schneider
cbd8714260
Fix crashes while subclassing ASDisplayNode and subclasses in Swift ( #3143 )
2017-03-07 07:36:08 -08:00
Adlai Holler
1d6221c52b
Don't Cache ConstrainedSize in ASCollectionView ( #3136 )
...
* Never reuse constrained sizes when measuring collection view items
* Assert main thread
* Fix the build
2017-03-06 10:11:56 -08:00
Adlai Holler
d59ea3902d
Initial Work for Range Controller to Support Supplementary Elements ( #3140 )
...
* Initial work supporting supplementaries in range controller
* Rename indexPathForElementIfItem
2017-03-06 10:11:00 -08:00
Michael Schneider
d0ad24808b
Fix setting selectedBackgroundView in collection view ( #3131 )
2017-03-06 07:19:44 -08:00
Michael Schneider
2df392261e
[ASVideoPlayerNode] Fixes and improvements ( #3135 )
...
* Improvements for ASVideoPlayer, especially around asset handling and API
* Change legacy URL of videos
* Address comments
2017-03-05 19:28:03 +00:00
Adlai Holler
f5951d906e
Use fast enumeration for ASElementMap enumerating ( #3137 )
2017-03-04 15:18:41 -08:00
Adlai Holler
fad40c26c2
Remove ASTableView's pendingVisibleIndexPath system ( #3125 )
2017-03-04 12:52:28 -08:00
Adlai Holler
2785a0bcd8
Pager should invalidate flow layout metrics on bounds change ( #3133 )
2017-03-04 11:01:09 -08:00
Adlai Holler
0de270fdfb
Revert "Improve designated initializer usage ( #3132 )"
...
This reverts commit eaa875c7f2e08afa8b597c653be6b7c45cfff66d.
2017-03-03 15:31:28 -08:00
Michael Schneider
eaa875c7f2
Improve designated initializer usage ( #3132 )
...
* Improve designated initializer usage
* Some more changes
* Add some whitespace
* Fix some warning
2017-03-03 14:49:34 -08:00
Michael Schneider
62d7e14ce1
Improve measurement code for cell nodes ( #3119 )
2017-03-03 09:24:04 -08:00
Adlai Holler
93809bd4e7
Add a Convenience Property to Get Owning View Controller ( #3076 )
...
* Add a convenience property -closestViewController
* Address comments
2017-03-02 11:51:16 -08:00
Adlai Holler
012b378a22
Fix a Compiler Warning from ASAbstractLayoutController.mm ( #3123 )
...
* Fix a compiler warning about ASAbstractLayoutController
* Fix merge
2017-03-02 10:59:26 -08:00
Adlai Holler
9c7081f2d7
Majorly Simplify ASTableLayoutController ( #3124 )
...
* Majorly Simplify ASTableLayoutController
* Remove the setVisibleNodeIndexPaths: API
2017-03-02 10:59:13 -08:00
Huy Nguyen
415005b6fc
ASStackLayoutSpec utilizes multiple threads if it runs on main ( #3116 )
2017-03-02 10:12:53 -08:00
Adlai Holler
bccfc6c779
Don't Load Table/Collection Node Just Because User Updated ( #3120 )
...
* Allow user to update collection/table without forcing view to load
* Capture animation enabledness
2017-03-02 10:11:30 -08:00
Michael Schneider
62c5138676
[ASDisplayNode] Fix node is showing up as black box if wrapping an UIActivityIndicatorView ( #3121 )
...
* Set the node to not opaque if it’s wrapping an UIActivityIndicatorView
* Add check for subclass of UIVisualEffectView to see if the node needs to be opaque
2017-03-02 08:57:17 -08:00
Adlai Holler
18dc91ccc2
Remove ASRangeController's viewport API ( #3122 )
2017-03-02 08:38:01 +00:00
appleguy
edd2ce98f7
[ASRangeController] Optimize calls into UICollectionViewLayout via union rect technique. ( #3102 )
...
Details in https://github.com/facebook/AsyncDisplayKit/issues/3082
2017-03-01 21:06:18 -08:00
appleguy
f7dbb2013e
[ASCollectionView] Interop mode should always call sizeForItem: method for index paths that don't use ASCellNodes. ( #3115 )
2017-03-01 19:57:51 -08:00
Garrett Moon
40d3a1de7a
Trying to set the progress block with a nil identifire doesn't make sense. ( #3117 )
2017-03-01 19:51:16 -08:00
Michael Schneider
67baa44fb5
Fix -Wdocumentation
warnings ( #3113 )
2017-03-01 11:25:37 -08:00
Garrett Moon
06b0cba68d
It doesn't appear that this method needs to be protected by thread affinity? It has locking and is backed by an ivar, not UIKit. ( #3107 )
2017-03-01 10:57:18 -08:00
Michael Schneider
a08d9dc732
Fix warning ( #3104 )
2017-02-27 21:25:42 -08:00
Michael Schneider
1c1a1468d8
Remove all _cellsForLayoutUpdates after relayout pass happened ( #3103 )
2017-02-27 20:20:32 -08:00
Michael Schneider
973630adc6
[ASCellNode] New way to measure ASCellNode's if layout was invalidated ( #3099 )
...
* New way to informing interaction delegate if ASCellNode get’s a setNeedsLayout call
* Remove nodeDidGetNeedsLayout as optional and better check if cell updates need to happen
* Differentiate between letting a normal display node and a cell node know that the size could have changed
* Check for _interactionDelegate is nil
* Add nullability to out pointer
* Adress comments and some renaming
2017-02-27 17:19:01 -08:00
Adlai Holler
8b08b706b2
Make ASCellNode Visibility Accesses Thread-Safe ( #3100 )
...
* Make ASCellNode visibility accessing thread-safe
* Strong types!
2017-02-27 17:03:08 -08:00
Adlai Holler
25bc97c5c8
Fix Issues Repopulating Supplementary Elements ( #3098 )
...
* Fix issues repopulating supplementary elements
* Remove unrelated change
* Update comments
2017-02-27 16:06:06 -08:00
Adlai Holler
774f3ffa9e
Remove declaration of ASPhotosFrameworkImageRequest.isEqual ( #3097 )
2017-02-27 14:32:42 -08:00