mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-08-08 08:31:13 +00:00
Merge branches 'master' and 'master' of gitlab.com:peter-iakovlev/telegram-ios
This commit is contained in:
commit
ab8ef13188
@ -1082,11 +1082,12 @@ public final class VoiceChatController: ViewController {
|
||||
guard let strongSelf = self else {
|
||||
return
|
||||
}
|
||||
let callPeerId = strongSelf.call.peerId
|
||||
|
||||
let _ = (strongSelf.context.account.postbox.transaction { transaction -> String? in
|
||||
if let peer = transaction.getPeer(call.peerId), let addressName = peer.addressName, !addressName.isEmpty {
|
||||
if let peer = transaction.getPeer(callPeerId), let addressName = peer.addressName, !addressName.isEmpty {
|
||||
return "https://t.me/\(addressName)"
|
||||
} else if let cachedData = transaction.getPeerCachedData(peerId: call.peerId) {
|
||||
} else if let cachedData = transaction.getPeerCachedData(peerId: callPeerId) {
|
||||
if let cachedData = cachedData as? CachedChannelData {
|
||||
return cachedData.exportedInvitation?.link
|
||||
} else if let cachedData = cachedData as? CachedGroupData {
|
||||
@ -1459,7 +1460,7 @@ public final class VoiceChatController: ViewController {
|
||||
}
|
||||
})
|
||||
|
||||
self.audioOutputStateDisposable = (call.audioOutputState
|
||||
self.audioOutputStateDisposable = (self.call.audioOutputState
|
||||
|> deliverOnMainQueue).start(next: { [weak self] state in
|
||||
guard let strongSelf = self else {
|
||||
return
|
||||
@ -1474,7 +1475,7 @@ public final class VoiceChatController: ViewController {
|
||||
}
|
||||
})
|
||||
|
||||
self.audioLevelsDisposable = (call.audioLevels
|
||||
self.audioLevelsDisposable = (self.call.audioLevels
|
||||
|> deliverOnMainQueue).start(next: { [weak self] levels in
|
||||
guard let strongSelf = self else {
|
||||
return
|
||||
@ -1508,7 +1509,7 @@ public final class VoiceChatController: ViewController {
|
||||
strongSelf.itemInteraction?.updateAudioLevels(levels)
|
||||
})
|
||||
|
||||
self.myAudioLevelDisposable = (call.myAudioLevel
|
||||
self.myAudioLevelDisposable = (self.call.myAudioLevel
|
||||
|> deliverOnMainQueue).start(next: { [weak self] level in
|
||||
guard let strongSelf = self else {
|
||||
return
|
||||
|
@ -726,7 +726,7 @@ class VoiceChatParticipantItemNode: ItemListRevealOptionsItemNode {
|
||||
raiseHandNode.playRandomAnimation()
|
||||
|
||||
strongSelf.raiseHandTimer = SwiftSignalKit.Timer(timeout: Double.random(in: 8.0 ... 10.5), repeat: true, completion: {
|
||||
strongSelf.raiseHandNode?.playRandomAnimation()
|
||||
self?.raiseHandNode?.playRandomAnimation()
|
||||
}, queue: Queue.mainQueue())
|
||||
strongSelf.raiseHandTimer?.start()
|
||||
}
|
||||
|
@ -50,7 +50,7 @@ private func activeChannelsFromUpdateGroups(_ groups: [UpdateGroup]) -> Set<Peer
|
||||
}
|
||||
}
|
||||
|
||||
return peerIds
|
||||
return peerIds.intersection(peerIdsRequiringLocalChatStateFromUpdateGroups(groups))
|
||||
}
|
||||
|
||||
private func associatedMessageIdsFromUpdateGroups(_ groups: [UpdateGroup]) -> Set<MessageId> {
|
||||
@ -110,13 +110,15 @@ private func peerIdsRequiringLocalChatStateFromUpdateGroups(_ groups: [UpdateGro
|
||||
for group in groups {
|
||||
peerIds.formUnion(peerIdsRequiringLocalChatStateFromUpdates(group.updates))
|
||||
|
||||
for chat in group.chats {
|
||||
/*for chat in group.chats {
|
||||
if let channel = parseTelegramGroupOrChannel(chat: chat) as? TelegramChannel {
|
||||
if case .member = channel.participationStatus {
|
||||
peerIds.insert(channel.id)
|
||||
if let accessHash = channel.accessHash, case .personal = accessHash {
|
||||
if case .member = channel.participationStatus {
|
||||
peerIds.insert(channel.id)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
switch group {
|
||||
case let .ensurePeerHasLocalState(peerId):
|
||||
|
@ -828,6 +828,7 @@ public final class GroupCallParticipantsContext {
|
||||
public var participationStatusChange: ParticipationStatusChange
|
||||
public var volume: Int32?
|
||||
public var about: String?
|
||||
public var isMin: Bool
|
||||
|
||||
init(
|
||||
peerId: PeerId,
|
||||
@ -839,7 +840,8 @@ public final class GroupCallParticipantsContext {
|
||||
muteState: Participant.MuteState?,
|
||||
participationStatusChange: ParticipationStatusChange,
|
||||
volume: Int32?,
|
||||
about: String?
|
||||
about: String?,
|
||||
isMin: Bool
|
||||
) {
|
||||
self.peerId = peerId
|
||||
self.ssrc = ssrc
|
||||
@ -851,6 +853,7 @@ public final class GroupCallParticipantsContext {
|
||||
self.participationStatusChange = participationStatusChange
|
||||
self.volume = volume
|
||||
self.about = about
|
||||
self.isMin = isMin
|
||||
}
|
||||
}
|
||||
|
||||
@ -1586,6 +1589,7 @@ extension GroupCallParticipantsContext.Update.StateUpdate.ParticipantUpdate {
|
||||
}
|
||||
let isRemoved = (flags & (1 << 1)) != 0
|
||||
let justJoined = (flags & (1 << 4)) != 0
|
||||
let isMin = (flags & (1 << 8)) != 0
|
||||
|
||||
let participationStatusChange: GroupCallParticipantsContext.Update.StateUpdate.ParticipantUpdate.ParticipationStatusChange
|
||||
if isRemoved {
|
||||
@ -1614,7 +1618,8 @@ extension GroupCallParticipantsContext.Update.StateUpdate.ParticipantUpdate {
|
||||
muteState: muteState,
|
||||
participationStatusChange: participationStatusChange,
|
||||
volume: volume,
|
||||
about: about
|
||||
about: about,
|
||||
isMin: isMin
|
||||
)
|
||||
}
|
||||
}
|
||||
@ -1647,6 +1652,7 @@ extension GroupCallParticipantsContext.Update.StateUpdate {
|
||||
}
|
||||
let isRemoved = (flags & (1 << 1)) != 0
|
||||
let justJoined = (flags & (1 << 4)) != 0
|
||||
let isMin = (flags & (1 << 8)) != 0
|
||||
|
||||
let participationStatusChange: GroupCallParticipantsContext.Update.StateUpdate.ParticipantUpdate.ParticipationStatusChange
|
||||
if isRemoved {
|
||||
@ -1675,7 +1681,8 @@ extension GroupCallParticipantsContext.Update.StateUpdate {
|
||||
muteState: muteState,
|
||||
participationStatusChange: participationStatusChange,
|
||||
volume: volume,
|
||||
about: about
|
||||
about: about,
|
||||
isMin: isMin
|
||||
))
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user