Merge branch 'master' of gitlab.com:peter-iakovlev/telegram-ios

This commit is contained in:
Ilya Laktyushin 2023-10-25 23:51:29 +04:00
commit a799acacd1
3 changed files with 11 additions and 13 deletions

View File

@ -43,7 +43,7 @@ public final class StoryContentItem: Equatable {
} }
open class View: UIView { open class View: UIView {
open func setProgressMode(_ progressMode: ProgressMode, emitEvents: Bool) { open func setProgressMode(_ progressMode: ProgressMode) {
} }
open func rewind() { open func rewind() {

View File

@ -278,17 +278,17 @@ final class StoryItemContentComponent: Component {
self.videoPlaybackStatus = status self.videoPlaybackStatus = status
if !self.isSeeking { if !self.isSeeking {
self.updateVideoPlaybackProgress(emitUpdate: true) self.updateVideoPlaybackProgress()
} }
}) })
} }
} }
} }
override func setProgressMode(_ progressMode: StoryContentItem.ProgressMode, emitEvents: Bool) { override func setProgressMode(_ progressMode: StoryContentItem.ProgressMode) {
if self.progressMode != progressMode { if self.progressMode != progressMode {
self.progressMode = progressMode self.progressMode = progressMode
self.updateProgressMode(update: emitEvents) self.updateProgressMode(update: true)
if let component = self.component, !self.overlaysView.bounds.isEmpty { if let component = self.component, !self.overlaysView.bounds.isEmpty {
self.updateOverlays(component: component, size: self.overlaysView.bounds.size, synchronousLoad: false, transition: .immediate) self.updateOverlays(component: component, size: self.overlaysView.bounds.size, synchronousLoad: false, transition: .immediate)
@ -336,7 +336,7 @@ final class StoryItemContentComponent: Component {
} }
self.initializeVideoIfReady(update: update) self.initializeVideoIfReady(update: update)
self.updateVideoPlaybackProgress(emitUpdate: update) self.updateVideoPlaybackProgress()
self.updateProgressTimer() self.updateProgressTimer()
} }
@ -363,7 +363,7 @@ final class StoryItemContentComponent: Component {
if case .file = self.currentMessageMedia { if case .file = self.currentMessageMedia {
if !self.isSeeking { if !self.isSeeking {
self.updateVideoPlaybackProgress(emitUpdate: true) self.updateVideoPlaybackProgress()
} }
} else { } else {
if !self.markedAsSeen { if !self.markedAsSeen {
@ -420,7 +420,7 @@ final class StoryItemContentComponent: Component {
return effectiveDuration return effectiveDuration
} }
private func updateVideoPlaybackProgress(_ scrubbingTimestamp: Double? = nil, emitUpdate: Bool) { private func updateVideoPlaybackProgress(_ scrubbingTimestamp: Double? = nil) {
guard let videoPlaybackStatus = self.videoPlaybackStatus else { guard let videoPlaybackStatus = self.videoPlaybackStatus else {
return return
} }
@ -509,10 +509,8 @@ final class StoryItemContentComponent: Component {
} }
let clippedProgress = max(0.0, min(1.0, currentProgress)) let clippedProgress = max(0.0, min(1.0, currentProgress))
if emitUpdate {
self.environment?.presentationProgressUpdated(clippedProgress, isBuffering, false) self.environment?.presentationProgressUpdated(clippedProgress, isBuffering, false)
} }
}
override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? { override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
if let unsupportedButtonView = self.unsupportedButton?.view { if let unsupportedButtonView = self.unsupportedButton?.view {
@ -551,7 +549,7 @@ final class StoryItemContentComponent: Component {
videoNode.seek(timestamp) videoNode.seek(timestamp)
} }
self.isSeeking = true self.isSeeking = true
self.updateVideoPlaybackProgress(timestamp, emitUpdate: true) self.updateVideoPlaybackProgress(timestamp)
} }
func seekEnded() { func seekEnded() {

View File

@ -1641,7 +1641,7 @@ public final class StoryItemSetContainerComponent: Component {
} }
if let view = view as? StoryContentItem.View { if let view = view as? StoryContentItem.View {
view.setProgressMode(itemProgressMode, emitEvents: false) view.setProgressMode(itemProgressMode)
} }
var isChannel = false var isChannel = false
@ -1871,7 +1871,7 @@ public final class StoryItemSetContainerComponent: Component {
if id != centralId { if id != centralId {
itemMode = .pause itemMode = .pause
} }
view.setProgressMode(itemMode, emitEvents: true) view.setProgressMode(itemMode)
} }
} }
} }