mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Fix voice chat mute button transitions
This commit is contained in:
parent
5459c357d4
commit
ea83772c8d
@ -736,9 +736,15 @@ private final class VoiceChatActionButtonBackgroundNode: ASDisplayNode {
|
|||||||
|
|
||||||
self.maskBlobView.startAnimating()
|
self.maskBlobView.startAnimating()
|
||||||
self.maskBlobView.layer.animateScale(from: 1.0, to: 0.0, duration: 0.15, removeOnCompletion: false, completion: { [weak self] _ in
|
self.maskBlobView.layer.animateScale(from: 1.0, to: 0.0, duration: 0.15, removeOnCompletion: false, completion: { [weak self] _ in
|
||||||
self?.maskBlobView.isHidden = true
|
guard let strongSelf = self else {
|
||||||
self?.maskBlobView.stopAnimating()
|
return
|
||||||
self?.maskBlobView.layer.removeAllAnimations()
|
}
|
||||||
|
if strongSelf.state != .connecting && strongSelf.state != .disabled {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
strongSelf.maskBlobView.isHidden = true
|
||||||
|
strongSelf.maskBlobView.stopAnimating()
|
||||||
|
strongSelf.maskBlobView.layer.removeAllAnimations()
|
||||||
})
|
})
|
||||||
|
|
||||||
CATransaction.begin()
|
CATransaction.begin()
|
||||||
@ -750,6 +756,10 @@ private final class VoiceChatActionButtonBackgroundNode: ASDisplayNode {
|
|||||||
growthAnimation.isRemovedOnCompletion = false
|
growthAnimation.isRemovedOnCompletion = false
|
||||||
|
|
||||||
CATransaction.setCompletionBlock {
|
CATransaction.setCompletionBlock {
|
||||||
|
self.animatingDisappearance = false
|
||||||
|
if self.state != .connecting && self.state != .disabled {
|
||||||
|
return
|
||||||
|
}
|
||||||
CATransaction.begin()
|
CATransaction.begin()
|
||||||
CATransaction.setDisableActions(true)
|
CATransaction.setDisableActions(true)
|
||||||
self.disableGlowAnimations = false
|
self.disableGlowAnimations = false
|
||||||
@ -757,7 +767,6 @@ private final class VoiceChatActionButtonBackgroundNode: ASDisplayNode {
|
|||||||
self.maskCircleLayer.isHidden = true
|
self.maskCircleLayer.isHidden = true
|
||||||
self.growingForegroundCircleLayer.isHidden = true
|
self.growingForegroundCircleLayer.isHidden = true
|
||||||
self.growingForegroundCircleLayer.removeAllAnimations()
|
self.growingForegroundCircleLayer.removeAllAnimations()
|
||||||
self.animatingDisappearance = false
|
|
||||||
CATransaction.commit()
|
CATransaction.commit()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -790,12 +799,14 @@ private final class VoiceChatActionButtonBackgroundNode: ASDisplayNode {
|
|||||||
shrinkAnimation.timingFunction = CAMediaTimingFunction(name: CAMediaTimingFunctionName.easeIn)
|
shrinkAnimation.timingFunction = CAMediaTimingFunction(name: CAMediaTimingFunctionName.easeIn)
|
||||||
|
|
||||||
CATransaction.setCompletionBlock {
|
CATransaction.setCompletionBlock {
|
||||||
|
if case .blob = self.state {
|
||||||
CATransaction.begin()
|
CATransaction.begin()
|
||||||
CATransaction.setDisableActions(true)
|
CATransaction.setDisableActions(true)
|
||||||
self.disableGlowAnimations = false
|
self.disableGlowAnimations = false
|
||||||
self.foregroundCircleLayer.isHidden = true
|
self.foregroundCircleLayer.isHidden = true
|
||||||
CATransaction.commit()
|
CATransaction.commit()
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
self.foregroundCircleLayer.add(shrinkAnimation, forKey: "insideShrink")
|
self.foregroundCircleLayer.add(shrinkAnimation, forKey: "insideShrink")
|
||||||
CATransaction.commit()
|
CATransaction.commit()
|
||||||
@ -829,6 +840,7 @@ private final class VoiceChatActionButtonBackgroundNode: ASDisplayNode {
|
|||||||
groupAnimation.duration = duration
|
groupAnimation.duration = duration
|
||||||
|
|
||||||
CATransaction.setCompletionBlock {
|
CATransaction.setCompletionBlock {
|
||||||
|
if case .blob = self.state {
|
||||||
CATransaction.begin()
|
CATransaction.begin()
|
||||||
CATransaction.setDisableActions(true)
|
CATransaction.setDisableActions(true)
|
||||||
self.foregroundCircleLayer.isHidden = false
|
self.foregroundCircleLayer.isHidden = false
|
||||||
@ -855,15 +867,18 @@ private final class VoiceChatActionButtonBackgroundNode: ASDisplayNode {
|
|||||||
shrinkAnimation.timingFunction = CAMediaTimingFunction(name: CAMediaTimingFunctionName.easeIn)
|
shrinkAnimation.timingFunction = CAMediaTimingFunction(name: CAMediaTimingFunctionName.easeIn)
|
||||||
|
|
||||||
CATransaction.setCompletionBlock {
|
CATransaction.setCompletionBlock {
|
||||||
|
if case .blob = self.state {
|
||||||
CATransaction.begin()
|
CATransaction.begin()
|
||||||
CATransaction.setDisableActions(true)
|
CATransaction.setDisableActions(true)
|
||||||
self.foregroundCircleLayer.isHidden = true
|
self.foregroundCircleLayer.isHidden = true
|
||||||
CATransaction.commit()
|
CATransaction.commit()
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
self.foregroundCircleLayer.add(shrinkAnimation, forKey: "insideShrink")
|
self.foregroundCircleLayer.add(shrinkAnimation, forKey: "insideShrink")
|
||||||
CATransaction.commit()
|
CATransaction.commit()
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
self.maskProgressLayer.add(groupAnimation, forKey: "progressCompletion")
|
self.maskProgressLayer.add(groupAnimation, forKey: "progressCompletion")
|
||||||
CATransaction.commit()
|
CATransaction.commit()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user