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

Commit a45fa4fb authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "Modified to operated when acceptRingingCall or endCall in...

Merge "Modified to operated when acceptRingingCall or endCall in TelecomManager are called with SIMULATED_RING state" am: c0deda25 am: d78ee3ef

Change-Id: I42efd67306a41813f92a92a57cd30ec79a4b6ee7
parents b6a0ed95 d78ee3ef
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -1930,12 +1930,12 @@ public class TelecomServiceImpl {
    }

    private void acceptRingingCallInternal(int videoState) {
        Call call = mCallsManager.getFirstCallWithState(CallState.RINGING);
        Call call = mCallsManager.getFirstCallWithState(CallState.RINGING, CallState.SIMULATED_RINGING);
        if (call != null) {
            if (videoState == DEFAULT_VIDEO_STATE || !isValidAcceptVideoState(videoState)) {
                videoState = call.getVideoState();
            }
            call.answer(videoState);
            mCallsManager.answerCall(call, videoState);
        }
    }

@@ -1949,6 +1949,7 @@ public class TelecomServiceImpl {
                    CallState.DIALING,
                    CallState.PULLING,
                    CallState.RINGING,
                    CallState.SIMULATED_RINGING,
                    CallState.ON_HOLD);
        }

@@ -1958,10 +1959,11 @@ public class TelecomServiceImpl {
                return false;
            }

            if (call.getState() == CallState.RINGING) {
                call.reject(false /* rejectWithMessage */, null, callingPackage);
            if (call.getState() == CallState.RINGING
                    || call.getState() == CallState.SIMULATED_RINGING) {
                mCallsManager.rejectCall(call, false /* rejectWithMessage */, null);
            } else {
                call.disconnect(0 /* disconnectionTimeout */, callingPackage);
                mCallsManager.disconnectCall(call);
            }
            return true;
        }
+17 −7
Original line number Diff line number Diff line
@@ -899,7 +899,17 @@ public class TelecomServiceImplTest extends TelecomTestCase {
        when(call.getState()).thenReturn(CallState.RINGING);
        when(mFakeCallsManager.getForegroundCall()).thenReturn(call);
        assertTrue(mTSIBinder.endCall(TEST_PACKAGE));
        verify(call).reject(eq(false), isNull(), eq(TEST_PACKAGE));
        verify(mFakeCallsManager).rejectCall(eq(call), eq(false), isNull());
    }

    @SmallTest
    @Test
    public void testEndCallWithSimulatedRingingForegroundCall() throws Exception {
        Call call = mock(Call.class);
        when(call.getState()).thenReturn(CallState.SIMULATED_RINGING);
        when(mFakeCallsManager.getForegroundCall()).thenReturn(call);
        assertTrue(mTSIBinder.endCall(TEST_PACKAGE));
        verify(mFakeCallsManager).rejectCall(eq(call), eq(false), isNull());
    }

    @SmallTest
@@ -909,7 +919,7 @@ public class TelecomServiceImplTest extends TelecomTestCase {
        when(call.getState()).thenReturn(CallState.ACTIVE);
        when(mFakeCallsManager.getForegroundCall()).thenReturn(call);
        assertTrue(mTSIBinder.endCall(TEST_PACKAGE));
        verify(call).disconnect(eq(0L), eq(TEST_PACKAGE));
        verify(mFakeCallsManager).disconnectCall(eq(call));
    }

    @SmallTest
@@ -920,7 +930,7 @@ public class TelecomServiceImplTest extends TelecomTestCase {
        when(mFakeCallsManager.getFirstCallWithState(any()))
                .thenReturn(call);
        assertTrue(mTSIBinder.endCall(TEST_PACKAGE));
        verify(call).disconnect(eq(0L), eq(TEST_PACKAGE));
        verify(mFakeCallsManager).disconnectCall(eq(call));
    }

    @SmallTest
@@ -933,27 +943,27 @@ public class TelecomServiceImplTest extends TelecomTestCase {
    @Test
    public void testAcceptRingingCall() throws Exception {
        Call call = mock(Call.class);
        when(mFakeCallsManager.getFirstCallWithState(anyInt())).thenReturn(call);
        when(mFakeCallsManager.getFirstCallWithState(anyInt(), anyInt())).thenReturn(call);
        // Not intended to be a real video state. Here to ensure that the call will be answered
        // with whatever video state it's currently in.
        int fakeVideoState = 29578215;
        when(call.getVideoState()).thenReturn(fakeVideoState);
        mTSIBinder.acceptRingingCall("");
        verify(call).answer(eq(fakeVideoState));
        verify(mFakeCallsManager).answerCall(eq(call), eq(fakeVideoState));
    }

    @SmallTest
    @Test
    public void testAcceptRingingCallWithValidVideoState() throws Exception {
        Call call = mock(Call.class);
        when(mFakeCallsManager.getFirstCallWithState(anyInt())).thenReturn(call);
        when(mFakeCallsManager.getFirstCallWithState(anyInt(), anyInt())).thenReturn(call);
        // Not intended to be a real video state. Here to ensure that the call will be answered
        // with the video state passed in to acceptRingingCallWithVideoState
        int fakeVideoState = 29578215;
        int realVideoState = VideoProfile.STATE_RX_ENABLED | VideoProfile.STATE_TX_ENABLED;
        when(call.getVideoState()).thenReturn(fakeVideoState);
        mTSIBinder.acceptRingingCallWithVideoState("", realVideoState);
        verify(call).answer(realVideoState);
        verify(mFakeCallsManager).answerCall(eq(call), eq(realVideoState));
    }

    @SmallTest