summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJackLivio <jack@livio.io>2018-09-06 14:45:10 -0400
committerJackLivio <jack@livio.io>2018-09-06 14:45:10 -0400
commit5bc69aa9083145f3f5c27f50f6f7ddb79f47a3a0 (patch)
treeacb62902a242e0edcf241eb9c6066c8d88a388a7
parent4c7c756a3ed0be95fd90097bea64ac97679bd91c (diff)
downloadsdl_core-fix/set_function_id_remove_fake_params.tar.gz
Set proper function id in removeHMIFakeParametersfix/set_function_id_remove_fake_params
-rw-r--r--src/components/application_manager/include/application_manager/application_manager_impl.h3
-rw-r--r--src/components/application_manager/rpc_plugins/rc_rpc_plugin/src/commands/mobile/set_interior_vehicle_data_request.cc3
-rw-r--r--src/components/application_manager/rpc_plugins/rc_rpc_plugin/test/commands/set_interior_vehicle_data_request_test.cc2
-rw-r--r--src/components/application_manager/src/application_manager_impl.cc13
-rw-r--r--src/components/include/application_manager/application_manager.h3
-rw-r--r--src/components/include/test/application_manager/mock_application_manager.h5
6 files changed, 22 insertions, 7 deletions
diff --git a/src/components/application_manager/include/application_manager/application_manager_impl.h b/src/components/application_manager/include/application_manager/application_manager_impl.h
index d5f9f9b7f8..4f4faa15a8 100644
--- a/src/components/application_manager/include/application_manager/application_manager_impl.h
+++ b/src/components/application_manager/include/application_manager/application_manager_impl.h
@@ -553,7 +553,8 @@ class ApplicationManagerImpl
void StartDevicesDiscovery();
void RemoveHMIFakeParameters(
- application_manager::commands::MessageSharedPtr& message) OVERRIDE;
+ application_manager::commands::MessageSharedPtr& message,
+ const hmi_apis::FunctionID::eType& function_id) OVERRIDE;
/**
* @brief TerminateRequest forces termination of request
diff --git a/src/components/application_manager/rpc_plugins/rc_rpc_plugin/src/commands/mobile/set_interior_vehicle_data_request.cc b/src/components/application_manager/rpc_plugins/rc_rpc_plugin/src/commands/mobile/set_interior_vehicle_data_request.cc
index 88df9d8382..b81008155d 100644
--- a/src/components/application_manager/rpc_plugins/rc_rpc_plugin/src/commands/mobile/set_interior_vehicle_data_request.cc
+++ b/src/components/application_manager/rpc_plugins/rc_rpc_plugin/src/commands/mobile/set_interior_vehicle_data_request.cc
@@ -488,7 +488,8 @@ void SetInteriorVehicleDataRequest::Execute() {
CutOffReadOnlyParams(module_data);
}
- application_manager_.RemoveHMIFakeParameters(message_);
+ application_manager_.RemoveHMIFakeParameters(
+ message_, hmi_apis::FunctionID::RC_SetInteriorVehicleData);
app_mngr::ApplicationSharedPtr app =
application_manager_.application(connection_key());
diff --git a/src/components/application_manager/rpc_plugins/rc_rpc_plugin/test/commands/set_interior_vehicle_data_request_test.cc b/src/components/application_manager/rpc_plugins/rc_rpc_plugin/test/commands/set_interior_vehicle_data_request_test.cc
index 47e1c9a389..b1cb8271f5 100644
--- a/src/components/application_manager/rpc_plugins/rc_rpc_plugin/test/commands/set_interior_vehicle_data_request_test.cc
+++ b/src/components/application_manager/rpc_plugins/rc_rpc_plugin/test/commands/set_interior_vehicle_data_request_test.cc
@@ -184,7 +184,7 @@ TEST_F(
EXPECT_CALL(mock_hmi_capabilities_, rc_capability())
.WillOnce(Return(nullptr));
- EXPECT_CALL(app_mngr_, RemoveHMIFakeParameters(_));
+ EXPECT_CALL(app_mngr_, RemoveHMIFakeParameters(_, _));
EXPECT_CALL(
mock_rpc_service_,
diff --git a/src/components/application_manager/src/application_manager_impl.cc b/src/components/application_manager/src/application_manager_impl.cc
index 69040997fe..02c41e0472 100644
--- a/src/components/application_manager/src/application_manager_impl.cc
+++ b/src/components/application_manager/src/application_manager_impl.cc
@@ -1693,10 +1693,21 @@ void ApplicationManagerImpl::TerminateRequest(const uint32_t connection_key,
}
void ApplicationManagerImpl::RemoveHMIFakeParameters(
- application_manager::commands::MessageSharedPtr& message) {
+ application_manager::commands::MessageSharedPtr& message,
+ const hmi_apis::FunctionID::eType& function_id) {
LOG4CXX_AUTO_TRACE(logger_);
hmi_apis::HMI_API factory;
+ if (!(*message)[jhs::S_PARAMS].keyExists(jhs::S_FUNCTION_ID)) {
+ LOG4CXX_ERROR(logger_,
+ "RemoveHMIFakeParameters message missing function id");
+ return;
+ }
+ mobile_apis::FunctionID::eType mobile_function_id =
+ static_cast<mobile_apis::FunctionID::eType>(
+ (*message)[jhs::S_PARAMS][jhs::S_FUNCTION_ID].asInt());
+ (*message)[jhs::S_PARAMS][jhs::S_FUNCTION_ID] = function_id;
factory.attachSchema(*message, true);
+ (*message)[jhs::S_PARAMS][jhs::S_FUNCTION_ID] = mobile_function_id;
}
bool ApplicationManagerImpl::Init(resumption::LastState& last_state,
diff --git a/src/components/include/application_manager/application_manager.h b/src/components/include/application_manager/application_manager.h
index 9b482b9e62..6df91d748c 100644
--- a/src/components/include/application_manager/application_manager.h
+++ b/src/components/include/application_manager/application_manager.h
@@ -316,7 +316,8 @@ class ApplicationManager {
virtual const std::set<int32_t> GetAppsSubscribedForWayPoints() const = 0;
virtual void RemoveHMIFakeParameters(
- application_manager::commands::MessageSharedPtr& message) = 0;
+ application_manager::commands::MessageSharedPtr& message,
+ const hmi_apis::FunctionID::eType& function_id) = 0;
virtual mobile_api::HMILevel::eType GetDefaultHmiLevel(
ApplicationConstSharedPtr application) const = 0;
diff --git a/src/components/include/test/application_manager/mock_application_manager.h b/src/components/include/test/application_manager/mock_application_manager.h
index e6e39bce58..f6a0c181c2 100644
--- a/src/components/include/test/application_manager/mock_application_manager.h
+++ b/src/components/include/test/application_manager/mock_application_manager.h
@@ -124,8 +124,9 @@ class MockApplicationManager : public application_manager::ApplicationManager {
void(const std::shared_ptr<application_manager::Application> app));
MOCK_METHOD1(SendDriverDistractionState,
void(application_manager::ApplicationSharedPtr app));
- MOCK_METHOD1(RemoveHMIFakeParameters,
- void(application_manager::commands::MessageSharedPtr& message));
+ MOCK_METHOD2(RemoveHMIFakeParameters,
+ void(application_manager::commands::MessageSharedPtr& message,
+ const hmi_apis::FunctionID::eType& function_id));
MOCK_CONST_METHOD1(
GetDefaultHmiLevel,
mobile_apis::HMILevel::eType(