mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 22:55:00 +00:00
Dual camera improvements
This commit is contained in:
@@ -59,7 +59,22 @@ public class CameraSimplePreviewView: UIView {
|
||||
self.placeholderView.image = additional ? CameraSimplePreviewView.lastAdditionalStateImage() : CameraSimplePreviewView.lastStateImage()
|
||||
self.addSubview(self.placeholderView)
|
||||
|
||||
self.resetPlaceholder()
|
||||
if !additional {
|
||||
if #available(iOS 13.0, *) {
|
||||
self.previewingDisposable = (self.isPreviewing
|
||||
|> filter { $0 }
|
||||
|> take(1)
|
||||
|> deliverOnMainQueue).start(next: { [weak self] _ in
|
||||
self?.removePlaceholder(delay: 0.15)
|
||||
})
|
||||
} else {
|
||||
Queue.mainQueue().after(0.35) {
|
||||
self.removePlaceholder(delay: 0.15)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
self.placeholderView.alpha = 1.0
|
||||
}
|
||||
}
|
||||
|
||||
required init?(coder: NSCoder) {
|
||||
@@ -76,28 +91,18 @@ public class CameraSimplePreviewView: UIView {
|
||||
self.placeholderView.frame = self.bounds.insetBy(dx: -1.0, dy: -1.0)
|
||||
}
|
||||
|
||||
public func removePlaceholder(delay: Double = 0.0) {
|
||||
UIView.animate(withDuration: 0.3, delay: delay) {
|
||||
self.placeholderView.alpha = 0.0
|
||||
}
|
||||
}
|
||||
|
||||
public func resetPlaceholder() {
|
||||
guard self.placeholderView.alpha == 0.0 else {
|
||||
return
|
||||
}
|
||||
self.placeholderView.image = self.additional ? CameraSimplePreviewView.lastAdditionalStateImage() : CameraSimplePreviewView.lastStateImage()
|
||||
self.placeholderView.alpha = 1.0
|
||||
if #available(iOS 13.0, *) {
|
||||
self.previewingDisposable = (self.isPreviewing
|
||||
|> filter { $0 }
|
||||
|> take(1)
|
||||
|> deliverOnMainQueue).start(next: { [weak self] _ in
|
||||
UIView.animate(withDuration: 0.3, delay: 0.15) {
|
||||
self?.placeholderView.alpha = 0.0
|
||||
}
|
||||
})
|
||||
} else {
|
||||
Queue.mainQueue().after(0.5) {
|
||||
UIView.animate(withDuration: 0.3) {
|
||||
self.placeholderView.alpha = 0.0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private var _videoPreviewLayer: AVCaptureVideoPreviewLayer?
|
||||
|
||||
Reference in New Issue
Block a user