Improve handling of call service edge cases.

// FREEBIE
pull/1/head
Matthew Chen 9 years ago
parent b4464f91a2
commit 3368659d87

@ -330,16 +330,9 @@ protocol CallServiceObserver: class {
return race(timeout, callConnectedPromise) return race(timeout, callConnectedPromise)
}.then { }.then {
guard self.call == call else { Logger.info(self.call == call
throw CallError.obsoleteCall(description: "obsolete outgoing call connected") ? "\(self.TAG) outgoing call connected."
} : "\(self.TAG) obsolete outgoing call connected.")
Logger.info("\(self.TAG) outgoing call connected.")
// TODO: There must be a better way to return a fulfilled promise.
let (promise, fulfill, _) = Promise<Void>.pending()
fulfill()
return promise
}.catch { error in }.catch { error in
Logger.error("\(self.TAG) placing call failed with error: \(error)") Logger.error("\(self.TAG) placing call failed with error: \(error)")
@ -443,8 +436,7 @@ protocol CallServiceObserver: class {
AssertIsOnMainThread() AssertIsOnMainThread()
guard let call = self.call else { guard let call = self.call else {
// Assume this event pertains to the current call. Logger.warn("\(self.TAG) ignoring obsolete call in \(#function)")
handleFailedCurrentCall(error: .assertionError(description: "call unexpectedly nil in \(#function)"))
return return
} }
@ -542,15 +534,9 @@ protocol CallServiceObserver: class {
return race(promise, timeout) return race(promise, timeout)
}.then { }.then {
guard self.call == newCall else { Logger.info(self.call == newCall
throw CallError.obsoleteCall(description: "obsolete incoming call connected") ? "\(self.TAG) incoming call connected."
} : "\(self.TAG) obsolete incoming call connected.")
Logger.info("\(self.TAG) incoming call connected.")
let (promise, fulfill, _) = Promise<Void>.pending()
fulfill()
return promise
}.catch { error in }.catch { error in
guard self.call == newCall else { guard self.call == newCall else {
Logger.debug("\(self.TAG) error for obsolete call: \(error)") Logger.debug("\(self.TAG) error for obsolete call: \(error)")

Loading…
Cancel
Save