APPLINK-6450:implemented [RTC 297984] No onHMIStatus (notification) NONE and NOT_AUDIBLE
authorDmitriy Trunov <DTrunov@luxoft.com>
Tue, 1 Apr 2014 11:21:10 +0000 (14:21 +0300)
committerJustin Dickow <jjdickow@gmail.com>
Tue, 8 Jul 2014 22:34:45 +0000 (18:34 -0400)
src/components/application_manager/src/commands/hmi/on_exit_application_notification.cc

index f74c2bb..da0a2af 100644 (file)
@@ -32,6 +32,9 @@
 
 #include "application_manager/commands/hmi/on_exit_application_notification.h"
 #include "application_manager/application_manager_impl.h"
+#include "application_manager/application_impl.h"
+#include "application_manager/message_helper.h"
+#include "interfaces/MOBILE_API.h"
 
 namespace application_manager {
 
@@ -47,8 +50,16 @@ OnExitApplicationNotification::~OnExitApplicationNotification() {
 void OnExitApplicationNotification::Run() {
   LOG4CXX_INFO(logger_, "OnExitApplicationNotification::Run");
 
-  ApplicationManagerImpl::instance()->UnregisterApplication(
+  ApplicationManagerImpl* app_mgr = ApplicationManagerImpl::instance();
+  ApplicationSharedPtr app_impl = app_mgr->application(
       (*message_)[strings::msg_params][strings::app_id].asUInt());
+  if (!app_impl) {
+    LOG4CXX_ERROR(logger_, "Application does not exist");
+    return;
+  }
+  app_impl->set_hmi_level(mobile_apis::HMILevel::HMI_NONE);
+  app_impl->set_audio_streaming_state(mobile_apis::AudioStreamingState::NOT_AUDIBLE);
+  MessageHelper::SendHMIStatusNotification(*app_impl);
 }
 
 }  // namespace commands