Correct issue where quick succession calls both get canceled.
There is logic in makeRoomForOutgoingCall which is supposed to disconnect a stuck connecting call in favor of a new outgoing call. However, if the user makes two outgoing calls in quick succession, both will get disconnected (one in Telecom, one in Telephony). We ultimately want the CallAnomalyWatchDog clean up stuck connecting calls, but it's unfortunately not able to currently detect calls stuck in connecting state because that includes the new outgoing call broadcast which can take long. For now, we'll just track how long a call has been around since it was created and use that as a proxy for how long its stuck in connecting state. This way we'll ONLY disconnect calls stuck for > 5 sec when making room for an outgoing call. The consequence is that in the case of 2 quick succession outgoing calls we'll not allow the second one (it'll fail) but we won't cancel the first one, so we'll at least get one call to succeed. Fixes: 275324976 Test: Added new unit tests for this case and adjusted existing tests. Change-Id: I9f9f72c4b72debc2d560eeea122204c4ab516cf1
Loading
Please register or sign in to comment