2819 Commits

Author SHA1 Message Date
appleguy
ca8fcdfe49 [ASScrollNode] Add .scrollDirection property so that internal content sizing can be easily "unlimited" in the direction of scrolling. (#3001) 2017-02-08 16:39:05 -08:00
Adlai Holler
ada553c5a7 Avoid Measuring Cell Nodes with Empty Size Range (#3000)
* Always avoid measuring cell nodes with empty bounds

* Be lenient

* Add required assertion comment

* Avoid importing non-modular header publicly
2017-02-08 13:58:22 -08:00
Rocir Santiago
b33cced1eb [ASDisplayNode] Add support for setting non-fatal error block (#2993)
* Add support for setting non-fatal error block

* Better documentation and fix typos

* Added ASDisplayNodeAssertNonFatal macro that asserts in dev and call block in prod

* Make non fatal error code equals to 1

* Add support for condition in ASDisplayNodeAssertNonFatal

* Only call non fatal block if condition isn’t satisfied
2017-02-07 17:13:33 -08:00
Michael Schneider
f21254593d [Layout] Add extensibility support to ASLayoutElementStyle (#2975)
* Add extensibility support to ASLayoutElementStyle

* Fix some typo
2017-02-07 10:34:09 -08:00
Michael Schneider
d2da941960 Fix some static analyzer warnings (#2999) 2017-02-07 10:33:34 -08:00
Michael Schneider
7e4bf953b1 Move debugName into it’s own protocol out of the ASLayoutElement protocol (#2994) 2017-02-06 20:02:21 -08:00
Michael Schneider
aedac5c299 Remove legacy parent pointer of ASLayoutSpec (#2987) 2017-02-06 20:01:37 -08:00
Adlai Holler
abd9851ddd Restore IGListKit Build & Function (#2988) 2017-02-06 20:00:22 -08:00
Michael Schneider
42b53c9331 [ASLayoutTransition] Remove taking a snapshot in the default layout transition code (#2940)
* Remove taking a snapshot in the default default layout transition code

* Set groupOpacity for root node of animation to true before and restore after animation finished
2017-02-06 15:29:37 -08:00
Adlai Holler
e4c9878de7 Fix the CI (#2992) 2017-02-06 14:45:07 -08:00
Garrett Moon
4e8a2640db Fix a warning preventing pod spec validation. (#2989)
* Fix a warning preventing pod spec validation.

* Add comment, thanks @adlai.
2017-02-06 13:06:52 -08:00
Scott Goodson
9b77f77656 [Build] Fix typo in capitalization of import, which causes build failure on case-sensitive filesystems. 2017-02-05 19:39:44 -08:00
Adlai Holler
86b669dc38 Improve TableLayoutController: Simplify, Fix Crash & Improve Perf (#2969)
* Refactor FlowLayoutController -> TableLayoutController

* Use most conservative row index path
2017-02-05 18:24:15 -08:00
Scott Goodson
f71eba77af [ASCollectionView] Finish support for interoperability with base-class UICollectionViewCells.
This also supports supplementary nodes. It builds off of Adlai's .interop flag but makes necessary
improvements for all of the delegate methods to work in practice with heterogenous cell types.
2017-02-04 20:40:44 -08:00
Michael Schneider
12e4e5b048 [Layout] Improve Layout System Abstraction (#2941)
* Improve Layout Abstraction

* Address naming comments

- Rename ASPrimitiveTraitEnvironment to ASTraitEnvironment
- Rename ASPrimitiveTraitCollectionPropagateDown to ASTraitCollectionPropagateDown
- Rename progagateNewPrimitiveTraitCollection: to propagateNewTraitCollection:
2017-02-03 13:04:20 -08:00
Adlai Holler
a2ff2b9900 Force ASPagerNode pages to be bounds-sized (#2973) 2017-02-03 10:29:15 -08:00
Michael Schneider
d42dcfefc1 [ASNodeController] Move ASNodeController to beta header (#2966)
* Move ASNodeController to beta header

* Make it public

* Change ASNodeController+Beta to .mm
2017-02-02 12:51:33 -08:00
Adlai Holler
404795dc02 Remove Support for iOS 7 (#2930)
* Drop support for iOS 7

* Copy reference images

* Update deployment for sample projects

* Update version

* Update "Life Without Cocoapods"
2017-02-01 14:40:37 -08:00
ricky
39298f6694 [ASIndexedNodeContext] Do not cache the envTraitCollection, use the delegate to request it when needed (#2963)
Caching the envTraitCollection upon creation of `ASIndexedNodeContext` can lead to it becoming out of date. Ask the `id<ASEnvironment>` object for the trait collection when we need it.
2017-02-01 13:38:52 -08:00
Adlai Holler
d7670780b2 Fix Deleting Sections Issue (#2962)
* Add data source to main project

* Remove the idea of deletingSectionsOfKind – always delete all kinds

* Move comment into assertion
2017-01-31 15:39:10 -08:00
Hannah Troisi
7f7f28385d [ASNodeController] First implementation of node controller class (#2945)
* [ASNodeController] initial commit for node controller class

* create <ASInterfaceState> protocol, -[ASDisplayNode interfaceDelegate], and use these to forward to ASNodeController

* rename ASInterfaceStateDelegate, fix setting in it ASNodeController.mm
2017-01-31 14:27:02 -08:00
Huy Nguyen
b3663476e6 Disable background deallocation on iOS 8 and below (#2954)
- The crash mainly occurs on these old iOS versions (~93%) and p6.16.1. There might be a client code issue that causes this crash, but it's hard to tell if it also crashes on newer iOS versions AND p6.17.
- Let's disable this feature for now and re-investigate if it resurfaces on p6.19 and iOS 9/10.
2017-01-31 08:15:28 -08:00
Adlai Holler
38aac9d019 IGListKit Support II: Electric Boogaloo (#2942)
* Reimplement IGListKit support in a cleaner way

* Rename and fix some stuff

* Fix supplementaries more

* Update docs

* Update test

* Cleanup minor things

* Tweak it

* Indentation

* Remove irrelevant changes

* Break out cell into its own file

* Fix indentation

* Address feedback
2017-01-30 11:16:59 -08:00
Adlai Holler
295ed22c23 Improve Our Handling of Flow Layout Headers/Footers (#2939)
* Rejigger our flow layout supplementary support to make more sense.

* Support old protocol

* Update

* Update deprecation message

* Undeprecate insetForSection method, because it actually _does_ still work

* Update the tests

* Remove irrelevant junk

* Remove cast, add pragma
2017-01-27 15:58:43 -08:00
Hannah Troisi
7d68ce33bb add the enum direct comments back (#2936) 2017-01-26 16:39:54 -08:00
Michael Schneider
e143942d22 [ASDisplayNode] Overall code cleanup and restructuring (#2931)
* First round of ASDisplayNode cleanup: Move together sections that are related

* Cleanup hierarchy and interface state
2017-01-25 16:41:42 -08:00
appleguy
b8872c24db [AsyncDisplayKit] Fix a few comment typos and minor compiler strictness warnings. (#2932) 2017-01-25 12:53:13 -08:00
Huy Nguyen
38f1efd448 [ASDataController] Simplify data controller (#2923)
* Start removing ASChangeSetDataController

* Continue removing ASChangeSetDataController

* Remove unnecessary change

* ASDataController is no longer an abstract class, remove its assertion

* Get back beginUpdates and endUpdatesAnimated:completion in ASCollectionNode
2017-01-24 17:41:19 -08:00
Michael Schneider
d9be4783e5 [ASLayout] General Layout Cleanup (#2920)
* Remove duplicate import

* Move `ASLayoutController` related code out of CoreGraphics+ASConvenience

* Further cleanup

* Move private layout files to Privat/Layout

* Move ASLayoutElementStylePrivate into Private/Layout

* Further cleanup

* Move tvOS related files to tvOS folder

* Further cleanup
2017-01-24 11:54:05 -08:00
Michael Schneider
9a5f6d3ece Consider the deduce compiler flag for duplicate elements in a subtree (#2922) 2017-01-23 17:03:54 -08:00
aaronschubert0
b3be451486 [ASTableNode/ASCollectionNode] Inversion (#2891)
* Add inverted property to ASTableNode

* Add inverted property to ASCollectionNode

* Add example

* De-inform data controller and use different CATransform3D

* Add logic to pending state

* Add accessor for inverted property
2017-01-19 18:16:01 -08:00
Adlai Holler
e69a475d2b Minor Collection Simplifications (#2906)
* Minor collection simplifications

* Remove didChangeCollectionViewDataSource call, restrict subclassing ASCollectionViewFlowLayoutInspector
2017-01-19 13:57:03 -08:00
Hannah Troisi
d41ef55cd7 [UIImage+ASConvenience] as_resizableRoundedImage border doesn't respect roundedCorner argument (#2905)
* fix border path on as_resizableRoundedImageWithCornerRadius... method

* add a space to force this PR to rebuild

* Revert added space
2017-01-18 11:13:58 -08:00
Huy Nguyen
6736367627 [ASStackLayoutSpec] Refactor baseline alignment algorithm (#2892)
* Add tests for baseline alignments

* Merge baseline alignment algorithm to the main stack algorithm
- Baseline alignment is now part of the main stack algorithm.
- ASStackBaselinePositionedLayout is no longer needed and removed.

* All snapshot test cases of ASStackLayoutSpec are passing now

* Remove baselineRelativeArrangement

* Remove TODO

* Minor fixes in cross size determination step
2017-01-18 11:12:10 -08:00
Michael Schneider
89156ebbc7 Add availability check for noescape attribute (#2897) 2017-01-13 11:32:33 -08:00
GitGadd
f52bc786c0 Respect hitTestSlop when determining if a tracked touch is inside for ASControlNode (#2896) 2017-01-13 11:07:50 -08:00
Adlai Holler
30194fe41f Remove duplicate declarations from last PR (#2893) 2017-01-12 14:41:53 -08:00
Leo Tumwattana
4e80acc6e1 [ASEditableTextNode] Maximum number of lines to display (#2777) (#2867)
* WIP

* Calculate TextKit Height based on max lines to display

* Remove TODO

* Calculate height based on lineFragmentRect

* Fixes issue with calculated width

* Resolve TextKit stack threading issues

* Removes blank lines

* Open brace on next line

* setNeedsLayout in case of changes on live node
2017-01-12 13:47:44 -08:00
Garrett Moon
daa12a867e Need an autorelease pool (#2890) 2017-01-11 17:00:27 -08:00
Adlai Holler
7c4ee350b0 Use Native convertRect:, convertPoint: Methods to Handle Nil Cases (#2889)
* When converting rects, points on loaded nodes, call into UIKit/CoreAnimation

* Always use view-ish behavior

* Improve nil window handling, add documentation
2017-01-11 13:44:35 -08:00
Adlai Holler
42f0288fda Account for table view cell separator when reporting height (#2883) 2017-01-11 12:48:16 -08:00
Adlai Holler
98a95a6907 Pin collection cellNode.frame = contentView.bounds (#2884) 2017-01-11 12:47:12 -08:00
Michael Schneider
cdf7f70747 [ASDimension] Simplify header file to focus on the most essential types for app developers. (#2794)
* First round of cleanups for ASDimension.mm/h

* Add ASDimensionDeprecated and ASDimensionInternal to Copy Files build phase
2017-01-10 10:05:15 -08:00
Saif Al-Dilaimi
c85aa11dbb Adding section to passthrough properties (#2847)
* added accessoryType to ASCellNode

* Moved the passthrough properties in an own section in ASEditableTextNode

* added documentation and reverted ASEditableCellNode changes

* fixed code signing

* adding seperatorInset property as a passthrough property

* revert changes to project file

* moved setting properties to setNode:

* moved clipsToBounds to setNode
2017-01-09 18:26:51 -08:00
Huy Nguyen
3761d8b0c3 ASVideoNode should play when its player is ready and if it is expected to play (#2876)
- When a video node is first visible, it's player is called to play if auto play flag is on. However, the player might not be ready by that time, especially when the video is loaded on a slow network. The player just continues loading its asset.
- When the player is ready, we should check if it is expected to be playing and if true, try to play again.
2017-01-09 12:02:00 -08:00
Garrett Moon
202c947be9 [ASNetworkImageNode] Don't lock while calling downloader (#2864)
* Don't lock while calling downloader

Addresses #2785
To avoid performance issues, we should avoid locking the downloader.
To achieve this we need to do some kinda gross things. Essentially
the cost is the code is more complex and potentially far less performant
in edge cases. In testing, edge cases are nearly never hit, but I'm not
sure how good I feel about the cost in code complexity. This exacerbates
the locking issues in ASNetworkImageNode:

1. There is no convention for which methods lock.
2. There's no indication which vars are only set on init and therefore
safe to access except in the class extension definition.

* Shouldn't have checked in product changes.

* Using ivar instead of local var copied within lock.
2017-01-05 15:22:27 -08:00
David Robles
2bc701d23f Copy ASTextNode’s implementation of placeholderImage into ASImageNode in order to fix the usage of placeholderColor. (#2866) 2017-01-05 14:59:11 -08:00
Adlai Holler
513b9f4184 Remove unused and unusable implementations of moveItem: and moveSection: (#2863) 2017-01-04 14:04:56 -08:00
Adlai Holler
d65fe8b5fa Disable UICollectionView prefetching to improve scroll performance (#2861) 2017-01-04 13:30:23 -08:00
Huy Nguyen
89d4193757 Open source pi_imageNamed methods (#2859) 2017-01-04 10:57:23 -08:00