0593c68a98
The racing condition happens between dial() returns and the first GET_CURRENT_CALLS query gets handled. If GET_CURRENT_CALLS gets handled before dial() finishs, the pendingMO can be set to null in handlePollCalls() so that dial() will return null. This null connection causes error in PhoneUtils.placeCall(). The Synchronized dial() and handlePollCalls() Methods will make sure the dial() returns before the first GET_CURRENT_CALLS gets handled. bug:6028290 Change-Id: I41b024760acb7dd13b342866180dffe3fdbe1c03