2714 Commits

Author SHA1 Message Date
Adlai Holler
45c69ada36 Add some index path validation to avoid production crashes (#2716) 2016-12-05 16:37:44 -08:00
Adlai Holler
9bc58dc024 When not visible, only batch fetch to fill visible area 2016-12-05 15:00:39 -08:00
Adlai Holler
21cad90355 Ensure we always fill leading screens for batching 2016-12-05 14:51:07 -08:00
Michael Schneider
a2e75152f8 [ASDisplayNode] Fix flickering for nodes that support range managed interface state (#2710)
* Fix flickering for range managed nodes

* Go back to old behavior to check for range managed before calling didExitPreloadState in interface state change
2016-12-05 10:34:03 -08:00
Michael Schneider
e361d00a73 Our calculated layout is suitable for this constrainedSize, so keep using it and invalidate any pending layout that has been generated in the past. (#2706) 2016-12-02 16:17:14 -08:00
Adlai Holler
1997073802 Address Misc Warnings (#2698)
* Address compiler warnings

* Typo
2016-12-02 14:04:05 -08:00
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 0f620f458d815b6f7a6b5d954ac29a6d056caf58, reversing
changes made to 0c65d21f8de3023c6d3a25572da18e3b82a35040.
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 91c06272b1c83413e681573f109e852ba3532802.
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 4ad8361eeaef1f0bce8fab3c89b6cd28fd043999.
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