@@ -971,6 +971,11 @@ public final class SharedAccountContextImpl: SharedAccountContext {
971971 if groupCallController. view. superview == nil {
972972 ( mainWindow. viewController as? NavigationController ) ? . pushViewController ( groupCallController)
973973 }
974+ } else if let streamController = self . streamController {
975+ mainWindow. hostView. containerView. endEditing ( true )
976+ if streamController. view. superview == nil {
977+ ( mainWindow. viewController as? NavigationController ) ? . pushViewController ( streamController)
978+ }
974979 }
975980 }
976981 } else {
@@ -1357,8 +1362,23 @@ public final class SharedAccountContextImpl: SharedAccountContext {
13571362 let streamController = MediaStreamComponentController ( call: group)
13581363 streamController. navigationPresentation = . flatModal
13591364 streamController. parentNavigationController = navigationController
1365+
1366+ let thisCallIsOnScreenPromise = ValuePromise < Bool > ( false , ignoreRepeated: true )
1367+ streamController. onViewDidAppear = {
1368+ thisCallIsOnScreenPromise. set ( true )
1369+ }
1370+ streamController. onViewDidDisappear = {
1371+ thisCallIsOnScreenPromise. set ( false )
1372+ }
1373+
13601374 self . streamController = streamController
13611375
1376+ self . mainWindow? . hostView. containerView. endEditing ( true )
1377+
1378+ thisCallIsOnScreenPromise. set ( true )
1379+ self . hasGroupCallOnScreenPromise. set ( thisCallIsOnScreenPromise. get ( ) )
1380+ beginDisplayingCallStatusBar. set ( . single( Void ( ) ) )
1381+
13621382 navigationController. pushViewController ( streamController)
13631383 }
13641384 }
@@ -1786,6 +1806,11 @@ public final class SharedAccountContextImpl: SharedAccountContext {
17861806 mainWindow. hostView. containerView. endEditing ( true )
17871807 ( mainWindow. viewController as? NavigationController ) ? . pushViewController ( groupCallController)
17881808 }
1809+ } else if let streamController = self . streamController {
1810+ if streamController. isNodeLoaded && streamController. view. superview == nil {
1811+ mainWindow. hostView. containerView. endEditing ( true )
1812+ ( mainWindow. viewController as? NavigationController ) ? . pushViewController ( streamController)
1813+ }
17891814 }
17901815 }
17911816
0 commit comments