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
This commit is contained in:
Hakjun Choi
2023-02-23 02:12:55 +00:00
parent e02709f4a7
commit 00961f754b

View File

@@ -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();
}