Improve recording lock icon

This commit is contained in:
Ilya Laktyushin
2023-12-06 00:31:03 +04:00
parent ee8b068355
commit 0f4d4b4503
6 changed files with 53 additions and 7 deletions

View File

@@ -445,6 +445,15 @@ public final class ChatTextInputMediaRecordingButton: TGModernConversationInputM
(self.micLockValue as? LockView)?.updateTheme(theme)
}
public override func createLockPanelView() -> UIView! {
if self.hidesOnLock {
let view = WrapperBlurrredBackgroundView(frame: CGRect(origin: .zero, size: CGSize(width: 40.0, height: 72.0)))
return view
} else {
return super.createLockPanelView()
}
}
public func cancelRecording() {
self.isEnabled = false
self.isEnabled = true
@@ -572,3 +581,31 @@ public final class ChatTextInputMediaRecordingButton: TGModernConversationInputM
}
}
}
private class WrapperBlurrredBackgroundView: UIView {
let view: BlurredBackgroundView
override init(frame: CGRect) {
let view = BlurredBackgroundView(color: UIColor(white: 0.0, alpha: 0.5), enableBlur: true)
view.frame = CGRect(origin: .zero, size: frame.size)
view.update(size: frame.size, cornerRadius: frame.width / 2.0, transition: .immediate)
self.view = view
super.init(frame: frame)
self.addSubview(view)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override var frame: CGRect {
get {
return super.frame
} set {
super.frame = newValue
self.view.update(size: newValue.size, cornerRadius: newValue.width / 2.0, transition: .immediate)
}
}
}

View File

@@ -65,6 +65,7 @@ final class LockView: UIButton, TGModernConversationInputMicButtonLock {
[
"Rectangle.Заливка 1": theme.chat.inputPanel.panelBackgroundColor,
"Rectangle.Rectangle.Обводка 1": theme.chat.inputPanel.panelControlAccentColor,
"Rectangle 2.Rectangle.Обводка 1": theme.chat.inputPanel.panelControlAccentColor,
"Path.Path.Обводка 1": theme.chat.inputPanel.panelControlAccentColor,
"Path 4.Path 4.Обводка 1": theme.chat.inputPanel.panelControlAccentColor
].forEach { key, value in