Fix the deadlock issue for eSIM.
EuiccCard only allows one caller to open logical channel at the same
time, and would reject the second caller if the logical channel is
already open. For eSIM operations, getting profile list and sending
notifications are done asynchronously and can happen at random time.
This would cause race condition for other normal eSIM operations and
thus cause failures. We've made the LPA caller to call EuiccCard
sequentially to solve the problem. But
requestEmbeddedSubscriptionInfoListRefresh inside delete would cause
deadlock issue in LPA. Therefore, we should call just call
requestEmbeddedSubscriptionInfoListRefresh asynchronously and trigger
the callback to return.
Also, log the exception in EuiccCardController for better debugging.
Bug: 78365287
Test: test on phone
Change-Id: Iaffa1bd17e0e3d898eac11337095ede9ef544aa1
1 file changed