Various fixes

This commit is contained in:
Ilya Laktyushin 2023-12-29 10:58:18 +04:00
parent 811a763ef5
commit acb3604f42
6 changed files with 13 additions and 4 deletions

View File

@ -6,6 +6,7 @@
#import "TGOverlayController.h" #import "TGOverlayController.h"
#import "TGColor.h" #import "TGColor.h"
#import "TGImageUtils.h" #import "TGImageUtils.h"
#import "TGPhotoEditorSparseView.h"
static const CGFloat innerCircleRadius = 110.0f; static const CGFloat innerCircleRadius = 110.0f;
static const CGFloat outerCircleRadius = innerCircleRadius + 50.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]; [[_presentation view] addSubview:_lockPanelWrapperView];
_lockPanelView = [self createLockPanelView]; _lockPanelView = [self createLockPanelView];

View File

@ -1859,6 +1859,8 @@ public final class ChatMessageInteractiveFileNode: ASDisplayNode {
} }
self.countNode.segments = segments self.countNode.segments = segments
displayingCountdown = true displayingCountdown = true
} else if self.countNode.supernode != nil {
self.countNode.removeFromSupernode()
} }
} else { } else {
self.fetchingTextNode.attributedText = nil self.fetchingTextNode.attributedText = nil

View File

@ -326,6 +326,7 @@ final class ChatRecordingPreviewInputPanelNode: ChatInputPanelNode {
if let prevTextInputPanelNode = self.prevInputPanelNode as? ChatTextInputPanelNode { if let prevTextInputPanelNode = self.prevInputPanelNode as? ChatTextInputPanelNode {
self.prevInputPanelNode = nil self.prevInputPanelNode = nil
self.viewOnceButton.isHidden = prevTextInputPanelNode.viewOnceButton.isHidden
self.viewOnce = prevTextInputPanelNode.viewOnce self.viewOnce = prevTextInputPanelNode.viewOnce
self.viewOnceButton.update(isSelected: self.viewOnce, animated: false) self.viewOnceButton.update(isSelected: self.viewOnce, animated: false)
@ -580,7 +581,7 @@ final class ChatRecordingViewOnceButtonNode: HighlightTrackingButtonNode {
} }
if updated { 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.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.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) 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)

View File

@ -2626,7 +2626,7 @@ class ChatTextInputPanelNode: ChatInputPanelNode, ASEditableTextNodeDelegate, Ch
transition.updatePosition(node: self.viewOnceButton, position: viewOnceButtonFrame.center) transition.updatePosition(node: self.viewOnceButton, position: viewOnceButtonFrame.center)
var viewOnceIsVisible = false 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 viewOnceIsVisible = true
} }
if self.viewOnceButton.alpha.isZero && viewOnceIsVisible { 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.updateAlpha(node: self.viewOnceButton, alpha: viewOnceIsVisible ? 1.0 : 0.0)
transition.updateTransformScale(node: self.viewOnceButton, scale: viewOnceIsVisible ? 1.0 : 0.01) 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 var clippingDelta: CGFloat = 0.0
if case let .media(_, _, focused) = interfaceState.inputMode, focused { if case let .media(_, _, focused) = interfaceState.inputMode, focused {