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

Commit 61ad64cc authored by radhika's avatar radhika
Browse files

Report missed incoming calls which are auto

rejected by the modem

Test: builds
Bug: b/145827366
Change-Id: Ifd8cfe473a109c7c4679689d74908c515c859145
parent 42d96a38
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -1211,6 +1211,11 @@ public class CallsManager extends Call.ListenerBase
        // TODO: Move this to be a part of addCall()
        call.addListener(this);

        if (extras.containsKey(TelecomManager.EXTRA_CALL_DISCONNECT_MESSAGE)) {
          String disconnectMessage = extras.getString(TelecomManager.EXTRA_CALL_DISCONNECT_MESSAGE);
          Log.i(this, "processIncomingCallIntent Disconnect message " + disconnectMessage);
        }

        boolean isHandoverAllowed = true;
        if (isHandover) {
            if (!isHandoverInProgress() &&
@@ -2673,6 +2678,7 @@ public class CallsManager extends Call.ListenerBase
     * @param disconnectCause The disconnect cause, see {@link android.telecom.DisconnectCause}.
     */
    void markCallAsDisconnected(Call call, DisconnectCause disconnectCause) {
      int oldState = call.getState();
      if (call.getState() == CallState.SIMULATED_RINGING
                && disconnectCause.getCode() == DisconnectCause.REMOTE) {
            // If the remote end hangs up while in SIMULATED_RINGING, the call should
@@ -2681,6 +2687,12 @@ public class CallsManager extends Call.ListenerBase
        }
        call.setDisconnectCause(disconnectCause);
        setCallState(call, CallState.DISCONNECTED, "disconnected set explicitly");

        if(oldState == CallState.NEW && disconnectCause.getCode() == DisconnectCause.MISSED) {
            Log.i(this, "markCallAsDisconnected: logging missed call ");
            mCallLogManager.logCall(call, Calls.MISSED_TYPE, true, null);
        }

    }

    /**