This reverts commit b34e8d78de20ea11b2b07a24df3b12d2936d1a5e.
In attempting to rebase my visibility patch, I overwrote all of Ricky's
changes to ASViewController. This puts them back in.
- Mutating a dictionary using -enumerateKeysAndObjectsUsingBlock:
can have unintended consequences.
- Using a copy of the keys to iterate over the values inside the
dictionary instead.
In _layoutNodesFromContexts:ofKind:completion: we pass the full array of contexts to _layoutNodes:fromContexts:atIndexesOfRange:ofKind: but for nodes we pass a subarray of nodes instead based on the batchCount. As batchRange we always start from 0 to batchCount. We now use the same indexes that we use to create the subarray of nodes to get a subarray of contexts that we pass to _layoutNodes:fromContexts:atIndexesOfRange:ofKind:.
- Mutating a dictionary using -enumerateKeysAndObjectsUsingBlock:
can have unintended consequences.
- Using a copy of the keys to iterate over the values inside the
dictionary instead.
* Removed play button from ASVideoNode
* Removed play button tests
* added some checks in ASVideoPlayerNode
* added new delegate method for time formats
Summary:
This adds support for the concept of visibility depth.
Visibility essentially defines the number of user actions it would
take a user to have a view controller visible. Knowing a view controllers
visibility depth allows view controllers to take action such as clearing
out memory that can be restored at a later date.
This patch also add two new view controller subclasses which adopt
the ASManagesChildVisibilityDepth protocol. Any view controller
that has child view controllers can adopt this protocol to indicate
to the child what they're visibility is. For example, ASNavigationController
will return a visibility depth of it's own visibilityDepth + 1 for
a view controller that would be revealed by tapping the back button.
Move common implementations to macros
Turn off visibility logging
Differential Revision: https://phabricator.pinadmin.com/D90395
This adds support for the concept of visibility depth.
Visibility essentially defines the number of user actions it would
take a user to have a view controller visible. Knowing a view controllers
visibility depth allows view controllers to take action such as clearing
out memory that can be restored at a later date.
This patch also add two new view controller subclasses which adopt
the ASManagesChildVisibilityDepth protocol. Any view controller
that has child view controllers can adopt this protocol to indicate
to the child what they're visibility is. For example, ASNavigationController
will return a visibility depth of it's own visibilityDepth + 1 for
a view controller that would be revealed by tapping the back button.