From 5f9cbdf561df64e4a3d6e74c17301cec0dc4eacf Mon Sep 17 00:00:00 2001 From: JackLivio Date: Fri, 9 Apr 2021 09:07:58 -0400 Subject: Check waypoint subscription size in resumption (#3684) * Check waypoint subscription size in resumption * Update modifiers --- .../rpc_plugins/sdl_rpc_plugin/src/sdl_rpc_plugin.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/sdl_rpc_plugin.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/sdl_rpc_plugin.cc index 4756c8b9a2..c5bc79f09d 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/sdl_rpc_plugin.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/sdl_rpc_plugin.cc @@ -131,14 +131,20 @@ void SDLRPCPlugin::RevertResumption(application_manager::Application& app) { pending_resumption_handler_->OnResumptionRevert(); if (application_manager_->IsAppSubscribedForWayPoints(app)) { - application_manager_->UnsubscribeAppFromWayPoints(app.app_id()); - if (!application_manager_->IsAnyAppSubscribedForWayPoints()) { + const auto subscribed_apps = + application_manager_->GetAppsSubscribedForWayPoints(); + const bool send_unsubscribe = + subscribed_apps.size() <= 1 && + application_manager_->IsSubscribedToHMIWayPoints(); + if (send_unsubscribe) { SDL_LOG_DEBUG("Send UnsubscribeWayPoints"); auto request = application_manager::MessageHelper::CreateUnsubscribeWayPointsRequest( application_manager_->GetNextHMICorrelationID()); application_manager_->GetRPCService().ManageHMICommand(request); } + application_manager_->UnsubscribeAppFromWayPoints(app.app_id(), + send_unsubscribe); } } -- cgit v1.2.1