1428 Commits

Author SHA1 Message Date
Gareth Reese
7c20ba0cdf HLS videos now repeat at the end fine 2016-03-03 13:34:38 +00:00
Gareth Reese
1eebe4d31a Fixed an issue where the preview image doesn't seem to scale with the video layout when you click on the item 2016-03-03 09:46:58 +00:00
Gareth Reese
2e53770d0e Didn't need the relayout 2016-03-02 14:00:25 +00:00
Gareth Reese
4060f40d32 Added preview images for single file URLs. Unfortunately doesn't seem possible for HLS video. 2016-03-02 13:53:19 +00:00
Gareth Reese
6318db45c8 Updated the Videos sample app to cover the API changes 2016-03-01 13:06:29 +00:00
Gareth Reese
f9c8c043a1 First working version for HLS streams 2016-03-01 12:08:09 +00:00
Gareth Reese
75f615b223 Rearranged the method order to put the construction in one place and moved construction of the playerNode to -constructPlayerNode for DRY 2016-03-01 10:25:45 +00:00
appleguy
e9fcfefbdd Merge pull request #1294 from vivqu/batch_fetch
[ASCollectionView] Account for contentInset when calculating ASScrollDirection
2016-02-29 22:31:40 -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
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
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
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
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
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
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
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
Scott Goodson
792db0061b [ASMapNode] Perform MKMapSnapshotter callback off the main thread to eliminate UIImage handling overhead. 2016-02-24 17:02:22 -08:00
appleguy
306aec9d5b Merge pull request #1270 from Adlai-Holler/AHFixMapNodeUnhostingView
[ASMapNode] Remove Live Map in clearFetchedData, Not clearContents
2016-02-24 17:01:11 -08:00
Adlai Holler
de46701ff7 [ASMapNode] Remove live map on clearFetchedData, not clearContents 2016-02-24 15:20:02 -08:00
Garrett Moon
6a1298440d Flex shrink should be set on title init, not image init 2016-02-24 15:10:18 -08:00
appleguy
439ca172d1 Merge pull request #1267 from eanagel/super-layout-required
[ASDisplayNode] Add NS_REQUIRES_SUPER for -layout.
2016-02-24 13:31:56 -08:00
Ethan Nagel
fa4e20e874 Initialize _asyncDelegateImplementsScrollviewDidScroll so we forward scollViewDidScroll: calls 2016-02-24 11:03:06 -08:00
Ethan Nagel
26dcad5218 Add a warning if [super layout] is not called (which causes big problems for ASLayout.) 2016-02-24 10:28:22 -08:00
rcancro
8dbc8b7df4 reordered conditionals, moved beta things to beta header file 2016-02-24 08:06:10 -08:00
rcancro
878fedd8f3 Stopped trying to cache the currentScaleFactor
Was running into issues where the scale factor would get cleared when setting a new atributedString on a textNode.

I was clearing out the currentScaleFactor when setting an attributedString into a textNode. It appears that `_calculateSize` isn't always called when setting a new string into a ASTextNode. It can be the case that only `drawInContext:bounds:` is called. With _currentScaleFactor cleared out the renderer that calls`drawInContext...` was being called with a scaleFactor of 0.

It could be the case that the fix could be to remove the clearing of `currentScaleFactor` from `setAttributedString`, but this seems like a safer fix to me. It does, however, require an extra run through the font adjuster when enabled.
2016-02-23 16:51:10 -08:00
Levi McCallum
c2d379f8f5 Add a bit of documentation to describe the problem this is solving 2016-02-23 13:02:37 -08:00
Levi McCallum
4640801939 Enable animated bounds changes in ASCollectionView 2016-02-23 09:36:11 -08:00