Merge branch 'master' of gitlab.com:peter-iakovlev/telegram-ios

This commit is contained in:
Ilya Laktyushin 2021-03-11 23:01:57 +04:00
commit adbfaee2ae

View File

@ -606,7 +606,9 @@ public final class PresentationGroupCallImpl: PresentationGroupCall {
self.audioSessionShouldBeActiveDisposable = (self.audioSessionShouldBeActive.get() self.audioSessionShouldBeActiveDisposable = (self.audioSessionShouldBeActive.get()
|> deliverOnMainQueue).start(next: { [weak self] value in |> deliverOnMainQueue).start(next: { [weak self] value in
if let strongSelf = self { guard let strongSelf = self else {
return
}
if value { if value {
if let audioSessionControl = strongSelf.audioSessionControl { if let audioSessionControl = strongSelf.audioSessionControl {
//let audioSessionActive: Signal<Bool, NoError> //let audioSessionActive: Signal<Bool, NoError>
@ -614,14 +616,14 @@ public final class PresentationGroupCallImpl: PresentationGroupCall {
_ = callKitIntegration.audioSessionActive _ = callKitIntegration.audioSessionActive
|> filter { $0 } |> filter { $0 }
|> timeout(2.0, queue: Queue.mainQueue(), alternate: Signal { subscriber in |> timeout(2.0, queue: Queue.mainQueue(), alternate: Signal { subscriber in
if let strongSelf = self, let _ = strongSelf.audioSessionControl { /*if let strongSelf = self, let _ = strongSelf.audioSessionControl {
} }*/
subscriber.putNext(true) subscriber.putNext(true)
subscriber.putCompletion() subscriber.putCompletion()
return EmptyDisposable return EmptyDisposable
}) })
} else { } else {
audioSessionControl.activate({ [weak self] _ in audioSessionControl.activate({ _ in
Queue.mainQueue().async { Queue.mainQueue().async {
guard let strongSelf = self else { guard let strongSelf = self else {
return return
@ -636,7 +638,6 @@ public final class PresentationGroupCallImpl: PresentationGroupCall {
} else { } else {
strongSelf.audioSessionActive.set(.single(false)) strongSelf.audioSessionActive.set(.single(false))
} }
}
}) })
self.audioSessionActiveDisposable = (self.audioSessionActive.get() self.audioSessionActiveDisposable = (self.audioSessionActive.get()
@ -1312,9 +1313,12 @@ public final class PresentationGroupCallImpl: PresentationGroupCall {
let _ = (strongSelf.accountContext.sharedContext.hasGroupCallOnScreen let _ = (strongSelf.accountContext.sharedContext.hasGroupCallOnScreen
|> take(1) |> take(1)
|> deliverOnMainQueue).start(next: { [weak self] hasGroupCallOnScreen in |> deliverOnMainQueue).start(next: { hasGroupCallOnScreen in
guard let strongSelf = self else {
return
}
let presentationData = strongSelf.accountContext.sharedContext.currentPresentationData.with { $0 } let presentationData = strongSelf.accountContext.sharedContext.currentPresentationData.with { $0 }
if hasGroupCallOnScreen, let groupCallController = self?.accountContext.sharedContext.currentGroupCallController { if hasGroupCallOnScreen, let groupCallController = strongSelf.accountContext.sharedContext.currentGroupCallController {
var animateInAsReplacement = false var animateInAsReplacement = false
groupCallController.forEachController { c in groupCallController.forEachController { c in
if let c = c as? UndoOverlayController { if let c = c as? UndoOverlayController {