Commit Graph
976 Commits
Author SHA1 Message Date
Scott Goodson 55861b3de1 Update the expectations of the tests now that the clearContents behavior is corrected. 2015-12-27 16:37:33 -08:00
Scott Goodson 93498d8240 [ASDisplayNode] Preserve contents after non-range-managed nodes are removed from superviews or windows.
This behavior changed in 1.9.3 and introduced flickering in some cases.  Preserving the contents is closer to UIKit behavior.
2015-12-27 15:35:43 -08:00
Scott Goodson 44feece701 Implement node-backing for ASTableView and ASCollectionView, with a strong back-pointer in these cases. 2015-12-26 23:05:34 -08:00
Scott Goodson 4b560a703a PR #1000 on GitHub! Provide a Beta API to enable the new, high efficiency render-ahead mechanism. 2015-12-26 16:34:44 -08:00
Scott Goodson a1429ea23b Add ability to enable new rendering range with a class method in ASDisplayNode+Beta.h 2015-12-26 14:22:24 -08:00
Scott Goodson 7dff6ffa14 Re-enable program flow instrumentation for Coveralls. More null-specifiers.
This does cause tests to crash at the end, which unfortunately seems like a known Xcode 7 bug.
2015-12-25 22:13:35 -08:00
Scott Goodson a2cf2a88e6 Overhaul header files / includes to eliminate circular references that Xcode 7 is angry about. 2015-12-25 19:22:00 -08:00
Scott Goodson c6fa897dc2 Add nullability annotations to newer APIs that lacked it from the original PR. 2015-12-25 15:35:52 -08:00
Scott Goodson 882d4b336e Merge branch 'master' into pr/664 2015-12-25 14:32:41 -08:00
Scott Goodson af74f4a1c2 Fix the AsyncDisplayKit tests under Xcode 7! Workaround for unfixed Apple bug with @dynamic on CALayer. 2015-12-25 14:01:18 -08:00
Scott Goodson 99fbc97bda Optimizations for ASTextNode handling of renderer allocation and deallocation.
Optimizations for ASDisplayNode handling of bridged property "contentMode", especially for layer-backed nodes.
2015-12-25 01:36:32 -08:00
Scott Goodson 4ca97e2f4d Optimize string handling for CALayer gravity & UIView content mode. Finally fix protocol rename. 2015-12-24 23:13:50 -08:00
Scott Goodson f902b4bdc7 Replace property declaration with method overrides for -dataSource. 2015-12-24 22:47:54 -08:00
Scott Goodson a0e4484ef7 Declare ASPagerNode dataSource property as @dynamic so that it can be a different type than ASCollectionNode. 2015-12-24 22:27:52 -08:00
Scott Goodson 7ece41ff64 Delegate definition tweaks for Table and Collection; ensure Table tests run with ARC enabled. 2015-12-24 21:41:12 -08:00
Scott Goodson c1640c7f59 Implement getter methods for new table / collection delegate / dataSource. Make ASTableView node-backed. 2015-12-24 18:02:52 -08:00
Scott Goodson 27c151095b [ASPagerNode] New API tweaks. Support setting delegate + dataSource on ASCollectionNode and ASTableNode without triggering view creation. 2015-12-24 17:06:57 -08:00
Scott Goodson 15826b58e4 Remove extra logging for build server debugging. 2015-12-23 22:24:17 -08:00
Scott Goodson 8b3f3351ab Logging for test failures that are only occurring on build server with iOS 8.1 simulator... 2015-12-23 21:53:42 -08:00
Scott Goodson ca57059322 New ASDelegateProxy class to unify logic for Table & Collection forwarding. Fix dealloc-during-animation crash. 2015-12-23 20:01:52 -08:00
Scott Goodson 928c440b4c Several small optimizations, especially to _ASPendingState and other hot paths. 2015-12-23 16:38:33 -08:00
appleguy dd6ddfc0a2 Merge pull request #976 from facebook/CollectionRefactoring
Make ASCollectionView always create an ASCollectionNode.  Add visibility and interfaceState change notifications.
2015-12-23 13:09:42 -08:00
appleguy c968b8dd9e Merge pull request #978 from aaronschubert0/ASMapNode
[ASMapNode] Greatly improve the internal logic of ASMapNode. Also fixes bug #971
2015-12-23 12:55:58 -08:00
Scott Goodson 38d9ceb230 Fix corrupted project file from merge. 2015-12-23 12:52:38 -08:00
Aaron Schubert e35697d162 Greatly improve the internal logic of ASMapNode. Also fixes bug #971 2015-12-23 10:19:05 +00:00
Scott Goodson fa4308ba7c Merge branch 'master' into CollectionRefactoring 2015-12-22 23:38:01 -08:00
Scott Goodson 9944305cfd Fix tests to avoid newly deprecated ASCollectionView init variant with asyncDataFetching argument. 2015-12-22 23:36:29 -08:00
Scott Goodson 065625f246 Make ASCollectionView always create an ASCollectionNode. Add visibilityDidChange:, interfaceStateDidChange:fromState: 2015-12-22 21:46:46 -08:00
Rajinder Ramgarhia 108ce6d8fc Set horizontal & vertical alignment default to center. Use ivar to set layout. 2015-12-22 14:23:21 -05:00
Rajinder Ramgarhia d7b128e19b ASButtonNode content alignement properties 2015-12-22 14:23:21 -05:00
Adlai Holler 69767d558e Merge branch 'master' into update-objc
Conflicts:
	AsyncDisplayKit/Private/ASDisplayNode+FrameworkPrivate.h
2015-12-22 00:28:21 -05:00
appleguy d7492b331f Merge pull request #968 from facebook/LockHandlingOnRemoveFromSupernode
[ASDisplayNode] Release the lock before setting supernode pointer to nil, in case we are deallocated.
2015-12-21 20:55:54 -08:00
appleguy af9f8dfea7 Merge pull request #931 from lappp9/cells-with-view-controllers
[ASCellNode] Support for wrapping UIViewControllers
2015-12-21 20:55:28 -08:00
Scott Goodson 06688f7061 Release the lock before setting supernode pointer to nil, in case we are deallocated. 2015-12-21 19:57:39 -08:00
Levi McCallum 10030dfe70 Add scroll to page helper to ASPagerNode 2015-12-21 09:07:48 -06:00
Levi McCallum ad4db73b95 Add tuning params method forwards to ASCollectionNode 2015-12-21 09:01:19 -06:00
Levi McCallum 2bb7fc43f5 Add reloadData forward methods to ASCollectionNode 2015-12-21 08:58:55 -06:00
Levi McCallum 63b493a95b Increase preload tuning param range in pager node 2015-12-21 08:54:13 -06:00
Levi McCallum 53d2af6ca1 Move PagerNode setup into didLoad 2015-12-21 08:52:41 -06:00
Luke Parham 322caaeb6a wip after review 2015-12-21 01:24:46 -06:00
Scott Goodson b8602d1073 Fix ASBasicImageDownloader tests - prevent use of init / new instead of +sharedImageDownloader. 2015-12-20 15:42:57 -08:00
Scott Goodson 97bb05d326 Order-of-magnitude speedup in handling of "disable visibility notifications"
Before, it was expensive to check this value, even though it was rarely set.
Now the cost is moved to setting the value, and is made very cheap to check with _hierarchyState.
2015-12-20 12:47:42 -08:00
Scott Goodson 92126f0d66 Support surprisingly nice automatic behavior for the unsupported case of view-backed nodes as children of layer-backed ones. 2015-12-19 20:33:28 -08:00
Scott Goodson bbc0452a7a Improve UIView & CALayer handling of -addSubnode:, and ensure node hierarchies are hooked up even when addSubview: is used directly. 2015-12-19 18:29:05 -08:00
Scott Goodson 5745cfd0d8 Enable node detection for tableHeaderView and tableFooterView on ASTableView.
Ensure they behave as managed nodes - which prevents them from clearContents-ing
their subnodes when the table reloads, as they will be onscreen as long as the table is.
2015-12-18 21:58:58 -08:00
Scott Goodson 32a99e3d41 Ensure that .hierarchyState is propogated to new subnodes early enough for us to reference it as the views are added. 2015-12-18 19:52:47 -08:00
Scott Goodson 578d0f4f78 Final cleanup for initial version of removing the UIWindow-based render range.
The UIWindow mode remains enabled by default, but rendering and the test suite works correctly both enabled and disabled.
2015-12-18 18:47:08 -08:00
Scott Goodson c6759671e6 Merge branch 'master' into RemoveWorkingWindow 2015-12-18 18:25:14 -08:00
appleguy e15a7db773 Merge pull request #925 from levi/levi/pager-node
[ASPagerNode] Initial implementation of a paging-specific ASCollectionNode subclass.
2015-12-18 18:20:25 -08:00
Scott Goodson ee152eadf1 Remove CALayer and UIView implementations of "name" property.
This avoids CoreAnimation from capturing the name from a background thread deep within the internals
of AVPlayerLayer, which commits transactions off the main thread.  If the main thread is also accessing
properties that require the lock, in very specific app architectures relying on AVPlayerLayer, this
can cause a deadlock.

The "name" property is primarily used by ASDK's unit test infrastructure, so I'm leaving it in place for
that purpose - and it may still be used for debugging, if someone wants to set it.  It will remain
possible to get the node from a layer or view with asyncdisplaykit_node, and access name from there.
2015-12-18 16:01:19 -08:00