2708 Commits
Author SHA1 Message Date
Adlai Holler 40a8769217 Filter out extra items when querying collection view layout (#2693) 2016-12-02 08:48:46 -08:00
Adlai Holler 8e90a31cc1 Merge pull request #2687 from maicki/MSBetterErrorMessageForDeallocatedDisplayNodeInLayout
Better error message if a display node is created in layoutSpecThatFits: and deallocated before it was added to a subnode
2016-12-01 17:39:56 -08:00
Adlai Holler 051b738236 Inject data source class name into update validation exceptions, deprecate suppression flag (#2692) 2016-12-01 17:30:36 -08:00
Garrett Moon ba2268ac99 2611 rename fetch data (#2689)
* Replace fetch data with preload terminology
- Deprecate `-fetchData` and `-clearFetchedData` in favor of `-preload` and `-clearPreloadedData`
- Move `-setNeedsPreload`, `-recursivelyPreload` and `-recursivelyClearPreloadedData` to ASDisplayNode+FrameworkPrivate.h
- Update internal implementation, comments and tests

* Folllow up on #2642:
- Remove -preload and -clearPreloadedData in favor of -didEnterPreloadState and -didExitPreloadState.
- -didEnterPreloadState and -didExitPreloadState call the deprecated -fetchData and -clearFetchedData methods if they are overriden.

* Missed one in a test

* Get rid of behavior change for now.

* Revert more behavior changes, fix tests.

* Don't need these anymore.
2016-12-01 13:41:22 -08:00
Michael Schneider c7ea15a5e4 Misc improvements to ASViewController (#2653)
- Remove layoutThatFit: call in viewWillAppear:
- Deprecate nodeConstrainedSize
- Use the view’s bounds to layout the node
2016-12-01 09:56:41 -08:00
Michael Schneider 66acd69e22 Better error message if a display node is created in layoutSpecThatFits: and deallocated before it was added to a subnode 2016-12-01 07:03:39 -08:00
Adlai Holler b075aa2851 Merge pull request #2682 from facebook/AHFixMoreDeallocVisibleCases
Fix Edge Cases of Table Cell Nodes Deallocated While Visible
2016-11-30 09:01:01 -08:00
Adlai Holler 98ef8c00de Reduce cleverness 2016-11-29 16:27:33 -08:00
Adlai Holler bb8d7d1be9 Modify ASTableView range code to fix interface state issues with grouped tables 2016-11-29 15:42:00 -08:00
Adlai Holler df497b82c2 Improve Batch Fetching Call Pattern to Reduce Fetch Calls (#2675)
* Test & tweak batch fetching implementation

* Tighten the test

* Stop batch fetching at the end of range controller pass

* Clean up the test

* Still check for batch fetching after each frame when scrolling

* Ensure batch fetching happens for empty collection/table
2016-11-29 13:40:03 -08:00
appleguy aa9dff00de Merge pull request #2672 from facebook/AHRemoveVCFetch
[ASViewController] Remove Extra recursivelyFetchData Call
2016-11-29 10:46:22 -08:00
Michael Schneider 52bb2a3a6e Revert constrainedSize changes that should have never made it in 2016-11-28 17:20:26 -08:00
Adlai Holler b00365ac59 Remove explicit recursivelyFetchData call from ASViewController 2016-11-28 15:34:46 -08:00
Michael Schneider 4928af4635 [Layout Transition] Layout Transition Fixes (#2657)
* Don’t call layoutIfNeeded before starting the layout transition

* Further improvements
2016-11-28 12:57:03 -08:00
Adlai Holler a862ac230f Merge pull request #2664 from garrettmoon/enableRangeControllerMemWarning
This patch enables memory warning support on ASRangeController by def…
2016-11-28 11:30:50 -08:00
Adlai Holler 82e1c5bf0b Use the method form for UIViewController.isViewLoaded, since it is supported by Xcode 7.3.1 2016-11-28 11:12:22 -08:00
Adlai Holler 02283bd0d6 Merge pull request #2648 from maicki/MSFixASTableViewRotationGlitch
[ASTableView] Not animated for end updates if animation is already going on within ASTableView
2016-11-28 09:59:05 -08:00
Garrett Moon 04dc582a7a Rename didUpdateCurrentRangeMode to preserveCurrentRangeMode 2016-11-27 16:05:31 -08:00
Garrett Moon 62f378a9fd This patch enables memory warning support on ASRangeController by default
It also fixes a couple subtle bugs:
1. If a range controller update was in flight and you were manually setting the range
mode, you could actually clear out the range mode by calling updateCurrentRangeWithMode:
This is fixed by setting _didUpdateCurrentRange = YES if _needsRangeUpdate is YES.
2. Calling setNeedsUpdate after calling updateCurrentRangeWithMode: can cause the
current range mode to get cleared out. This is because updateCurrentRangeWithMode:
will not set _didUpdateCurrentRange if _currentRangeMode == rangeMode.
2016-11-27 15:42:07 -08:00
appleguy 8d89f7074f Merge pull request #2662 from facebook/AHDrawMethodNoEscape
Add noescape Attribute to isCancelledBlock Parameters
2016-11-27 11:12:36 -08:00
Adlai Holler aee2aaf40a Align the colons 2016-11-27 10:36:21 -08:00
Adlai Holler b689a59b45 Mark isCancelled block as noescape to improve the Swift import 2016-11-27 10:31:35 -08:00
Michael Schneider c178df0dbc Fix typo 2016-11-23 20:31:37 -08:00
Michael Schneider 64a316679c Trigger load view in ASViewController if node did load but not the view of the view controller 2016-11-23 20:31:37 -08:00
appleguy aefff563bd Merge pull request #2651 from facebook/PlaceholderContents
[ASDisplayNode] Create placeholders off main when possible.
2016-11-23 16:33:44 -08:00
Adlai Holler 479dd6740e Merge pull request #2655 from rahul-malik/rmalik-nsurlsessionfix
Re-add NSURLSessionConfiguration support and fix crashes
2016-11-23 16:09:57 -08:00
Adlai Holler 14765a55d2 Revert "Merge pull request #2649 from facebook/AHCollectionNodeInitializer"
This reverts commit 0f620f458d, reversing
changes made to 0c65d21f8d.
2016-11-23 15:56:24 -08:00
rmalik 15f8dc572a - Fix assignment of alternativeRepresentationProvider to be the singleton
instance of ASPINRemoteImageDownloader.
- Revert "Revert "Expose internal singleton method as a class method vs instance method.""
- Fix API bug in ASCollectionNode+Beta
2016-11-23 15:51:40 -08:00
Michael Schneider 1f7b838d5e Not animated for end updates if animation is already going on within ASTableView
Fix strange artifacts in ASTableView are visible when changing the device orientation or other animations are going on while calling endUpdates
2016-11-23 14:31:37 -08:00
Scott Goodson 1c70412868 [ASDisplayNode] Create placeholders off main when possible.
This is a fix for https://github.com/facebook/AsyncDisplayKit/issues/2620,
which is a followup to https://github.com/facebook/AsyncDisplayKit/pull/2610

This will ensure thread affinity is respected for .contents but still run
placeholderImage off-main when possible (node isn't loaded).
2016-11-22 22:29:24 -08:00
Scott Goodson 0c65d21f8d Revert "Expose internal singleton method as a class method vs instance method."
Causing crash: +[ASPINRemoteImageDownloader alternateRepresentationWithData:options:]: unrecognized selector sent to class 0x198e3d8

This reverts commit 91c06272b1.
2016-11-22 21:59:58 -08:00
rmalik 91c06272b1 Expose internal singleton method as a class method vs instance method.
Currently setting an NSURLSessionConfiguration through ASPINRemoteImageManager
will crash.
2016-11-22 18:04:19 -08:00
Adlai Holler 04b93182cd Rejigger ASCollectionNode initializers 2016-11-22 16:49:52 -08:00
Austin Louden 60756a1da5 Fix self capture in ASCollectionNode (#2646)
* fix capture in ASCollectionNode

* fix capture self in ASTableNode
2016-11-21 15:28:32 -08:00
Adlai Holler 9a762f9832 Make a public function ASPerformMainThreadDeallocation 2016-11-21 11:17:24 +09:00
Adlai Holler 71872a298e Merge pull request #2223 from facebook/AHNaturalDealloc
[ASDisplayNode] Let Nodes Deallocate Naturally, Deallocate UIKit Components in Run Loop
2016-11-21 01:20:47 +09:00
Adlai Holler e923943e8c Use CACurrentMediaTime instead of CFAbsoluteTime 2016-11-21 00:54:07 +09:00
Adlai Holler 887f48cbda Add support for run loop queues with no handler, optimize 2016-11-21 00:49:54 +09:00
Adlai Holler 6d01bbeb19 Let nodes deallocate naturally, manually trampoline UIKit ivars
Be more aggressive with main thread punting

Trampoline setting the dataSource/delegate onto the main thread

Short-circuit the supplementary nodes method if no data source

Don't rely on assertions

Mark variable unused to fix release builds

Handle ASCollectionNode/ASTableNode deallocation better

Add some comments about new macro
2016-11-21 00:46:57 +09:00
Scott Goodson 72585e4262 Revert "Prevent premature placeholder image clearing when setting the video asset at a later point in time."
See test failure in https://github.com/facebook/AsyncDisplayKit/pull/2626

This reverts commit 4ad8361eea.
2016-11-19 21:59:14 -08:00
Michael Schneider ddd4ef62ae Fix overlapping of nodes in layout transitions 2016-11-19 20:53:32 -08:00
Michael Schneider 9530b609f1 Readd layout transition check for invalid constrained size 2016-11-19 18:31:56 -08:00
appleguy 050de2af5c Merge pull request #2626 from master-nevi/video-flicker-fix
[ASVideoNode] Ensure we don't clear the placeholder image when setting the video asset
2016-11-19 16:20:00 -08:00
appleguy 3d524dfe3a Merge pull request #2635 from garrettmoon/moveASCollectionViewLayoutInspector
[ASCollectionView] Move ASCollectionViewLayoutInspector to its own file
2016-11-19 16:16:19 -08:00
Garrett Moon 0253ae1291 Do not assert when scrollableDirections is called in base class. 2016-11-19 15:43:47 -08:00
Garrett Moon 88d0dff09c [ASCollectionView] Move ASCollectionViewLayoutInspector to its own file 2016-11-19 15:14:03 -08:00
Michael Schneider 8d5fc9efe3 We need to invalidate the layout before the transition does start 2016-11-19 06:58:07 -08:00
Michael Schneider 66ad9bd5e3 Apply patch from Scott 2016-11-19 06:46:21 -08:00
Michael Schneider ed4f7eff73 Force layout pass in ASViewController viewWillAppear: to trigger automatic subnode management
A measure as well as layout pass is forced this early to get nodes like ASCollectionNode, ASTableNode etc. into the hierarchy before UIKit applies the scroll view inset adjustments, if automatic subnode management is enabled. Otherwise the insets would not be applied.
2016-11-19 06:43:46 -08:00
Michael Schneider eef4a61ea0 Add checks to bail out early in layout transition 2016-11-19 06:43:46 -08:00