X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fw-input-stt-voice.cpp;h=459559345043f5280aa7684400419962a3555747;hb=refs%2Fchanges%2F44%2F128144%2F3;hp=642224bb8b07ab21101112e84d27cd2e40afbb36;hpb=123df640a0d26dc98fe6bfd5c932e6e1d8807d96;p=platform%2Fcore%2Fuifw%2Finputdelegator.git diff --git a/src/w-input-stt-voice.cpp b/src/w-input-stt-voice.cpp index 642224b..4595593 100755 --- a/src/w-input-stt-voice.cpp +++ b/src/w-input-stt-voice.cpp @@ -19,12 +19,13 @@ #include #include #include -#include #include #include +#include #include #include #include +#include #include "Debug.h" #include "w-input-selector.h" @@ -40,7 +41,7 @@ using namespace std; #define GRP_PORTRAIT "mic_control" #define item_append(obj, style, index, cb, udata) \ - elm_genlist_item_append(obj, &(style), (void *)index, NULL, ELM_GENLIST_ITEM_NONE, cb, udata) + elm_genlist_item_append(obj, &(style), (void *)(uintptr_t)index, NULL, ELM_GENLIST_ITEM_NONE, cb, udata) #define VIRTUAL_TEXT_AREA_FONT_STYLE \ "DEFAULT='font=Tizen:style=Regular font_size=32 color=#FFFFFF color_class=AT013 text_class=tizen wrap=mixed align=center' \ @@ -64,10 +65,10 @@ static Elm_Genlist_Item_Class itc_title; static Elm_Genlist_Item_Class itc_1text; static Elm_Genlist_Item_Class itc_2text; - +static Eina_Bool change_guide_text(void *data); static void set_guide_text(VoiceData *vd, const char* text, bool translatable = false); -const char *supported_language[7] = { +const char *supported_language[] = { "auto", "en_US", "es_US", @@ -78,7 +79,7 @@ const char *supported_language[7] = { }; -const char *disp_lang_array[7] = { +const char *disp_lang_array[] = { "", "English (United States)", "Español (América Latina)", @@ -313,7 +314,6 @@ static Eina_Bool _update_textblock_timer_cb(void *data) if(voicedata->state == STT_STATE_VAL_LISTENING){ if(voicedata->guide_text_timer != NULL){ - PRINTFUNC(DLOG_DEBUG, "Skip hide_guide_text"); ecore_timer_del(voicedata->guide_text_timer); voicedata->guide_text_timer = NULL; } @@ -393,21 +393,48 @@ static Eina_Bool _recognition_failure_cb(void *data) void start_by_press(VoiceData *voicedata) { - PRINTFUNC(DLOG_DEBUG, ""); - + LOGD("start_by_press "); edje_object_signal_emit(_EDJ(voicedata->layout_main), "mouse,clicked,1", "background"); - - return; } static void on_mic_button_press_cb(void *data, Evas_Object *obj, void *event_info) { - PRINTFUNC(NO_PRINT, ""); - + LOGD("on_mic_button_press_cb"); VoiceData *voicedata = (VoiceData *)data; - edje_object_signal_emit(_EDJ(voicedata->layout_main), "mouse,clicked,1", "background"); + if (!voicedata) return; - return; + if (voicedata->sttmanager != NULL && + (voicedata->sttmanager->GetCurrent() == STT_STATE_RECORDING + || voicedata->sttmanager->GetCurrent() == STT_STATE_PROCESSING)) { + try { + voicedata->state = STT_STATE_VAL_INIT; + voicedata->sttmanager->Stop(); + } + catch (is::stt::SttException &e) { + } + + if (voicedata->effector) + voicedata->effector->Stop(true); + + if (NULL != voicedata->start_timer) { + ecore_timer_del(voicedata->start_timer); + voicedata->start_timer = NULL; + } + if (NULL != voicedata->guide_text_timer) { + ecore_timer_del(voicedata->guide_text_timer); + voicedata->guide_text_timer = NULL; + } + if (NULL != voicedata->refresh_timer) { + ecore_timer_del(voicedata->refresh_timer); + voicedata->refresh_timer = NULL; + } + } else { + if (NULL != voicedata->guide_text_timer) { + ecore_timer_del(voicedata->guide_text_timer); + voicedata->guide_text_timer = NULL; + } + edje_object_signal_emit(_EDJ(voicedata->layout_main), "mouse,clicked,1", "background"); + } } @@ -525,32 +552,33 @@ static Eina_Bool _idler_cb(void *data) if(true == _app_stt_initialize(voicedata)) { - PRINTFUNC(NO_PRINT, "_app_stt_initialize None Error"); + LOGD("_app_stt_initialize None Error"); voicedata->voicefw_state = 1; voicedata->state = STT_STATE_VAL_INIT; } else { voicedata->voicefw_state = 0; - PRINTFUNC(DLOG_ERROR, "Initialization Fail!
Check STT-daemon is running"); + LOGD("Initialization Fail!
Check STT-daemon is running"); } Evas_Object *canvas = elm_object_part_content_get(voicedata->layout_main, "EFFECT_BG"); - is::ui::WInputSttMicEffect *ieffect = new is::ui::WInputSttMicEffect(); - ieffect->SetSttHandle(voicedata->sttmanager->GetSttHandle()); + if (ieffect) + ieffect->SetSttHandle(voicedata->sttmanager->GetSttHandle()); is::ui::MicEffector *effector = new is::ui::MicEffector(canvas, voicedata->layout_main, *ieffect); voicedata->ieffect = ieffect; voicedata->effector = effector; - ieffect->SetProgressBar(voicedata->progressbar); - ieffect->SetSttHandle(voicedata->sttmanager->GetSttHandle()); + if (ieffect) { + ieffect->SetProgressBar(voicedata->progressbar); + ieffect->SetSttHandle(voicedata->sttmanager->GetSttHandle()); + } voicedata->mo->Update(); elm_access_highlight_set(voicedata->mic_button); - return ECORE_CALLBACK_CANCEL; } @@ -606,23 +634,21 @@ void powerLock(void *data, bool enable) } } +static Eina_Bool change_guide_text(void *data){ + VoiceData *voicedata = (VoiceData *) data; + if (!voicedata) return ECORE_CALLBACK_CANCEL; -static Eina_Bool hide_guide_text(void *data){ - if(data) { - VoiceData *voicedata = (VoiceData *) data; - - voicedata->guide_text_timer = NULL; - + stt_state_e state = voicedata->sttmanager->GetCurrent(); + if (state == STT_STATE_RECORDING || state == STT_STATE_PROCESSING) + elm_object_domain_translatable_part_text_set(voicedata->layout_main, "elm.text", PACKAGE, SK_TAP_TO_PAUSE); - PRINTFUNC(DLOG_ERROR, ""); - elm_object_part_text_set(voicedata->layout_main, "elm.text", ""); - } return ECORE_CALLBACK_CANCEL; } + static void set_guide_text(VoiceData *vd, const char* text, bool translatable) { - //elm_object_signal_emit(vd->layout_main, "idle,state,text,visible", "elm"); + elm_object_signal_emit(vd->layout_main, "idle,state,guide_text,bottom", "elm"); if(translatable) elm_object_domain_translatable_part_text_set(vd->layout_main, "elm.text", PACKAGE, text); @@ -631,7 +657,7 @@ static void set_guide_text(VoiceData *vd, const char* text, bool translatable) if(!strcmp(text, SK_SPEAK_NOW)){ if(vd->guide_text_timer == NULL) - vd->guide_text_timer = ecore_timer_add(2.0, hide_guide_text, vd); + vd->guide_text_timer = ecore_timer_add(2.0, change_guide_text, vd); } } @@ -642,22 +668,6 @@ static void set_guide_text(VoiceData *vd, const char* text, bool translatable) */ void set_animation_state(VoiceData *voicedata) { - PRINTFUNC(DLOG_DEBUG, ""); - - PRINTFUNC(DLOG_ERROR, "voicedata->state == %s", - voicedata->state == STT_STATE_VAL_INIT ? - "STT_STATE_VAL_INIT" : - voicedata->state == STT_STATE_VAL_LISTENING ? - "STT_STATE_VAL_LISTENING" : - voicedata->state == STT_STATE_VAL_PREPARE_LISTENING ? - "STT_STATE_VAL_PREPARE_LISTENING" : - voicedata->state == STT_STATE_VAL_PROCESSING ? - "STT_STATE_VAL_PROCESSING" : - voicedata->state == STT_STATE_VAL_PREPARE_PROCESSING ? - "STT_STATE_VAL_PREPARE_PROCESSING" : - voicedata->state == STT_STATE_VAL_TERMINATING ? - "STT_STATE_VAL_TERMINATING" : "STT_STATE_VAL_NOT_RECOGNISED"); - if (voicedata->state == STT_STATE_VAL_INIT) { #if 0 if (voicedata->sttmanager->GetCurrent() == STT_STATE_READY) { @@ -673,9 +683,8 @@ void set_animation_state(VoiceData *voicedata) if(voicedata->effector) voicedata->effector->Stop(true); - set_guide_text(voicedata, ""); + set_guide_text(voicedata, "Tap mic to speak"); - PRINTFUNC(DLOG_DEBUG, "%d", voicedata->stt_results.size()); powerLock((void*)voicedata, false); } else if (voicedata->state == STT_STATE_VAL_LISTENING) { set_guide_text(voicedata, SK_SPEAK_NOW, true); @@ -691,7 +700,6 @@ void set_animation_state(VoiceData *voicedata) stt_feedback(VIBRATION_STOP); } else { - PRINTFUNC(DLOG_DEBUG, "SK_NETWORK_ERROR"); set_guide_text(voicedata, _(SK_RECOGNITION_FAILED)); //_elm_access_say(voicedata->layout_main, _(SK_RECOGNITION_FAILED)); @@ -705,8 +713,6 @@ void set_animation_state(VoiceData *voicedata) voicedata->effector->Stop(true); voicedata->refresh_timer = ecore_timer_add(2.0, _recognition_failure_cb, voicedata); - - //powerLock((void*)voicedata, false); } } @@ -759,20 +765,15 @@ static Eina_Bool _start_timer_cb(void* data) voicedata->sttmanager->Start(); } catch (is::stt::SttException &e) { - PRINTFUNC(DLOG_ERROR, "%s", e.what()); - if (e.GetEcode() == STT_ERROR_OUT_OF_NETWORK) { - PRINTFUNC(DLOG_DEBUG, "SK_NETWORK_ERROR"); set_guide_text(voicedata, _(SK_NETWORK_ERROR)); voicedata->state = STT_STATE_VAL_INIT; } else if (e.GetEcode() == STT_ERROR_RECORDER_BUSY) { - PRINTFUNC(DLOG_WARN, "STT is used by another application"); - show_popup_toast(_(SK_STT_BUSY), false); + set_guide_text(voicedata, _(SK_STT_BUSY)); voicedata->state = STT_STATE_VAL_INIT; } else { - PRINTFUNC(DLOG_WARN, "Check error code"); - show_popup_toast(_(SK_STT_BUSY), false); + set_guide_text(voicedata, _(SK_STT_BUSY)); voicedata->state = STT_STATE_VAL_INIT; } } @@ -791,6 +792,8 @@ void on_initial_anim_press_cb(void *data, Evas_Object *obj, const char *emission PRINTFUNC(NO_PRINT, ""); VoiceData *vd = (VoiceData *)data; + if (vd == NULL) + return; int tempVal = vd->sttmanager->GetCurrent(); if(tempVal == STT_STATE_CREATED) { @@ -856,6 +859,8 @@ void on_initial_anim_press_cb(void *data, Evas_Object *obj, const char *emission catch (is::stt::SttException &e) { PRINTFUNC(DLOG_ERROR, "%s", e.what()); } + if (vd->effector) + vd->effector->Stop(true); break; @@ -882,11 +887,12 @@ static inline void ea_naviframe_back(void *data, Evas_Object *obj, void *event_i ecore_event_handler_del(g_evt_key_down); g_evt_key_down = NULL; - - //Hide more option - if(g_more_option_layout){ - if(eext_more_option_opened_get(g_more_option_layout) == EINA_TRUE) { - eext_more_option_opened_set(g_more_option_layout, EINA_FALSE); + if (_WEARABLE) { + //Hide more option + if(g_more_option_layout){ + if(eext_more_option_opened_get(g_more_option_layout) == EINA_TRUE) { + eext_more_option_opened_set(g_more_option_layout, EINA_FALSE); + } } } } @@ -902,11 +908,11 @@ char *__get_genlist_item_label(void *data, Evas_Object *obj, const char *part) if(!strcmp(part, "elm.text")) { - if((int)data == 0) { + if((uintptr_t)data == 0) { return strdup(_("IDS_VC_BODY_AUTOMATIC")); } else { char *s = NULL; - s = (char *)disp_lang_array[(int)data]; + s = (char *)disp_lang_array[(uintptr_t)data]; if(s) { char *p = strchr(s, '('); @@ -921,7 +927,7 @@ char *__get_genlist_item_label(void *data, Evas_Object *obj, const char *part) } return strdup(text); } else if (!strcmp(part, "elm.text.1")) { - if ((int)data == 0) { + if ((uintptr_t)data == 0) { char* value = NULL; value = vconf_get_str(VCONFKEY_LANGSET); if (NULL == value) { @@ -941,7 +947,7 @@ char *__get_genlist_item_label(void *data, Evas_Object *obj, const char *part) } else { char *s = NULL; - s = (char *)disp_lang_array[(int)data]; + s = (char *)disp_lang_array[(uintptr_t)data]; if(s) { char *p = strchr(s, '('); @@ -949,6 +955,7 @@ char *__get_genlist_item_label(void *data, Evas_Object *obj, const char *part) strncpy(text, p+1, strlen(s)-(p-s)-2); } else { strncpy(text, s, strlen(s)); + text[strlen(s)] = '\0'; } } else { strncpy(text, "", strlen("")); @@ -961,47 +968,38 @@ char *__get_genlist_item_label(void *data, Evas_Object *obj, const char *part) static Evas_Object *__get_genlist_item_content(void *data, Evas_Object *obj, const char *part) { - int index = (int)data; + int index = (intptr_t)data; Evas_Object * content = NULL; - if (!strcmp(part, "elm.icon")) { + if (!strcmp(part, "elm.icon") || + !strcmp(part, "elm.swallow.end")) { content = elm_radio_add(obj); + elm_object_style_set(content, "list"); elm_radio_state_value_set(content, index); elm_radio_group_add(content, radio_gp); evas_object_size_hint_weight_set(content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_propagate_events_set(content, EINA_TRUE); evas_object_size_hint_align_set(content, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_style_set(content, "list"); } return content; } static int get_language_value() { -#if 1 int lang = 0, ret = 0; ret = preference_get_int(PREFERENCE_ISE_STT_LANGUAGE, &lang); - if(PREFERENCE_ERROR_NONE != ret){ + if (PREFERENCE_ERROR_NONE != ret) { PRINTFUNC(DLOG_ERROR, "preference_get_int error!(%d)", ret); - preference_set_int(PREFERENCE_ISE_STT_LANGUAGE, (int)2); //auto - lang = 2; + preference_set_int(PREFERENCE_ISE_STT_LANGUAGE, STT_VOICE_N66_AUTO); //auto + lang = STT_VOICE_N66_AUTO; } -#else - int lang = 0, ret = 0; - ret = vconf_get_int(VCONFKEY_ISE_STT_LANGUAGE, &lang); - if (ret !=0) { - PRINTFUNC(DLOG_ERROR, "Vconf_get_int error!(%d)", ret); - } -#endif - if(g_is_n66) { - if(lang < 0 || lang > 6) { - PRINTFUNC(DLOG_WARN, "vconf lang orig(%d) to be 0", lang); - lang = 0; - } - PRINTFUNC(DLOG_DEBUG, "n66 current language value for stt (%s).", disp_lang_array[lang]); + if (lang < 0 || lang > (int)(sizeof(supported_language)/sizeof(supported_language[0])-1)) { + PRINTFUNC(DLOG_WARN, "vconf lang orig(%d) to be 0", lang); + lang = 0; } + PRINTFUNC(DLOG_DEBUG, "n66 current language value for stt (%s).", disp_lang_array[lang]); return lang; } @@ -1011,19 +1009,11 @@ static void set_language_value(int type) // Add implementation to store language type. int ret = 0; -#if 1 ret = preference_set_int(PREFERENCE_ISE_STT_LANGUAGE, (int)type); if(PREFERENCE_ERROR_NONE != ret){ PRINTFUNC(DLOG_ERROR, "preference_set_int error!(%d)", ret); } -#else - ret = vconf_set_int(VCONFKEY_ISE_STT_LANGUAGE, (int) type); - if (ret != 0) { - PRINTFUNC(DLOG_ERROR, "Vconf_set_int error!(%d)", ret); - return; - } -#endif PRINTFUNC(DLOG_DEBUG, "language type (%d)", type); // Update string @@ -1116,7 +1106,7 @@ static void language_set_genlist_radio_cb(void *data, Evas_Object *obj, void *ev Elm_Object_Item * item = (Elm_Object_Item *) event_info; if (item) { elm_genlist_item_selected_set(item, 0); - index = (int)elm_object_item_data_get(item); + index = (uintptr_t)elm_object_item_data_get(item); elm_genlist_item_update(item); } set_language_value(index); @@ -1157,14 +1147,15 @@ static Evas_Object *create_language_list(Evas_Object *parent) elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS); elm_genlist_homogeneous_set(genlist, EINA_TRUE); -// uxt_genlist_set_bottom_margin_enabled(genlist, EINA_TRUE); - +#ifdef _CIRCLE Evas_Object *circle_language_genlist = eext_circle_object_genlist_add(genlist, NULL); eext_circle_object_genlist_scroller_policy_set(circle_language_genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO); evas_object_resize(circle_language_genlist, 360, 360); evas_object_show(circle_language_genlist); eext_rotary_object_event_activated_set(circle_language_genlist, EINA_TRUE); - +#else + evas_object_show(genlist); +#endif int i = 0; int lang_val = 0; Elm_Object_Item * item = NULL; @@ -1181,11 +1172,16 @@ static Evas_Object *create_language_list(Evas_Object *parent) itc_title.item_style = "title"; itc_title.func.text_get = __get_genlist_title_label; itc_title.func.content_get = NULL; - - item = elm_genlist_item_append(genlist, &itc_title, (void *)-1, NULL, ELM_GENLIST_ITEM_GROUP, NULL, genlist); + if (_WEARABLE) { + item = elm_genlist_item_append(genlist, &itc_title, (void *)-1, NULL, ELM_GENLIST_ITEM_GROUP, NULL, genlist); + } // 2 line text - itc_2text.item_style = "2text.1icon.1/sub1.multiline"; + if (_WEARABLE) { + itc_2text.item_style = "2text.1icon.1/sub1.multiline"; + } else { + itc_2text.item_style = "type1"; + } itc_2text.func.text_get = __get_genlist_item_label; itc_2text.func.content_get = __get_genlist_item_content; @@ -1202,40 +1198,52 @@ static Evas_Object *create_language_list(Evas_Object *parent) } // 1 line text - itc_1text.item_style = "1text.1icon.1"; + if (_WEARABLE) { + itc_1text.item_style = "1text.1icon.1"; + } else { + itc_1text.item_style = "type1"; + } itc_1text.func.text_get = __get_genlist_item_label; itc_1text.func.content_get = __get_genlist_item_content; - if(g_is_n66) { - for (i = 1; i < 7; i++) - { - char *s = (char *)disp_lang_array[i]; + for (i = 1; i < (long)(sizeof(disp_lang_array)/sizeof(disp_lang_array[0])); i++) + { + char *s = (char *)disp_lang_array[i]; - if(strchr(s, '(')){ - item = item_append(genlist, itc_2text, i, language_set_genlist_radio_cb, genlist); - } else { - item = item_append(genlist, itc_1text, i, language_set_genlist_radio_cb, genlist); - } + if(strchr(s, '(')){ + item = item_append(genlist, itc_2text, i, language_set_genlist_radio_cb, genlist); + } else { + item = item_append(genlist, itc_1text, i, language_set_genlist_radio_cb, genlist); + } - if(lang_val == i) { - PRINTFUNC(DLOG_DEBUG, "%d item is choiced.", i); - elm_genlist_item_show(item, ELM_GENLIST_ITEM_SCROLLTO_MIDDLE); - } + if(lang_val == i) { + PRINTFUNC(DLOG_DEBUG, "%d item is choiced.", i); + elm_genlist_item_show(item, ELM_GENLIST_ITEM_SCROLLTO_MIDDLE); + } - if ( item == NULL ) { - PRINTFUNC(DLOG_DEBUG, "elm_genlist_item_append was failed"); - break; - } + if ( item == NULL ) { + PRINTFUNC(DLOG_DEBUG, "elm_genlist_item_append was failed"); + break; } } + Elm_Object_Item *dummy; + Elm_Genlist_Item_Class *itc_dummy = elm_genlist_item_class_new(); + if (itc_dummy) { + itc_dummy->item_style = "title"; + itc_dummy->func.text_get = NULL; + itc_dummy->func.content_get = NULL; + } + dummy = elm_genlist_item_append(genlist, itc_dummy, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); + elm_genlist_item_select_mode_set(dummy, ELM_OBJECT_SELECT_MODE_NONE); + LOGD("before elm_radio_value_set > lang_val = %d", lang_val); + radio_gp = elm_radio_add(genlist); + elm_radio_state_value_set(radio_gp, lang_val); elm_radio_value_set(radio_gp, lang_val); elm_object_signal_callback_add(genlist, "elm,system,language,change", "elm", language_changed_cb, NULL); -// eext_rotary_event_callback_set(genlist, _language_list_rotary_cb, NULL); evas_object_smart_callback_add(genlist, "realized", _language_list_item_realized, NULL); - g_evt_key_down = ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, _ise_keydown_cb, NULL); return genlist; } @@ -1381,8 +1389,10 @@ static void __stt_detailed_entry_del_cb(void *data, Evas *e, Evas_Object *obj, v static Evas_Object *create_text_detiled_view(Evas_Object *parent) { string edj_path = get_resource_path(); - edj_path = edj_path + STT_EDJ_FILE; - + if(_WEARABLE) + edj_path = edj_path + STT_EDJ_FILE_WEARABLE; + else + edj_path = edj_path + STT_EDJ_FILE_MOBILE; //layout Evas_Object *layout = elm_layout_add(parent); elm_layout_file_set(layout, edj_path.c_str(), "entry_focused_layout"); @@ -1506,11 +1516,12 @@ void activate_circle_scroller_for_stt_textbox(void* data, Eina_Bool bActivate) VoiceData *voicedata = (VoiceData *)data; Evas_Object *scroller = NULL; - Evas_Object *circle_scroller = NULL; - scroller = elm_layout_content_get((Evas_Object *)voicedata->layout_main, "text_area"); - circle_scroller = (Evas_Object *) evas_object_data_get(scroller, "circle"); - eext_rotary_object_event_activated_set(circle_scroller, bActivate); + if (_WEARABLE) { + Evas_Object *circle_scroller = NULL; + circle_scroller = (Evas_Object *) evas_object_data_get(scroller, "circle"); + eext_rotary_object_event_activated_set(circle_scroller, bActivate); + } } static Evas_Object *create_textblock(void* data) @@ -1526,7 +1537,10 @@ static Evas_Object *create_textblock(void* data) Evas_Object *circle_scroller = NULL; string edj_path = get_resource_path(); - edj_path = edj_path + STT_EDJ_FILE; + if(_WEARABLE) + edj_path = edj_path + STT_EDJ_FILE_WEARABLE; + else + edj_path = edj_path + STT_EDJ_FILE_MOBILE; scroller = elm_scroller_add(voicedata->layout_main); @@ -1539,13 +1553,11 @@ static Evas_Object *create_textblock(void* data) elm_scroller_page_scroll_limit_set(scroller, 0, 1); elm_object_scroll_lock_x_set(scroller, EINA_TRUE); - -// uxt_scroller_set_auto_scroll_enabled(scroller, EINA_FALSE); - - circle_scroller = eext_circle_object_scroller_add(scroller, app_data->circle_surface); - eext_circle_object_scroller_policy_set(circle_scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO); - eext_rotary_object_event_activated_set(circle_scroller, EINA_TRUE); - + if (_WEARABLE) { + circle_scroller = eext_circle_object_scroller_add(scroller, app_data->circle_surface); + eext_circle_object_scroller_policy_set(circle_scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO); + eext_rotary_object_event_activated_set(circle_scroller, EINA_TRUE); + } box = elm_box_add(scroller); inner_layout = elm_layout_add(scroller); @@ -1632,7 +1644,10 @@ static Evas_Object *create_fullview(Evas_Object *parent, VoiceData *r_voicedata) voicedata->layout_main = layout_main; string edj_path = get_resource_path(); - edj_path = edj_path + STT_EDJ_FILE; + if(_WEARABLE) + edj_path = edj_path + STT_EDJ_FILE_WEARABLE; + else + edj_path = edj_path + STT_EDJ_FILE_MOBILE; if (vconf_get_bool(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, &is_screen_reader_on) == -1) { PRINTFUNC(DLOG_ERROR, "Cannot read value of screen reader from vconf"); @@ -1864,9 +1879,11 @@ void on_stt_pause(VoiceData *r_voicedata){ //Hide more option and language settings by interrupt scenario. close_setting_window_idler_cb(NULL); Evas_Object *mo_layout = voicedata->mo->getMoreOptionLayout(); - if(mo_layout){ - if(eext_more_option_opened_get(mo_layout) == EINA_TRUE) { - eext_more_option_opened_set(mo_layout, EINA_FALSE); + if (_WEARABLE) { + if(mo_layout){ + if(eext_more_option_opened_get(mo_layout) == EINA_TRUE) { + eext_more_option_opened_set(mo_layout, EINA_FALSE); + } } } }