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

Commit 0fa8b711 authored by Tyler Gunn's avatar Tyler Gunn
Browse files

Fix issue where conference gets logged when no CEP is enabled.

When CEP is not enabled, the conference itself would be logged.
This corrects that by ensuring that if a conference had no children we
will not attempt to log it.

Bug: 139299700
Test: Manual test with CEP override.
Change-Id: I24428438ad72d77879383349253bbf88a0cd567b
parent 728c412a
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -215,6 +215,14 @@ public final class CallLogManager extends CallsManagerListenerBase {
            return false;
        }

        // A conference call which had no children should not be logged; this case will occur on IMS
        // when no conference event package data is received.  We will have logged the participants
        // as they merge into the conference, so we should not log the conference itself.
        if (call.isConference() && !call.hadChildren() &&
                !call.hasProperty(Connection.PROPERTY_REMOTELY_HOSTED)) {
            return false;
        }

        // A child call of a conference which was remotely hosted; these didn't originate on this
        // device and should not be logged.
        if (call.getParentCall() != null && call.hasProperty(Connection.PROPERTY_REMOTELY_HOSTED)) {
+2 −2
Original line number Diff line number Diff line
@@ -785,7 +785,7 @@ public class CallLogManagerTest extends TelecomTestCase {

    @SmallTest
    @Test
    public void testLogConferenceWithNoChildren() {
    public void testDoNotLogConferenceWithNoChildren() {
        Call fakeCall = makeFakeCall(
                DisconnectCause.LOCAL, // disconnectCauseCode
                true, // isConference
@@ -801,7 +801,7 @@ public class CallLogManagerTest extends TelecomTestCase {
        );
        when(fakeCall.hadChildren()).thenReturn(false);

        assertTrue(mCallLogManager.shouldLogDisconnectedCall(fakeCall, CallState.DISCONNECTED,
        assertFalse(mCallLogManager.shouldLogDisconnectedCall(fakeCall, CallState.DISCONNECTED,
                false /* isCanceled */));
    }