diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2017-09-12 18:13:52 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2017-09-12 18:13:52 +0000 |
commit | 90abd14221f12375b113ea3b40d597f78925eac4 (patch) | |
tree | aad104673a74dbf6b5515d177873f2d0095ef326 | |
parent | 4f89585d9a879b9da957431110aeebee4e4a02fe (diff) | |
parent | bee8ebda7a5c087360d2d5cd8d5e29d4b912e0b9 (diff) | |
download | ims-oreo-m6-s2-release.tar.gz |
release-request-dabd8cf7-7af2-48e9-a296-ccc6a71cc25d-for-git_oc-m2-release-4328410 snap-temp-L55300000101694322android-8.1.0_r8android-8.1.0_r52android-8.1.0_r50android-8.1.0_r47android-8.1.0_r46android-8.1.0_r43android-8.1.0_r41android-8.1.0_r36android-8.1.0_r35android-8.1.0_r33android-8.1.0_r30android-8.1.0_r26android-8.1.0_r25android-8.1.0_r20android-8.1.0_r2oreo-m7-releaseoreo-m6-s4-releaseoreo-m6-s3-releaseoreo-m6-s2-releaseoreo-m2-s5-releaseoreo-m2-s4-releaseoreo-m2-s3-releaseoreo-m2-s2-releaseoreo-m2-s1-releaseoreo-m2-release
Change-Id: I13647420b3816b6bed2ded16d778165b311bd309
-rw-r--r-- | src/java/com/android/ims/ImsCall.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/java/com/android/ims/ImsCall.java b/src/java/com/android/ims/ImsCall.java index 716687d7..c5e6368e 100644 --- a/src/java/com/android/ims/ImsCall.java +++ b/src/java/com/android/ims/ImsCall.java @@ -1319,13 +1319,28 @@ public class ImsCall implements ICall { logi("merge :: "); synchronized(mLockObj) { + // If the host of the merge is in the midst of some other operation, we cannot merge. if (mUpdateRequest != UPDATE_NONE) { + setCallSessionMergePending(false); + if (mMergePeer != null) { + mMergePeer.setCallSessionMergePending(false); + } loge("merge :: update is in progress; request=" + updateRequestToString(mUpdateRequest)); throw new ImsException("Call update is in progress", ImsReasonInfo.CODE_LOCAL_ILLEGAL_STATE); } + // The peer of the merge is in the midst of some other operation, we cannot merge. + if (mMergePeer != null && mMergePeer.mUpdateRequest != UPDATE_NONE) { + setCallSessionMergePending(false); + mMergePeer.setCallSessionMergePending(false); + loge("merge :: peer call update is in progress; request=" + + updateRequestToString(mMergePeer.mUpdateRequest)); + throw new ImsException("Peer call update is in progress", + ImsReasonInfo.CODE_LOCAL_ILLEGAL_STATE); + } + if (mSession == null) { loge("merge :: no call session"); throw new ImsException("No call session", |