From 00961f754b2689e246271402fa9df6cdc4f93193 Mon Sep 17 00:00:00 2001 From: Hakjun Choi Date: Thu, 23 Feb 2023 02:12:55 +0000 Subject: [PATCH] return cached value for call id instead of calling AIDL ImsCallSession#getCallId() calls vendor side getCallId() via AIDL, which may cause unexpected deadlock between AOSP FWK and Vendor Ims service Bug: 269586572 Test: E2E Call test with log trace Change-Id: I63dd416bd5b3158e0bd08e1f016973a5622af6a6 --- telephony/java/android/telephony/ims/ImsCallSession.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/telephony/java/android/telephony/ims/ImsCallSession.java b/telephony/java/android/telephony/ims/ImsCallSession.java index 98ed1fa5ddeb4..ecd703960d08a 100755 --- a/telephony/java/android/telephony/ims/ImsCallSession.java +++ b/telephony/java/android/telephony/ims/ImsCallSession.java @@ -584,6 +584,7 @@ public class ImsCallSession { * Gets the call ID of the session. * * @return the call ID + * If null is returned for getCallId, then that means that the call ID has not been set yet. */ public String getCallId() { if (mClosed) { @@ -1779,7 +1780,7 @@ public class ImsCallSession { sb.append("[ImsCallSession objId:"); sb.append(System.identityHashCode(this)); sb.append(" callId:"); - sb.append(getCallId()); + sb.append(mCallId != null ? mCallId : "[UNINITIALIZED]"); sb.append("]"); return sb.toString(); }