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

Commit 2532eb72 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Update ImsCallTest to ensure NPE isnt hit after ImsCall#close is...

Merge "Update ImsCallTest to ensure NPE isnt hit after ImsCall#close is called." into tm-dev am: 955d2927 am: e1335d43

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/opt/telephony/+/18973628



Change-Id: Ia09bef0ca177c23f69368493b4834b2ffbe31916
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents c8d61e7d e1335d43
Loading
Loading
Loading
Loading
+34 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
@@ -144,6 +145,39 @@ public class ImsCallTest extends TelephonyTest {
        assertTrue(imsCall.wasVideoCall());
    }

    @Test
    @SmallTest
    public void testCloseImsCallRtt() throws Exception {
        ImsCallSession mockSession = mock(ImsCallSession.class);
        ImsStreamMediaProfile streamProfile = new ImsStreamMediaProfile(
                ImsStreamMediaProfile.AUDIO_QUALITY_AMR_WB,
                ImsStreamMediaProfile.DIRECTION_SEND_RECEIVE,
                ImsStreamMediaProfile.VIDEO_QUALITY_NONE,
                ImsStreamMediaProfile.DIRECTION_INACTIVE,
                // Full RTT mode
                ImsStreamMediaProfile.RTT_MODE_FULL);
        ImsCallProfile profile = new ImsCallProfile(ImsCallProfile.SERVICE_TYPE_NORMAL,
                ImsCallProfile.CALL_TYPE_VOICE, null /*extras*/, streamProfile);
        profile.mCallType = ImsCallProfile.CALL_TYPE_VOICE;
        ImsCall imsCall = new ImsCall(mContext, profile);
        imsCall.attachSession(mockSession);

        imsCall.sendRttMessage("test");
        verify(mockSession).sendRttMessage("test");

        //called by ImsPhoneCallTracker when the call is terminated
        imsCall.close();

        try {
            // Ensure RTT cases are handled gracefully.
            imsCall.sendRttMessage("test");
            imsCall.sendRttModifyRequest(true);
            imsCall.sendRttModifyResponse(true);
        } catch (Exception e) {
            fail("Unexpected exception: " + e);
        }
    }

    @Test
    @SmallTest
    public void testSetWifi() {