170 Commits

Author SHA1 Message Date
Scott Goodson
a1061301e0 [ASDataController] Revert the reloadData optimizations again - need to fix apps relying on prior behavior.
The optimization seems correct now, but apps like Pinterest have some core code relying on edit operation
order that is actually not permitted by UIKit (and this diff) but were tolerated previously.  We will
re-land this once we have time to adapt the code.
2016-02-19 21:31:39 -08:00
appleguy
32aa333c21 Revert "[ASCollectionView / ASTableView] Optimize reloadData and reloadSection: methods." 2016-02-18 19:50:06 -08:00
appleguy
33d4c8693d Merge pull request #1171 from lkzhao/ASDataController-reload
[ASCollectionView / ASTableView] Optimize reloadData and reloadSection: methods.
2016-02-18 17:36:14 -08:00
Luke Zhao
40791dd859 optimize reload data, reload sections, & move nodes performance & logic 2016-02-18 14:44:16 -08:00
Adlai Holler
76708c47cf [ASCollectionView] Always honor sectionInset in both dimensions 2016-02-18 09:54:48 -08:00
appleguy
c526fcdff4 Merge pull request #1239 from rahul-malik/rmalik-concurrent-alloc
[ASDataController] Concurrent allocation of ASCellNodes
2016-02-17 22:53:35 -08:00
Rahul Malik
19cc368d15 In addition to allocating nodes in the background, perform that operation concurrently in ASDataController 2016-02-17 22:30:58 -08:00
Scott Goodson
4a37b0882e [ASCollectionView] iOS 7-only issue where willDisplayCell: is not called, fixed for only that OS version.
This includes some method moves to make sure related methods are in closer proximitiy.
2016-02-17 22:21:46 -08:00
Scott Goodson
e1597f902a Increase default value for leadingScreensForBatching to 2.0, as 1.0 is not enough
for most network conditions / backend performance.
2016-02-16 22:19:27 -08:00
Rahul Malik
3e5daf4ccd Update data source protocols to make synchronous node creation api methods optional. 2016-02-09 22:47:43 -08:00
Michael Schneider
fa2a058585 Rename ASCollectionViewLayoutControllerBeta to ASCollectionViewLayoutController 2016-02-07 15:27:45 -08:00
Michael Schneider
026761c610 Rename ASRangeControllerBeta to ASRangeController and use exclusively 2016-02-07 15:03:24 -08:00
Michael Schneider
5d474bcb1a Remove ASDisplayNode -shouldUseNewRenderingRange method and ASRangeControllerStable class 2016-02-07 15:03:23 -08:00
Rahul Malik
c4f489b074 Address comments. 2016-02-04 16:56:29 -08:00
Rahul Malik
521c3fa1c1 Move ASCellNode allocation off the main thread by the addition of a node block
API in ASDataController. Move allocations and loaded node layouts to occur
during batch layout phase.
2016-02-04 10:38:59 -08:00
Huy Nguyen
19335d8c9e Add rangeMode APIs 2016-02-02 11:58:18 -08:00
Huy Nguyen
0b188c7a95 Add minimum tuning params 2016-02-01 16:24:19 -08:00
Huy Nguyen
b889d81de8 Don't pre-render cell nodes of collection view when it is not visible or not scrolling 2016-01-31 00:53:28 -08:00
Samuel Hsiung
39cd3afa0d [AS(Table|Collection)View] make scrollDirection transform aware 2016-01-28 16:42:46 -08:00
Levi McCallum
0e0a0f3280 Add a safety check for targetContentOffset possibly being NULL 2016-01-28 15:54:38 -08:00
Levi McCallum
6eb0521fa3 Observe decelerating scroll velocity for accurate direction reporting 2016-01-27 23:20:21 -08:00
Bin Liu
b26337c449 Levi's comments 2016-01-27 15:06:29 -08:00
Bin Liu
f6be279c60 Added more facilitator methods 2016-01-27 12:50:41 -08:00
Bin Liu
263bb311f2 expose beginUpdates and endUpdates 2016-01-27 10:50:42 -08:00
Huy Nguyen
56c6bd681b Revert "Revert commit 83aaa46, thus bring 2e4d716 back"
This reverts commit 209425c22ce84ecbb7ab631753ec8fc34dd9cbb0.
2016-01-26 12:05:02 -08:00
Huy Nguyen
8a6b7cff97 Revert "Fix ASCollectionView data inconsistency after reloadData"
This reverts commit 50e5cffbe1e6bfa9c9cc9116519c996af088ec83.
2016-01-26 12:04:55 -08:00
Huy Nguyen
50e5cffbe1 Fix ASCollectionView data inconsistency after reloadData
Fix by using `_superIsPendingDataLoad` introduced in #672
2016-01-24 23:38:30 -08:00
Huy Nguyen
209425c22c Revert commit 83aaa46, thus bring 2e4d716 back 2016-01-24 23:38:05 -08:00
Scott Goodson
83aaa4637e Revert "ASDataController now handles reloadData more efficiently and notify its delegate once instead of a series of deletes and inserts"
This reverts commit 2e4d716e0b65465d9c65b5821668c38e5fa956c9.

Possible issue with this commit.
2016-01-22 20:33:33 -08:00
appleguy
f7f468e5d1 Merge pull request #1093 from nguyenhuy/improve_reload_data
[ASDataController] Optimize reloadData to avoid performing deletions or insertions.
2016-01-22 13:34:37 -08:00
Bin Liu
b2db6cce4d remove public interface for ASCV with facilitator 2016-01-21 22:39:27 -08:00
Bin Liu
1965018c46 attempt to fix build 2016-01-21 15:20:47 -08:00
Huy Nguyen
2e4d716e0b ASDataController now handles reloadData more efficiently and notify its delegate once instead of a series of deletes and inserts 2016-01-21 11:21:21 -08:00
Bin Liu
726bc7d668 addressed comments 2016-01-21 11:14:00 -08:00
Bin Liu
bc92c64e8c Proposed version 1 2016-01-20 02:34:32 -08:00
Bin Liu
da2cbf4644 initial design 2016-01-20 02:34:32 -08:00
Scott Goodson
b989be6499 Restore full functionality of the display / data ranges when not using the Node variants of Table / Collection. 2016-01-19 18:30:01 -08:00
Matej Knopp
a6da3d185a [ASCollectionView] prevent data controller from removing/adding sections during reloadDataImmediately
Signed-off-by: Matej Knopp <matej.knopp@gmail.com>
2016-01-17 19:25:03 +01:00
Adlai Holler
5e72daa2e3 Pass node along in didEndDisplayingNode method 2016-01-12 15:42:37 -07:00
Scott Goodson
d45db5ac32 Disable creation of backing ASTable/CollectionNode for the *View varients (retain cycle). 2016-01-09 20:44:24 -08:00
Scott Goodson
984fe43997 [ASRangeController] Inspect delegate's ASInterfaceState to delay preloading beyond viewport until visible. 2016-01-03 19:14:07 -08:00
Scott Goodson
25b6f29584 Introduce ASCollectionInternal file and create always-available ASCView -> ASCNode backpointer. 2016-01-01 23:36:00 -08:00
Scott Goodson
b273f358f5 [ASRangeController] Initial implementation of functional-style, ASInterfaceState-based range controller. 2016-01-01 00:48:44 -08:00
Scott Goodson
df9f433353 Prevent calling unsupported UICollectionViewDelegate methods (supplementary view appearance) 2015-12-31 00:21:20 -08:00
Scott Goodson
ffcddf36e2 Ensure that ASRangeController immediately removes any deleted nodes from its range state. 2015-12-30 22:42:11 -08:00
Scott Goodson
051f1f6cdd Use _ASDisplayLayer for both ASTableView and ASCollectionView. zeroContentInsets to fix UIKit. 2015-12-29 22:24:44 -08:00
Scott Goodson
44feece701 Implement node-backing for ASTableView and ASCollectionView, with a strong back-pointer in these cases. 2015-12-26 23:05:34 -08:00
Scott Goodson
4b560a703a PR #1000 on GitHub! Provide a Beta API to enable the new, high efficiency render-ahead mechanism. 2015-12-26 16:34:44 -08:00
Scott Goodson
a2cf2a88e6 Overhaul header files / includes to eliminate circular references that Xcode 7 is angry about. 2015-12-25 19:22:00 -08:00
Scott Goodson
15826b58e4 Remove extra logging for build server debugging. 2015-12-23 22:24:17 -08:00