mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 14:20:20 +00:00
Merge branch 'master' of gitlab.com:peter-iakovlev/telegram-ios
This commit is contained in:
@@ -109,6 +109,7 @@ final class VideoChatScreenComponent: Component {
|
||||
var applicationStateDisposable: Disposable?
|
||||
|
||||
var expandedParticipantsVideoState: VideoChatParticipantsComponent.ExpandedVideoState?
|
||||
var focusedSpeakerAutoSwitchDeadline: Double = 0.0
|
||||
var isTwoColumnSidebarHidden: Bool = false
|
||||
|
||||
let inviteDisposable = MetaDisposable()
|
||||
@@ -752,7 +753,7 @@ final class VideoChatScreenComponent: Component {
|
||||
if self.members != members {
|
||||
var members = members
|
||||
|
||||
#if DEBUG && true
|
||||
#if DEBUG && false
|
||||
if let membersValue = members {
|
||||
var participants = membersValue.participants
|
||||
for i in 1 ... 20 {
|
||||
@@ -831,12 +832,13 @@ final class VideoChatScreenComponent: Component {
|
||||
if videoCount == 1, let participantsView = self.participants.view as? VideoChatParticipantsComponent.View, let participantsComponent = participantsView.component {
|
||||
if participantsComponent.layout.videoColumn != nil {
|
||||
self.expandedParticipantsVideoState = nil
|
||||
self.focusedSpeakerAutoSwitchDeadline = 0.0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if let expandedParticipantsVideoState = self.expandedParticipantsVideoState, let members {
|
||||
if !expandedParticipantsVideoState.isMainParticipantPinned, let participant = members.participants.first(where: { participant in
|
||||
if CFAbsoluteTimeGetCurrent() > self.focusedSpeakerAutoSwitchDeadline, !expandedParticipantsVideoState.isMainParticipantPinned, let participant = members.participants.first(where: { participant in
|
||||
if let callState = self.callState, participant.peer.id == callState.myPeerId {
|
||||
return false
|
||||
}
|
||||
@@ -853,6 +855,7 @@ final class VideoChatScreenComponent: Component {
|
||||
} else {
|
||||
self.expandedParticipantsVideoState = VideoChatParticipantsComponent.ExpandedVideoState(mainParticipant: VideoChatParticipantsComponent.VideoParticipantKey(id: participant.peer.id, isPresentation: false), isMainParticipantPinned: false, isUIHidden: expandedParticipantsVideoState.isUIHidden)
|
||||
}
|
||||
self.focusedSpeakerAutoSwitchDeadline = CFAbsoluteTimeGetCurrent() + 1.0
|
||||
}
|
||||
}
|
||||
|
||||
@@ -885,11 +888,14 @@ final class VideoChatScreenComponent: Component {
|
||||
} else {
|
||||
self.expandedParticipantsVideoState = VideoChatParticipantsComponent.ExpandedVideoState(mainParticipant: VideoChatParticipantsComponent.VideoParticipantKey(id: participant.peer.id, isPresentation: false), isMainParticipantPinned: false, isUIHidden: expandedParticipantsVideoState.isUIHidden)
|
||||
}
|
||||
self.focusedSpeakerAutoSwitchDeadline = CFAbsoluteTimeGetCurrent() + 1.0
|
||||
} else {
|
||||
self.expandedParticipantsVideoState = nil
|
||||
self.focusedSpeakerAutoSwitchDeadline = 0.0
|
||||
}
|
||||
} else {
|
||||
self.expandedParticipantsVideoState = nil
|
||||
self.focusedSpeakerAutoSwitchDeadline = 0.0
|
||||
}
|
||||
|
||||
if !self.isUpdating {
|
||||
@@ -1459,6 +1465,7 @@ final class VideoChatScreenComponent: Component {
|
||||
}
|
||||
|
||||
self.expandedParticipantsVideoState = VideoChatParticipantsComponent.ExpandedVideoState(mainParticipant: key, isMainParticipantPinned: false, isUIHidden: isUIHidden)
|
||||
self.focusedSpeakerAutoSwitchDeadline = CFAbsoluteTimeGetCurrent() + 3.0
|
||||
self.state?.updated(transition: .spring(duration: 0.4))
|
||||
} else if self.expandedParticipantsVideoState != nil {
|
||||
self.expandedParticipantsVideoState = nil
|
||||
|
||||
Reference in New Issue
Block a user