Commit Graph
5091 Commits
Author SHA1 Message Date
Huy Nguyen c64f23725f Update ASCellNode visibility API 2016-02-29 20:26:16 -08:00
appleguy afed74f9e0 Merge pull request #1293 from maicki/UpdateInterfaceOnVisibilityChange
[ASInterfaceState] Ensure cell visibility is updated if overall Table or Collection becomes invisible.
2016-02-29 19:50:30 -08:00
Vivian Qu 31b576ebcd Address comment 2016-02-29 17:49:26 -08:00
Vivian Qu d28c3c27c6 Account for contentInset when calculating ASScrollDirection 2016-02-29 17:10:39 -08:00
Michael Schneider 084e6f82c1 Trigger updating interfaceState for cells in case ASTableView or ASCollectionView becomes visible or invisible 2016-02-29 17:04:25 -08:00
appleguy 07ad27c7f6 Merge pull request #1291 from nguyenhuy/container_object
[ASDataController] Performance tuning for array enumeration, etc.
2016-02-29 14:24:17 -08:00
appleguy f123ed87a1 Merge pull request #1282 from maicki/UpdateCurrentRangeModeAPI
[ASRangeController] API to update current range mode for the next range update
2016-02-29 14:20:44 -08:00
Huy Nguyen 6d463daac7 ASDataController improvements
- _populateFromDataSourceWithSectionIndexSet doesn't accept a mutanle array but allocate one itself.
- Remove _populateFromEntireDataSourceWithMutableContexts.
- ASIndexedNodeContext executes its block, nil out the block and return the result.
2016-02-29 14:03:40 -08:00
Michael Schneider 568aa6c2fb Update automatic range mode at the beginning of the update pass to consider new information in a possible next pass 2016-02-29 11:39:50 -08:00
Michael Schneider b2eaf83264 Ignore call to updateCurrentRangeWithMode: to prevent trigger view creation before node was loaded 2016-02-29 11:39:50 -08:00
Michael Schneider aca5b14c2b Move automatic range update to a private API 2016-02-29 11:39:50 -08:00
Michael Schneider 760f4ada91 Add API to ASViewController to automatically adjust the range mode of the containing node based on view events 2016-02-29 11:39:50 -08:00
Michael Schneider 60889f555e Add API to update the current range mode of a table or collection view range controller 2016-02-29 11:39:49 -08:00
Huy Nguyen b098d80796 Performance improvements in ASDataController based on @Adlai-Holler comments in #1288 2016-02-29 11:36:48 -08:00
appleguy ab920aa360 Merge pull request #1290 from nguyenhuy/container_object
Follow-up on #1288
2016-02-29 11:05:59 -08:00
Huy Nguyen eadb6cbb0a Fix wrong memory attribute for indexPath attribute in ASIndexedNodeContext 2016-02-29 09:33:53 -08:00
appleguy 2a89c1d3d6 Merge pull request #1288 from nguyenhuy/container_object
[ASDataController] Introduce ASIndexedNodeContext for efficiency and simplicity in managing nodes, indexPaths, and their constraints.
2016-02-29 01:10:38 -08:00
Huy Nguyen 54cde1a3db Introduce ASIndexedNodeContext
- It is a container object that holds enough information to construct and measure a cell node
- All information is gathered on main thread. This allows ASDataController to capture the correct state of its data source before going to background.
2016-02-29 01:00:16 -08:00
Scott Goodson 5e35ef7938 [ASDisplayNode] Ensure display is triggered properly even before layers are onscreen (in display range). 2016-02-29 00:46:45 -08:00
appleguy 875ce9fc7b Merge pull request #1287 from facebook/ArrayCopyOptimization
[ASDisplayNode] Optimize -setNeedsDisplay, deep mutable array copies.
2016-02-28 22:17:51 -08:00
Scott Goodson eac85b6c9a [ASDisplayNode] Optimize -setNeedsDisplay, deep mutable array copies.
These optimizations are surprisingly impactful.  -setNeedsDisplay being called
for every node triggered cancelAsyncDisplay, locking, and memory management overhead
that is completely avoidable because Core Animation triggers first display automatically.

The mutable array copy optimizations reduced this key cost by over 10x, from 52ms to 5ms
on an iPad Air 2 / A8X with a real-world test case.
2016-02-28 20:54:56 -08:00
appleguy 3671f5cbc5 Merge pull request #1283 from Adlai-Holler/AHPendingStateLocking
[ASPendingStateController] Relinquish Lock Before Applying Pending States
2016-02-26 23:53:08 -08:00
Adlai Holler 324b633b0f [ASPendingStateController] Don't hold lock while flushing 2016-02-26 23:14:58 -08:00
appleguy fd3eca9091 Merge pull request #1281 from ejensen/VideoNodeAssetCast
[ASVideoNode] AVAsset type cast safety
2016-02-26 22:50:44 -08:00
appleguy f2900cbee7 Merge pull request #1276 from maicki/improve-astextcellnode
[ASTextCellNode] Add several new APIs for customizability of this simple cell component.
2016-02-26 22:50:20 -08:00
Eric Jensen cb1579e8af Check the AVAsset's type before casting to an AVURLAsset 2016-02-26 11:00:27 -08:00
Michael Schneider 45c616d916 Improve ASTextCellNode customization 2016-02-26 06:31:09 -08:00
Aaron Schubert f7f04531e1 Merge remote-tracking branch 'origin/tvOS' into tvOS 2016-02-26 09:40:28 +00:00
Aaron Schubert 88e4ec4130 [tvOS] Optimize shadow methods to use local variable. 2016-02-26 09:40:14 +00:00
appleguy a3576d5d61 Merge pull request #1280 from davidlawson/master
Added NSArray+Diffing.m and ASDefaultPlayButton.m to iOS Framework target
2016-02-25 19:21:57 -08:00
appleguy 60b68f33de Merge pull request #1271 from maicki/update-examples
[Examples] Improvements to the sample apps - adopt node blocks, general cleanup.
2016-02-25 19:15:55 -08:00
appleguy d3f75b2281 Merge pull request #1279 from facebook/OpaqueAndBGDisplay
[ASDisplayNode] Bridge should trigger display when opacity or bg color change.
2016-02-25 19:04:05 -08:00
David Lawson 307872099f Added NSArray+Diffing.m and ASDefaultPlayButton.m to iOS Framework target 2016-02-26 13:52:53 +11:00
Scott Goodson 89516129a4 [ASDisplayNode] Bridge should trigger display when opacity or bg color change. 2016-02-25 18:25:39 -08:00
appleguy 93575b20e9 Merge pull request #1277 from nguyenhuy/layout_transition_for_cell_node
[ASCellNode] Notify layout delegate during layout transition
2016-02-25 14:56:05 -08:00
appleguy 6f12444be0 Merge pull request #1265 from rcancro/scaleFactor
[ASTextNode] Stopped trying to cache the currentScaleFactor
2016-02-25 14:54:19 -08:00
appleguy 6e85ad8170 Merge pull request #1274 from Adlai-Holler/AHMapNodeVendAnnotations
[ASMapNode] Promote annotations to a Formal Property
2016-02-25 14:46:33 -08:00
Huy Nguyen 0fe774511c ASCellNode notifies its layout delegate during layout transition 2016-02-25 12:19:14 -08:00
appleguy 7d9ad723fe Merge pull request #1275 from nguyenhuy/fix_didCompleteTransitionLayout
Fix didCompleteLayoutTransition
2016-02-25 11:30:39 -08:00
Huy Nguyen 640b6bdf4a Fix mismatch between the signature of didCompleteLayoutTransition and its implementation 2016-02-25 10:58:36 -08:00
Adlai Holler 60f5ba2d17 Simplify ASMapNode.setAnnotations 2016-02-25 10:40:38 -08:00
Adlai Holler 2fbc7b0942 Make ASMapNode vend its annotations 2016-02-25 10:32:13 -08:00
aaronschubert0 26d9effdec [tvOS] Remove extra space so that there are no git differences. 2016-02-25 09:10:47 +00:00
Aaron Schubert 203b344e7b Merge remote-tracking branch 'origin/tvOS' into tvOS 2016-02-25 09:06:44 +00:00
Aaron Schubert f9bf402047 [tvOS] Clean up and document parts of code. 2016-02-25 09:06:11 +00:00
aaronschubert0 58f083cef9 [tvOS] Revert pod spec changes, to get ready for merge. 2016-02-25 08:26:19 +00:00
appleguy e53c0c2d8c Merge pull request #1272 from nguyenhuy/fix_diffing_algo
[Utilities] Fix diffing algorithm not using custom comparison block
2016-02-24 20:48:19 -08:00
Huy Nguyen 32a8f9c831 Assert comparison block in diffing algorithm 2016-02-24 20:42:18 -08:00
Huy Nguyen bd1b195dbe Fix diffing algorithm not using custom comparison block 2016-02-24 20:33:02 -08:00
Michael Schneider bb35470c72 Overall examples improvement 2016-02-24 20:21:42 -08:00