Commit Graph

2689 Commits

Author SHA1 Message Date
Wendy
4daee3ca76 Update PINRemoteImage 2016-04-26 18:35:03 -07:00
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
appleguy
f7985d2d26 Merge pull request #1593 from maicki/FixASCellNodeVisiblityDeallocationAssertion
[ASDisplayNode] Fix assertion on cell deallocation due visibility not being cleared
2016-04-26 12:28:08 -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
appleguy
bf52bc55cc Merge pull request #1591 from garrettmoon/fixAnimatedGIFWarning
Specifies beta of PINRemoteImage
2016-04-25 19:39:19 -07:00
appleguy
8a7fe22c19 Merge pull request #1590 from maicki/FixProgressImageBlockDeadLock
[ASNetworkImage] Fix possible deadlock introduced yesterday in ASNetworkImageNode
2016-04-25 13:27:25 -07:00
Garrett Moon
7f8edb8537 Specifies beta of PINRemoteImage 2016-04-25 13:18:31 -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
Scott Goodson
b99910a149 [Examples, Build] Fix project configuration of two example apps that were incompatible with modern Cocoapods. 2016-04-22 23:04:12 -07:00
Scott Goodson
15a4e18844 [Examples] Officially add tvOS to podspec, ensure Podfiles correctly show minimum supported version 7.0 instead of 7.1 2016-04-22 20:29:52 -07:00
appleguy
094f327779 Merge pull request #1585 from maicki/RemoveASLayoutOptionsLocking
Remove ASLayoutOptions locking
2016-04-22 20:25:10 -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
Scott Goodson
8d9107f57e [Examples, Build] Moving some smaller / less useful examples to a separate directory, speeding up builds. 2016-04-22 19:41:43 -07:00
Scott Goodson
613832fc6a [Build] Improve formatting of build script output for Travis. 2016-04-22 19:37:20 -07:00
appleguy
bbdbb3d82d Merge pull request #1577 from Adlai-Holler/CellNodeLayoutDelegateFix
[ASCellNode] Repair Layout Delegate Behavior When Triggered Off-Main
2016-04-22 19:22:16 -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
f66d109928 Update project metadata for ASCellNode.m -> ASCellNode.mm 2016-04-22 12:07:37 -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
4b2817ade2 Merge pull request #1576 from maicki/FixMissingPodTargetError
[Build, Examples] Fix Podfile is missing target for samples
2016-04-21 20:54:41 -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
appleguy
450c12ee3a Merge pull request #1578 from tomizimobile/master
[ASCellNode] Remove nodeLoaded check that can cause some necessary layout passes to be skipped.
2016-04-21 20:12:37 -07:00
Scott Goodson
324a73f6e1 [Build] Some performance optimizations for the build, and now using xcpretty to make raw xcodebuild slightly less horrible / more like xctool. 2016-04-21 19:56:07 -07:00
Scott Goodson
af0c2f5c37 [Build] Switch from xctool to xcodebuild to work around Travis image bugs
The output is far less readable, but it seems much more reliable.  See:
https://github.com/travis-ci/travis-ci/issues/3986
2016-04-21 19:35:05 -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
563e52bb6a Fix Podfile is missing target for samples 2016-04-21 11:07:08 -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