Merge pull request #1231 from garrettmoon/reducePlaceholderFadeCost

[Placeholders] Only start a fading animation if we're visible. And a threadsafety fix.
This commit is contained in:
appleguy
2016-02-16 15:20:24 -08:00

View File

@@ -780,11 +780,13 @@ static inline void filterNodesInLayoutAtIndexesWithIntersectingNodes(
- (BOOL)usesImplicitHierarchyManagement
{
ASDN::MutexLocker l(_propertyLock);
return _usesImplicitHierarchyManagement ?: [[self class] usesImplicitHierarchyManagement];
}
- (void)setUsesImplicitHierarchyManagement:(BOOL)value
{
ASDN::MutexLocker l(_propertyLock);
_usesImplicitHierarchyManagement = value;
}
@@ -1718,7 +1720,7 @@ static NSInteger incrementIfFound(NSInteger i) {
[self _tearDownPlaceholderLayer];
};
if (_placeholderFadeDuration > 0.0) {
if (_placeholderFadeDuration > 0.0 && ASInterfaceStateIncludesVisible(self.interfaceState)) {
[CATransaction begin];
[CATransaction setCompletionBlock:cleanupBlock];
[CATransaction setAnimationDuration:_placeholderFadeDuration];