From be98ed5ac5b076b53844e847f420284b31c9d417 Mon Sep 17 00:00:00 2001 From: Shobhit Adlakha Date: Wed, 18 Mar 2020 07:02:20 -0400 Subject: [PATCH 1/9] Trigger PTExchange when Device consent is enabled --- .../policy/policy_regular/src/policy_manager_impl.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/components/policy/policy_regular/src/policy_manager_impl.cc b/src/components/policy/policy_regular/src/policy_manager_impl.cc index b3354500e83..8d4db9e6755 100644 --- a/src/components/policy/policy_regular/src/policy_manager_impl.cc +++ b/src/components/policy/policy_regular/src/policy_manager_impl.cc @@ -926,6 +926,9 @@ void PolicyManagerImpl::SetUserConsentForDevice(const std::string& device_id, DeviceConsent current_consent = GetUserConsentForDevice(device_id); bool is_current_device_allowed = DeviceConsent::kDeviceAllowed == current_consent ? true : false; + if (is_allowed) { + StartPTExchange(); + } if (DeviceConsent::kDeviceHasNoConsent != current_consent && is_current_device_allowed == is_allowed) { const std::string consent = is_allowed ? "allowed" : "disallowed"; From 7c53978b2e7a42ed51cb856d054dce88e040e8ea Mon Sep 17 00:00:00 2001 From: Shobhit Adlakha Date: Wed, 18 Mar 2020 13:28:17 -0400 Subject: [PATCH 2/9] Move StartPTExchange call to BC.OnReady --- .../include/application_manager/policies/policy_handler.h | 2 ++ .../sdl_rpc_plugin/src/commands/hmi/on_ready_notification.cc | 1 + .../application_manager/src/policies/policy_handler.cc | 5 +++++ .../application_manager/policies/policy_handler_interface.h | 5 +++++ .../policy/policy_regular/src/policy_manager_impl.cc | 3 --- 5 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/components/application_manager/include/application_manager/policies/policy_handler.h b/src/components/application_manager/include/application_manager/policies/policy_handler.h index b8f105380c3..98a9fc0682a 100644 --- a/src/components/application_manager/include/application_manager/policies/policy_handler.h +++ b/src/components/application_manager/include/application_manager/policies/policy_handler.h @@ -550,6 +550,8 @@ class PolicyHandler : public PolicyHandlerInterface, virtual void OnPTExchangeNeeded() OVERRIDE; + virtual void TriggerPTUIfNeeded() OVERRIDE; + virtual void GetAvailableApps(std::queue& apps) OVERRIDE; /** diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/on_ready_notification.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/on_ready_notification.cc index da3612b043a..5596c5de12f 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/on_ready_notification.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/on_ready_notification.cc @@ -55,6 +55,7 @@ void OnReadyNotification::Run() { LOG4CXX_AUTO_TRACE(logger_); application_manager_.OnHMIStartedCooperation(); + policy_handler_.TriggerPTUIfNeeded(); event_engine::Event event(hmi_apis::FunctionID::BasicCommunication_OnReady); event.set_smart_object(*message_); event.raise(application_manager_.event_dispatcher()); diff --git a/src/components/application_manager/src/policies/policy_handler.cc b/src/components/application_manager/src/policies/policy_handler.cc index 1974c99d2c8..ba5c4a53636 100644 --- a/src/components/application_manager/src/policies/policy_handler.cc +++ b/src/components/application_manager/src/policies/policy_handler.cc @@ -582,6 +582,11 @@ void PolicyHandler::OnPTExchangeNeeded() { policy_manager_->ForcePTExchange(); } +void TriggerPTUIfNeeded() { + LOG4CXX_AUTO_TRACE(logger_); + policy_manager_->StartPTExchange(); +} + void PolicyHandler::GetAvailableApps(std::queue& apps) { LOG4CXX_INFO(logger_, "GetAvailable apps"); const ApplicationSet& app_list = diff --git a/src/components/include/application_manager/policies/policy_handler_interface.h b/src/components/include/application_manager/policies/policy_handler_interface.h index 7f31c5834d5..6d3b766006b 100644 --- a/src/components/include/application_manager/policies/policy_handler_interface.h +++ b/src/components/include/application_manager/policies/policy_handler_interface.h @@ -381,6 +381,11 @@ class PolicyHandlerInterface : public VehicleDataItemProvider { virtual void OnPTExchangeNeeded() = 0; + /** + * @brief Used to trigger a PTU if at least one of the triggers is set + */ + virtual void TriggerPTUIfNeeded() = 0; + virtual void GetAvailableApps(std::queue& apps) = 0; /** diff --git a/src/components/policy/policy_regular/src/policy_manager_impl.cc b/src/components/policy/policy_regular/src/policy_manager_impl.cc index 8d4db9e6755..b3354500e83 100644 --- a/src/components/policy/policy_regular/src/policy_manager_impl.cc +++ b/src/components/policy/policy_regular/src/policy_manager_impl.cc @@ -926,9 +926,6 @@ void PolicyManagerImpl::SetUserConsentForDevice(const std::string& device_id, DeviceConsent current_consent = GetUserConsentForDevice(device_id); bool is_current_device_allowed = DeviceConsent::kDeviceAllowed == current_consent ? true : false; - if (is_allowed) { - StartPTExchange(); - } if (DeviceConsent::kDeviceHasNoConsent != current_consent && is_current_device_allowed == is_allowed) { const std::string consent = is_allowed ? "allowed" : "disallowed"; From a6d7e8376d641dfe441d5fb35a7388a7269f1ae8 Mon Sep 17 00:00:00 2001 From: Shobhit Adlakha Date: Wed, 18 Mar 2020 13:53:08 -0400 Subject: [PATCH 3/9] StartPTExchange is a protected function. Add TriggerPTUIfNeeded to the policy_manager as well --- .../application_manager/src/policies/policy_handler.cc | 4 ++-- .../include/policy/policy_external/policy/policy_manager.h | 5 +++++ .../include/policy/policy_regular/policy/policy_manager.h | 5 +++++ .../policy/policy_external/src/policy_manager_impl.cc | 5 +++++ .../policy/policy_regular/src/policy_manager_impl.cc | 5 +++++ 5 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/components/application_manager/src/policies/policy_handler.cc b/src/components/application_manager/src/policies/policy_handler.cc index ba5c4a53636..c8bb5dbe151 100644 --- a/src/components/application_manager/src/policies/policy_handler.cc +++ b/src/components/application_manager/src/policies/policy_handler.cc @@ -582,9 +582,9 @@ void PolicyHandler::OnPTExchangeNeeded() { policy_manager_->ForcePTExchange(); } -void TriggerPTUIfNeeded() { +void PolicyHandler::TriggerPTUIfNeeded() { LOG4CXX_AUTO_TRACE(logger_); - policy_manager_->StartPTExchange(); + policy_manager_->TriggerPTUIfNeeded(); } void PolicyHandler::GetAvailableApps(std::queue& apps) { diff --git a/src/components/include/policy/policy_external/policy/policy_manager.h b/src/components/include/policy/policy_external/policy/policy_manager.h index 9ba5de49738..5c0c43ea99a 100644 --- a/src/components/include/policy/policy_external/policy/policy_manager.h +++ b/src/components/include/policy/policy_external/policy/policy_manager.h @@ -851,6 +851,11 @@ class PolicyManager : public usage_statistics::StatisticsManager, */ virtual void ResetTimeout() = 0; + /** + * @brief Used to trigger a PTU if at least one of the triggers is set + */ + virtual void TriggerPTUIfNeeded() = 0; + protected: /** * @brief Checks is PT exceeded IgnitionCycles diff --git a/src/components/include/policy/policy_regular/policy/policy_manager.h b/src/components/include/policy/policy_regular/policy/policy_manager.h index 7ba9a77a6ce..3f3178e3790 100644 --- a/src/components/include/policy/policy_regular/policy/policy_manager.h +++ b/src/components/include/policy/policy_regular/policy/policy_manager.h @@ -808,6 +808,11 @@ class PolicyManager : public usage_statistics::StatisticsManager, */ virtual void ResetTimeout() = 0; + /** + * @brief Used to trigger a PTU if at least one of the triggers is set + */ + virtual void TriggerPTUIfNeeded() = 0; + protected: /** * @brief Checks is PT exceeded IgnitionCycles diff --git a/src/components/policy/policy_external/src/policy_manager_impl.cc b/src/components/policy/policy_external/src/policy_manager_impl.cc index 35dcd2a2726..2b5afa49a92 100644 --- a/src/components/policy/policy_external/src/policy_manager_impl.cc +++ b/src/components/policy/policy_external/src/policy_manager_impl.cc @@ -1408,6 +1408,11 @@ void PolicyManagerImpl::ResetTimeout() { } } +void PolicyManagerImpl::TriggerPTUIfNeeded() { + LOG4CXX_AUTO_TRACE(logger_); + StartPTExchange(); +} + void PolicyManagerImpl::OnSystemRequestReceived() { LOG4CXX_AUTO_TRACE(logger_); IncrementRetryIndex(); diff --git a/src/components/policy/policy_regular/src/policy_manager_impl.cc b/src/components/policy/policy_regular/src/policy_manager_impl.cc index b3354500e83..6013ad52c55 100644 --- a/src/components/policy/policy_regular/src/policy_manager_impl.cc +++ b/src/components/policy/policy_regular/src/policy_manager_impl.cc @@ -1647,6 +1647,11 @@ void PolicyManagerImpl::ResetTimeout() { } } +void PolicyManagerImpl::TriggerPTUIfNeeded() { + LOG4CXX_AUTO_TRACE(logger_); + StartPTExchange(); +} + void PolicyManagerImpl::OnPTUIterationTimeout() { LOG4CXX_DEBUG(logger_, "Start new retry sequence"); From eba86ab2f11e9da4298b3900203e78736e881be2 Mon Sep 17 00:00:00 2001 From: Shobhit Adlakha Date: Wed, 18 Mar 2020 14:19:24 -0400 Subject: [PATCH 4/9] Fixed GetPolicyHandler call in BC.OnReady --- .../include/sdl_rpc_plugin/commands/hmi/on_ready_notification.h | 1 + .../sdl_rpc_plugin/src/commands/hmi/on_ready_notification.cc | 2 +- .../policy/policy_external/include/policy/policy_manager_impl.h | 2 ++ .../policy/policy_regular/include/policy/policy_manager_impl.h | 2 ++ 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/commands/hmi/on_ready_notification.h b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/commands/hmi/on_ready_notification.h index f540abbf4a0..375d3e832c4 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/commands/hmi/on_ready_notification.h +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/commands/hmi/on_ready_notification.h @@ -35,6 +35,7 @@ #include "application_manager/application_manager.h" #include "application_manager/commands/notification_from_hmi.h" +#include "application_manager/policies/policy_handler_interface.h" namespace sdl_rpc_plugin { namespace app_mngr = application_manager; diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/on_ready_notification.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/on_ready_notification.cc index 5596c5de12f..390dee3c90c 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/on_ready_notification.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/on_ready_notification.cc @@ -55,7 +55,7 @@ void OnReadyNotification::Run() { LOG4CXX_AUTO_TRACE(logger_); application_manager_.OnHMIStartedCooperation(); - policy_handler_.TriggerPTUIfNeeded(); + application_manager_.GetPolicyHandler().TriggerPTUIfNeeded(); event_engine::Event event(hmi_apis::FunctionID::BasicCommunication_OnReady); event.set_smart_object(*message_); event.raise(application_manager_.event_dispatcher()); diff --git a/src/components/policy/policy_external/include/policy/policy_manager_impl.h b/src/components/policy/policy_external/include/policy/policy_manager_impl.h index 2fd58d3a078..f26c815614a 100644 --- a/src/components/policy/policy_external/include/policy/policy_manager_impl.h +++ b/src/components/policy/policy_external/include/policy/policy_manager_impl.h @@ -1127,6 +1127,8 @@ class PolicyManagerImpl : public PolicyManager { void ResetTimeout() OVERRIDE; + void TriggerPTUIfNeeded() OVERRIDE; + /** * @brief Notify application about its permissions changes by preparing and * sending OnPermissionsChanged notification diff --git a/src/components/policy/policy_regular/include/policy/policy_manager_impl.h b/src/components/policy/policy_regular/include/policy/policy_manager_impl.h index d29852b2793..b3e9cc5b0a1 100644 --- a/src/components/policy/policy_regular/include/policy/policy_manager_impl.h +++ b/src/components/policy/policy_regular/include/policy/policy_manager_impl.h @@ -864,6 +864,8 @@ class PolicyManagerImpl : public PolicyManager { void ResetTimeout() OVERRIDE; + void TriggerPTUIfNeeded() OVERRIDE; + protected: #ifdef USE_HMI_PTU_DECRYPTION /** From d57dc67119ac8bd56f117264ca2e24b1560a4773 Mon Sep 17 00:00:00 2001 From: JackLivio Date: Wed, 18 Mar 2020 14:32:12 -0400 Subject: [PATCH 5/9] Add mock definitions --- .../application_manager/policies/mock_policy_handler_interface.h | 1 + .../test/policy/policy_external/policy/mock_policy_manager.h | 1 + .../test/policy/policy_regular/policy/mock_policy_manager.h | 1 + 3 files changed, 3 insertions(+) diff --git a/src/components/include/test/application_manager/policies/mock_policy_handler_interface.h b/src/components/include/test/application_manager/policies/mock_policy_handler_interface.h index cd991573193..fa5d499af59 100644 --- a/src/components/include/test/application_manager/policies/mock_policy_handler_interface.h +++ b/src/components/include/test/application_manager/policies/mock_policy_handler_interface.h @@ -210,6 +210,7 @@ class MockPolicyHandlerInterface : public policy::PolicyHandlerInterface { MOCK_CONST_METHOD1(SendOnAppPropertiesChangeNotification, void(const std::string& policy_app_id)); MOCK_METHOD0(OnPTExchangeNeeded, void()); + MOCK_METHOD0(TriggerPTUIfNeeded, void()); MOCK_METHOD1(GetAvailableApps, void(std::queue& apps)); MOCK_METHOD3( AddApplication, diff --git a/src/components/include/test/policy/policy_external/policy/mock_policy_manager.h b/src/components/include/test/policy/policy_external/policy/mock_policy_manager.h index da3f1300772..b62cd36a74e 100644 --- a/src/components/include/test/policy/policy_external/policy/mock_policy_manager.h +++ b/src/components/include/test/policy/policy_external/policy/mock_policy_manager.h @@ -268,6 +268,7 @@ class MockPolicyManager : public PolicyManager { MOCK_METHOD0(ExceededIgnitionCycles, bool()); MOCK_METHOD0(ExceededDays, bool()); MOCK_METHOD0(StartPTExchange, void()); + MOCK_METHOD0(TriggerPTUIfNeeded, void()); MOCK_METHOD1(Increment, void(usage_statistics::GlobalCounterId type)); MOCK_METHOD2(Increment, void(const std::string& app_id, diff --git a/src/components/include/test/policy/policy_regular/policy/mock_policy_manager.h b/src/components/include/test/policy/policy_regular/policy/mock_policy_manager.h index b3283061346..80a80321573 100644 --- a/src/components/include/test/policy/policy_regular/policy/mock_policy_manager.h +++ b/src/components/include/test/policy/policy_regular/policy/mock_policy_manager.h @@ -263,6 +263,7 @@ class MockPolicyManager : public PolicyManager { MOCK_METHOD0(ExceededIgnitionCycles, bool()); MOCK_METHOD0(ExceededDays, bool()); MOCK_METHOD0(StartPTExchange, void()); + MOCK_METHOD0(TriggerPTUIfNeeded, void()); // --- Statistics Manager section MOCK_METHOD1(Increment, void(usage_statistics::GlobalCounterId type)); From 0484f2584a860cc4a3bb5c7f7d8fc729444db704 Mon Sep 17 00:00:00 2001 From: JackLivio Date: Wed, 18 Mar 2020 16:54:29 -0400 Subject: [PATCH 6/9] Fix failed ut --- .../sdl_rpc_plugin/test/commands/hmi/hmi_notifications_test.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/test/commands/hmi/hmi_notifications_test.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/test/commands/hmi/hmi_notifications_test.cc index 26f7a63872c..4918c95e4f8 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/test/commands/hmi/hmi_notifications_test.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/test/commands/hmi/hmi_notifications_test.cc @@ -549,6 +549,8 @@ TEST_F(HMICommandsNotificationsTest, OnReadyNotificationEventDispatcher) { EXPECT_CALL(app_mngr_, event_dispatcher()); EXPECT_CALL(mock_event_dispatcher_, raise_event(_)) .WillOnce(GetEventId(&event_id)); + EXPECT_CALL(app_mngr_, GetPolicyHandler()) + .WillOnce(ReturnRef(mock_policy_handler_)); command->Run(); EXPECT_EQ(hmi_apis::FunctionID::BasicCommunication_OnReady, event_id); } From 6228ea5a27d6ea1fca589be1d0f0fff18d539c89 Mon Sep 17 00:00:00 2001 From: Shobhit Adlakha Date: Thu, 19 Mar 2020 09:30:29 -0400 Subject: [PATCH 7/9] Handle PolicyUpdate error response --- .../src/commands/hmi/sdl_policy_update_response.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/sdl_policy_update_response.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/sdl_policy_update_response.cc index bfbf73270e5..20fbcdb5c3a 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/sdl_policy_update_response.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/sdl_policy_update_response.cc @@ -63,6 +63,7 @@ void SDLPolicyUpdateResponse::Run() { hmi_apis::Common_Result::SUCCESS, hmi_apis::Common_Result::WARNINGS)) { LOG4CXX_ERROR(logger_, "Error is returned. PTU won't be started."); + application_manager_.GetPolicyHandler().OnAppsSearchCompleted(false); return; } From c70527f4f8a85cca411dc608b60a7a48060f0776 Mon Sep 17 00:00:00 2001 From: JackLivio Date: Thu, 19 Mar 2020 11:51:35 -0400 Subject: [PATCH 8/9] Add reset retry sequence --- .../include/application_manager/policies/policy_handler.h | 1 + .../src/commands/hmi/sdl_policy_update_response.cc | 1 + .../application_manager/src/policies/policy_handler.cc | 7 +++++++ .../policies/policy_handler_interface.h | 2 ++ .../policy/policy_regular/src/policy_manager_impl.cc | 6 +++++- 5 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/components/application_manager/include/application_manager/policies/policy_handler.h b/src/components/application_manager/include/application_manager/policies/policy_handler.h index 98a9fc0682a..522e057d6b8 100644 --- a/src/components/application_manager/include/application_manager/policies/policy_handler.h +++ b/src/components/application_manager/include/application_manager/policies/policy_handler.h @@ -713,6 +713,7 @@ class PolicyHandler : public PolicyHandlerInterface, virtual void OnPTInited() OVERRIDE; void StopRetrySequence() OVERRIDE; + void ResetRetrySequence() OVERRIDE; /** * @brief OnDeviceSwitching Notifies policy manager on device switch event so diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/sdl_policy_update_response.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/sdl_policy_update_response.cc index 20fbcdb5c3a..05bc28e719b 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/sdl_policy_update_response.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/sdl_policy_update_response.cc @@ -63,6 +63,7 @@ void SDLPolicyUpdateResponse::Run() { hmi_apis::Common_Result::SUCCESS, hmi_apis::Common_Result::WARNINGS)) { LOG4CXX_ERROR(logger_, "Error is returned. PTU won't be started."); + application_manager_.GetPolicyHandler().ResetRetrySequence(); application_manager_.GetPolicyHandler().OnAppsSearchCompleted(false); return; } diff --git a/src/components/application_manager/src/policies/policy_handler.cc b/src/components/application_manager/src/policies/policy_handler.cc index c8bb5dbe151..8b44da610fe 100644 --- a/src/components/application_manager/src/policies/policy_handler.cc +++ b/src/components/application_manager/src/policies/policy_handler.cc @@ -407,6 +407,13 @@ void PolicyHandler::StopRetrySequence() { policy_manager_->StopRetrySequence(); } +void PolicyHandler::ResetRetrySequence() { + LOG4CXX_AUTO_TRACE(logger_); + + policy_manager_->ResetRetrySequence( + ResetRetryCountType::kResetWithStatusUpdate); +} + bool PolicyHandler::ResetPolicyTable() { LOG4CXX_TRACE(logger_, "Reset policy table."); POLICY_LIB_CHECK(false); diff --git a/src/components/include/application_manager/policies/policy_handler_interface.h b/src/components/include/application_manager/policies/policy_handler_interface.h index 6d3b766006b..fd95c1305ce 100644 --- a/src/components/include/application_manager/policies/policy_handler_interface.h +++ b/src/components/include/application_manager/policies/policy_handler_interface.h @@ -371,6 +371,8 @@ class PolicyHandlerInterface : public VehicleDataItemProvider { */ virtual void StopRetrySequence() = 0; + virtual void ResetRetrySequence() = 0; + #ifdef EXTERNAL_PROPRIETARY_MODE virtual void OnCertificateDecrypted(bool is_succeeded) = 0; #endif // EXTERNAL_PROPRIETARY_MODE diff --git a/src/components/policy/policy_regular/src/policy_manager_impl.cc b/src/components/policy/policy_regular/src/policy_manager_impl.cc index 6013ad52c55..80e59ae4ee2 100644 --- a/src/components/policy/policy_regular/src/policy_manager_impl.cc +++ b/src/components/policy/policy_regular/src/policy_manager_impl.cc @@ -692,7 +692,11 @@ void PolicyManagerImpl::OnAppsSearchCompleted(const bool trigger_ptu) { update_status_manager_.OnAppsSearchCompleted(); trigger_ptu_ = trigger_ptu; - + LOG4CXX_DEBUG(logger_, "trigger_ptu_ " << trigger_ptu_); + LOG4CXX_DEBUG( + logger_, + "is update required: " << update_status_manager_.IsUpdateRequired()); + LOG4CXX_DEBUG(logger_, "ptu_requested_ " << ptu_requested_); if (update_status_manager_.IsUpdateRequired() && !ptu_requested_ && HasApplicationForPTU()) { StartPTExchange(); From 8efa3ef8bfdee828802daecd752217513677eb1b Mon Sep 17 00:00:00 2001 From: Shobhit Adlakha Date: Thu, 19 Mar 2020 12:27:02 -0400 Subject: [PATCH 9/9] Revert "Move StartPTExchange call to BC.OnReady" This reverts commit 7c53978b2e7a42ed51cb856d054dce88e040e8ea. --- .../application_manager/policies/policy_handler.h | 3 --- .../commands/hmi/on_ready_notification.h | 1 - .../src/commands/hmi/on_ready_notification.cc | 1 - .../src/commands/hmi/sdl_policy_update_response.cc | 2 -- .../test/commands/hmi/hmi_notifications_test.cc | 2 -- .../src/policies/policy_handler.cc | 12 ------------ .../policies/policy_handler_interface.h | 7 ------- .../policy/policy_external/policy/policy_manager.h | 5 ----- .../policy/policy_regular/policy/policy_manager.h | 5 ----- .../policies/mock_policy_handler_interface.h | 1 - .../policy_external/policy/mock_policy_manager.h | 1 - .../policy_regular/policy/mock_policy_manager.h | 1 - .../include/policy/policy_manager_impl.h | 2 -- .../policy_external/src/policy_manager_impl.cc | 5 ----- .../include/policy/policy_manager_impl.h | 2 -- .../policy_regular/src/policy_manager_impl.cc | 14 ++++---------- 16 files changed, 4 insertions(+), 60 deletions(-) diff --git a/src/components/application_manager/include/application_manager/policies/policy_handler.h b/src/components/application_manager/include/application_manager/policies/policy_handler.h index 522e057d6b8..b8f105380c3 100644 --- a/src/components/application_manager/include/application_manager/policies/policy_handler.h +++ b/src/components/application_manager/include/application_manager/policies/policy_handler.h @@ -550,8 +550,6 @@ class PolicyHandler : public PolicyHandlerInterface, virtual void OnPTExchangeNeeded() OVERRIDE; - virtual void TriggerPTUIfNeeded() OVERRIDE; - virtual void GetAvailableApps(std::queue& apps) OVERRIDE; /** @@ -713,7 +711,6 @@ class PolicyHandler : public PolicyHandlerInterface, virtual void OnPTInited() OVERRIDE; void StopRetrySequence() OVERRIDE; - void ResetRetrySequence() OVERRIDE; /** * @brief OnDeviceSwitching Notifies policy manager on device switch event so diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/commands/hmi/on_ready_notification.h b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/commands/hmi/on_ready_notification.h index 375d3e832c4..f540abbf4a0 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/commands/hmi/on_ready_notification.h +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/commands/hmi/on_ready_notification.h @@ -35,7 +35,6 @@ #include "application_manager/application_manager.h" #include "application_manager/commands/notification_from_hmi.h" -#include "application_manager/policies/policy_handler_interface.h" namespace sdl_rpc_plugin { namespace app_mngr = application_manager; diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/on_ready_notification.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/on_ready_notification.cc index 390dee3c90c..da3612b043a 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/on_ready_notification.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/on_ready_notification.cc @@ -55,7 +55,6 @@ void OnReadyNotification::Run() { LOG4CXX_AUTO_TRACE(logger_); application_manager_.OnHMIStartedCooperation(); - application_manager_.GetPolicyHandler().TriggerPTUIfNeeded(); event_engine::Event event(hmi_apis::FunctionID::BasicCommunication_OnReady); event.set_smart_object(*message_); event.raise(application_manager_.event_dispatcher()); diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/sdl_policy_update_response.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/sdl_policy_update_response.cc index 05bc28e719b..bfbf73270e5 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/sdl_policy_update_response.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/sdl_policy_update_response.cc @@ -63,8 +63,6 @@ void SDLPolicyUpdateResponse::Run() { hmi_apis::Common_Result::SUCCESS, hmi_apis::Common_Result::WARNINGS)) { LOG4CXX_ERROR(logger_, "Error is returned. PTU won't be started."); - application_manager_.GetPolicyHandler().ResetRetrySequence(); - application_manager_.GetPolicyHandler().OnAppsSearchCompleted(false); return; } diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/test/commands/hmi/hmi_notifications_test.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/test/commands/hmi/hmi_notifications_test.cc index 4918c95e4f8..26f7a63872c 100644 --- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/test/commands/hmi/hmi_notifications_test.cc +++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/test/commands/hmi/hmi_notifications_test.cc @@ -549,8 +549,6 @@ TEST_F(HMICommandsNotificationsTest, OnReadyNotificationEventDispatcher) { EXPECT_CALL(app_mngr_, event_dispatcher()); EXPECT_CALL(mock_event_dispatcher_, raise_event(_)) .WillOnce(GetEventId(&event_id)); - EXPECT_CALL(app_mngr_, GetPolicyHandler()) - .WillOnce(ReturnRef(mock_policy_handler_)); command->Run(); EXPECT_EQ(hmi_apis::FunctionID::BasicCommunication_OnReady, event_id); } diff --git a/src/components/application_manager/src/policies/policy_handler.cc b/src/components/application_manager/src/policies/policy_handler.cc index 8b44da610fe..1974c99d2c8 100644 --- a/src/components/application_manager/src/policies/policy_handler.cc +++ b/src/components/application_manager/src/policies/policy_handler.cc @@ -407,13 +407,6 @@ void PolicyHandler::StopRetrySequence() { policy_manager_->StopRetrySequence(); } -void PolicyHandler::ResetRetrySequence() { - LOG4CXX_AUTO_TRACE(logger_); - - policy_manager_->ResetRetrySequence( - ResetRetryCountType::kResetWithStatusUpdate); -} - bool PolicyHandler::ResetPolicyTable() { LOG4CXX_TRACE(logger_, "Reset policy table."); POLICY_LIB_CHECK(false); @@ -589,11 +582,6 @@ void PolicyHandler::OnPTExchangeNeeded() { policy_manager_->ForcePTExchange(); } -void PolicyHandler::TriggerPTUIfNeeded() { - LOG4CXX_AUTO_TRACE(logger_); - policy_manager_->TriggerPTUIfNeeded(); -} - void PolicyHandler::GetAvailableApps(std::queue& apps) { LOG4CXX_INFO(logger_, "GetAvailable apps"); const ApplicationSet& app_list = diff --git a/src/components/include/application_manager/policies/policy_handler_interface.h b/src/components/include/application_manager/policies/policy_handler_interface.h index fd95c1305ce..7f31c5834d5 100644 --- a/src/components/include/application_manager/policies/policy_handler_interface.h +++ b/src/components/include/application_manager/policies/policy_handler_interface.h @@ -371,8 +371,6 @@ class PolicyHandlerInterface : public VehicleDataItemProvider { */ virtual void StopRetrySequence() = 0; - virtual void ResetRetrySequence() = 0; - #ifdef EXTERNAL_PROPRIETARY_MODE virtual void OnCertificateDecrypted(bool is_succeeded) = 0; #endif // EXTERNAL_PROPRIETARY_MODE @@ -383,11 +381,6 @@ class PolicyHandlerInterface : public VehicleDataItemProvider { virtual void OnPTExchangeNeeded() = 0; - /** - * @brief Used to trigger a PTU if at least one of the triggers is set - */ - virtual void TriggerPTUIfNeeded() = 0; - virtual void GetAvailableApps(std::queue& apps) = 0; /** diff --git a/src/components/include/policy/policy_external/policy/policy_manager.h b/src/components/include/policy/policy_external/policy/policy_manager.h index 5c0c43ea99a..9ba5de49738 100644 --- a/src/components/include/policy/policy_external/policy/policy_manager.h +++ b/src/components/include/policy/policy_external/policy/policy_manager.h @@ -851,11 +851,6 @@ class PolicyManager : public usage_statistics::StatisticsManager, */ virtual void ResetTimeout() = 0; - /** - * @brief Used to trigger a PTU if at least one of the triggers is set - */ - virtual void TriggerPTUIfNeeded() = 0; - protected: /** * @brief Checks is PT exceeded IgnitionCycles diff --git a/src/components/include/policy/policy_regular/policy/policy_manager.h b/src/components/include/policy/policy_regular/policy/policy_manager.h index 3f3178e3790..7ba9a77a6ce 100644 --- a/src/components/include/policy/policy_regular/policy/policy_manager.h +++ b/src/components/include/policy/policy_regular/policy/policy_manager.h @@ -808,11 +808,6 @@ class PolicyManager : public usage_statistics::StatisticsManager, */ virtual void ResetTimeout() = 0; - /** - * @brief Used to trigger a PTU if at least one of the triggers is set - */ - virtual void TriggerPTUIfNeeded() = 0; - protected: /** * @brief Checks is PT exceeded IgnitionCycles diff --git a/src/components/include/test/application_manager/policies/mock_policy_handler_interface.h b/src/components/include/test/application_manager/policies/mock_policy_handler_interface.h index fa5d499af59..cd991573193 100644 --- a/src/components/include/test/application_manager/policies/mock_policy_handler_interface.h +++ b/src/components/include/test/application_manager/policies/mock_policy_handler_interface.h @@ -210,7 +210,6 @@ class MockPolicyHandlerInterface : public policy::PolicyHandlerInterface { MOCK_CONST_METHOD1(SendOnAppPropertiesChangeNotification, void(const std::string& policy_app_id)); MOCK_METHOD0(OnPTExchangeNeeded, void()); - MOCK_METHOD0(TriggerPTUIfNeeded, void()); MOCK_METHOD1(GetAvailableApps, void(std::queue& apps)); MOCK_METHOD3( AddApplication, diff --git a/src/components/include/test/policy/policy_external/policy/mock_policy_manager.h b/src/components/include/test/policy/policy_external/policy/mock_policy_manager.h index b62cd36a74e..da3f1300772 100644 --- a/src/components/include/test/policy/policy_external/policy/mock_policy_manager.h +++ b/src/components/include/test/policy/policy_external/policy/mock_policy_manager.h @@ -268,7 +268,6 @@ class MockPolicyManager : public PolicyManager { MOCK_METHOD0(ExceededIgnitionCycles, bool()); MOCK_METHOD0(ExceededDays, bool()); MOCK_METHOD0(StartPTExchange, void()); - MOCK_METHOD0(TriggerPTUIfNeeded, void()); MOCK_METHOD1(Increment, void(usage_statistics::GlobalCounterId type)); MOCK_METHOD2(Increment, void(const std::string& app_id, diff --git a/src/components/include/test/policy/policy_regular/policy/mock_policy_manager.h b/src/components/include/test/policy/policy_regular/policy/mock_policy_manager.h index 80a80321573..b3283061346 100644 --- a/src/components/include/test/policy/policy_regular/policy/mock_policy_manager.h +++ b/src/components/include/test/policy/policy_regular/policy/mock_policy_manager.h @@ -263,7 +263,6 @@ class MockPolicyManager : public PolicyManager { MOCK_METHOD0(ExceededIgnitionCycles, bool()); MOCK_METHOD0(ExceededDays, bool()); MOCK_METHOD0(StartPTExchange, void()); - MOCK_METHOD0(TriggerPTUIfNeeded, void()); // --- Statistics Manager section MOCK_METHOD1(Increment, void(usage_statistics::GlobalCounterId type)); diff --git a/src/components/policy/policy_external/include/policy/policy_manager_impl.h b/src/components/policy/policy_external/include/policy/policy_manager_impl.h index f26c815614a..2fd58d3a078 100644 --- a/src/components/policy/policy_external/include/policy/policy_manager_impl.h +++ b/src/components/policy/policy_external/include/policy/policy_manager_impl.h @@ -1127,8 +1127,6 @@ class PolicyManagerImpl : public PolicyManager { void ResetTimeout() OVERRIDE; - void TriggerPTUIfNeeded() OVERRIDE; - /** * @brief Notify application about its permissions changes by preparing and * sending OnPermissionsChanged notification diff --git a/src/components/policy/policy_external/src/policy_manager_impl.cc b/src/components/policy/policy_external/src/policy_manager_impl.cc index 2b5afa49a92..35dcd2a2726 100644 --- a/src/components/policy/policy_external/src/policy_manager_impl.cc +++ b/src/components/policy/policy_external/src/policy_manager_impl.cc @@ -1408,11 +1408,6 @@ void PolicyManagerImpl::ResetTimeout() { } } -void PolicyManagerImpl::TriggerPTUIfNeeded() { - LOG4CXX_AUTO_TRACE(logger_); - StartPTExchange(); -} - void PolicyManagerImpl::OnSystemRequestReceived() { LOG4CXX_AUTO_TRACE(logger_); IncrementRetryIndex(); diff --git a/src/components/policy/policy_regular/include/policy/policy_manager_impl.h b/src/components/policy/policy_regular/include/policy/policy_manager_impl.h index b3e9cc5b0a1..d29852b2793 100644 --- a/src/components/policy/policy_regular/include/policy/policy_manager_impl.h +++ b/src/components/policy/policy_regular/include/policy/policy_manager_impl.h @@ -864,8 +864,6 @@ class PolicyManagerImpl : public PolicyManager { void ResetTimeout() OVERRIDE; - void TriggerPTUIfNeeded() OVERRIDE; - protected: #ifdef USE_HMI_PTU_DECRYPTION /** diff --git a/src/components/policy/policy_regular/src/policy_manager_impl.cc b/src/components/policy/policy_regular/src/policy_manager_impl.cc index 80e59ae4ee2..8d4db9e6755 100644 --- a/src/components/policy/policy_regular/src/policy_manager_impl.cc +++ b/src/components/policy/policy_regular/src/policy_manager_impl.cc @@ -692,11 +692,7 @@ void PolicyManagerImpl::OnAppsSearchCompleted(const bool trigger_ptu) { update_status_manager_.OnAppsSearchCompleted(); trigger_ptu_ = trigger_ptu; - LOG4CXX_DEBUG(logger_, "trigger_ptu_ " << trigger_ptu_); - LOG4CXX_DEBUG( - logger_, - "is update required: " << update_status_manager_.IsUpdateRequired()); - LOG4CXX_DEBUG(logger_, "ptu_requested_ " << ptu_requested_); + if (update_status_manager_.IsUpdateRequired() && !ptu_requested_ && HasApplicationForPTU()) { StartPTExchange(); @@ -930,6 +926,9 @@ void PolicyManagerImpl::SetUserConsentForDevice(const std::string& device_id, DeviceConsent current_consent = GetUserConsentForDevice(device_id); bool is_current_device_allowed = DeviceConsent::kDeviceAllowed == current_consent ? true : false; + if (is_allowed) { + StartPTExchange(); + } if (DeviceConsent::kDeviceHasNoConsent != current_consent && is_current_device_allowed == is_allowed) { const std::string consent = is_allowed ? "allowed" : "disallowed"; @@ -1651,11 +1650,6 @@ void PolicyManagerImpl::ResetTimeout() { } } -void PolicyManagerImpl::TriggerPTUIfNeeded() { - LOG4CXX_AUTO_TRACE(logger_); - StartPTExchange(); -} - void PolicyManagerImpl::OnPTUIterationTimeout() { LOG4CXX_DEBUG(logger_, "Start new retry sequence");