From 5011f833d478fd29888c030fcbb037933409350a Mon Sep 17 00:00:00 2001 From: Ilya Laktyushin Date: Wed, 27 Jan 2021 12:37:06 +0300 Subject: [PATCH] Various Fixes --- .../Sources/TelegramBaseController.swift | 10 +++++++++- .../Sources/VoiceChatVolumeContextItem.swift | 4 ++-- submodules/TelegramUI/Sources/ChatEmptyNode.swift | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/submodules/TelegramBaseController/Sources/TelegramBaseController.swift b/submodules/TelegramBaseController/Sources/TelegramBaseController.swift index 830f3fa4c2..df8e249061 100644 --- a/submodules/TelegramBaseController/Sources/TelegramBaseController.swift +++ b/submodules/TelegramBaseController/Sources/TelegramBaseController.swift @@ -321,12 +321,20 @@ open class TelegramBaseController: ViewController, KeyShortcutResponder { availableGroupCall = .single(nil) } + let previousCurrentGroupCall = Atomic(value: nil) self.currentGroupCallDisposable = combineLatest(queue: .mainQueue(), availableGroupCall, currentGroupCall).start(next: { [weak self] availableState, currentGroupCall in guard let strongSelf = self else { return } - let panelData = currentGroupCall != nil || availableState?.participantCount == 0 ? nil : availableState + let previousCurrentGroupCall = previousCurrentGroupCall.swap(currentGroupCall) + + let panelData: GroupCallPanelData? + if previousCurrentGroupCall != nil && currentGroupCall == nil && availableState?.participantCount == 1 { + panelData = nil + } else { + panelData = currentGroupCall != nil || availableState?.participantCount == 0 ? nil : availableState + } let wasEmpty = strongSelf.groupCallPanelData == nil strongSelf.groupCallPanelData = panelData diff --git a/submodules/TelegramCallsUI/Sources/VoiceChatVolumeContextItem.swift b/submodules/TelegramCallsUI/Sources/VoiceChatVolumeContextItem.swift index c738e9ae2e..72db5137c3 100644 --- a/submodules/TelegramCallsUI/Sources/VoiceChatVolumeContextItem.swift +++ b/submodules/TelegramCallsUI/Sources/VoiceChatVolumeContextItem.swift @@ -138,8 +138,8 @@ private final class VoiceChatVolumeContextItemNode: ASDisplayNode, ContextMenuCu let iconSize = CGSize(width: 36.0, height: 36.0) let iconFrame = CGRect(origin: CGPoint(x: size.width - iconSize.width - 10.0, y: floor((size.height - iconSize.height) / 2.0)), size: iconSize) - transition.updateFrameAdditive(node: self.backgroundIconNode, frame: iconFrame) - transition.updateFrameAdditive(node: self.foregroundIconNode, frame: iconFrame) + self.backgroundIconNode.frame = iconFrame + self.foregroundIconNode.frame = iconFrame self.updateValue(transition: transition) }) diff --git a/submodules/TelegramUI/Sources/ChatEmptyNode.swift b/submodules/TelegramUI/Sources/ChatEmptyNode.swift index fe328a6ee1..e7e955f817 100644 --- a/submodules/TelegramUI/Sources/ChatEmptyNode.swift +++ b/submodules/TelegramUI/Sources/ChatEmptyNode.swift @@ -838,7 +838,7 @@ final class ChatEmptyNode: ASDisplayNode { } else if let _ = interfaceState.peerNearbyData { contentType = .peerNearby } else if let _ = peer as? TelegramUser { - if case .joined = emptyType { + if case .joined = emptyType, !peer.isDeleted { contentType = .greeting } else { contentType = .regular