diff options
author | Jacob Keeler <jacob.keeler@livioradio.com> | 2018-07-06 08:48:13 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-06 08:48:13 -0700 |
commit | f80e75e030ab3e628c5202e2ed84095ebb861856 (patch) | |
tree | 1ffbedcb2f4d1120e57c55e74e3fb758621ab079 /src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src | |
parent | 92d03d64236864a191c5e8ab9fa3c1c35111a486 (diff) | |
parent | c3802dd5446363a840835c9111eb64b043b0d8f1 (diff) | |
download | sdl_core-f80e75e030ab3e628c5202e2ed84095ebb861856.tar.gz |
Merge pull request #2164 from XevoInc/feat/mt_transport_changes
Feat/mt transport changes
Diffstat (limited to 'src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src')
3 files changed, 27 insertions, 24 deletions
diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/navi_audio_start_stream_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/navi_audio_start_stream_request.cc index 3d2370d55b..a9698d36ab 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/navi_audio_start_stream_request.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/navi_audio_start_stream_request.cc @@ -63,7 +63,10 @@ AudioStartStreamRequest::AudioStartStreamRequest( << "; retry_number_ = " << retry_number_); } -AudioStartStreamRequest::~AudioStartStreamRequest() {} +AudioStartStreamRequest::~AudioStartStreamRequest() { + // see comment in NaviStartStreamRequest + unsubscribe_from_event(hmi_apis::FunctionID::Navigation_StartAudioStream); +} void AudioStartStreamRequest::Run() { LOG4CXX_AUTO_TRACE(logger_); diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/navi_start_stream_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/navi_start_stream_request.cc index e44d89f93a..f3d971acba 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/navi_start_stream_request.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/navi_start_stream_request.cc @@ -63,7 +63,11 @@ NaviStartStreamRequest::NaviStartStreamRequest( << "; retry_number_ = " << retry_number_); } -NaviStartStreamRequest::~NaviStartStreamRequest() {} +NaviStartStreamRequest::~NaviStartStreamRequest() { + // unsubscribe_from_all_events() in EventObserver's destructor isn't enough; + // we must unsubscribe before this NaviStartStreamRequest instance is removed + unsubscribe_from_event(hmi_apis::FunctionID::Navigation_StartStream); +} void NaviStartStreamRequest::Run() { LOG4CXX_AUTO_TRACE(logger_); diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/register_app_interface_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/register_app_interface_request.cc index ea353c8d90..20302be585 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/register_app_interface_request.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/register_app_interface_request.cc @@ -938,31 +938,27 @@ void RegisterAppInterfaceRequest::SendOnAppRegisteredNotificationToHMI( application[strings::request_subtype] = SmartObject(SmartType_Array); } - application[strings::device_info] = SmartObject(SmartType_Map); - smart_objects::SmartObject& device_info = application[strings::device_info]; const protocol_handler::SessionObserver& session_observer = application_manager_.connection_handler().get_session_observer(); - std::string device_name; - std::string mac_address; - std::string transport_type; - const connection_handler::DeviceHandle handle = application_impl.device(); - if (-1 == - session_observer.GetDataOnDeviceID( - handle, &device_name, NULL, &mac_address, &transport_type)) { - LOG4CXX_ERROR(logger_, - "Failed to extract information for device " << handle); - } - device_info[strings::name] = device_name; - device_info[strings::id] = mac_address; - - const policy::DeviceConsent device_consent = - GetPolicyHandler().GetUserConsentForDevice(mac_address); - device_info[strings::isSDLAllowed] = - policy::DeviceConsent::kDeviceAllowed == device_consent; - - device_info[strings::transport_type] = - application_manager_.GetDeviceTransportType(transport_type); + application[strings::device_info] = SmartObject(SmartType_Map); + smart_objects::SmartObject& device_info = application[strings::device_info]; + MessageHelper::CreateDeviceInfo(application_impl.device(), + session_observer, + GetPolicyHandler(), + application_manager_, + &device_info); + + if (application_impl.secondary_device() != 0) { + application[strings::secondary_device_info] = SmartObject(SmartType_Map); + smart_objects::SmartObject& secondary_device_info = + application[strings::secondary_device_info]; + MessageHelper::CreateDeviceInfo(application_impl.secondary_device(), + session_observer, + GetPolicyHandler(), + application_manager_, + &secondary_device_info); + } const smart_objects::SmartObject* day_color_scheme = application_impl.day_color_scheme(); |