2069 Commits

Author SHA1 Message Date
George A
69ca67b578 Code cleaning and fixes based on code review. 2016-07-11 10:43:19 +02: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
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
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
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
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
Adlai Holler
5d434d418f Merge pull request #1765 from facebook/AHLockingPassOne
[ASDisplayNode] Resolve Deadlock Caused By removeFromSupernode
2016-06-17 13:58:10 -07:00
Adlai Holler
3446f39704 Merge pull request #1746 from maicki/FixFetchDataRangeModeMinimumDefault
Fix default tuning parameter for range mode ASLayoutRangeModeMinimum and range type ASLayoutRangeTypeFetchData
2016-06-17 11:45:43 -07:00
Adlai Holler
42aa52b407 [ASDisplayNode] Put the thread affinity assertion back 2016-06-17 09:51:09 -07:00
Vadim Spivak
e55037354c Round up editable text node to the next point (#1761)
Rounding up to the next device pixel was calculating a height smaller
than  UITextView's contentSize. This was causing the baseline to move as
the user was typing.
2016-06-16 21:59:29 -07:00
Michael Schneider
aa5d730eab Deallocate objects on a serial queue specific for deallocation (#1737)
[Performance] Prevent GCD thread explosion due to object deallocation workloads (serial deallocation queue).
2016-06-16 18:18:43 -07:00
Michael Schneider
efab1a4855 Move modifier to __weak for the highlighted layer in ASTextNode (#1756) 2016-06-16 18:12:57 -07:00
Adlai Holler
15b6f2e281 [ASLayoutTransition] Optimize add/remove subnode methods 2016-06-16 17:10:33 -07:00
Adlai Holler
f5460a44e0 [ASDisplayNode] Reduce locking in removeFromSupernode 2016-06-16 17:10:09 -07:00
Michael Schneider
67055eecff Fix default tuning parameter for range mode ASLayoutRangeModeMinimum and range type ASLayoutRangeTypeFetchData 2016-06-13 17:03:36 -07:00
Hannah Troisi
c857e809f4 Clean up header comments (for consistent Facebook licensing info) (#1741)
[Licensing] Clean up header comments (for consistent Facebook licensing info)
2016-06-11 23:31:39 -07:00
appleguy
c211c76c64 Merge pull request #1735 from levi/betterFlatten3
[ASLayout] Clean up flattening process of ASLayout
2016-06-11 23:15:16 -07:00
appleguy
a7128cd213 Merge pull request #1605 from lappp9/override-callback-for-display-range
[ASDisplayNode] Added callbacks for entering and exiting fetch data and display ranges
2016-06-11 22:21:20 -07:00
Levi McCallum
7e8d519a9a Introduce type property to replace layout id check 2016-06-10 12:43:46 -07:00
Levi McCallum
a3e8f556a3 Clean up flattening process in ASLayout 2016-06-10 12:43:46 -07:00
Levi McCallum
4149c6b0f5 Move ASLayout frame to a computed property 2016-06-10 12:43:46 -07:00
Levi McCallum
f1f45c61a8 Copy dequeued context 2016-06-10 12:43:46 -07:00
Levi McCallum
af932e7596 Simplify ASLayout flatten BFS 2016-06-10 12:43:46 -07:00
appleguy
f72f39b445 Merge pull request #1726 from ejensen/local-animated-image
[ASNetworkImageNode] Support loading local animated images
2016-06-09 23:34:38 -07:00
appleguy
f4bc195b92 Merge pull request #1723 from ejensen/animated-image-runloop-mode
[ASImageNode] Allow configuration of animation runloop
2016-06-09 23:21:26 -07:00
Michael Schneider
389fd4b15d Further improvements for ASPagerNode rotation 2016-06-09 20:11:21 -07:00
Michael Schneider
3e8ea64a1b Update to latest state 2016-06-09 15:46:08 -07:00
Michael Schneider
1c6686e5d6 Improve rotation support for ASPagerNode 2016-06-09 15:46:08 -07:00
Eric Jensen
fdc57410ee Move the default animated image runloop mode to a constant, and fallback to the constant if the runloop mode is set to nil 2016-06-09 10:53:37 -07:00
Eric Jensen
91e6df0af9 Add a way to check if data is in a format supported by a class implementing ASAnimatedImageProtocol 2016-06-09 10:36:18 -07:00
Eric Jensen
1fb3ffc6f8 Replace usage of imageWithData: with imageWithContentsOfFile: 2016-06-09 10:01:59 -07:00
appleguy
1847b5e947 Merge pull request #1727 from ejensen/video-poster-fix
[ASVideoNode] Prevent setting old poster image if the asset was set to nil
2016-06-08 22:41:30 -07:00
appleguy
6632b4ec5f Merge pull request #1722 from rcancro/layoutSpecTraitObject
[ASLayoutSpec] Remove cached ASTraitCollection
2016-06-08 22:29:47 -07:00
Michael Schneider
434102f988 Address comments from review
- Remove public NSMutableArray header for validators
- Add ASDISPLAYNODE_EXTERN_C_BEGIN/END
- Rename isRootLayout to isFinalLayoutable
2016-06-08 18:42:32 -07:00
Michael Schneider
9ff7223b77 Move validation code to ASLayoutValidation and add validation flag 2016-06-08 16:59:46 -07:00
Michael Schneider
f9e13545bf Improve layout validation
- Asserts if layout is invalid
- Add better help messages if layout is invalid
2016-06-08 16:39:03 -07:00
Eric Jensen
5cc25686ff Correct documentation comment 2016-06-08 12:37:46 -07:00
Eric Jensen
001d3ea624 Use a strong reference to the current asset in order to prevent setting a placeholder image if the asset is set to nil while the placeholder image is generating 2016-06-08 12:37:32 -07:00
Eric Jensen
7de82b0b5b Support loading animated images from the local filesystem 2016-06-08 11:34:56 -07:00
Eric Jensen
370e5f1006 Allow configuration of ASImageNode's animation runloop 2016-06-08 10:38:43 -07:00
Michael Schneider
197950f39b Add basic infrastructure for layout validation 2016-06-08 10:35:28 -07:00
ricky
3c34d51a19 [ASLayoutSpec] Remove cached ASTraitCollection 2016-06-07 10:50:42 -07:00
appleguy
cb67671f1d Merge pull request #1719 from garrettmoon/fixParentManagesVisibilityDepth
Reset the parentManagesVisibilityDepth flag so it's checked again
2016-06-06 23:13:18 -07:00