mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Fix semantic progress transitions
This commit is contained in:
parent
473249a60d
commit
d775a5f178
@ -334,14 +334,14 @@ private final class SemanticStatusNodeProgressContext: SemanticStatusNodeStateCo
|
||||
let resolvedValue: CGFloat?
|
||||
if let value = self.value {
|
||||
if let transition = self.transition {
|
||||
transition.valueAt(timestamp: timestamp, actualValue: value)
|
||||
resolvedValue = transition.valueAt(timestamp: timestamp, actualValue: value)
|
||||
} else {
|
||||
resolvedValue = value
|
||||
}
|
||||
} else {
|
||||
resolvedValue = nil
|
||||
}
|
||||
return DrawingState(transitionFraction: transitionFraction, value: self.value, displayCancel: self.displayCancel, timestamp: timestamp)
|
||||
return DrawingState(transitionFraction: transitionFraction, value: resolvedValue, displayCancel: self.displayCancel, timestamp: timestamp)
|
||||
}
|
||||
|
||||
func updateValue(value: CGFloat?) {
|
||||
@ -351,7 +351,7 @@ private final class SemanticStatusNodeProgressContext: SemanticStatusNodeStateCo
|
||||
let timestamp = CACurrentMediaTime()
|
||||
if let value = value, let previousValue = previousValue {
|
||||
if let transition = self.transition {
|
||||
self.transition = SemanticStatusNodeProgressTransition(beginTime: timestamp, initialValue: transition.valueAt(timestamp: timestamp, actualValue: value))
|
||||
self.transition = SemanticStatusNodeProgressTransition(beginTime: timestamp, initialValue: transition.valueAt(timestamp: timestamp, actualValue: previousValue))
|
||||
} else {
|
||||
self.transition = SemanticStatusNodeProgressTransition(beginTime: timestamp, initialValue: previousValue)
|
||||
}
|
||||
@ -388,7 +388,7 @@ private extension SemanticStatusNodeState {
|
||||
}
|
||||
case let .progress(value, cancelEnabled):
|
||||
if let current = current as? SemanticStatusNodeProgressContext, current.displayCancel == cancelEnabled {
|
||||
current.value = value
|
||||
current.updateValue(value: value)
|
||||
return current
|
||||
} else {
|
||||
return SemanticStatusNodeProgressContext(value: value, displayCancel: cancelEnabled)
|
||||
|
@ -831,6 +831,10 @@ final class ChatMessageInteractiveFileNode: ASDisplayNode {
|
||||
if let statusNode = self.statusNode {
|
||||
if state == .none {
|
||||
self.statusNode = nil
|
||||
if animated {
|
||||
statusNode.layer.animateScale(from: 1.0, to: 0.1, duration: 0.2, removeOnCompletion: false)
|
||||
statusNode.layer.animateAlpha(from: 1.0, to: 0.0, duration: 0.2, removeOnCompletion: false)
|
||||
}
|
||||
}
|
||||
statusNode.transitionToState(state, animated: animated, synchronous: presentationData.theme.theme.preview, completion: { [weak statusNode] in
|
||||
if state == .none {
|
||||
|
Loading…
x
Reference in New Issue
Block a user