diff --git a/telecomm/java/android/telecom/RemoteConnectionService.java b/telecomm/java/android/telecom/RemoteConnectionService.java index 03b38c2aaaad9..d959e50dda5f1 100644 --- a/telecomm/java/android/telecom/RemoteConnectionService.java +++ b/telecomm/java/android/telecom/RemoteConnectionService.java @@ -65,7 +65,11 @@ final class RemoteConnectionService { parcel.getCallerDisplayName(), parcel.getCallerDisplayNamePresentation()); // Set state after handle so that the client can identify the connection. - connection.setState(parcel.getState()); + if (parcel.getState() == Connection.STATE_DISCONNECTED) { + connection.setDisconnected(parcel.getDisconnectCause()); + } else { + connection.setState(parcel.getState()); + } List conferenceable = new ArrayList<>(); for (String confId : parcel.getConferenceableConnectionIds()) { if (mConnectionById.containsKey(confId)) {