Ensure Async APIs receive callbacks
There are currently a couple silent failure for
APIs that are defined as asynchronous.
-If the remote binder object is null then in some cases
the response is dropped. It's important that the response
be triggered on a thread other than the calling one due
to the oddball possibility of non-reentrant locking.
-If the remote dies while awaiting a response, the RemoteException
is generally dropped, and because the API is asynchronous there is
no way for the caller to know, leaving a dangling async request.
This CL ensures that remote exceptions due to process death invoke
the asynchronous callbacks, delivering an error message using the
BackgroundThread to ensure that the calls are received on a thread
other than the original caller's.
Bug: 182185642
Test: atest CtsTelephonyTestCases
Change-Id: I5121734194f07c53f94fb6585da3c90e3e2c4bf7
1 file changed