Various fixes

This commit is contained in:
Ilya Laktyushin 2023-01-28 17:10:58 +04:00
parent 1b723cd2a7
commit 19d984dc8f
2 changed files with 20 additions and 9 deletions

View File

@ -2094,11 +2094,7 @@ private final class PremiumIntroScreenComponent: CombinedComponent {
strongSelf.otherPeerName = otherPeerName
if !hadProducts {
if let _ = products.first(where: { $0.isCurrent }) {
strongSelf.selectedProductId = strongSelf.products?.first?.id
} else {
strongSelf.selectedProductId = strongSelf.products?.last?.id
}
strongSelf.selectedProductId = strongSelf.products?.first?.id
for (_, video) in promoConfiguration.videos {
strongSelf.preloadDisposableSet.add(preloadVideoResource(postbox: context.account.postbox, userLocation: .other, userContentType: .video, resourceReference: .standalone(resource: video.resource), duration: 3.0).start())

View File

@ -1397,14 +1397,29 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode {
scrollAnimationCurve = .Spring(duration: 0.4)
} else {
let wasPlaying = strongSelf.appliedPlayingMessageId != nil
if strongSelf.appliedPlayingMessageId != currentlyPlayingMessageId, let (currentlyPlayingMessageId, currentlyPlayingVideo) = currentlyPlayingMessageIdAndType {
if isFirstTime {
} else if case let .peer(peerId) = chatLocation, currentlyPlayingMessageId.id.peerId != peerId {
} else {
if wasPlaying || currentlyPlayingVideo {
updatedScrollPosition = .index(index: .message(currentlyPlayingMessageId), position: .center(.bottom), directionHint: .Up, animated: true, highlight: true, displayLink: true)
scrollAnimationCurve = .Spring(duration: 0.4)
var isChat = false
if case .peer = chatLocation {
isChat = true
}
if (isChat && (wasPlaying || currentlyPlayingVideo)) || (!isChat && !wasPlaying && currentlyPlayingVideo) {
var currentIsVisible = true
if let appliedPlayingMessageId = strongSelf.appliedPlayingMessageId {
currentIsVisible = false
strongSelf.forEachVisibleMessageItemNode({ view in
if view.item?.message.id == appliedPlayingMessageId.id {
currentIsVisible = true
}
})
}
if currentIsVisible {
updatedScrollPosition = .index(index: .message(currentlyPlayingMessageId), position: .center(.bottom), directionHint: .Up, animated: true, highlight: true, displayLink: true)
scrollAnimationCurve = .Spring(duration: 0.4)
}
}
}
}