mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-16 19:30:29 +00:00
Various fixes
This commit is contained in:
parent
ca80657e16
commit
64d5a443d7
@ -672,15 +672,9 @@ public class VideoMessageCameraScreen: ViewController {
|
|||||||
}
|
}
|
||||||
self.loadingView.alpha = 0.0
|
self.loadingView.alpha = 0.0
|
||||||
self.additionalPreviewView.removePlaceholder(delay: 0.0)
|
self.additionalPreviewView.removePlaceholder(delay: 0.0)
|
||||||
|
|
||||||
Queue.mainQueue().after(0.15) {
|
|
||||||
self.startRecording.invoke(Void())
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
|
||||||
self.idleTimerExtensionDisposable.set(self.context.sharedContext.applicationBindings.pushIdleTimerExtension())
|
self.idleTimerExtensionDisposable.set(self.context.sharedContext.applicationBindings.pushIdleTimerExtension())
|
||||||
|
|
||||||
self.setupCamera()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
deinit {
|
deinit {
|
||||||
@ -689,28 +683,19 @@ public class VideoMessageCameraScreen: ViewController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func withReadyCamera(isFirstTime: Bool = false, _ f: @escaping () -> Void) {
|
func withReadyCamera(isFirstTime: Bool = false, _ f: @escaping () -> Void) {
|
||||||
guard let controller = self.controller else {
|
let previewReady: Signal<Bool, NoError>
|
||||||
return
|
|
||||||
}
|
|
||||||
if #available(iOS 13.0, *) {
|
if #available(iOS 13.0, *) {
|
||||||
let _ = (combineLatest(queue: Queue.mainQueue(),
|
previewReady = self.cameraState.isDualCameraEnabled ? self.additionalPreviewView.isPreviewing : self.mainPreviewView.isPreviewing
|
||||||
self.cameraState.isDualCameraEnabled ? self.additionalPreviewView.isPreviewing : self.mainPreviewView.isPreviewing,
|
|
||||||
controller.audioSessionReady.get()
|
|
||||||
)
|
|
||||||
|> filter { $0 && $1 }
|
|
||||||
|> take(1)).startStandalone(next: { _, _ in
|
|
||||||
f()
|
|
||||||
})
|
|
||||||
} else {
|
} else {
|
||||||
let _ = (combineLatest(queue: Queue.mainQueue(),
|
previewReady = .single(true) |> delay(0.35, queue: Queue.mainQueue())
|
||||||
.single(true) |> delay(0.35, queue: Queue.mainQueue()),
|
|
||||||
controller.audioSessionReady.get()
|
|
||||||
)
|
|
||||||
|> filter { $0 && $1 }
|
|
||||||
|> take(1)).startStandalone(next: { _, _ in
|
|
||||||
f()
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let _ = (previewReady
|
||||||
|
|> filter { $0 }
|
||||||
|
|> take(1)
|
||||||
|
|> deliverOnMainQueue).startStandalone(next: { _ in
|
||||||
|
f()
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func setupLiveUpload(filePath: String) {
|
func setupLiveUpload(filePath: String) {
|
||||||
@ -734,7 +719,7 @@ public class VideoMessageCameraScreen: ViewController {
|
|||||||
self.view.addGestureRecognizer(pinchGestureRecognizer)
|
self.view.addGestureRecognizer(pinchGestureRecognizer)
|
||||||
}
|
}
|
||||||
|
|
||||||
private func setupCamera() {
|
fileprivate func setupCamera() {
|
||||||
guard self.camera == nil else {
|
guard self.camera == nil else {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -771,6 +756,10 @@ public class VideoMessageCameraScreen: ViewController {
|
|||||||
camera.startCapture()
|
camera.startCapture()
|
||||||
|
|
||||||
self.camera = camera
|
self.camera = camera
|
||||||
|
|
||||||
|
Queue.mainQueue().justDispatch {
|
||||||
|
self.startRecording.invoke(Void())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@objc private func handlePinch(_ gestureRecognizer: UIPinchGestureRecognizer) {
|
@objc private func handlePinch(_ gestureRecognizer: UIPinchGestureRecognizer) {
|
||||||
@ -1252,7 +1241,6 @@ public class VideoMessageCameraScreen: ViewController {
|
|||||||
fileprivate let completion: (EnqueueMessage?, Bool?, Int32?) -> Void
|
fileprivate let completion: (EnqueueMessage?, Bool?, Int32?) -> Void
|
||||||
|
|
||||||
private var audioSessionDisposable: Disposable?
|
private var audioSessionDisposable: Disposable?
|
||||||
fileprivate let audioSessionReady = ValuePromise<Bool>(false)
|
|
||||||
|
|
||||||
private let hapticFeedback = HapticFeedback()
|
private let hapticFeedback = HapticFeedback()
|
||||||
|
|
||||||
@ -1633,7 +1621,7 @@ public class VideoMessageCameraScreen: ViewController {
|
|||||||
try? AVAudioSession.sharedInstance().setAllowHapticsAndSystemSoundsDuringRecording(true)
|
try? AVAudioSession.sharedInstance().setAllowHapticsAndSystemSoundsDuringRecording(true)
|
||||||
}
|
}
|
||||||
if let self {
|
if let self {
|
||||||
self.audioSessionReady.set(true)
|
self.node.setupCamera()
|
||||||
}
|
}
|
||||||
}, deactivate: { _ in
|
}, deactivate: { _ in
|
||||||
return .single(Void())
|
return .single(Void())
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user