diff options
Diffstat (limited to 'src/components/application_manager/src/application_manager_impl.cc')
-rw-r--r-- | src/components/application_manager/src/application_manager_impl.cc | 72 |
1 files changed, 42 insertions, 30 deletions
diff --git a/src/components/application_manager/src/application_manager_impl.cc b/src/components/application_manager/src/application_manager_impl.cc index bd3f4b5f08..5e1ae3bc3a 100644 --- a/src/components/application_manager/src/application_manager_impl.cc +++ b/src/components/application_manager/src/application_manager_impl.cc @@ -845,9 +845,8 @@ void ApplicationManagerImpl::ConnectToDevice(const std::string& device_mac) { connection_handler().ConnectToDevice(handle); } -void ApplicationManagerImpl::OnHMIStartedCooperation() { +void ApplicationManagerImpl::OnHMIReady() { LOG4CXX_AUTO_TRACE(logger_); - hmi_cooperating_ = true; #ifdef WEBSOCKET_SERVER_TRANSPORT_SUPPORT connection_handler_->CreateWebEngineDevice(); @@ -855,6 +854,29 @@ void ApplicationManagerImpl::OnHMIStartedCooperation() { MessageHelper::SendGetSystemInfoRequest(*this); + std::shared_ptr<smart_objects::SmartObject> is_navi_ready( + MessageHelper::CreateModuleInfoSO( + hmi_apis::FunctionID::Navigation_IsReady, *this)); + rpc_service_->ManageHMICommand(is_navi_ready); + + std::shared_ptr<smart_objects::SmartObject> mixing_audio_supported_request( + MessageHelper::CreateModuleInfoSO( + hmi_apis::FunctionID::BasicCommunication_MixingAudioSupported, + *this)); + rpc_service_->ManageHMICommand(mixing_audio_supported_request); + resume_controller().ResetLaunchTime(); + + RefreshCloudAppInformation(); + policy_handler_->TriggerPTUOnStartupIfRequired(); +} + +void ApplicationManagerImpl::RequestForInterfacesAvailability() { + LOG4CXX_AUTO_TRACE(logger_); + std::shared_ptr<smart_objects::SmartObject> is_ivi_ready( + MessageHelper::CreateModuleInfoSO( + hmi_apis::FunctionID::VehicleInfo_IsReady, *this)); + rpc_service_->ManageHMICommand(is_ivi_ready); + std::shared_ptr<smart_objects::SmartObject> is_vr_ready( MessageHelper::CreateModuleInfoSO(hmi_apis::FunctionID::VR_IsReady, *this)); @@ -870,36 +892,18 @@ void ApplicationManagerImpl::OnHMIStartedCooperation() { *this)); rpc_service_->ManageHMICommand(is_ui_ready); - std::shared_ptr<smart_objects::SmartObject> is_navi_ready( - MessageHelper::CreateModuleInfoSO( - hmi_apis::FunctionID::Navigation_IsReady, *this)); - rpc_service_->ManageHMICommand(is_navi_ready); - - std::shared_ptr<smart_objects::SmartObject> is_ivi_ready( - MessageHelper::CreateModuleInfoSO( - hmi_apis::FunctionID::VehicleInfo_IsReady, *this)); - rpc_service_->ManageHMICommand(is_ivi_ready); - std::shared_ptr<smart_objects::SmartObject> is_rc_ready( MessageHelper::CreateModuleInfoSO(hmi_apis::FunctionID::RC_IsReady, *this)); rpc_service_->ManageHMICommand(is_rc_ready); - std::shared_ptr<smart_objects::SmartObject> button_capabilities( - MessageHelper::CreateModuleInfoSO( - hmi_apis::FunctionID::Buttons_GetCapabilities, *this)); - rpc_service_->ManageHMICommand(button_capabilities); - - std::shared_ptr<smart_objects::SmartObject> mixing_audio_supported_request( - MessageHelper::CreateModuleInfoSO( - hmi_apis::FunctionID::BasicCommunication_MixingAudioSupported, - *this)); - rpc_service_->ManageHMICommand(mixing_audio_supported_request); - resume_controller().ResetLaunchTime(); - - RefreshCloudAppInformation(); - - policy_handler_->TriggerPTUOnStartupIfRequired(); + if (hmi_capabilities_->IsRequestsRequiredForCapabilities( + hmi_apis::FunctionID::Buttons_GetCapabilities)) { + std::shared_ptr<smart_objects::SmartObject> button_capabilities( + MessageHelper::CreateModuleInfoSO( + hmi_apis::FunctionID::Buttons_GetCapabilities, *this)); + rpc_service_->ManageHMICommand(button_capabilities); + } } std::string ApplicationManagerImpl::PolicyIDByIconUrl(const std::string url) { @@ -3020,7 +3024,9 @@ void ApplicationManagerImpl::HeadUnitReset( GetPolicyHandler().UnloadPolicyLibrary(); resume_controller().StopSavePersistentDataTimer(); - + if (!hmi_capabilities_->DeleteCachedCapabilitiesFile()) { + LOG4CXX_ERROR(logger_, "Failed to remove HMI capabilities cache file"); + } const std::string storage_folder = get_settings().app_storage_folder(); file_system::RemoveDirectory(storage_folder, true); ClearAppsPersistentData(); @@ -3031,7 +3037,9 @@ void ApplicationManagerImpl::HeadUnitReset( GetPolicyHandler().ClearUserConsent(); resume_controller().StopSavePersistentDataTimer(); - + if (!hmi_capabilities_->DeleteCachedCapabilitiesFile()) { + LOG4CXX_ERROR(logger_, "Failed to remove HMI capabilities cache file"); + } ClearAppsPersistentData(); break; } @@ -3130,7 +3138,7 @@ void ApplicationManagerImpl::SendOnSDLClose() { void ApplicationManagerImpl::UnregisterAllApplications() { LOG4CXX_DEBUG(logger_, "Unregister reason " << unregister_reason_); - hmi_cooperating_ = false; + SetHMICooperating(false); bool is_ignition_off = false; using namespace mobile_api::AppInterfaceUnregisteredReason; using namespace helpers; @@ -4091,6 +4099,10 @@ bool ApplicationManagerImpl::IsHMICooperating() const { return hmi_cooperating_; } +void ApplicationManagerImpl::SetHMICooperating(const bool hmi_cooperating) { + hmi_cooperating_ = hmi_cooperating; +} + void ApplicationManagerImpl::OnApplicationListUpdateTimer() { LOG4CXX_DEBUG(logger_, "Application list update timer finished"); const bool is_new_app_registered = registered_during_timer_execution_; |