Fix video display

This commit is contained in:
Isaac 2024-08-30 23:11:05 +08:00
parent 2fab1d113e
commit 0afe444a8f
2 changed files with 20 additions and 7 deletions

View File

@ -73,6 +73,18 @@ final class VideoChatMicButtonComponent: Component {
} }
override func endTracking(_ touch: UITouch?, with event: UIEvent?) { override func endTracking(_ touch: UITouch?, with event: UIEvent?) {
performEndOrCancelTracking()
return super.endTracking(touch, with: event)
}
override func cancelTracking(with event: UIEvent?) {
performEndOrCancelTracking()
return super.cancelTracking(with: event)
}
private func performEndOrCancelTracking() {
if let component = self.component { if let component = self.component {
let timestamp = CFAbsoluteTimeGetCurrent() let timestamp = CFAbsoluteTimeGetCurrent()
@ -93,12 +105,6 @@ final class VideoChatMicButtonComponent: Component {
} }
} }
} }
return super.endTracking(touch, with: event)
}
override func cancelTracking(with event: UIEvent?) {
return super.cancelTracking(with: event)
} }
required init?(coder: NSCoder) { required init?(coder: NSCoder) {
@ -117,10 +123,12 @@ final class VideoChatMicButtonComponent: Component {
let titleText: String let titleText: String
let backgroundColor: UIColor let backgroundColor: UIColor
var isEnabled = true
switch component.content { switch component.content {
case .connecting: case .connecting:
titleText = "Connecting..." titleText = "Connecting..."
backgroundColor = UIColor(white: 1.0, alpha: 0.1) backgroundColor = UIColor(white: 1.0, alpha: 0.1)
isEnabled = false
case .muted: case .muted:
titleText = "Unmute" titleText = "Unmute"
backgroundColor = UIColor(rgb: 0x0086FF) backgroundColor = UIColor(rgb: 0x0086FF)
@ -128,6 +136,7 @@ final class VideoChatMicButtonComponent: Component {
titleText = "Mute" titleText = "Mute"
backgroundColor = UIColor(rgb: 0x34C659) backgroundColor = UIColor(rgb: 0x34C659)
} }
self.isEnabled = isEnabled
let titleSize = self.title.update( let titleSize = self.title.update(
transition: .immediate, transition: .immediate,

View File

@ -244,7 +244,11 @@ final class VideoChatParticipantVideoComponent: Component {
videoBackgroundLayer = SimpleLayer() videoBackgroundLayer = SimpleLayer()
videoBackgroundLayer.backgroundColor = UIColor(white: 0.1, alpha: 1.0).cgColor videoBackgroundLayer.backgroundColor = UIColor(white: 0.1, alpha: 1.0).cgColor
self.videoBackgroundLayer = videoBackgroundLayer self.videoBackgroundLayer = videoBackgroundLayer
self.layer.insertSublayer(videoBackgroundLayer, at: 0) if let blurredAvatarView = self.blurredAvatarView {
self.layer.insertSublayer(videoBackgroundLayer, above: blurredAvatarView.layer)
} else {
self.layer.insertSublayer(videoBackgroundLayer, at: 0)
}
videoBackgroundLayer.isHidden = true videoBackgroundLayer.isHidden = true
} }