From cc42e85bd6afd0fe350d6af68f2f3b3c153c0f98 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Wed, 18 Apr 2018 15:39:35 -0400 Subject: [PATCH] Avoid race condition in call view controller. --- .../ViewControllers/CallViewController.swift | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/Signal/src/ViewControllers/CallViewController.swift b/Signal/src/ViewControllers/CallViewController.swift index 106c7ecac..d9ed3dd01 100644 --- a/Signal/src/ViewControllers/CallViewController.swift +++ b/Signal/src/ViewControllers/CallViewController.swift @@ -140,17 +140,6 @@ class CallViewController: OWSViewController, CallObserver, CallServiceObserver, super.init(nibName: nil, bundle: nil) allAudioSources = Set(callUIAdapter.audioService.availableInputs) - - assert(callUIAdapter.audioService.delegate == nil) - callUIAdapter.audioService.delegate = self - observeNotifications() - } - - func observeNotifications() { - NotificationCenter.default.addObserver(self, - selector: #selector(didBecomeActive), - name: NSNotification.Name.OWSApplicationDidBecomeActive, - object: nil) } deinit { @@ -208,6 +197,14 @@ class CallViewController: OWSViewController, CallObserver, CallServiceObserver, call.addObserverAndSyncState(observer: self) SignalApp.shared().callService.addObserverAndSyncState(observer: self) + + assert(callUIAdapter.audioService.delegate == nil) + callUIAdapter.audioService.delegate = self + + NotificationCenter.default.addObserver(self, + selector: #selector(didBecomeActive), + name: NSNotification.Name.OWSApplicationDidBecomeActive, + object: nil) } // MARK: - Create Views