584 Commits

Author SHA1 Message Date
Bin Liu
726bc7d668 addressed comments 2016-01-21 11:14:00 -08:00
Matej Knopp
f906951b69 [_ASAsyncTransaction] limit number of spawned threads
Signed-off-by: Matej Knopp <matej.knopp@gmail.com>
2016-01-21 18:38:26 +01:00
Matej Knopp
057ce3dc35 [_ASAsyncTransaction] c++
Signed-off-by: Matej Knopp <matej.knopp@gmail.com>
2016-01-21 12:47:29 +01:00
Adlai Holler
e972059f23 Remove SpinLock because it's illegal in iOS 2016-01-19 10:28:04 -08:00
Luke Parham
d9559111a0 renamed nic cage sample, added redundancy for loading player in case its nil when visible, added video tests, disabled assert for new range controller 2016-01-14 02:39:36 -06:00
Scott Goodson
df10f8f19a Check array size before accessing section - rare crash for improper data source use, de-escalated to messaging nil. 2016-01-14 00:25:53 -08:00
Adlai Holler
a19ba586f7 Revert change that seems to have caused internal inconsistency in range controller 2016-01-13 13:34:20 -07:00
Aaron Schubert
28b03e3a28 [tvOS] Expose UIFocusEnvironment Protocol methods to ASDisplayNode 2016-01-13 10:09:44 +00:00
Aaron Schubert
cc4f604ea3 [tvOS] Initial commit to make build run. 2016-01-12 14:43:30 +00:00
Scott Goodson
90a1bb2346 Ruthlessly improve efficiency in ASRangeControllerBeta.
- Use completedNodes directly, caching inner arrays and counts between loop iterations.
- Merge codepaths between the "entire self - table / collection" visible or invisible cases
- Ensure we do not trigger an assertion if a previous iteration's node is nil by the time
  we try to reset its interfaceState.
2016-01-10 02:58:48 -08:00
Scott Goodson
0feaa2a368 Improvements to the efficiency of recursivelySetInterfaceState: and the beta range controller. 2016-01-10 02:40:47 -08:00
Scott Goodson
d45db5ac32 Disable creation of backing ASTable/CollectionNode for the *View varients (retain cycle). 2016-01-09 20:44:24 -08:00
Scott Goodson
bbfd08829f Switch Tests to use ASRangeControllerBeta. Use NSSet instead of NSMutableSet. 2016-01-05 23:29:11 -08:00
Scott Goodson
d1c3894dbb [ASRangeControllerBeta] Add tracking of all index paths that have .interfaceState set, ensure updating. 2016-01-05 23:17:54 -08:00
Scott Goodson
984fe43997 [ASRangeController] Inspect delegate's ASInterfaceState to delay preloading beyond viewport until visible. 2016-01-03 19:14:07 -08:00
Scott Goodson
25b6f29584 Introduce ASCollectionInternal file and create always-available ASCView -> ASCNode backpointer. 2016-01-01 23:36:00 -08:00
Scott Goodson
b273f358f5 [ASRangeController] Initial implementation of functional-style, ASInterfaceState-based range controller. 2016-01-01 00:48:44 -08:00
Scott Goodson
7a9cd1f930 [ASRangeController] Introduce totally rewritten range controller based on ASInterfaceState. 2015-12-31 17:59:59 -08:00
Scott Goodson
8f914f8430 Fix logic error in handling enablement of beta display range. 2015-12-31 15:38:32 -08:00
Scott Goodson
df9f433353 Prevent calling unsupported UICollectionViewDelegate methods (supplementary view appearance) 2015-12-31 00:21:20 -08:00
Scott Goodson
ffcddf36e2 Ensure that ASRangeController immediately removes any deleted nodes from its range state. 2015-12-30 22:42:11 -08:00
Scott Goodson
df3ce787f7 Ensure that the uncommon __unloadNode codepath does not unintentionally trigger node removal. 2015-12-29 23:11:33 -08:00
Scott Goodson
690f90a899 Supplementary nodes must be added to the completed nodes after their measurement completes following individual section reloads. 2015-12-27 15:34:26 -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
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
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
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
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
Adlai Holler
69767d558e Merge branch 'master' into update-objc
Conflicts:
	AsyncDisplayKit/Private/ASDisplayNode+FrameworkPrivate.h
2015-12-22 00:28:21 -05: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
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
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
Adlai Holler
7079a9cc79 Merge branch 'master' into update-objc
Conflicts:
	AsyncDisplayKit/ASDisplayNode+Subclasses.h
2015-12-13 10:05:03 -08:00
Scott Goodson
6ad1503556 Merge branch 'master' into RemoveWorkingWindow 2015-12-11 22:42:13 -08:00
Scott Goodson
00fe336ae7 Merge branch 'master' into RemoveWorkingWindow 2015-12-11 21:34:45 -08:00
Garrett Moon
941a732fd6 Rename and move ASMainSerialQueue to its own class 2015-12-11 10:53:06 -08:00
Garrett Moon
066596314e Fix deadlock when an editing transaction needs to perform its work on the main thread, and then elsewhere, on the main thread, we block waiting for all editing transactions to finish 2015-12-11 10:45:23 -08:00
Garrett Moon
f94229796c Fixes out of order blocks running on main queue in ASDataController
ASDataController’s completedNodes is accessed by treating the main thread as a serial queue. The ​*problem*​ is, operations can cut in line by being added while on the main thread. I.e. it just calls the block instead of dispatch_async’ing to the main thread. This results in data inconsistency.

To address this, I've added a queue of operations which get run serially (not to be confused with a serial dispatch queue). Instead of running blocks directly on the main thread, if it’s called while not on the main thread, it dispatch_asyncs to the main thread and runs any blocks in the queue. If it ​*is*​ on the main thread, it runs any blocks already in the queue and then runs the block.
2015-12-11 10:45:22 -08:00
appleguy
c9a0a3d46f Merge pull request #918 from levi/master
Inline supplementary kind iteration in data controller
2015-12-07 12:58:25 -08:00
Scott Goodson
88b36f58e7 Ensure an empty array is returned if visibleNodes is called before any nodes are complete. 2015-12-06 21:45:46 -08:00
Levi McCallum
223cac1784 Inline supplementary kind iteration in data controller 2015-12-06 21:31:40 -08:00
appleguy
f6cc2067e9 Merge pull request #917 from levi/master
Ensure that newly inserted section supplementary nodes are added to backing store
2015-12-06 21:25:47 -08:00
Levi McCallum
64da9e7ece Ensure that new section supplementary nodes are inserted into backing store 2015-12-06 20:07:29 -08:00
Scott Goodson
840884272d Introduced ASHierarchyState. Created ASDisplayNode+FrameworkPrivate.h. Fixed deadlock. 2015-12-05 22:20:16 -08:00