Commit Graph

498 Commits

Author SHA1 Message Date
appleguy
7c4db3fbc1 Merge pull request #1477 from maicki/SmallContentBatchFetch
[ASBatchContext] Fix fetch call won't occur for content smaller than bounds unless user scrolls
2016-04-09 19:15:06 -07:00
Michael Schneider
6a147021bc Move setting of accessibilityFrame into accessibleElements
- Calculate accessibilityFrame for accessibleElements already in accessibleElements method
- Remove asyncdisplaykit_node associated object as it's not needed anymore
2016-04-09 17:03:35 -07:00
Michael Schneider
1b7db082dd Improve _ASDisplayViewAccessibility
- Add class method to create a UIAccessibilityElement from a ASDisplayNode
- Add function to iterate through a ASDisplayNode tree in bfs fashion
- Add assert for _accessibleElements in accessibilityElementAtIndex:
2016-04-09 16:07:30 -07:00
Michael Schneider
14ca529911 Moving accessibility related code to _ASDisplayViewAccessibility 2016-04-09 11:23:25 -07:00
Michael Schneider
3b91c22fdf Recreate the accessibleElements if accessed 2016-04-09 11:23:25 -07:00
Michael Schneider
34df512eeb Remove ASNodeValidForAccessibility 2016-04-09 11:23:25 -07:00
Michael Schneider
ef31c3abf0 Copy accessibilityIdentifier to UIAccessibilityElement if a node is assigned 2016-04-09 11:23:25 -07:00
Michael Schneider
4056bf9ef3 Return NO if node i not valid for accessibility 2016-04-09 11:23:25 -07:00
Michael Schneider
03a7c55d59 Add accessibility support for shouldRasterizeDescendants and layerBacked nodese 2016-04-09 11:23:25 -07:00
Michael Schneider
9c29d0efa8 Initial commit for improved accessibility support 2016-04-09 11:23:25 -07:00
Michael Schneider
18fe728230 Remove deprecation of completeBatchFetching: 2016-04-09 10:55:52 -07:00
Michael Schneider
f92e7d5a29 Move completeBatchFetching: to deprecated location in header 2016-04-09 10:55:52 -07:00
Michael Schneider
c25a252e1c Fix fetch call won't occur for content smaller than bounds unless user scrolls 2016-04-09 10:55:52 -07:00
Scott Goodson
a9b02e8632 [ASDataController] Handle incorrect client code that returns a nil ASCellNode (assert, but use zero-size cell in production). 2016-04-06 21:34:06 -07:00
Michael Schneider
41eb1917e4 Fix setting ASEnvironmentStateExtensions values 2016-04-05 14:22:32 -07:00
appleguy
7662cb67c1 Merge pull request #1432 from maicki/ASDataControllerCrashOnDataSourceDealloc
[ASDataController] Refactor ASDataController layout nodes methods
2016-03-31 21:49:58 -07:00
Michael Schneider
20ee9bca8d Rename ASEnvironmentStateCreate to ASEnvironmentStateMakeDefault 2016-03-31 20:43:20 -07:00
Michael Schneider
f46f5640ff Add improvements
- Remove defaults for ASEnvironmentLayoutOptionsState and ASEnvironmentHierarchyState
- Add locking for ASEnvironmentLayoutExtensibilityForwarding
- Other smaller improvements
2016-03-31 20:43:20 -07:00
Michael Schneider
4e757f0969 General improvements
- Refactor naming of ASEnvironmentCollection to ASEnvironmentState
- Remove struct pointers
- Move ASEnvironmentStatePropagation to a enum class
- Move merge functions to pure functions
- Move ASLayoutOptionsForwarding and ASLayoutableExtensibility into ASLayoutSpec and ASDisplayNode
- Remove ASLayoutableSetValuesForLayoutable and move into explicit classes (ASDisplayNode, ASTextNode)
2016-03-31 20:43:20 -07:00
Michael Schneider
65b4961802 Add extensibility support for ASEnvironmentLayoutOptionsState 2016-03-31 20:43:20 -07:00
Michael Schneider
96df35e41a Initial commit for ASEnvironment 2016-03-31 20:43:20 -07:00
Scott Goodson
3e2414da6f [ASInterfaceState] Fix for an edge case of exiting Visible state before node deallocation. 2016-03-27 18:15:40 -07:00
Michael Schneider
c6f00b1541 Use batchCount for indexes passed into internal layout nodes method and NSMaxRange 2016-03-27 17:54:40 -07:00
Michael Schneider
0284e55359 Add explicit range parameter for internal layout nodes method and better documentation 2016-03-27 17:48:17 -07:00
Michael Schneider
552b79deaa Remove onMainThread: argument in internal layout nodes method 2016-03-27 17:48:17 -07:00
Michael Schneider
1f9e9b8483 Refactor ASDataController layout nodes methods 2016-03-27 17:48:17 -07:00
Eric Jensen
057ec55941 Correct documentation comments 2016-03-24 20:08:03 -07:00
Scott Goodson
eed812dcdf [ASRangeController] Slight tweaks to the default Full ranges, for memory savings in multi-tabbed apps with still-excellent preloading consistency. 2016-03-23 23:36:59 -07:00
Scott Goodson
5b9302b681 Revert "Prevent deallocation of asyncDataSource and asyncDelegate in ASCollectionView and ASTableView"
This reverts commit 3668f45286.
2016-03-22 14:38:50 -07:00
Scott Goodson
953c0f51f0 Revert "Move call of range update completion blocks to consider early returns in _updateVisibleNodeIndexPaths"
This reverts commit 41362fca39.
2016-03-22 14:37:49 -07:00
Michael Schneider
41362fca39 Move call of range update completion blocks to consider early returns in _updateVisibleNodeIndexPaths 2016-03-22 12:43:09 -07:00
Michael Schneider
3668f45286 Prevent deallocation of asyncDataSource and asyncDelegate in ASCollectionView and ASTableView
Grab a strong reference for asyncDataSource and asyncDelegate in ASCollectionView and ASTableView before executing the range update to be sure they are not going away while executing the range update. This can happen in range updates while going back in the view controller hierarchy
2016-03-22 08:09:59 -07:00
Scott Goodson
8308a4ce49 [AsyncDisplayKit] Adopt #pragma once, remove last remaining dispatch_sync (UIScreen scale). 2016-03-19 19:56:41 -07:00
Hannah Troisi
f9a92366d3 [AsyncDisplayKit] Fix build so we can weak link AVFoundation
Unclear why the framework target required these seemingly unrelated changes to Collection
classes, but I modeled them after related files and it seems cleaner now (passes tests & framework target)
2016-03-19 17:54:02 -07:00
Eric Jensen
17aebcbaba Add a space between the ? and : in ternarys 2016-03-17 10:38:51 -07:00
appleguy
d9ef0922d8 Merge pull request #1354 from ejensen/cleanup
[Refactoring] Objective-C 2.0 / Modern syntax for arrays, dictionaries, numbers; logic simplification
2016-03-17 01:06:33 -07:00
appleguy
2ad9d83520 Merge pull request #1353 from ejensen/spelling
[Documentation] Correct spelling errors
2016-03-16 22:53:15 -07:00
Michael Schneider
e297608e2a In the first range update and the range mode is not explicitly use the automatic range mode detection
This is necessary to get out of the initial range mode state into the first defined range mode state
2016-03-16 16:44:58 -07:00
Michael Schneider
e82118e72f Add assertion for ASDisplayNode is layer backed if using ASInterfaceStateForDisplayNode 2016-03-16 16:27:08 -07:00
Michael Schneider
41ca796ef4 Improve logic around choosing the range mode automatically and update documentation around logic 2016-03-16 13:37:33 -07:00
Michael Schneider
d3ba80ccfd Improvements for automatic range mode
- Only update range mode if visibility changes if the node is not range controlled
- Only change explicitly set range mode if ASRangeController becomes visible
- Return interface state for range controller in ASCollectionView and ASTableView based on if the containing node is range managed
2016-03-16 11:44:56 -07:00
appleguy
b30fa8b2f6 Merge pull request #1373 from maicki/FullRangeModeOnScroll
[ASRangeController] Go into full range mode if a scroll happens
2016-03-16 11:33:43 -07:00
Eric Jensen
33fda7ab49 - Use modern Objective-C syntax.
-  Simplify comparisons.
-  Remove dead stores.
2016-03-15 22:34:29 -07:00
Eric Jensen
ddd5ff1f75 Correct spelling errors 2016-03-15 21:56:51 -07:00
Hannah Troisi
7f6ce4e9de [ASMultidimensionalArrayUtils]
- optimized ASRecursivelyFindIndexPathsForMultidimensionalArray() to remove enumerateUsingBlock:
- replaced single project call to ASIndexPathsForMultidimensionalArray() in ASRangeController with ASIndexPathsForTwoDimensionalArray()
2016-03-14 22:47:43 -07:00
Michael Schneider
13aa891ecf Improve way to go into full mode on scroll 2016-03-12 17:45:09 -08:00
Scott Goodson
f97a509541 [ASRangeController] Ensure that even if the collection view layout is inconsistent, it is impossible for a visible item to not be in the display range. 2016-03-12 16:26:33 -08:00
Michael Schneider
b4b9f0750c Improve going into full range mode on scroll 2016-03-12 16:21:29 -08:00
Michael Schneider
e4ddb7e270 Go into full range mode if a scroll happens 2016-03-12 15:44:27 -08:00
Garrett Moon
53f6dadbbb Should be nullable not _Nullable 2016-03-11 21:58:49 -08:00