Handle default assistant change event in UTTERANCE state 26/267826/1
authorJi-hoon Lee <dalton.lee@samsung.com>
Fri, 10 Dec 2021 06:49:57 +0000 (15:49 +0900)
committerJi-hoon Lee <dalton.lee@samsung.com>
Fri, 10 Dec 2021 06:49:59 +0000 (15:49 +0900)
Previously, if default assistant gets changed in
UTTERANCE state, the state doesn't get reset.
Modified to generate recognition result ERROR
event in this case.

Change-Id: Ie9a58cdf8220d5f4d92ac19e79394b7e5145470c

plugins/wakeup-manager/src/wakeup_manager.cpp

index 31eb2b9..00035cd 100644 (file)
@@ -312,6 +312,13 @@ bool CWakeupManager::set_default_assistant(string appid)
 {
        MWR_LOGE("[ENTER] %s", appid.c_str());
 
+       if (mWakeupManagerState == WAKEUP_MANAGER_STATE_UTTERANCE ||
+               mWakeupManagerState == WAKEUP_MANAGER_STATE_PROCESSING) {
+               if (mCurrentDefaultAssistant.compare(appid) != 0) {
+                       update_recognition_result(mCurrentDefaultAssistant, MA_RECOGNITION_RESULT_EVENT_ERROR);
+               }
+       }
+
        /* Check if previous default assistant has to be deactivated */
        bool activated = true;
        if (false == mAssistantSupportsCurrentLanguage[mCurrentDefaultAssistant]) {