Commit Graph
4676 Commits
Author SHA1 Message Date
Adlai Holler 71d9f64535 Carry over first-pass change set improvements 2016-06-24 11:12:37 -07:00
Adlai Holler 77f24231b3 [Documentation] Add a comment why we prefer -indexPathForItem:inSection: 2016-06-24 10:13:51 -07:00
Gareth Reese 9349abb737 Merge branch 'master' of https://github.com/facebook/AsyncDisplayKit into ASVideoNode-overwrittenplaceholder 2016-06-24 11:39:12 +01:00
Adlai Holler 457e08005f [ASDataController] Remove asyncDataFetching Option, Cleanup (#1794)
* [ASDataController] Add some assertions to clarify what queues things happen on

* [ASCollectionDataController] Optimize willReloadData

* [ASDataController] Minor optimizations, no functional changes

* [ASDataController] Always reload data on _editingTransactionQueue

* [ASDataController] Remove async data fetching option, deprecate callbacks

* [ASDataController] Not mutable

* [ASMultidimensionalArrayUtils] Use fast enumeration

* Optimize ASMultidimensionalArrayUtils
2016-06-23 21:08:44 -07:00
ricky 997d37dc83 [ASEnvironment] Don't relayout as a result of clearing a traitCollection's context (#1759)
* Don't relayout as a result of clearing a traitCollection's context

I'm not completely sure this change is the best solution. Here is context:

An ASEnvironmentTraitCollection has a pointer to an optional context that an ASVC is the owner of. When the ASVC is dealloc'ed, we go through all subnodes of the VC and clear out the context so that the struct isn't holding on to a garbage pointer.

Setting the traitCollection on ASCollectionNode/ASTableNode causes the cells to relayout if the trait collection changed (this is  a special case for these two nodes since their cells are not actually subnodes). Setting the context to nil registered as a trait collection change and was causing a layout even as we were dealloc'ing the VC.

The logic I'm implementing here is:
If the trait collection changed AND the displayContext did not, then we should relayout.
If the trait collection changed AND the new displayContext is non-nil then we should layout
In the case where the trait collection change was caused soley by the displayContext going from non-nil to nil, then we should NOT layout.

```
// At this point we know that the two traits collections are NOT equal for some reason
BOOL needsLayout = (oldTraits.displayContext == currentTraits.displayContext) || currentTraits.displayContext != nil;
```

Is there a better place/safer way to do this?

* removed extra setNeedsLayout call
2016-06-23 20:07:45 -07:00
Hannah Troisi d850057916 [Travis CI] move carthageBuildTest to examples_extra to avoid Travis error 2016-06-23 16:25:48 -07:00
Michael Schneider f0bfa24fa3 Merge pull request #1766 from hannahmbanana/collectionLayout
[ASCollectionView, ASCellNode] Add support applyLayoutAttributes: on ASCellNode
2016-06-23 15:09:10 -07:00
Michael Schneider 2375e31033 Merge pull request #1721 from rcancro/layoutSpec
[ASLayoutSpec] Remove use of dictionary to hold children
2016-06-23 15:07:08 -07:00
Hannah Troisi 54e29d2236 [Carthage] fix travis build error (#1804)
* [Carthage] Add cartfile, update example

* [Carthage] fix travis build issue

* [Carthage] fix cartfile for travis build error

* capitalization fix
2016-06-22 23:22:42 -07:00
Adlai Holler 57310a6fe4 Merge pull request #1802 from facebook/AHThrashTesting
[Unit Tests] Add Table View Data Thrash Testing
2016-06-22 21:35:58 -07:00
Michael Schneider 4f61b6e1cc Merge pull request #1777 from maicki/StructsForDrawingParameter
[ASTextNode / ASImageNode] Use structs for drawing parameter
2016-06-22 20:48:58 -07:00
Michael Schneider 95b03472f2 Merge pull request #1785 from facebook/AHWillDisplayCellDeprecate
[ASCollectionView/ASTableView] Warn Users About Index Paths in willDisplayNode:/didEndDisplayingNode: Methods
2016-06-22 20:47:43 -07:00
Michael Schneider 7175afba59 Merge pull request #1790 from gazreese/ASVideoNode-delegate-superclass
[ASVideoNode] Ensure that both ASVideoNode and ASNetworkImageNode delegate methods are called
2016-06-22 20:43:49 -07:00
Adlai Holler 12336de325 [ASThrashTesting] Array is immutable 2016-06-22 17:25:09 -07:00
Adlai Holler 9fc3ec9096 [ASThrashTesting] Numbers so magic 2016-06-22 17:19:36 -07:00
Adlai Holler bd7f90f7ee [ASThrashTesting] Remove unneeded clang diagnostics 2016-06-22 17:14:01 -07:00
Adlai Holler 3ca95778df [ASThrashTesting] Some cleanup 2016-06-22 17:11:21 -07:00
Adlai Holler 383667f2c3 [ASThrashTesting] Rocking and rolling! 2016-06-22 17:02:46 -07:00
John Engelhart ea64d7d09b Pr/fix unit tests memory leaks (#1795)
* Fix some concurrency problems detected by Xcode 8's new Thread Sanitizer.

Some of these changes are arguably just to silence the warnings from Thread Sanitizer.

* Fix several memory leaks in the unit tests.

A number of the unit test source files are compield with `-fno-objc-arc`.  This was clearly overlooked when writing several of the unit tests.

Fixed by (mostly) switching to use of `-autorelease` for the problem code.

NOTE: This commit doesn't fix all the memory leaks found.  There's still at least one leak in `-[ASDisplayNodeTests testSetNeedsDataFetchImmediateState]`, and several leaks in `ASBasicImageDownloader.mm`.  I wasn't able to find a trivial cause to these, unfortunately.
2016-06-22 16:56:53 -07:00
Nick Velloff a05d3119ad [WIP] Trigger new batch fetch for collection view after layout transitions (#1697)
[Table / Collection] Trigger new batch fetch after programmatic scrolls, or layout transitions.
2016-06-22 16:21:10 -07:00
Adlai Holler 4184c21c0c [ASThrashTesting] Continue setting up replay feature 2016-06-22 15:46:47 -07:00
Hannah Troisi eb9e8167c3 [Carthage] Add cartfile, update Carthage example (#1796) 2016-06-22 15:37:31 -07:00
Hannah Troisi d547372a63 [Carthage] define PIN_REMOTE_IMAGE in .pch for non-CocoaPod users (#1797)
* [Carthage] define  PIN_REMOTE_IMAGE in PCH

* fixed ClassString
2016-06-22 15:37:00 -07:00
Adlai Holler 15e03d85cf [ASThrashTesting] Move update into an archivable object so we can replay tests 2016-06-22 14:19:59 -07:00
Adlai Holler 290897cb56 [ASThrashTesting] Little more cleanup 2016-06-22 13:06:16 -07:00
Adlai Holler 64835c0db7 [ASThrashTesting] It's working! + Cleanup 2016-06-22 13:04:47 -07:00
Adlai Holler fcf2db79f8 [ASTableViewThrashTests] Initial commit 2016-06-21 18:46:08 -07:00
ricky af98d23bf0 michael's comments 2016-06-21 14:49:47 -07:00
ricky eb715e5836 hold children in a map instead of vector 2016-06-21 14:22:49 -07:00
ricky 2675204d50 [ASLayoutSpec.mm] Remove use of dictionary to hold children
Converted the backing store of children to a std::vector. Subclass now have defined indexes instead of string keys to add children.
2016-06-21 14:22:44 -07:00
Michael Schneider 36e48cf340 Remove caching of _drawParameter and use bounds instead of threadSafeBounds 2016-06-21 13:11:38 -07:00
Michael Schneider 74b9b6b49e Use threadSafeBounds instead of bounds to create drawing parameters 2016-06-21 13:11:38 -07:00
Michael Schneider e7f2edd183 Add updating drawing parameter in ASTextNode
Update drawing on demand if properties change and not on every drawing cycle. This should reduce the overhead to access properties from the view / layer for the drawing parameters.
2016-06-21 13:11:38 -07:00
Michael Schneider fc7cff333e Prevent subclassing of ASTextNode and ASImageNode 2016-06-21 13:11:38 -07:00
Michael Schneider 3384297c58 Move drawing parameters in ASTextNode and ASImageNode to structs 2016-06-21 13:11:38 -07:00
Michael Schneider 6dac29a16f Merge pull request #1768 from vadims/fix-editable-text-size-calculation
[ASEditableTextNode] should include insets when calculating size
2016-06-21 13:03:01 -07:00
Adlai Holler fcb6938224 Revert deprecated method warning suppression 2016-06-21 09:20:40 -07:00
Adlai Holler c14bbf6005 Undeprecate the methods. Just inform users about the index path issue 2016-06-21 09:16:54 -07:00
George A 83d610cd54 [ASMapNode] Toggle user interaction when liveMap changes (#1753)
[ASMapNode] Change map snapshot when updating it with a new region (#1754)
[ASMapNode] Commented out code that is causing inaccurate behavior
[ASMapNode] Added the ability to zoom in and show annotations, similar to showAnnotations:animated: of MKMapView.
Added a basic example for ASMapNode to try out the different changes
2016-06-21 16:13:55 +02:00
Gareth Reese 3fee0810d5 [ASVideoNode] Ensure that both ASVideoNode and ASNetworkImageNode delegate methods are called for ASVideoNode observers 2016-06-21 11:36:54 +01:00
Hannah Troisi 21d0f1e10d [Travis CI] Build Optimizations (#1743)
* [Travis CI] Build Optimizations

* update cocoapods versionm

* test sharing derived data directories

* Hack to reduce travis run time

* Remove test file

* Add missing slashes
2016-06-21 01:02:40 -07:00
Gareth Reese 062bcf3631 [ASVideoNode] issue #1782 Placeholder images are replaced by a blank placeholder. Now checks the .URL property of the parent class as well as the .image to ensure that new placeholders aren't generated. 2016-06-21 07:51:58 +01:00
Hannah Troisi 92b412b73f [GitHub Mgmt] Updated Issue Checklist (#1787)
* [ASDK Management] PR / Issue Checklists

* Update ISSUE_TEMPLATE.md

* Remove PR template, add GitHub rules, modify issue template

* Fixed Issue Template
2016-06-20 21:44:48 -07:00
Eric Jensen c32e2f8383 If the animated image is ready, start animating it as soon as it's set (#1724) 2016-06-20 20:18:44 -07:00
Hannah Troisi 1198f114f2 [ASDK Management] PR / Issue Checklists (#1752)
* [ASDK Management] PR / Issue Checklists

* Update ISSUE_TEMPLATE.md

* Remove PR template, add GitHub rules, modify issue template
2016-06-20 20:17:51 -07:00
Adlai Holler 9873f4bd7d Deprecate willDisplayNode:/didEndDisplayingNode: methods 2016-06-20 16:40:10 -07:00
Michael Schneider c129b78318 Merge pull request #1749 from maicki/AddASTextNodeLocking
[ASTextNode] Refactor locking to account for recent feature additions and on-demand initialization.
2016-06-20 13:44:13 -07:00
Michael Schneider 6bde8cdcf3 Adress review comments
- Add locking to _linkAttributeValueAtPoint:attributeName:range:inAdditionalTruncationMessage:forHighlighting: as we access the attributed text in there
- Add locking to touchesBegan:withEvent: as we are accessing the [ASTextKitRenderer firstVisibleRange]
- Add locking for highlightStyle
- Move accessing delegate property access to instance variable access
2016-06-20 13:42:17 -07:00
Michael Schneider f3a909324d Add lock to _rendererAttributes 2016-06-20 13:42:17 -07:00
Michael Schneider 3d72a6b7e5 Cleanup ASTextNode and add locking
For now we use a big recursive lock. This needs to be revisited as we revisit the whole ASDK locking strategy.
2016-06-20 13:42:17 -07:00