Lines Matching defs:merge

175          *                              now that the merge has completed.
182 * Called when the call merge is failed.
186 * @param reasonInfo detailed reason of the call merge failure
407 // When merging two calls together, the "peer" call that will merge into this call.
427 // we receive notification that the merge was successful.
429 // While a merge is progressing, we bury any session termination requests
430 // made on the original ImsCallSession until we have closure on the merge request
433 // cause the termination request to occur just because the merge is succeeding.
437 // on it in the case of a merge failure.
1114 * @throws ImsException if the IMS service fails to merge the call
1116 private void merge() throws ImsException {
1118 log("merge :: ImsCall=" + this);
1123 loge("merge :: update is in progress; request=" +
1130 loge("merge :: no call session");
1136 // merge without explicitly holding the call.
1145 // if needed. There will be no merge failed callback.
1147 // merge is pending.
1152 mSession.merge();
1154 // This code basically says, we need to explicitly hold before requesting a merge
1156 // automatically request a merge.
1169 * @throws ImsException if the IMS service fails to merge the call
1171 public void merge(ImsCall bgCall) throws ImsException {
1173 log("merge(1) :: bgImsCall=" + bgCall);
1182 // Mark both sessions as pending merge.
1187 // If neither call is multiparty, the current call is the merge host and the bg call
1188 // is the merge peer (ie we're starting a new conference).
1190 // If this call is multiparty, it is the merge host and the other call is the merge
1194 // If the bg call is multiparty, it is the merge host.
1198 merge();
1471 mSession.merge();
1552 // until the merge has completed. If necessary we can surface the termination at this
1555 // Since we are in the process of a merge, this trigger means something
1556 // else because it is probably due to the merge happening vs. the
1558 // the merge() ends up failing because we will need to take action on the
1559 // mSession in that case since the termination was not due to the merge
1562 log("processCallTerminated :: burying termination during ongoing merge.");
1625 // There must be a merge host at this point.
1626 loge("tryProcessConferenceResult :: No merge host for this conference!");
1634 * This function should only be called in the context of the merge host to simplify logic
1643 // the merge host.
1645 loge("processMergeComplete :: We are not the merge host!");
1656 // The only clean up that we need to do for a merge into an existing conference
1668 // If we are here, we are not trying to merge a new call into an existing
1669 // conference. That means that there is a transient session on the merge
1678 loge("processMergeComplete :: No merge peer!");
1692 // call session is still alive and the merge peer's session is not, we have a
1693 // situation where the current call failed to merge into the conference but the
1694 // merge peer did merge in to the conference. In this type of scenario the current
1713 log("processMergeComplete :: transient will transfer to merge peer");
1717 // when the merge peer eventually disconnects since it was not actually added to
1725 log("processMergeComplete :: transient will stay with the merge host");
1729 // played when we ripple up the disconnect for the merge peer because it was
1752 // Clear all the merge related flags.
1756 // during the merge process
1759 // during the merge process since we are now the host of the conference call.
1773 * Handles the case where the session has ended during a merge by reporting the termination
1788 log("notifySessionTerminatedDuringMerge ::reporting terminate during merge");
1811 * We received a callback from ImsCallSession that a merge failed. Clean up all
1814 * when merge() was originally called. It is assumed that this function will be called
1815 * on the merge host.
1817 * @param reasonInfo The {@link ImsReasonInfo} why the merge failed.
1827 // the merge host.
1829 loge("processMergeFailed :: We are not the merge host!");
1834 loge("processMergeFailed :: No merge peer!");
1858 // Clear all the various flags around coordinating this merge.
1945 // In the case that we are in the middle of a merge (either host or peer), we have
1956 // Check if there is an ongoing conference merge which has completed. If there is
1957 // we can process the merge completion now.
2015 // transient session only exists when in the process of a merge and the
2016 // termination of this session is effectively the end of the merge.
2030 // If session has terminated, it is no longer pending merge.
2033 // Check if there is an ongoing conference merge which has completed. If there is
2034 // we can process the merge completion now.
2053 // If the session was held, it is no longer pending a merge -- this means it could
2060 // This hold request was made to set the stage for a merge.
2065 // Check if there is an ongoing conference merge which has completed. If there is
2066 // we can process the merge completion now. processMergeComplete needs to be
2067 // called on the merge host.
2158 // If this call was pending a merge, it is not anymore. This is the case when we
2162 // Check if there is an ongoing conference merge which has completed. If there is
2163 // we can process the merge completion now.
2256 log("callSessionMergeStarted :: no merge in progress.");
2262 // if the merge succeeds. If it is null, the merge is happening on our current
2267 // this merge.
2280 // could represent our new ImsCallSession if the merge succeeds.
2283 // or failure of this merge.
2299 // Check if there is an ongoing conference merge which has completed. If there is
2300 // we can process the merge completion now.
2315 log("callSessionMergeFailed :: no merge in progress.");
2318 // Let's tell our parent ImsCall that the merge has failed and we need to clean
2320 // conference. If a merge into an existing conference fails, the two sessions will
2327 loge("callSessionMergeFailed :: No merge host for this conference!");
2752 * Clears the merge peer for this call, ensuring that the peer's connection to this call is also
2757 log("clearMergeInfo :: clearing all merge info");
2760 // First clear out the merge partner then clear ourselves out.
2778 * Sets the merge peer for the current call. The merge peer is the background call that will be
2779 * merged into this call. On the merge peer, sets the merge host to be this call.
2792 * Sets the merge hody for the current call. The merge host is the foreground call this call
2793 * will be merged into. On the merge host, sets the merge peer to be this call.
2795 * @param mergeHost The merge host this call will be merged into.
2815 * Determines if the current call is the host of the merge.
2817 * @return {@code true} if the call is the merge host.
2824 * Determines if the current call is the peer of the merge.
2826 * @return {@code true} if the call is the merge peer.
2833 * Determines if the call session is pending merge into a conference or not.
2835 * @return {@code true} if a merge into a conference is pending, {@code false} otherwise.
2842 * Sets flag indicating whether the call session is pending merge into a conference or not.
2844 * @param callSessionMergePending {@code true} if a merge into the conference is pending,
2852 * Determines if there is a conference merge in process. If there is a merge in process,
2853 * determines if both the merge host and peer sessions have completed the merge process. This
2857 * The sessions are considered to have merged if: both calls still have merge peer/host
2862 * conference, {@code false} if the merge has not yet completed, and {@code false} if there
2863 * is no conference merge in progress.
2869 // if there is a merge going on, then the merge host/peer relationships should have been
2874 log("shouldProcessConferenceResult :: no merge in progress");
2879 // There is a merge in progress, so check the sessions to ensure:
2880 // 1. Both calls have completed being merged (or failing to merge) into the conference.
2884 log("shouldProcessConferenceResult :: We are a merge host=" + this);
2885 log("shouldProcessConferenceResult :: Here is the merge peer=" + mMergePeer);
2895 log("shouldProcessConferenceResult :: We are a merge peer=" + this);
2896 log("shouldProcessConferenceResult :: Here is the merge host=" + mMergeHost);
2918 loge("shouldProcessConferenceResult : merge in progress but call is neither" +
2955 sb.append(" merge action pending:");