Commit Graph
4673 Commits
Author SHA1 Message Date
Scott Goodson a58844379c Implementation of Synchronous Concurrency features for AsyncDisplayKit 2.0
This provides internal features on _ASAsyncTransaction and ASDisplayNode to facilitate
implementing public API that allows clients to choose if they would prefer to block
on the completion of unfinished rendering, rather than allow a placeholder state to
become visible.

The internal features are:
-[_ASAsyncTransaction waitUntilComplete]
-[ASDisplayNode recursivelyEnsureDisplay]

Also provided are two such implementations:
-[ASCellNode setNeverShowPlaceholders:], which integrates with both Tables and Collections
-[ASViewController setNeverShowPlaceholders:], which should work with Nav and Tab controllers.

Lastly, on ASDisplayNode, a new property .shouldBypassEnsureDisplay allows individual node types
to exempt themselves from blocking the main thread on their display.

By implementing the feature at the ASCellNode level rather than ASTableView & ASCollectionView,
developers can retain fine-grained control on display characteristics.  For example, certain
cell types may be appropriate to display to the user with placeholders, whereas others may not.

Follow-up work will include unit tests, revisiting names, and the header locations of definitions.
2015-09-27 19:14:36 -07:00
Huy Nguyen a94cd9dd99 Remove externalCompletedNodes getter in ASDataController. 2015-09-28 00:18:49 +03:00
Huy Nguyen e619edcd86 Ensure data consistency between ASDataController and its delegate while executing update transactions. 2015-09-27 22:59:36 +03:00
Adlai Holler 5f49e0f67d If Photos framework image is delivered on main queue, dispatch async to background queue 2015-09-26 19:50:36 -07:00
Adlai Holler f6fe3b07d8 Request and receive images in background queue 2015-09-26 19:17:43 -07:00
Adlai Holler ffa0829fc9 Update & document changes to ASPhotosFrameworkImageRequest handling of PHImageRequestOptionsDeliveryMode 2015-09-26 18:41:38 -07:00
Adlai Holler 73af8f1c8b Simplify ASImageIdentifier definition 2015-09-26 18:05:12 -07:00
Adlai Holler bf88bd8e19 Rename image request class, add deliveryMode into the request params 2015-09-26 13:40:00 -07:00
Adlai Holler 06556d04a3 ASMultiplexImageNode uses high quality format when requesting images 2015-09-25 15:54:17 -07:00
Adlai Holler e787c40411 Only parse photos URL after we check the scheme 2015-09-25 15:45:14 -07:00
Adlai Holler bbf9550e08 Use ASPhotosImageRequest in ASMultiplexImageNode, in a backwards-compatible way 2015-09-25 15:41:35 -07:00
Adlai Holler ee0c027ba6 Build photos image request class and tests 2015-09-25 15:25:37 -07:00
appleguy c824644482 Merge pull request #685 from facebook/ASTableViewStressTestFix
Fix simple issue with ASTableViewStressTest, make Table / Collection handle changes to dataSource / delegate.
2015-09-24 20:14:51 -07:00
appleguy 7c29d80b7c Merge pull request #683 from facebook/TransactionAllocation
Reduce _ASAsyncTransaction allocations by ensuring nodes without display methods don't create them.
2015-09-24 20:06:31 -07:00
Scott Goodson ee4b771d5d Fix simple issue with ASTableViewStressTest, make Table / Collection handle changes to dataSource / delegate. 2015-09-24 19:59:12 -07:00
Scott Goodson 47be24037d Reduce _ASAsyncTransaction allocations by ensuring nodes without display methods don't create them. 2015-09-24 19:26:00 -07:00
appleguy d76c199368 Merge pull request #680 from rcancro/placeholder
Placeholder bug in ASEditableTextNode
2015-09-23 17:53:37 -07:00
appleguy 1c4ba93765 Merge pull request #678 from facebook/FinallyCocoapods
Restoring 0.38.2 - Revert "Revert "Update Travis' Cocoapods version to 0.38.2""
2015-09-23 17:36:27 -07:00
rcancro 52091eb589 Placeholder bug in ASEditableTextNode
When setting a default placeholder and an attributedString before `_textKitComponents.textView` was created, the placeholder and the string were both appearing in the text node.

`_updateDisplayingPlaceholder` is called in `setAttributedString`, but since  `_textKitComponents.textView` is nil the placeholder was not hidden. Calling `_updateDisplayingPlaceholder` after `_textKitComponents.textView` loads fixes this.
2015-09-23 16:11:46 -07:00
Scott Goodson ca51a46627 Restoring 0.38.2 - Revert "Revert "Update Travis' Cocoapods version to 0.38.2""
This reverts commit 5ecc3798ad.
2015-09-23 10:19:47 -07:00
appleguy 903498c924 Merge pull request #677 from facebook/Cocoapods
Revert "Update Travis' Cocoapods version to 0.38.2"
2015-09-22 16:35:51 -07:00
Scott Goodson 5ecc3798ad Revert "Update Travis' Cocoapods version to 0.38.2"
This reverts commit a9539fea1a.

We can't get stuff done at Pinterest with the new version - need a day or two to get other stuff compliant.
2015-09-22 16:34:40 -07:00
appleguy 7dbb07161f Merge pull request #674 from adly-holler/editable-text-assert-viewbacked
Assert that ASEditableTextNode stays view-backed
2015-09-22 13:51:16 -07:00
Adlai Holler 20c74229a9 Updates from PR 2015-09-22 13:16:59 -07:00
appleguy 1cb781b715 Merge pull request #675 from crylico/asviewcontroller-carthage-support
added ASViewController to the dynamic framework target to fix carthag…
2015-09-22 12:50:13 -07:00
appleguy cc0a04e7f4 Merge pull request #676 from steveram/index-path-for-node
Add a indexPathForNode: to ASTableView
2015-09-22 12:13:43 -07:00
Steven Ramkumar d09888f9c2 Add a indexPathForNode: to ASTableView 2015-09-22 12:09:56 -07:00
Kyle Levin 5faea03ce8 added ASViewController to the dynamic framework target to fix carthage support 2015-09-22 10:23:46 -04:00
Adlai Holler e9f463da73 Use the right name 2015-09-21 00:16:02 -07:00
Adlai Holler a1ffa499cb Assert against the user trying to set isLayerBacked on ASEditableTextNode 2015-09-21 00:15:03 -07:00
Adlai Holler 441a0e6928 Update types for drawParameters 2015-09-20 22:32:04 -07:00
Adlai Holler 9d6b3b6e14 Merge branch 'master' into update-objc
Conflicts:
	AsyncDisplayKit/Details/ASTextNodeTextKitHelpers.h
2015-09-20 21:55:54 -07:00
appleguy 48b0525f76 Merge pull request #667 from levi/patch-2
Update Podspec to support Cocoapods 0.38.x
2015-09-20 21:48:47 -07:00
appleguy 233e9c69ae Merge pull request #673 from adly-holler/ceil-text-size
Align ASEditableTextNode to pixel boundaries
2015-09-20 21:44:53 -07:00
Adlai Holler efe198e814 Use ceilSize in ASEditableTextNode 2015-09-20 21:18:06 -07:00
Adlai Holler 4ef2e572e6 Elevate ceilPixel functions to ASTextNodeTextKitHelpers.h, add ceilSize 2015-09-20 21:17:24 -07:00
Levi McCallum a9539fea1a Update Travis' Cocoapods version to 0.38.2 2015-09-20 10:01:08 -07:00
Levi McCallum debb178043 Update Podspec to support Cocoapods 0.38.x
Fixes #659
2015-09-20 10:00:40 -07:00
appleguy ca9b1caca4 Merge pull request #672 from adly-holler/fix-collectionview-update-crash
Fix collection view data inconsistency
2015-09-20 11:21:15 +02:00
appleguy aee6709229 Merge pull request #668 from adly-holler/imagenode-opaque-bg
Fill image context with background color if image node is opaque
2015-09-20 11:06:53 +02:00
Adlai Holler 86c1fa3981 Rename flag, default it to true, shorten some comment lines 2015-09-19 14:21:33 -07:00
Adlai Holler 7cd79e6e6f Tweak comment 2015-09-19 13:43:18 -07:00
Adlai Holler f0f26d3dab Tweak the new pendingReload flag 2015-09-19 13:40:41 -07:00
Adlai Holler 77490e11c0 ASCollectionView: Suspend updates while reload data is pending 2015-09-19 13:35:57 -07:00
Adlai Holler a1236a90c1 Update Swift example 2015-09-19 13:10:40 -07:00
Adlai Holler a14267ebf2 Bump the .travis.yml OS X image requirement for Xcode 7 2015-09-19 12:59:58 -07:00
Adlai Holler 3f12162b1f Bump SDK in build.sh 2015-09-19 12:57:44 -07:00
Adlai Holler 37e2a530ad Merge branch 'master' into update-objc 2015-09-19 12:53:06 -07:00
Adlai Holler d0f4bacc67 ImageNode: fill background more efficiently 2015-09-19 12:23:51 -07:00
appleguy 4e86ca2024 Merge pull request #670 from facebook/FixTextBuild
Fix building test / profile under Xcode 7
2015-09-19 20:57:23 +02:00