Fix potential call crashes in Telephony.
There is a timing issue in the ImsPhoneCallTracker#dial method. Basically we assign the new outgoing call to mPendingMO, but it is possible for the dial to go out and the modem to signal onCallProgressing for that call. onCallProgressing will set mPendingMO to null, which means by the time we end the dial method, the return value we send back is null. This in turn causes TelephonyConnectionService to think that the dialed number was an MMI code and to bring up the MMI code dialog which itself crashes because _surprise_ the call wasn't actually an MMI code. Changing the dial method to cache the pending MO call as a local variable so we can still pass it back and allow the call to set up as expected. Test: Run telephony unit tests. Test: Manual phone call regression testing for normal numbers. Test: Manual phone call regression testing for test emergency numbers. Bug: 149005037 Change-Id: I959196ffbaf3843ba15369029fc640ee47df9d3a
Loading
Please register or sign in to comment