Fix issue that Black screen displayed when exiting Voice input screen
[platform/core/uifw/inputdelegator.git] / src / w-input-stt-voice.cpp
index 77b8bb1..d39c87c 100755 (executable)
@@ -1631,6 +1631,13 @@ static Evas_Object *create_progressbar(Evas_Object *parent)
        return progressbar;
 }
 
+static Eina_Bool _custom_back_cb(void *data, Elm_Object_Item *it)
+{
+       PRINTFUNC(DLOG_DEBUG, "");
+       _back_to_genlist_for_selector();
+       return EINA_TRUE;
+}
+
 static Evas_Object *create_fullview(Evas_Object *parent, VoiceData *r_voicedata)
 {
        PRINTFUNC(NO_PRINT, "");
@@ -1694,7 +1701,6 @@ static Evas_Object *create_fullview(Evas_Object *parent, VoiceData *r_voicedata)
 
        elm_object_part_content_set(layout_main, "EFFECT_BG", canvas);
 
-
        // MIC Button
        Evas_Object *m_mic_button = elm_button_add(layout_main);
        elm_object_style_set(m_mic_button, "vic/micbutton");
@@ -1795,10 +1801,9 @@ int init_voicedata(VoiceData *r_voicedata)
        voicedata->btn_disabling_timer = NULL;
        voicedata->power_unlock_timer = NULL;
 
-       voicedata->stt_results.clear();
        voicedata->partial_result = NULL;
        voicedata->result_type = 0;
-       voicedata->disclaimer = 0;
+       voicedata->disclaimer = 1;
        voicedata->mo = NULL;
        voicedata->sttfeedback = NULL;
        voicedata->sttmanager = NULL;
@@ -1866,6 +1871,12 @@ static Eina_Bool init_view(void *data)
        if(voicedata == NULL)
                return ECORE_CALLBACK_CANCEL;
 
+       const char *item_style = NULL;
+       if (_WEARABLE)
+               item_style = "empty";
+       Elm_Object_Item *nf_voice_item = elm_naviframe_item_push(voicedata->naviframe, NULL, NULL, NULL, NULL, item_style);
+       elm_naviframe_item_pop_cb_set(nf_voice_item, _custom_back_cb, NULL);
+
        voicedata->layout_main = create_fullview(voicedata->naviframe, voicedata);
 
        if (voicedata->layout_main) {