mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 22:25:57 +00:00
Various Fixes
This commit is contained in:
@@ -37,6 +37,7 @@ class ChatMessageInteractiveInstantVideoNode: ASDisplayNode {
|
|||||||
private let secretVideoPlaceholder: TransformImageNode
|
private let secretVideoPlaceholder: TransformImageNode
|
||||||
|
|
||||||
private var statusNode: RadialStatusNode?
|
private var statusNode: RadialStatusNode?
|
||||||
|
private var disappearingStatusNode: RadialStatusNode?
|
||||||
private var playbackStatusNode: InstantVideoRadialStatusNode?
|
private var playbackStatusNode: InstantVideoRadialStatusNode?
|
||||||
private(set) var videoFrame: CGRect?
|
private(set) var videoFrame: CGRect?
|
||||||
|
|
||||||
@@ -494,8 +495,10 @@ class ChatMessageInteractiveInstantVideoNode: ASDisplayNode {
|
|||||||
}
|
}
|
||||||
strongSelf.secretVideoPlaceholderBackground.frame = displayVideoFrame
|
strongSelf.secretVideoPlaceholderBackground.frame = displayVideoFrame
|
||||||
|
|
||||||
let placeholderFrame = displayVideoFrame.insetBy(dx: 2.0, dy: 2.0)
|
let placeholderFrame = videoFrame.insetBy(dx: 2.0, dy: 2.0)
|
||||||
strongSelf.secretVideoPlaceholder.frame = placeholderFrame
|
strongSelf.secretVideoPlaceholder.bounds = CGRect(origin: CGPoint(), size: videoFrame.size)
|
||||||
|
strongSelf.secretVideoPlaceholder.transform = CATransform3DMakeScale(imageScale, imageScale, 1.0)
|
||||||
|
strongSelf.secretVideoPlaceholder.position = displayVideoFrame.center
|
||||||
let makeSecretPlaceholderLayout = strongSelf.secretVideoPlaceholder.asyncLayout()
|
let makeSecretPlaceholderLayout = strongSelf.secretVideoPlaceholder.asyncLayout()
|
||||||
let arguments = TransformImageArguments(corners: ImageCorners(radius: placeholderFrame.size.width / 2.0), imageSize: placeholderFrame.size, boundingSize: placeholderFrame.size, intrinsicInsets: UIEdgeInsets())
|
let arguments = TransformImageArguments(corners: ImageCorners(radius: placeholderFrame.size.width / 2.0), imageSize: placeholderFrame.size, boundingSize: placeholderFrame.size, intrinsicInsets: UIEdgeInsets())
|
||||||
let applySecretPlaceholder = makeSecretPlaceholderLayout(arguments)
|
let applySecretPlaceholder = makeSecretPlaceholderLayout(arguments)
|
||||||
@@ -612,14 +615,20 @@ class ChatMessageInteractiveInstantVideoNode: ASDisplayNode {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if let statusNode = self.statusNode {
|
if let statusNode = self.statusNode {
|
||||||
statusNode.transitionToState(.none, completion: { [weak statusNode] in
|
self.disappearingStatusNode = statusNode
|
||||||
|
statusNode.transitionToState(.none, completion: { [weak statusNode, weak self] in
|
||||||
statusNode?.removeFromSupernode()
|
statusNode?.removeFromSupernode()
|
||||||
|
if self?.disappearingStatusNode === statusNode {
|
||||||
|
self?.disappearingStatusNode = nil
|
||||||
|
}
|
||||||
})
|
})
|
||||||
self.statusNode = nil
|
self.statusNode = nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
self.statusNode?.frame = CGRect(origin: CGPoint(x: videoFrame.origin.x + floorToScreenPixels((videoFrame.size.width - 50.0) / 2.0), y: videoFrame.origin.y + floorToScreenPixels((videoFrame.size.height - 50.0) / 2.0)), size: CGSize(width: 50.0, height: 50.0))
|
let statusFrame = CGRect(origin: CGPoint(x: videoFrame.origin.x + floorToScreenPixels((videoFrame.size.width - 50.0) / 2.0), y: videoFrame.origin.y + floorToScreenPixels((videoFrame.size.height - 50.0) / 2.0)), size: CGSize(width: 50.0, height: 50.0))
|
||||||
|
self.statusNode?.frame = statusFrame
|
||||||
|
self.disappearingStatusNode?.frame = statusFrame
|
||||||
|
|
||||||
var state: RadialStatusNodeState
|
var state: RadialStatusNodeState
|
||||||
switch status.mediaStatus {
|
switch status.mediaStatus {
|
||||||
|
|||||||
Reference in New Issue
Block a user