From acb3604f42732b8662530e28e6975c72856e1daf Mon Sep 17 00:00:00 2001 From: Ilya Laktyushin Date: Fri, 29 Dec 2023 10:58:18 +0400 Subject: [PATCH] Various fixes --- .../Sources/TGModernConversationInputMicButton.m | 3 ++- .../Sources/ChatMessageInteractiveFileNode.swift | 2 ++ .../1filled.pdf | 0 .../Contents.json | 0 .../Sources/ChatRecordingPreviewInputPanelNode.swift | 5 +++-- submodules/TelegramUI/Sources/ChatTextInputPanelNode.swift | 7 ++++++- 6 files changed, 13 insertions(+), 4 deletions(-) rename submodules/TelegramUI/Images.xcassets/Media Gallery/{ViewOnceon.imageset => ViewOnceEnabled.imageset}/1filled.pdf (100%) rename submodules/TelegramUI/Images.xcassets/Media Gallery/{ViewOnceon.imageset => ViewOnceEnabled.imageset}/Contents.json (100%) diff --git a/submodules/LegacyComponents/Sources/TGModernConversationInputMicButton.m b/submodules/LegacyComponents/Sources/TGModernConversationInputMicButton.m index 7161bb7314..30cf93a7bc 100644 --- a/submodules/LegacyComponents/Sources/TGModernConversationInputMicButton.m +++ b/submodules/LegacyComponents/Sources/TGModernConversationInputMicButton.m @@ -6,6 +6,7 @@ #import "TGOverlayController.h" #import "TGColor.h" #import "TGImageUtils.h" +#import "TGPhotoEditorSparseView.h" static const CGFloat innerCircleRadius = 110.0f; static const CGFloat outerCircleRadius = innerCircleRadius + 50.0f; @@ -379,7 +380,7 @@ static const CGFloat outerCircleMinScale = innerCircleRadius / outerCircleRadius }; } - _lockPanelWrapperView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 40.0f, 72.0f)]; + _lockPanelWrapperView = [[TGPhotoEditorSparseView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 40.0f, 72.0f)]; [[_presentation view] addSubview:_lockPanelWrapperView]; _lockPanelView = [self createLockPanelView]; diff --git a/submodules/TelegramUI/Components/Chat/ChatMessageInteractiveFileNode/Sources/ChatMessageInteractiveFileNode.swift b/submodules/TelegramUI/Components/Chat/ChatMessageInteractiveFileNode/Sources/ChatMessageInteractiveFileNode.swift index 863a15f862..6b2f1bff0b 100644 --- a/submodules/TelegramUI/Components/Chat/ChatMessageInteractiveFileNode/Sources/ChatMessageInteractiveFileNode.swift +++ b/submodules/TelegramUI/Components/Chat/ChatMessageInteractiveFileNode/Sources/ChatMessageInteractiveFileNode.swift @@ -1859,6 +1859,8 @@ public final class ChatMessageInteractiveFileNode: ASDisplayNode { } self.countNode.segments = segments displayingCountdown = true + } else if self.countNode.supernode != nil { + self.countNode.removeFromSupernode() } } else { self.fetchingTextNode.attributedText = nil diff --git a/submodules/TelegramUI/Images.xcassets/Media Gallery/ViewOnceon.imageset/1filled.pdf b/submodules/TelegramUI/Images.xcassets/Media Gallery/ViewOnceEnabled.imageset/1filled.pdf similarity index 100% rename from submodules/TelegramUI/Images.xcassets/Media Gallery/ViewOnceon.imageset/1filled.pdf rename to submodules/TelegramUI/Images.xcassets/Media Gallery/ViewOnceEnabled.imageset/1filled.pdf diff --git a/submodules/TelegramUI/Images.xcassets/Media Gallery/ViewOnceon.imageset/Contents.json b/submodules/TelegramUI/Images.xcassets/Media Gallery/ViewOnceEnabled.imageset/Contents.json similarity index 100% rename from submodules/TelegramUI/Images.xcassets/Media Gallery/ViewOnceon.imageset/Contents.json rename to submodules/TelegramUI/Images.xcassets/Media Gallery/ViewOnceEnabled.imageset/Contents.json diff --git a/submodules/TelegramUI/Sources/ChatRecordingPreviewInputPanelNode.swift b/submodules/TelegramUI/Sources/ChatRecordingPreviewInputPanelNode.swift index 009619e070..ffb98a1d50 100644 --- a/submodules/TelegramUI/Sources/ChatRecordingPreviewInputPanelNode.swift +++ b/submodules/TelegramUI/Sources/ChatRecordingPreviewInputPanelNode.swift @@ -326,6 +326,7 @@ final class ChatRecordingPreviewInputPanelNode: ChatInputPanelNode { if let prevTextInputPanelNode = self.prevInputPanelNode as? ChatTextInputPanelNode { self.prevInputPanelNode = nil + self.viewOnceButton.isHidden = prevTextInputPanelNode.viewOnceButton.isHidden self.viewOnce = prevTextInputPanelNode.viewOnce self.viewOnceButton.update(isSelected: self.viewOnce, animated: false) @@ -580,7 +581,7 @@ final class ChatRecordingViewOnceButtonNode: HighlightTrackingButtonNode { } if updated { - self.iconNode.image = generateTintedImage(image: UIImage(bundleImageName: self.innerIsSelected ? "Media Gallery/ViewOnceOn" : "Media Gallery/ViewOnce"), color: theme.chat.inputPanel.panelControlAccentColor) + self.iconNode.image = generateTintedImage(image: UIImage(bundleImageName: self.innerIsSelected ? "Media Gallery/ViewOnceEnabled" : "Media Gallery/ViewOnce"), color: theme.chat.inputPanel.panelControlAccentColor) } } @@ -594,7 +595,7 @@ final class ChatRecordingViewOnceButtonNode: HighlightTrackingButtonNode { self.backgroundNode.updateColor(color: theme.chat.inputPanel.panelBackgroundColor, transition: .immediate) self.borderNode.image = generateCircleImage(diameter: innerSize.width, lineWidth: 0.5, color: theme.chat.historyNavigation.strokeColor, backgroundColor: nil) - self.iconNode.image = generateTintedImage(image: UIImage(bundleImageName: self.innerIsSelected ? "Media Gallery/ViewOnceOn" : "Media Gallery/ViewOnce"), color: theme.chat.inputPanel.panelControlAccentColor) + self.iconNode.image = generateTintedImage(image: UIImage(bundleImageName: self.innerIsSelected ? "Media Gallery/ViewOnceEnabled" : "Media Gallery/ViewOnce"), color: theme.chat.inputPanel.panelControlAccentColor) } let backgroundFrame = CGRect(origin: CGPoint(x: floorToScreenPixels(size.width / 2.0 - innerSize.width / 2.0), y: floorToScreenPixels(size.height / 2.0 - innerSize.height / 2.0)), size: innerSize) diff --git a/submodules/TelegramUI/Sources/ChatTextInputPanelNode.swift b/submodules/TelegramUI/Sources/ChatTextInputPanelNode.swift index 779fad5bc5..42b2922bba 100644 --- a/submodules/TelegramUI/Sources/ChatTextInputPanelNode.swift +++ b/submodules/TelegramUI/Sources/ChatTextInputPanelNode.swift @@ -2626,7 +2626,7 @@ class ChatTextInputPanelNode: ChatInputPanelNode, ASEditableTextNodeDelegate, Ch transition.updatePosition(node: self.viewOnceButton, position: viewOnceButtonFrame.center) var viewOnceIsVisible = false - if let _ = interfaceState.renderedPeer?.peer as? TelegramUser, let recordingState = interfaceState.inputTextPanelState.mediaRecordingState, case let .audio(_, isLocked) = recordingState, isLocked { + if let recordingState = interfaceState.inputTextPanelState.mediaRecordingState, case let .audio(_, isLocked) = recordingState, isLocked { viewOnceIsVisible = true } if self.viewOnceButton.alpha.isZero && viewOnceIsVisible { @@ -2634,6 +2634,11 @@ class ChatTextInputPanelNode: ChatInputPanelNode, ASEditableTextNodeDelegate, Ch } transition.updateAlpha(node: self.viewOnceButton, alpha: viewOnceIsVisible ? 1.0 : 0.0) transition.updateTransformScale(node: self.viewOnceButton, scale: viewOnceIsVisible ? 1.0 : 0.01) + if let _ = interfaceState.renderedPeer?.peer as? TelegramUser { + self.viewOnceButton.isHidden = false + } else { + self.viewOnceButton.isHidden = true + } var clippingDelta: CGFloat = 0.0 if case let .media(_, _, focused) = interfaceState.inputMode, focused {