summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaksym Ked (GitHub) <mked@luxoft.com>2018-08-14 17:14:00 +0300
committerMaksym Ked (GitHub) <mked@luxoft.com>2018-08-14 17:14:00 +0300
commite79dc628bb9653738b40d5b2bbc23efb8a4245d8 (patch)
tree54cf374d57bb58853d71b192021abdcb19df631a
parent43e53192045daeff8e9e2887c8b67894725240b5 (diff)
downloadsdl_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
-rw-r--r--src/components/application_manager/include/application_manager/message_helper.h3
-rw-r--r--src/components/application_manager/src/message_helper/message_helper.cc12
-rw-r--r--src/components/application_manager/src/resumption/resume_ctrl_impl.cc5
-rw-r--r--src/components/application_manager/test/include/application_manager/mock_message_helper.h3
-rw-r--r--src/components/application_manager/test/mock_message_helper.cc7
-rw-r--r--src/components/application_manager/test/resumption/resume_ctrl_test.cc9
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_,