mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Merge commit 'bae050aabf5dc12bcae71f7bbbdc1f87e3f2c296'
This commit is contained in:
commit
03a030942f
@ -4502,13 +4502,19 @@ public final class VoiceChatController: ViewController {
|
||||
private func updateVisibility() {
|
||||
let visible = self.appIsActive && self.visibility
|
||||
if self.tileGridNode.isHidden {
|
||||
self.tileGridNode.visiblity = false
|
||||
self.tileGridNode.visibility = false
|
||||
} else {
|
||||
self.tileGridNode.visiblity = isVisible
|
||||
self.tileGridNode.visibility = visible
|
||||
}
|
||||
self.mainStageNode.visibility = visible
|
||||
self.listNode.forEachItemNode { itemNode in
|
||||
if let itemNode = itemNode as? VoiceChatTilesGridItemNode {
|
||||
itemNode.gridVisiblity = visible
|
||||
itemNode.gridVisibility = visible
|
||||
}
|
||||
}
|
||||
self.fullscreenListNode.forEachItemNode { itemNode in
|
||||
if let itemNode = itemNode as? VoiceChatFullscreenParticipantItemNode {
|
||||
itemNode.gridVisibility = visible
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -335,6 +335,22 @@ class VoiceChatFullscreenParticipantItemNode: ItemListRevealOptionsItemNode {
|
||||
}
|
||||
}
|
||||
|
||||
var gridVisibility = true {
|
||||
didSet {
|
||||
self.updateIsEnabled()
|
||||
}
|
||||
}
|
||||
|
||||
func updateIsEnabled() {
|
||||
guard let (rect, containerSize) = self.absoluteLocation else {
|
||||
return
|
||||
}
|
||||
let isVisibleInContainer = rect.maxY >= 0.0 && rect.minY <= containerSize.height
|
||||
if let videoNode = self.videoNode, videoNode.supernode === self.videoContainerNode {
|
||||
videoNode.updateIsEnabled(self.gridVisibility && isVisibleInContainer)
|
||||
}
|
||||
}
|
||||
|
||||
private func updateIsExtracted(_ isExtracted: Bool, transition: ContainedViewLayoutTransition) {
|
||||
guard self.isExtracted != isExtracted, let extractedRect = self.extractedRect, let nonExtractedRect = self.nonExtractedRect, let item = self.item else {
|
||||
return
|
||||
@ -959,5 +975,7 @@ class VoiceChatFullscreenParticipantItemNode: ItemListRevealOptionsItemNode {
|
||||
var rect = rect
|
||||
rect.origin.y += self.insets.top
|
||||
self.absoluteLocation = (rect, containerSize)
|
||||
|
||||
self.updateIsEnabled()
|
||||
}
|
||||
}
|
||||
|
@ -378,9 +378,18 @@ final class VoiceChatMainStageNode: ASDisplayNode {
|
||||
self.stopScreencast?()
|
||||
}
|
||||
|
||||
var visibility = true {
|
||||
didSet {
|
||||
if let videoNode = self.currentVideoNode, videoNode.supernode === self {
|
||||
videoNode.updateIsEnabled(self.visibility)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var animating: Bool {
|
||||
return self.animatingIn || self.animatingOut
|
||||
}
|
||||
|
||||
private var animatingIn = false
|
||||
private var animatingOut = false
|
||||
private var appeared = false
|
||||
|
@ -35,10 +35,10 @@ final class VoiceChatTileGridNode: ASDisplayNode {
|
||||
self.clipsToBounds = true
|
||||
}
|
||||
|
||||
var visiblity = true {
|
||||
var visibility = true {
|
||||
didSet {
|
||||
for (_, tileNode) in self.itemNodes {
|
||||
tileNode.visiblity = self.visiblity
|
||||
tileNode.visibility = self.visibility
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -132,7 +132,7 @@ final class VoiceChatTileGridNode: ASDisplayNode {
|
||||
self.addSubnode(addedItemNode)
|
||||
}
|
||||
if let itemNode = itemNode {
|
||||
itemNode.visiblity = self.visiblity
|
||||
itemNode.visibility = self.visibility
|
||||
if wasAdded {
|
||||
itemNode.frame = itemFrame
|
||||
if !isFirstTime {
|
||||
@ -293,7 +293,7 @@ final class VoiceChatTilesGridItemNode: ListViewItemNode {
|
||||
strongSelf.cornersNode.image = decorationCornersImage(top: true, bottom: false, dark: item.getIsExpanded())
|
||||
|
||||
tileGridNode = VoiceChatTileGridNode(context: item.context)
|
||||
tileGridNode.visiblity = strongSelf.gridVisiblity
|
||||
tileGridNode.visibility = strongSelf.gridVisibility
|
||||
strongSelf.addSubnode(tileGridNode)
|
||||
strongSelf.tileGridNode = tileGridNode
|
||||
}
|
||||
@ -324,9 +324,9 @@ final class VoiceChatTilesGridItemNode: ListViewItemNode {
|
||||
self.tileGridNode?.updateAbsoluteRect(rect, within: containerSize)
|
||||
}
|
||||
|
||||
var gridVisiblity: Bool = true {
|
||||
var gridVisibility: Bool = true {
|
||||
didSet {
|
||||
self.tileGridNode?.visiblity = self.gridVisiblity
|
||||
self.tileGridNode?.visibility = self.gridVisibility
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -323,7 +323,7 @@ final class VoiceChatTileItemNode: ASDisplayNode {
|
||||
self.updateIsEnabled()
|
||||
}
|
||||
|
||||
var visiblity = true {
|
||||
var visibility = true {
|
||||
didSet {
|
||||
self.updateIsEnabled()
|
||||
}
|
||||
@ -335,7 +335,7 @@ final class VoiceChatTileItemNode: ASDisplayNode {
|
||||
}
|
||||
let isVisibleInContainer = rect.maxY >= 0.0 && rect.minY <= containerSize.height
|
||||
if let videoNode = self.videoNode, videoNode.supernode === self.videoContainerNode {
|
||||
videoNode.updateIsEnabled(self.visiblity && isVisibleInContainer)
|
||||
videoNode.updateIsEnabled(self.visibility && isVisibleInContainer)
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user