Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c88574c7 authored by Anju Mathapati's avatar Anju Mathapati Committed by Pavel Zhamaitsiak
Browse files

IMS: Add phoneaccount to ims conference call.

Retrieve phoneaccount from ParcelableConference coming from
TeleService and set that account to Telecom Conference call.
This prevents hold and dial request from getting invoked from
Telecom during adding a call on top of an existing ims 3 way
conference call.

Bug: 18690773
Change-Id: Ie02e12c77272c2c889b1c7377e0bf461e67a1abd
parent 386b5f9c
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1304,6 +1304,8 @@ public final class CallsManager extends Call.ListenerBase {
            // NOTE: If the amount of live calls changes beyond 1, this logic will probably
            // have to change.
            Call liveCall = getFirstCallWithState(call, LIVE_CALL_STATES);
            Log.i(this, "makeRoomForOutgoingCall call = " + call + " livecall = " +
                   liveCall);

            if (call == liveCall) {
                // If the call is already the foreground call, then we are golden.
+8 −3
Original line number Diff line number Diff line
@@ -203,13 +203,18 @@ final class ConnectionServiceWrapper extends ServiceBinder<IConnectionService> {
                                (ParcelableConference) args.arg2;

                        // need to create a new Call
                        PhoneAccountHandle phAcc = null;
                        if (parcelableConference != null &&
                                parcelableConference.getPhoneAccount() != null) {
                            phAcc = parcelableConference.getPhoneAccount();
                        }
                        Call conferenceCall = mCallsManager.createConferenceCall(
                                null, parcelableConference);
                                phAcc, parcelableConference);
                        mCallIdMapper.addCall(conferenceCall, id);
                        conferenceCall.setConnectionService(ConnectionServiceWrapper.this);

                        Log.d(this, "adding children to conference %s",
                                parcelableConference.getConnectionIds());
                        Log.d(this, "adding children to conference %s phAcc %s",
                                parcelableConference.getConnectionIds(), phAcc);
                        for (String callId : parcelableConference.getConnectionIds()) {
                            Call childCall = mCallIdMapper.getCall(callId);
                            Log.d(this, "found child: %s", callId);