Loading
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