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

Commit 845fe9e6 authored by Tyler Gunn's avatar Tyler Gunn Committed by Android (Google) Code Review
Browse files

Merge "Signal EVENT_MERGE_COMPLETE connection event on merge completion."

parents 425040a5 e3de76f3
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -2726,8 +2726,8 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
            }
            foregroundImsPhoneCall.merge(peerImsPhoneCall, ImsPhoneCall.State.ACTIVE);

            try {
            final ImsPhoneConnection conn = findConnection(call);
            try {
                log("onCallMerged: ImsPhoneConnection=" + conn);
                log("onCallMerged: CurrentVideoProvider=" + conn.getVideoProvider());
                setVideoCallProvider(conn, call);
@@ -2755,6 +2755,11 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
                // Reset the flag.
                call.resetIsMergeRequestedByConf(false);
            }

            // Notify completion of merge
            if (conn != null) {
                conn.handleMergeComplete();
            }
            logState();
        }

+19 −1
Original line number Diff line number Diff line
@@ -918,6 +918,23 @@ public class ImsPhoneCallTrackerTest extends TelephonyTest {
        Assert.fail("Expected CallStateException");
    }

    @Test
    @SmallTest
    public void testMergeComplete() {
        boolean[] result = new boolean[1];
        // Place a call.
        ImsPhoneConnection connection = placeCallAndMakeActive();
        connection.addListener(new Connection.ListenerBase() {
            @Override
            public void onConnectionEvent(String event, Bundle extras) {
                result[0] = android.telecom.Connection.EVENT_MERGE_COMPLETE.equals(event);
            }
        });
        ImsCall call = connection.getImsCall();
        call.getListener().onCallMerged(call, null, false);
        assertTrue(result[0]);
    }

    @Test
    @SmallTest
    public void testNumericOnlyRemap() {
@@ -959,7 +976,7 @@ public class ImsPhoneCallTrackerTest extends TelephonyTest {
                                "SERVICE not allowed in this location")));
    }

    private void placeCallAndMakeActive() {
    private ImsPhoneConnection placeCallAndMakeActive() {
        try {
            doAnswer(new Answer<ImsCall>() {
                @Override
@@ -992,6 +1009,7 @@ public class ImsPhoneCallTrackerTest extends TelephonyTest {
                new ImsStreamMediaProfile());
        imsCall.getImsCallSessionListenerProxy().callSessionStarted(imsCall.getSession(),
                new ImsCallProfile());
        return connection;
    }
}