summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2025-03-21 11:21:22 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2025-03-21 11:21:22 -0700
commitde83bcf1305f7597c1a6d50a2356bc394e7fc7f6 (patch)
tree08707ce6aecc2355d0355c9b92f9657f5b14650a
parent14d1646bced0f9ad7c32526af78886551effec33 (diff)
parentec3e01f43560dbd279f7f9a857e06501885d98ac (diff)
Merge "DSDA: Handle call resume failure" into main
-rw-r--r--src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java9
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);