Commit Graph

2256 Commits

Author SHA1 Message Date
Michael Schneider
9729b61dde Add whitespace 2016-07-15 13:19:06 -07:00
Michael Schneider
fcfce5128d Grab propertyLock to get supportsRangeManagedInterfaceState and for asking dirty layout status 2016-07-15 13:19:06 -07:00
Michael Schneider
20a49f037b Comment adjustment for laying out nodes 2016-07-15 11:41:10 -07:00
Michael Schneider
4447ae4bd4 Move ASPerformBlockOnBackgroundThread as it already calls the method inline if it's on the main thread 2016-07-15 11:41:10 -07:00
Michael Schneider
729766a365 Add convenience functions to create relative sizes with percentage 2016-07-15 10:51:45 -07:00
Adlai Holler
cc8e0049c5 Merge pull request #1921 from facebook/AHRangeModeUpdatingIssues
[ASRangeController] Fix Major Range Mode Updating Issues
2016-07-15 10:22:36 -07:00
Adlai Holler
e7fc5a98f2 Merge pull request #1906 from facebook/AHReduceBlockInvocations
[Performance] Various Easy Performance Wins
2016-07-15 10:14:22 -07:00
Adlai Holler
013c1637a1 Merge pull request #1924 from maicki/MSFixASTextNodeTruncationAgain
[ASTextNode] Fix wrong truncation after constrained size changes
2016-07-15 10:07:06 -07:00
Michael Schneider
359785ac92 [ASDisplayNode] Add automatic measurement before layout (#1725)
* Add automatic measurement before layout

* Remove code not needed or addressed in a different PR

* Adjust comments and rename __layoutSublayouts to __layoutSubnodes

* Check before setting up a placeholder layer if the node should have a placeholder
2016-07-14 21:51:40 -07:00
Michael Schneider
a8c5ac138d [ASDisplayNode] Always layout nodes on a background thread (#1907)
* Always layout nodes on a background thread

* Remove semaphore in ASDataController for allocating nodes and layout

* Fix variable not used error

* Remove overhead to create subarray of contexts of nodes while layout nodes

* Remove extra allocation of allocatedNodes and indexPaths array
2016-07-14 21:35:58 -07:00
Adlai Holler
cac0cce0b0 [ASLayoutTransition] Make findNodesInLayoutAtIndexesWithFilteredNodes faster 2016-07-14 16:11:28 -07:00
Michael Schneider
bbc957bce5 Throw away all subcomponents of the text kit renderer if constraints are changing
Throw away the all subcomponents to create them with the new constrained size new as well as let the truncater do it's job again for the new constrained size. This is necessary as after a truncation did happen the context would use the truncated string and not the original string to truncate based on the new constrained size
2016-07-14 15:11:10 -07:00
Adlai Holler
fe63b7b65f Use fast enumeration in a couple places 2016-07-14 15:10:49 -07:00
Garrett Moon
aaea4a4d85 Class was in wrong #ifdef, thank you @schneider! 2016-07-14 14:57:40 -07:00
Garrett Moon
92e16fb7a6 Share ASDK's PINRemoteImage cache with default instance of PINRemoteImage 2016-07-14 14:57:35 -07:00
Michael Schneider
cd46791f9d Move check for iOS 9 from an early return to an earlier check to prevent objc_msgSend 2016-07-14 14:50:54 -07:00
Michael Schneider
6e8772a68d Fix sizing of root node in ASViewController for modal presentation and root view controller 2016-07-14 14:48:05 -07:00
Adlai Holler
787fd8b90b [ASViewController] Defer range update conformance check until the actual range update 2016-07-14 11:32:50 -07:00
Adlai Holler
b0a2ba0f6d [ASTableNode/ASCollectionNode] Make them conform directly to range updating protocol 2016-07-14 11:27:32 -07:00
Adlai Holler
bd0254f306 [ASRangeControllerUpdateRangeProtocol] BREAKING Remove +setRangeModeForMemoryWarnings:, replace with global method 2016-07-14 11:26:18 -07:00
Adlai Holler
3591f7a7c1 [ASViewController] Allow VC to conform to range updating protocol, log message if impossible to update 2016-07-14 10:56:52 -07:00
Michael Schneider
ce98e56352 Use getter of layout inspector to create it lazily and not have to create it at initialization time 2016-07-13 16:36:48 -07:00
Michael Schneider
8b3ec83bfd Small name changes 2016-07-13 16:36:48 -07:00
Michael Schneider
d82a2e810f Move methods regarding supplementary nodes to optional in ASCollectionViewLayoutInspecting 2016-07-13 16:36:48 -07:00
Michael Schneider
30bb2ee93d Address comments from @levi 2016-07-13 16:36:48 -07:00
Michael Schneider
9fb3129a0e Add default ASCollectionViewLayoutInspecting for custom ASCollectionViewLayout 2016-07-13 16:36:48 -07:00
Michael Schneider
35c860c183 Refactor usage of ASCollectionViewLayoutInspecting
- Fix not using itemSize of UICollectionViewFlowLayout
- Move automatic constrained size calculation to the ASCollectionViewFlowLayoutInspector
- Provide a null layout inspector for throwing exceptions if a custom
  UICollectionView is given but no ASCollectionViewLayoutInspecting
- Fix not checking for optional layout inspecting data source methods
  are implemented or not
- Improving tests around ASCollectionViewLayoutInspecting
2016-07-13 16:36:48 -07:00
Michael Schneider
e30c76c5ad Remove deprecated selected and highlighted methods (#1909) 2016-07-13 10:13:31 -07:00
Adlai Holler
0a9b308f2c [_ASHierarchyChangeSet] Use std::unordered_map rather than dictionary 2016-07-12 15:28:30 -07:00
Adlai Holler
8eb25e737b [ASCollectionDataController] Use block-based enumeration with dictionaries 2016-07-12 15:17:57 -07:00
Adlai Holler
9cd606d182 Two more small performance wins 2016-07-12 15:11:13 -07:00
Adlai Holler
6aad142f2e [ASCollectionDataController] Some optimizations 2016-07-12 15:11:13 -07:00
Adlai Holler
2e19d11350 Reduce block invocations, other small performance bumps 2016-07-12 15:11:13 -07:00
Adlai Holler
e40597ec47 Merge pull request #1792 from george-gw/prMapNode
[ASMapNode] bug fixes + added the ability to zoom in on the annotations + example project
2016-07-12 14:42:47 -07:00
Adlai Holler
edb4e45c24 [ASRangeController] Update synchronously when possible 2016-07-12 14:36:20 -07:00
Adlai Holler
2e3da9bc92 Merge pull request #1903 from nguyenhuy/ASButtonNode_updateTitle
[ASButtonNode] Correctly compare and update its title
2016-07-12 11:34:22 -07:00
Michael Schneider
dc2255d5d8 Fix setNeedsLayout triggered from subnode will not trigger relayout 2016-07-12 09:26:40 -07:00
Huy Nguyen
4b331be1e8 Correctly compare and update title of ASButtonNode 2016-07-12 21:25:22 +07:00
George A
396583dbaa [ASMapNode] Protected showAnnotationsOptions with a lock. 2016-07-12 08:01:17 +02:00
Adlai Holler
6b44b5ac05 [ASTableView] Add retainedLayer a la collection view (#1896) 2016-07-11 20:22:45 -07:00
Michael Schneider
7f4737217e Change from MutexLocker / MutexUnlocker to lock() and unlock() directly on property lock (#1900)
For performance reasons change to directly lock and unlock calls on the property lock instance
2016-07-11 17:04:47 -07:00
Michael Schneider
93ee42db57 Remove assert in visibleStateDidChange: in ASCellNode (#1899)
This assertion is failing in some apps and will be enabled soon.
2016-07-11 17:04:20 -07:00
George A
f9629beabb [ASMapNode] Defaulting userInteractionEnabled to YES. 2016-07-11 20:48:12 +02:00
ricky
57ece0f46e [ASLayoutSpec] Bug where finalLayoutable was not being called for setChildren 2016-07-11 09:54:03 -07:00
George A
69ca67b578 Code cleaning and fixes based on code review. 2016-07-11 10:43:19 +02:00
Scott Goodson
012c927cd8 [ASLayout] Small optimization to eliminate one method call in an extremely hot codepath.
This was observed with quantitative profiling results.  We have some opportunities to micro-optimize the layout objects.
2016-07-10 23:02:39 -07:00
appleguy
a9e3eacfe5 [ASCellNode] Add gating for -convertRect: call upon invisibility notification for iOS 7 & 8 edge case. (#1881)
* [ASCellNode] Add gating for -convertRect: call upon invisibility notification for iOS 7 & 8 edge case.

This should resolve https://github.com/facebook/AsyncDisplayKit/issues/1659, which corresponds to this
Fabric log for Pinterest: https://fabric.io/pinterest6/ios/apps/com.pinterest.enterprise/issues/5776fbfeffcdc042501a5f20/sessions/c178e977614b4ebab853084847fb241
8

* [ASCellNode] Additional improvements to visibilityDidChange: gating.
2016-07-10 16:01:55 -07:00
Flo
2e65339f33 [ASVideoNode, ASVideoPlayerNode] Add video composition and audio mix capabilities (#1800)
* [ASVideoNode] Add delegate method called when the currentItem is set.

* [ASVideoNode] Add videoComposition and audioMix properties to the ASVideoNode.

* [ASVideoPlayerNode] Add new initialiser with videoComposition and audioMix, and forward new delegate method.

* [ASVideoPlayerNode] Forward missing ASVideoNodeDelegate methods.
2016-07-10 11:32:21 -07:00
Hannah Troisi
10447998af [ASMapNode] use ASDisplayNode base class lock (#1879)
* [ASVideoPlayerNode] Use ASDisplayNode base class lock for subclass property syncrhonization, fix retain cycles

* [ASMapNode] Use ASDisplayNode base class lock instead of subclass lock
2016-07-10 00:30:37 -07:00
Scott Goodson
bf9c142765 Revert "[ASTextNode] Fix text node truncation (#1863)"
This reverts commit 6238e5edbd.

We will re-apply this change, but there are some early signs of performance impacts that need to be investigated.
2016-07-09 23:54:43 -07:00