Commit Graph

3364 Commits

Author SHA1 Message Date
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
Michael Schneider
22fa715682 Move lock from ASDN::Mutex to std::mutex in ASTextKitContext 2016-06-20 13:42:17 -07:00
Adlai Holler
b4f25f3d63 Merge pull request #1778 from eanagel/asimagenode-animated-scrolling
[ASImageNode] Update default run loop for animated images to CommonModes
2016-06-20 13:40:43 -07:00
Michael Schneider
e30a4c5b58 Merge pull request #1776 from maicki/FixWrappedViewsAreDisappearing
[Wrapping Views] Fix wrapped UIKit components are disappearing
2016-06-20 13:38:03 -07:00
Michael Schneider
e230c69055 Improve settings flags 2016-06-20 13:34:14 -07:00
Michael Schneider
eef22074a4 Add caching for checking if ASDisplayNode can clear it contents or setNeedsDisplay: can be called on the layer 2016-06-20 13:04:44 -07:00
Michael Schneider
23736c3cf7 Fix wrapped UIKit components are disappearing
I looked into the internals of UIImageView a bit. I would recommend to not fixing this in a universal way. UIImageView is specifically optimized for performance and does not use the usual way to provide the contents of the CALayer that backs the UIImageView.

Furthermore we cannot trigger a recreation of the contents of the UIImageView layer as if it get’s cleared and we call setNeedsDisplay on it it goes trough the normal flow to assign the contents to a layer via the CALayerDelegate methods. Unfortunately UIImageView does not do it, it actually does not implement some of the methods at all, so nothing will show up. It’s getting better, by calling setNeedsDisplay on an UIImageView layer it actually clears the contents and nothing is visible anymore. So we have to be careful to not calling that too.

Unfortunately I didn’t find a way yet to trigger a recreation of the UIImageView layers content except calling the private _updateState method.

That said it’s different for layers of other UIKit components like UILabel for example. Clearing the contents of a UILabel layer and calling setNeedsDisplay on the layer usually recreates the contents of the it and it will show up again.

This commit prevents to clear the contents of a layer for all wrapped UIKit and instead only NOT clear the content if the node wraps a UIImageView otherwise we should clear the contents of the layer to reclaim memory as usual.
2016-06-20 13:04:44 -07:00
Michael Schneider
ad997015ea Merge pull request #1783 from maicki/FixHandlingOptionalDidLoadImage
[ASNetworkImage] Fix not handling imageNode:didLoadImage: from ASNetworkImageNodeDelegate as optional
2016-06-20 12:59:11 -07:00
Michael Schneider
2c6e810e26 Fix not handling imageNode:didLoadImage: from ASNetworkImageNodeDelegate as optional 2016-06-20 07:50:40 -07:00
Ethan Nagel
ead9590d36 Default animation run loop -> CommonModes 2016-06-19 18:52:32 -07:00
Hannah Troisi
da27d36b4a Add comments 2016-06-18 12:54:55 -07:00
Adlai Holler
5d434d418f Merge pull request #1765 from facebook/AHLockingPassOne
[ASDisplayNode] Resolve Deadlock Caused By removeFromSupernode
2016-06-17 13:58:10 -07:00
Vadim Spivak
eb057ca380 Editable text node should include insets when calculating size 2016-06-17 13:55:32 -07:00