Merge "Release lock before return" into main
diff --git a/src/java/com/android/internal/telephony/uicc/euicc/apdu/ApduSender.java b/src/java/com/android/internal/telephony/uicc/euicc/apdu/ApduSender.java
index 1d9dc68..309fe79 100644
--- a/src/java/com/android/internal/telephony/uicc/euicc/apdu/ApduSender.java
+++ b/src/java/com/android/internal/telephony/uicc/euicc/apdu/ApduSender.java
@@ -233,9 +233,17 @@
if (channel == IccOpenLogicalChannelResponse.INVALID_CHANNEL
|| status != IccOpenLogicalChannelResponse.STATUS_NO_ERROR) {
mChannelOpened = false;
- resultCallback.onException(
- new ApduException("Failed to open logical channel for AID: "
- + mAid + ", with status: " + status));
+ returnRespnseOrException(
+ channel,
+ /* closeChannelImmediately= */ false,
+ /* response= */ null,
+ new ApduException(
+ "Failed to open logical channel for AID: "
+ + mAid
+ + ", with status: "
+ + status),
+ resultCallback,
+ handler);
return;
}
PreferenceManager.getDefaultSharedPreferences(mContext)