Allow EuiccService IPCs to happen in parallel.
The (currently) undocumented behavior of oneway AIDLs is to serialize IPCs made from the same client IBinder object. This is undesirable in EuiccService as we want to respond to short-lived calls (like listing subscriptions or getting the EID) while long-lived calls (like download) are in progress. Introduce our own thread pool to work around this behavior. This also fixes a bug where uncaught exceptions thrown in the implementation of an EuiccService method would be logged but never trigger a callback on the client. Such exceptions now correctly crash the app and trigger error callbacks in any active callers. Bug: 62535655 Test: TreeHugger + verified subscription list during a download Change-Id: I8b75af7fdc72117a163d81f7bf1447f6cc12ec6d
Loading
Please register or sign in to comment