469 Commits

Author SHA1 Message Date
Erekle
d0345549f6 Merge remote-tracking branch 'facebook/master' into ASVideoPlayerNode
# Conflicts:
#	AsyncDisplayKit.xcodeproj/project.pbxproj
2016-05-12 13:05:24 +04:00
rcancro
0806f529a3 change ASCOllectionNode back .mm file 2016-05-10 14:45:16 -07:00
rcancro
9d622c7eac changed DisplayTraits to TraitCollection 2016-05-10 14:45:03 -07:00
rcancro
51f79f3c6e fix build? 2016-05-10 14:44:57 -07:00
rcancro
223a5f04b1 fix build errors 2016-05-10 14:44:53 -07:00
rcancro
f828d079fa added nsobject based ASDisplayTraits class 2016-05-10 14:44:43 -07:00
rcancro
8bb4eba080 Initial attempt at implementing Display Traits
Initial attempt to get display traits working with ASEnvironment.

To get proper ASDisplayTraits support, you must use an ASViewController. The ASViewController implements UITraitCollection-related methods (`traitCollectionDidChange:`, `willTransitionToTraitCollection:withTransitionCoordinator:`, viewWillTransitionToSize:withTransitionCoordinator`) to update the internal ASDisplayTraits and propagate them to subnodes.

ASTableNode and ASCollectionNode don't actually have their cells as subnodes, so a little bit of trickery is involved (on `setEnvironment:` the table/collection node gets its data controllers completedNodes and propagates the new traits. see `ASDisplayTraitsCollectionTableSetEnvironmentState`). The data controller also passes the current display traits when creating new cells.

ASViewController also supports the ability to return a custom set of display traits. So if you have a modal dialog that should always be told it is in a compact size class, you can set the override block before displaying the VC.

A new example, called Display Traits, has been added. It shows how display traits can be used in a ASViewController with a normal ASDisplayNode as its root, as well as in ASViewControllers hosting table nodes and collection nodes. There is also an example of overriding the default display traits of a VC.

Please provide feedback!
2016-05-10 14:44:22 -07:00
Erekle
e87fd7a998 first steps 2016-05-06 02:42:17 +04:00
Erekle
2c2a73dc83 playbackBufferEmpty and spinner
added playbackBufferEmpty logic, moved spinner show/hide to separate
methods.
2016-04-29 20:49:14 +04:00
Wendy
0b55df9649 Add the ability for ASNetworkImageNodes to keep track of their progressive image quality 2016-04-26 18:33:59 -07:00
appleguy
77713019d2 Merge pull request #1575 from aaronschubert0/tvOS
[tvOS] Improve tvOS code based upon comments.
2016-04-22 19:47:43 -07:00
Adlai Holler
f66d109928 Update project metadata for ASCellNode.m -> ASCellNode.mm 2016-04-22 12:07:37 -05:00
Aaron Schubert
b586b9f34b Fix merge conflicts 2016-04-21 09:26:40 +01:00
Aaron Schubert
06d4573b14 [tvOS] Branch out tvOS specific code into it's own categories 2016-04-21 08:59:14 +01:00
Garrett Moon
0fc39d1ccd Follow up to animated GIF PR 2016-04-19 13:43:41 -07:00
Scott Goodson
cd25facda5 [Build] Addressing some linker warnings in the test target. 2016-04-17 21:07:35 -07:00
Scott Goodson
53d010b055 [ASVideoNode, Build / Framework] Ensure ASVideoNode.mm is in the framework target. 2016-04-17 20:16:53 -07:00
appleguy
d38145a5ab Merge pull request #1540 from maicki/FixProjectPodspecC++Flag
[Build] Fix podspec vs xcodeproj inconsistency with c++ build flag
2016-04-16 16:56:07 -07:00
Michael Schneider
9c525179ec Fix podspec vs xcodeproj inconsistency with the c++ build flag 2016-04-15 13:24:08 -07:00
Huy Nguyen
3dc2ceb0ad Remove ASDisplayNodeExtraIvars 2016-04-15 21:48:11 +03:00
Garrett Moon
cf20ca4ce9 Missed header is iOS framework 2016-04-13 14:43:05 -07:00
Garrett Moon
755c5feaf8 Levi's comments 2016-04-13 14:23:02 -07:00
Garrett Moon
24c26014a7 Fix example builds 2016-04-13 14:23:02 -07:00
Garrett Moon
f4b526a8db Fix non example build 2016-04-13 14:23:02 -07:00
appleguy
5fc307f0bc Merge pull request #1521 from levi/update-asdk
Add Profile build configuration to ASDK
2016-04-12 19:02:18 -07:00
Levi McCallum
74c3403e94 Add Profile build configuration to ASDK
Summary: Fixes client Profile build

Reviewers: scottg

Differential Revision: https://phabricator.pinadmin.com/D84475
2016-04-12 12:57:49 -07:00
Michael Schneider
14ca529911 Moving accessibility related code to _ASDisplayViewAccessibility 2016-04-09 11:23:25 -07:00
appleguy
6d1c52b042 Merge pull request #1456 from maicki/ASEnvironment
[ASEnvironment] Add support for ASEnvironment, supporting generalized state propagation both up and down node and layout spec trees.
2016-03-31 21:05:38 -07:00
appleguy
ea935456b8 Merge pull request #1437 from ejensen/editable-text-node-layout-manager
[ASEditableTextNode] Allow TextKit component customization
2016-03-31 20:46:19 -07:00
Michael Schneider
65b4961802 Add extensibility support for ASEnvironmentLayoutOptionsState 2016-03-31 20:43:20 -07:00
Michael Schneider
96df35e41a Initial commit for ASEnvironment 2016-03-31 20:43:20 -07:00
Levi McCallum
320da47de6 Make ASCollectionNode+Beta header public to projects 2016-03-29 21:44:49 -07:00
Huy Nguyen
81d26994c5 Introduce ASLayoutableContext
- The struct is mapped to ID of the current thread and used by subnodes to decide whether they should proceed measurement.
2016-03-27 17:09:59 -07:00
Eric Jensen
ad9035f3d2 Set the class prefix in the project file 2016-03-27 00:11:45 -07:00
Eric Jensen
387abbff5d Rename ASTextKitHelpers to ASTextKitComponents and make the header public 2016-03-26 15:31:53 -07:00
Sam Stow
086bd8a52b [ASRelativeLayoutSpec] New core layout spec type: Relative Position, now powers Center as well.
This spec allows positioning a child at any 9-part box position (corners, edges, or center).
2016-03-19 22:37:02 -07:00
appleguy
ebd3567f1b Merge pull request #1262 from ekurutepe/carthage-example
[Carthage] Build Test project to ensure framework is never left behind by file additions.
2016-03-19 21:14:46 -07:00
Hannah Troisi
f9a92366d3 [AsyncDisplayKit] Fix build so we can weak link AVFoundation
Unclear why the framework target required these seemingly unrelated changes to Collection
classes, but I modeled them after related files and it seems cleaner now (passes tests & framework target)
2016-03-19 17:54:02 -07:00
Engin Kurutepe
e11ed66d99 use current-branch in carthage build 2016-03-17 15:00:32 +01:00
Scott Goodson
d4b724d462 [Xcode Project] Update Framework target with new internal file to support asynchronously-measured transition animations. 2016-03-11 22:12:28 -08:00
Huy Nguyen
fa8f2f4429 Implement async transition 2016-03-11 18:56:58 -08:00
Scott Goodson
21bebb9d29 [ASRangeController] Improvements to application state change and memory warning handling.
Introduces ASLayoutRangeModeVisibleOnly, allowing the preservation of decoded backing stores without any extra padding to
strictly minimize memory usage while supporting immediate re-display of content.  Set visible range controllers to this mode
upon app suspend / memory warning, while more aggressively clearing others to the ASLayoutRangeModeLowMemory mode.

By default, when the app is running and recieves a memory warning, we set the range mode for non-visible controllers to
ASLayoutRangeModeVisibleOnly.  This is because, unlike in the app suspend case where on app resume we can restore controllers
from LowMemory to VisibleOnly, the memory warning doesn't provide a good opportunity to do this.

A new +Beta API to control this behavior is called +setRangeModeForMemoryWarnings:, as some apps may prefer to use LowMemory
in the memory warning scenario.  For these apps, optimal user experience will require manually setting the range mode back
to some larger value as the user navigates the app, or they will encounter controllers that are temporarily blank and need
a moment to re-display their contents as they start to become visible.
2016-03-09 21:22:45 -08:00
Hannah Troisi
3f4b4b9f3c [ASImageNode] More refined naming and documentation for [ASImageNode shouldShowImageScalingOverlay] 2016-03-09 00:43:10 -08:00
Hannah Troisi
fbe72a06e4 [ASImageNode] A ASImageNode debug feature showing pixel scaling amount
- shows a red text label overlay on bottom right hand corner of ASImageNodes with pixel scaling factor
- import AsyncDisplayKit+Debug.h and enable using [ASImageNode setEnableImageDebugOverlay]
2016-03-08 23:15:07 -08:00
Scott Goodson
8703920d55 [Xcode Project] Add new file to the framework target. Update to recommended build settings to resolve 1 of 1 warnings. 2016-03-08 22:58:27 -08:00
Rahul Malik
f388180a1d Refactor the run loop implementation code into a proper queue abstraction.
ASRunLoopQueue can process a specified number of items per run loop iteration
via a block based api.
2016-03-07 23:49:50 -08:00
Luke Zhao
03e84e20ac updated with deprecated message 2016-03-05 13:04:20 -08:00
Michael Schneider
aca5b14c2b Move automatic range update to a private API 2016-02-29 11:39:50 -08:00
Huy Nguyen
54cde1a3db Introduce ASIndexedNodeContext
- It is a container object that holds enough information to construct and measure a cell node
- All information is gathered on main thread. This allows ASDataController to capture the correct state of its data source before going to background.
2016-02-29 01:00:16 -08:00
David Lawson
307872099f Added NSArray+Diffing.m and ASDefaultPlayButton.m to iOS Framework target 2016-02-26 13:52:53 +11:00