mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Restore background async in ListView
This commit is contained in:
parent
d6f2d959a0
commit
a5bea5b54d
@ -1575,7 +1575,7 @@ open class ListView: ASDisplayNode, UIScrollViewAccessibilityDelegate, UIGesture
|
|||||||
}
|
}
|
||||||
|
|
||||||
private func async(_ f: @escaping () -> Void) {
|
private func async(_ f: @escaping () -> Void) {
|
||||||
DispatchQueue.main.async(execute: f)
|
DispatchQueue.global(qos: .userInteractive).async(execute: f)
|
||||||
}
|
}
|
||||||
|
|
||||||
private func nodeForItem(synchronous: Bool, synchronousLoads: Bool, item: ListViewItem, previousNode: QueueLocalObject<ListViewItemNode>?, index: Int, previousItem: ListViewItem?, nextItem: ListViewItem?, params: ListViewItemLayoutParams, updateAnimationIsAnimated: Bool, updateAnimationIsCrossfade: Bool, completion: @escaping (QueueLocalObject<ListViewItemNode>, ListViewItemNodeLayout, @escaping () -> (Signal<Void, NoError>?, (ListViewItemApply) -> Void)) -> Void) {
|
private func nodeForItem(synchronous: Bool, synchronousLoads: Bool, item: ListViewItem, previousNode: QueueLocalObject<ListViewItemNode>?, index: Int, previousItem: ListViewItem?, nextItem: ListViewItem?, params: ListViewItemLayoutParams, updateAnimationIsAnimated: Bool, updateAnimationIsCrossfade: Bool, completion: @escaping (QueueLocalObject<ListViewItemNode>, ListViewItemNodeLayout, @escaping () -> (Signal<Void, NoError>?, (ListViewItemApply) -> Void)) -> Void) {
|
||||||
|
@ -1255,14 +1255,14 @@ func contextMenuForChatPresentationInterfaceState(chatPresentationInterfaceState
|
|||||||
var hasReadReports = false
|
var hasReadReports = false
|
||||||
if let channel = peer as? TelegramChannel {
|
if let channel = peer as? TelegramChannel {
|
||||||
if case .group = channel.info {
|
if case .group = channel.info {
|
||||||
if let cachedData = cachedData as? CachedChannelData, let memberCount = cachedData.participantsSummary.memberCount, memberCount <= 50 {
|
if canViewStats {
|
||||||
hasReadReports = true
|
hasReadReports = true
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
reactionCount = 0
|
reactionCount = 0
|
||||||
}
|
}
|
||||||
} else if let group = peer as? TelegramGroup {
|
} else if let _ = peer as? TelegramGroup {
|
||||||
if group.participantCount <= 50 {
|
if canViewStats {
|
||||||
hasReadReports = true
|
hasReadReports = true
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -59,7 +59,7 @@ final class MessageReactionButtonsNode: ASDisplayNode {
|
|||||||
|
|
||||||
private var bubbleBackgroundNode: WallpaperBubbleBackgroundNode?
|
private var bubbleBackgroundNode: WallpaperBubbleBackgroundNode?
|
||||||
private let container: ReactionButtonsAsyncLayoutContainer
|
private let container: ReactionButtonsAsyncLayoutContainer
|
||||||
private let backgroundMaskView: UIView
|
private var backgroundMaskView: UIView?
|
||||||
private var backgroundMaskButtons: [String: UIView] = [:]
|
private var backgroundMaskButtons: [String: UIView] = [:]
|
||||||
|
|
||||||
var reactionSelected: ((String) -> Void)?
|
var reactionSelected: ((String) -> Void)?
|
||||||
@ -67,7 +67,6 @@ final class MessageReactionButtonsNode: ASDisplayNode {
|
|||||||
|
|
||||||
override init() {
|
override init() {
|
||||||
self.container = ReactionButtonsAsyncLayoutContainer()
|
self.container = ReactionButtonsAsyncLayoutContainer()
|
||||||
self.backgroundMaskView = UIView()
|
|
||||||
|
|
||||||
super.init()
|
super.init()
|
||||||
}
|
}
|
||||||
@ -219,6 +218,10 @@ final class MessageReactionButtonsNode: ASDisplayNode {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if strongSelf.backgroundMaskView == nil {
|
||||||
|
strongSelf.backgroundMaskView = UIView()
|
||||||
|
}
|
||||||
|
|
||||||
let backgroundInsets: CGFloat = 10.0
|
let backgroundInsets: CGFloat = 10.0
|
||||||
|
|
||||||
switch type {
|
switch type {
|
||||||
@ -330,7 +333,7 @@ final class MessageReactionButtonsNode: ASDisplayNode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if itemMaskView.superview == nil {
|
if itemMaskView.superview == nil {
|
||||||
strongSelf.backgroundMaskView.addSubview(itemMaskView)
|
strongSelf.backgroundMaskView?.addSubview(itemMaskView)
|
||||||
if animation.isAnimated {
|
if animation.isAnimated {
|
||||||
itemMaskView.layer.animateScale(from: 0.01, to: 1.0, duration: 0.4, timingFunction: kCAMediaTimingFunctionSpring)
|
itemMaskView.layer.animateScale(from: 0.01, to: 1.0, duration: 0.4, timingFunction: kCAMediaTimingFunctionSpring)
|
||||||
itemMaskView.layer.animateAlpha(from: 0.0, to: 1.0, duration: 0.2)
|
itemMaskView.layer.animateAlpha(from: 0.0, to: 1.0, duration: 0.2)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user