diff options
author | 2025-03-21 11:21:22 -0700 | |
---|---|---|
committer | 2025-03-21 11:21:22 -0700 | |
commit | de83bcf1305f7597c1a6d50a2356bc394e7fc7f6 (patch) | |
tree | 08707ce6aecc2355d0355c9b92f9657f5b14650a | |
parent | 14d1646bced0f9ad7c32526af78886551effec33 (diff) | |
parent | ec3e01f43560dbd279f7f9a857e06501885d98ac (diff) |
Merge "DSDA: Handle call resume failure" into main
-rw-r--r-- | src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java b/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java index cc68ca185e..f4475b55bd 100644 --- a/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java +++ b/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java @@ -259,6 +259,8 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { private Optional<Integer> mCurrentlyConnectedSubId = Optional.empty(); private final MmTelFeatureListener mMmTelFeatureListener = new MmTelFeatureListener(); + private com.android.server.telecom.flags.FeatureFlags mTelecomFlags = + new com.android.server.telecom.flags.FeatureFlagsImpl(); private class MmTelFeatureListener extends MmTelFeature.Listener { private IImsCallSessionListener processIncomingCall(@NonNull IImsCallSession c, @@ -4083,6 +4085,13 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { + " in the single call unhold case"); } } + ImsPhoneConnection conn = findConnection(imsCall); + // Send connection event so that Telecom can unhold the call the bg call that was held + // for calls across phone accounts. + if (mTelecomFlags.enableCallSequencing() && conn != null + && conn.getState() != ImsPhoneCall.State.DISCONNECTED) { + conn.onConnectionEvent(android.telecom.Connection.EVENT_CALL_RESUME_FAILED, null); + } mPhone.notifySuppServiceFailed(Phone.SuppService.RESUME); mMetrics.writeOnImsCallResumeFailed(mPhone.getPhoneId(), imsCall.getCallSession(), reasonInfo); |