diff options
Diffstat (limited to 'src/components/application_manager/src/commands/hmi/navi_start_stream_request.cc')
-rw-r--r-- | src/components/application_manager/src/commands/hmi/navi_start_stream_request.cc | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/components/application_manager/src/commands/hmi/navi_start_stream_request.cc b/src/components/application_manager/src/commands/hmi/navi_start_stream_request.cc index f0104cbaee..9f1c4b7902 100644 --- a/src/components/application_manager/src/commands/hmi/navi_start_stream_request.cc +++ b/src/components/application_manager/src/commands/hmi/navi_start_stream_request.cc @@ -58,21 +58,24 @@ NaviStartStreamRequest::~NaviStartStreamRequest() {} void NaviStartStreamRequest::Run() { LOG4CXX_AUTO_TRACE(logger_); - - SetAllowedToTerminate(false); - subscribe_on_event(hmi_apis::FunctionID::Navigation_StartStream, - correlation_id()); - + if (!CheckAvailabilityHMIInterfaces( + application_manager_, HmiInterfaces::HMI_INTERFACE_Navigation)) { + LOG4CXX_INFO(logger_, "Interface Navi is not supported by system"); + return; + } ApplicationSharedPtr app = application_manager_.application_by_hmi_app(application_id()); - if (app) { - app->set_video_streaming_allowed(true); - SendRequest(); - } else { + if (!app) { LOG4CXX_ERROR(logger_, "Applcation with hmi_app_id " << application_id() << "does not exist"); + return; } + SetAllowedToTerminate(false); + subscribe_on_event(hmi_apis::FunctionID::Navigation_StartStream, + correlation_id()); + app->set_video_streaming_allowed(true); + SendRequest(); } void NaviStartStreamRequest::on_event(const event_engine::Event& event) { @@ -124,7 +127,8 @@ void NaviStartStreamRequest::on_event(const event_engine::Event& event) { void NaviStartStreamRequest::onTimeOut() { RetryStartSession(); - application_manager_.TerminateRequest(connection_key(), correlation_id()); + application_manager_.TerminateRequest( + connection_key(), correlation_id(), function_id()); } void NaviStartStreamRequest::RetryStartSession() { |