Fix un-dismissable incoming call for auto-rejected calls
When the device receives an incoming call indication and quickly receives another call terminated indication (such as the auto reject case), there is the possiblity that the call terminated indication happens while onIncomingCall is still being processed. This is due to the fact that binder oneway calls are only guaranteed to be on the same binder thread for the same IBinder node. Since these callbacks are happening on two separate nodes potentially, there are running in two binder threads at the same time, causing race conditions. Instead, the onIncomingCall binder call should not be oneway (as it is required to complete before other indications should occur) and only return control back to the ImsService thread once the MmTelFeature#notifyIncomingCall call completes. Bug: 160213239 Test: incoming call, auto-rejected incoming call on MSIM Change-Id: I054e6b00656fc04f48f7f378076e29322daf59ad
Loading
Please register or sign in to comment