diff options
author | Maksym Ked (GitHub) <mked@luxoft.com> | 2018-08-14 17:14:00 +0300 |
---|---|---|
committer | Maksym Ked (GitHub) <mked@luxoft.com> | 2018-08-14 17:14:00 +0300 |
commit | e79dc628bb9653738b40d5b2bbc23efb8a4245d8 (patch) | |
tree | 54cf374d57bb58853d71b192021abdcb19df631a | |
parent | 43e53192045daeff8e9e2887c8b67894725240b5 (diff) | |
download | sdl_core-fix/mked.SDL_not_resume_subscribtion_status_on_wayPoint_data.tar.gz |
added HMI notification to AddWayPointsSubscriptionfix/mked.SDL_not_resume_subscribtion_status_on_wayPoint_data
6 files changed, 39 insertions, 0 deletions
diff --git a/src/components/application_manager/include/application_manager/message_helper.h b/src/components/application_manager/include/application_manager/message_helper.h index 127ff967b4..e8a180e02f 100644 --- a/src/components/application_manager/include/application_manager/message_helper.h +++ b/src/components/application_manager/include/application_manager/message_helper.h @@ -571,6 +571,9 @@ class MessageHelper { */ static bool SendUnsubscribedWayPoints(ApplicationManager& app_mngr); + static smart_objects::SmartObjectSPtr CreateSubscribeWayPointsMessageToHMI( + const uint32_t correlation_id); + static smart_objects::SmartObjectSPtr CreateNegativeResponse( uint32_t connection_key, int32_t function_id, diff --git a/src/components/application_manager/src/message_helper/message_helper.cc b/src/components/application_manager/src/message_helper/message_helper.cc index 052d619fcc..5f8fba278b 100644 --- a/src/components/application_manager/src/message_helper/message_helper.cc +++ b/src/components/application_manager/src/message_helper/message_helper.cc @@ -2178,6 +2178,18 @@ bool MessageHelper::SendUnsubscribedWayPoints(ApplicationManager& app_mngr) { return app_mngr.GetRPCService().ManageHMICommand(result); } +smart_objects::SmartObjectSPtr +MessageHelper::CreateSubscribeWayPointsMessageToHMI( + const uint32_t correlation_id) { + const smart_objects::SmartObjectSPtr msg = + CreateMessageForHMI(hmi_apis::messageType::request, correlation_id); + + (*msg)[strings::params][strings::function_id] = + hmi_apis::FunctionID::Navigation_SubscribeWayPoints; + + return msg; +} + void MessageHelper::SendPolicySnapshotNotification( uint32_t connection_key, const std::vector<uint8_t>& policy_data, diff --git a/src/components/application_manager/src/resumption/resume_ctrl_impl.cc b/src/components/application_manager/src/resumption/resume_ctrl_impl.cc index 42dc335878..5f57dc2653 100644 --- a/src/components/application_manager/src/resumption/resume_ctrl_impl.cc +++ b/src/components/application_manager/src/resumption/resume_ctrl_impl.cc @@ -682,6 +682,11 @@ void ResumeCtrlImpl::AddWayPointsSubscription( saved_app[strings::subscribed_for_way_points]; if (true == subscribed_for_way_points_so.asBool()) { application_manager_.SubscribeAppForWayPoints(application); + const auto subscribe_waypoints_msg = + MessageHelper::CreateSubscribeWayPointsMessageToHMI( + application_manager_.GetNextHMICorrelationID()); + application_manager_.GetRPCService().ManageHMICommand( + subscribe_waypoints_msg); } } } diff --git a/src/components/application_manager/test/include/application_manager/mock_message_helper.h b/src/components/application_manager/test/include/application_manager/mock_message_helper.h index 8641a3781e..28b3249e61 100644 --- a/src/components/application_manager/test/include/application_manager/mock_message_helper.h +++ b/src/components/application_manager/test/include/application_manager/mock_message_helper.h @@ -259,6 +259,9 @@ class MockMessageHelper { ApplicationManager& app_man)); MOCK_METHOD1(SendUnsubscribedWayPoints, bool(ApplicationManager& app_mngr)); + MOCK_METHOD1(CreateSubscribeWayPointsMessageToHMI, + smart_objects::SmartObjectSPtr(const uint32_t correlation_id)); + MOCK_METHOD2(SendQueryApps, void(const uint32_t connection_key, ApplicationManager& app_man)); diff --git a/src/components/application_manager/test/mock_message_helper.cc b/src/components/application_manager/test/mock_message_helper.cc index 9e2eb75a55..1e312c5c15 100644 --- a/src/components/application_manager/test/mock_message_helper.cc +++ b/src/components/application_manager/test/mock_message_helper.cc @@ -476,6 +476,13 @@ bool MessageHelper::SendUnsubscribedWayPoints(ApplicationManager& app_mngr) { app_mngr); } +smart_objects::SmartObjectSPtr +MessageHelper::CreateSubscribeWayPointsMessageToHMI( + const uint32_t correlation_id) { + return MockMessageHelper::message_helper_mock() + ->CreateSubscribeWayPointsMessageToHMI(correlation_id); +} + void MessageHelper::SendQueryApps(const uint32_t connection_key, ApplicationManager& app_man) { MockMessageHelper::message_helper_mock()->SendQueryApps(connection_key, diff --git a/src/components/application_manager/test/resumption/resume_ctrl_test.cc b/src/components/application_manager/test/resumption/resume_ctrl_test.cc index 54c76fcf94..f1a620890a 100644 --- a/src/components/application_manager/test/resumption/resume_ctrl_test.cc +++ b/src/components/application_manager/test/resumption/resume_ctrl_test.cc @@ -50,6 +50,7 @@ #include "application_manager/mock_application_manager_settings.h" #include "application_manager/mock_event_dispatcher.h" #include "application_manager/mock_state_controller.h" +#include "application_manager/mock_rpc_service.h" namespace test { namespace components { @@ -556,6 +557,14 @@ TEST_F(ResumeCtrlTest, StartResumption_AppWithSubscriptionToWayPoints) { ON_CALL(*mock_storage_, GetSavedApplication(kTestPolicyAppId_, kMacAddress_, _)) .WillByDefault(DoAll(SetArgReferee<2>(saved_app), Return(true))); + smart_objects::SmartObjectSPtr msg = + std::make_shared<smart_objects::SmartObject>( + smart_objects::SmartType_Map); + EXPECT_CALL(*application_manager::MockMessageHelper::message_helper_mock(), + CreateSubscribeWayPointsMessageToHMI(_)).WillOnce(Return(msg)); + MockRPCService mock_rpc_service; + ON_CALL(mock_app_mngr_, GetRPCService()) + .WillByDefault(ReturnRef(mock_rpc_service)); EXPECT_CALL(*mock_app_, set_grammar_id(kTestGrammarId_)); EXPECT_CALL( mock_app_mngr_, |