2133 Commits

Author SHA1 Message Date
Wendy
fe5c4caf90 Lock properly when setting currentImageQuality 2016-04-26 18:35:03 -07:00
Wendy
0b55df9649 Add the ability for ASNetworkImageNodes to keep track of their progressive image quality 2016-04-26 18:33:59 -07:00
Michael Schneider
2ab82f5995 Move to fast enumeration for iterating through an array
We move from block based enumeration for the array to fast enumeration as from a benchmark perspective this is faster. For the dictionary we stay with block based enumeration as looking up the value for the key in e.g. fast enumeration would be slower as using the block based API where we get the key and value for passed in
2016-04-26 10:45:35 -07:00
Michael Schneider
32f35d9d54 Use visibleNodeIndexPathsForRangeController: to base on visibleNodes in ASTableView 2016-04-26 10:37:32 -07:00
Michael Schneider
28cfd60900 Fix Assertion on cell deallocation due visibility not being cleared
Further information:
- We mark every node as visible in the ASRangeController which NSIndexPath is returned from visibleNodeIndexPathsForRangeController:
- In visibleNodeIndexPathsForRangeController: we get the visible index path's via a call to UITableView's "indexPathsForVisibleRows" method.
- Unfortunately in this case we cannot use indexPathsForVisibleRows to get all the visible index paths as apparently in a grouped UITableView it would return index paths for cells that are just a bit over the edge of the visible area.
- But this edge cells will never get a call for -tableView:cellForRowAtIndexPath:, but we will mark them as visible in the range controller
- In tableView:cellForRowAtIndexPath: we call -configureContentView:forCellNode
- Because we never get a -configureContentView:forCellNode call for the edge cells, the _ASDisplayView of the nodes will never be added to the window and get a willMoveToWindow and didMoveToWindow call and it's never get's added to the window for now and so the node is NOT marked as "in the hirarchy"
- If the deallocation of the views are happening without the UITableView ever scrolled, the cells don't get a call to __exitHierarchy as they were never added to the window and stay in the interface state "visible" and an exception will be raised within the dealloc method of the ASDisplayNode
2016-04-26 10:37:06 -07:00
Michael Schneider
ce6e11c6d2 Fix deadlock in ASNetworkImageNode
Calling _updateProgressImageBlockOnDownloaderIfNeeded should be called without _lock held. We will lock super to read our interface state and it's best to avoid acquiring both locks.
2016-04-25 13:15:11 -07:00
appleguy
2adc616e93 Merge pull request #1526 from Adlai-Holler/ImageNodeImprovements
[ASImageNode] Improvements to progressive decoding and cache accesses.
2016-04-23 23:05:41 -07:00
Michael Schneider
bcd91f18ce Remove ASLayoutOptions locking 2016-04-22 19:54:40 -07:00
appleguy
77713019d2 Merge pull request #1575 from aaronschubert0/tvOS
[tvOS] Improve tvOS code based upon comments.
2016-04-22 19:47:43 -07:00
appleguy
d968094778 Merge pull request #1583 from maicki/AddLayoutSpecBlockFollowUp
[ASDisplayNode] Add layout spec block follow up
2016-04-22 19:45:00 -07:00
Adlai Holler
05b22531e6 Include necessary header 2016-04-22 19:12:38 -05:00
Michael Schneider
5cfc16733a Add node as parameter in ASLayoutSpecBlock 2016-04-22 11:22:20 -07:00
Michael Schneider
79e5337948 Fix setter override for setLayoutSpecBlock: 2016-04-22 11:22:01 -07:00
Michael Schneider
fde8f1af0e Change layoutSpecBlock against NULL 2016-04-22 11:21:42 -07:00
Michael Schneider
f3c48805e0 Add better comments for layoutSpecBlock 2016-04-22 11:08:13 -07:00
Adlai Holler
a216b17b01 Merge branch 'master' into ImageNodeImprovements
Conflicts:
	AsyncDisplayKit/ASNetworkImageNode.mm
2016-04-22 12:36:58 -05:00
Adlai Holler
bc8a2b19ef [ASNetworkImageNode] Carry recent progress image block changes over from multiplex image node 2016-04-22 12:34:13 -05:00
Adlai Holler
f5adc7999b [ASMultiplexImageNode] Reduce lockage in visibilityDidChange 2016-04-22 12:23:02 -05:00
Adlai Holler
ea777456b6 [ASCellNode] Apply layout delegate behavior in -__setNeedsLayout, not -setNeedsLayout 2016-04-22 12:07:37 -05:00
Aaron Schubert
c3ec99af1e Fix merge conflicts 2016-04-22 09:28:23 +01:00
appleguy
e3aa2230f2 Merge pull request #1572 from maicki/AddLayoutSpecBlock
[ASDisplayNode] Add .layoutSpecBlock API to provide an ASLayoutSpec requiring subclass.
2016-04-21 21:10:30 -07:00
appleguy
6c0ec8b423 Merge pull request #1579 from Xinchi/ASVideoNode
Removing an unnecessary assertion in ASVideoNode
2016-04-21 20:45:59 -07:00
Max Gu
13fc13fb56 Removing an unnecessary assertion in ASVideoNode 2016-04-21 15:20:08 -07:00
Tom King
7eca4f26cf remove check for self.isNodeLoaded to fix layout issues of ASCellNodes in an ASCollectionView when being resized after calling setNeedsLayout() 2016-04-21 16:13:57 -04:00
Scott Goodson
fe30e3f5da [ASImageNode] Adjust category naming for AnimatedImage properties to fix compiler warnings. 2016-04-21 12:32:59 -07:00
Michael Schneider
5afce83241 Adjust indention of comment 2016-04-21 07:07:17 -07:00
Aaron Schubert
ebf548fead [tvOS] Make -getView a single line 2016-04-21 09:39:01 +01:00
Aaron Schubert
7b0a8f5af3 [tvOS] Improve -getView by making use of helper method 2016-04-21 09:33:32 +01:00
Aaron Schubert
b586b9f34b Fix merge conflicts 2016-04-21 09:26:40 +01:00
Aaron Schubert
e2fa2f8192 [tvOS] Address comments on previous PR. 2016-04-21 09:23:47 +01:00
Aaron Schubert
39a6aa3437 [tvOS] Improve naming of method 2016-04-21 09:02:31 +01:00
Aaron Schubert
06d4573b14 [tvOS] Branch out tvOS specific code into it's own categories 2016-04-21 08:59:14 +01:00
Michael Schneider
87a37a283e Add a block API to provide an ASLayoutSpec without having to subclass ASDisplayNode 2016-04-20 19:16:54 -07:00
appleguy
dd4853bf3a Merge pull request #1273 from aaronschubert0/tvOS
[tvOS] Add default focus states to ASControlNode & ASImageNode.
2016-04-20 13:29:31 -07:00
Aaron Schubert
dbb9026415 Remove .orig files 2016-04-20 08:50:30 +01:00
appleguy
dbc68c3a8f Merge pull request #1525 from maicki/ASCollectionViewASTableViewRespondsToSelector
Add caching respondsToSelector calls in ASCollectionView and ASTableView
2016-04-19 19:45:19 -07:00
appleguy
b8379a07a6 Merge pull request #1563 from maicki/FollowupFixASCollectionNodeASTableNodeBackgroundColor
Follow up for ASCollectionNode and ASTableNode background color fix
2016-04-19 18:11:28 -07:00
appleguy
be6c3ed88c Merge pull request #1543 from aaronschubert0/ASMapNode-Remove-Red-Herring
[ASMapNode] Remove assertion that checks calculatedSize rather than options.size.
2016-04-19 16:47:33 -07:00
appleguy
74b866e6ba Merge pull request #1559 from garrettmoon/upstream-GIF-Cleanup
[ASImageNode] Follow up to animated GIF PR
2016-04-19 16:43:49 -07:00
appleguy
966c579d31 Merge pull request #1557 from ejensen/video-player-item-replace
[ASVideoNode] Reuse existing AVPlayer when available
2016-04-19 16:40:03 -07:00
appleguy
c67e24b713 Merge pull request #1558 from ejensen/video-resume-when-visible
[ASVideoNode] Limit resuming of buffered videos to those that are visible
2016-04-19 16:38:45 -07:00
Michael Schneider
8f1beb8bf6 Addressed comments
- Use memset to clear flags
- Fix check for asyncDataSourceNodeForItemAtIndexPath
- Fix selector for asyncDelegateCollectionViewDidEndDisplayingNodeForItemAtIndexPath
- Fix multiple collectionViewWillEditCellsAtIndexPaths:batched: calls
2016-04-19 16:13:30 -07:00
Michael Schneider
d9f16e0acf Use _performingBatchUpdates for _layoutFacilitator batched parameter 2016-04-19 16:13:30 -07:00
Michael Schneider
3a20c6a1f4 Add caching for delegate and datasource calls in ASCollectionView and ASTableView 2016-04-19 16:13:30 -07:00
Michael Schneider
42174210c5 Follow up for ASCollectionNode and ASTableNode background color fix 2016-04-19 16:07:42 -07:00
Michael Schneider
68de6a6391 Fix "[NSProxy methodSignatureForSelector:] called!" crash 2016-04-19 15:06:00 -07:00
Garrett Moon
0fc39d1ccd Follow up to animated GIF PR 2016-04-19 13:43:41 -07:00
Eric Jensen
4a010337f6 Limit resuming of buffering videos to those that are visible 2016-04-19 13:21:06 -07:00
Eric Jensen
f01ceab3e7 Reuse the existing AVPlayer when it's available in fetchData 2016-04-19 13:04:35 -07:00
appleguy
39da0987a3 Merge pull request #1537 from maicki/FixASCollectionNodeASTableNodeBackgroundColor
Fix ASTableNode / ASCollectionNode backgroundColor does not apply correctly.
2016-04-19 12:30:54 -07:00