Swiftgram/TelegramUI/ChatMessageDeliveryFailedNode.swift
Peter 1fb0bfa240 Various fixes for media streaming
Preload next track when playing music
Added ability to resend failed messages
2018-11-02 22:43:30 +04:00

39 lines
1.1 KiB
Swift

import Foundation
import AsyncDisplayKit
import Display
final class ChatMessageDeliveryFailedNode: ASImageNode {
private let tapped: () -> Void
private var theme: PresentationTheme?
init(tapped: @escaping () -> Void) {
self.tapped = tapped
super.init()
self.displaysAsynchronously = false
self.displayWithoutProcessing = true
self.isUserInteractionEnabled = true
}
override func didLoad() {
super.didLoad()
self.view.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.tapGesture(_:))))
}
@objc private func tapGesture(_ recognizer: UITapGestureRecognizer) {
if case .ended = recognizer.state {
self.tapped()
}
}
func updateLayout(theme: PresentationTheme) -> CGSize {
if self.theme !== theme {
self.theme = theme
self.image = PresentationResourcesChat.chatBubbleDeliveryFailedIcon(theme)
}
return CGSize(width: 22.0, height: 22.0)
}
}