2 * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 #ifndef W_INPUT_STT_VOICE_H_
19 #define W_INPUT_STT_VOICE_H_
21 #include <Elementary.h>
23 #include <glib-object.h>
28 #include <vconf-keys.h>
30 #include "MoreOption.h"
31 #include "w-input-stt-engine.h"
33 #define SK_INIT "IDS_VOICE_BODY_TAP_MIC"
34 #define SK_SPEAK_NOW "WDS_VOICE_NPBODY_SPEAK_NOW_ABB"
35 #define SK_RECOGNITION_FAILED "WDS_VOICE_TPOP_RECOGNITION_FAILED_ABB"
37 #define SK_DOUBLE_TAP_TO_SPEAK "WDS_TTS_TBBODY_DOUBLE_TAP_TO_SPEAK"
38 #define SK_TAP_TO_PAUSE "WDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB"
40 #define TTS_RADIO_BUTTON "IDS_MSGS_BODY_RADIO_BUTTON"
41 #define TTS_NOT_SELECTED "IDS_MSGS_BODY_NOT_SELECTED_T_TTS"
42 #define TTS_SELECTED "IDS_MSG_BODY_SELECTED_TTS"
44 #define TTS_SEND "IDS_AMEMO_BUTTON_SEND"
45 #define TTS_BUTTON "IDS_ACCS_BODY_BUTTON_TTS"
46 #define TTS_DISABLED "IDS_ACCS_BODY_DISABLED_TTS"
48 #define SK_NETWORK_ERROR "WDS_VOICE_MBODY_NETWORK_ERROR_ABB"
49 #define SK_STT_BUSY "IDS_VTR_BODY_RECOGNITION_SERVICE_BUSY"
51 #define POPUP_OK_AGREE "WDS_ST_ACBUTTON_AGREE_ABB"
52 #define POPUP_OK_BTN "IDS_ST_SK_OK"
54 #define TOS_TITLE "IDS_VOICE_BODY_PRIVACY_NOTICE_LEGALPHRASE_WC1"
55 #define TOS_TITLE_CHN "IDS_VOICE_BODY_PRIVACY_NOTICE_WC1_LEGALPHRASE_CHN_WC1"
57 #define TOS_NUANCE_BODY "LDS_TTS_TO_PROVIDE_PS_SAMSUNG_USES_SPEECH_RECOGNITION_SERVICES_PROVIDED_BY_A_THIRD_PARTY_SERVICE_PROVIDER_MSG_LEGALPHRASE"
58 #define TOS_BODY2 "LDS_IME_BODY_GEAR_INPUT_AND_USE_OF_A_SPEECH_RECOGNITION_SERVICE_P1_LEGALPHRASE_WC1"
59 #define TOS_BODY3 "LDS_IME_BODY_GEAR_INPUT_AND_USE_OF_A_SPEECH_RECOGNITION_SERVICE_P2_LEGALPHRASE_WC1"
61 #define TOS_N66_BODY_CHN "IDS_VOICE_BODY_SAMSUNG_S_VOICE_ALLOWS_FOR_VOICE_CONTROL_FOR_CERTAIN_FEATURES_LEGALPHRASE_CHN_WC1"
62 #define TOS_N66_BODY "IDS_VOICE_BODY_SAMSUNG_S_VOICE_ALLOWS_FOR_VOICE_CONTROL_FOR_CERTAIN_FEATURES_SUCH_AS_S_VOICE_GEAR_INPUT_VOICE_MEMO_AND_FIND_MY_CAR_MSG_LEGALPHRASE_WC1"
64 #define SK_SHOWING_DETAIL "WDS_MYMAG_TPOP_SHOWING_DETAILS_ON_YOUR_PHONE_ING"
65 #define SK_GEAR_INPUT "WDS_VOICE_BODY_GEAR_INPUT"
67 #define SK_NETWORK_ERROR_FOR_IOS "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE"
68 #define SK_SAMSUNG_GEAR "WDS_STU_BODY_SAMSUNG_GEAR"
71 #define SCREEN_WIDTH 360
72 #define SCREEN_HEIGHT 480
74 #define VCONFKEY_ISE_STT_LANGUAGE "db/private/ise/stt/language"
75 #define PREFERENCE_ISE_STT_LANGUAGE "ise/stt/language"
77 #define EVAS_CANDIDATE_LAYER 32000
79 int init_voice(Evas_Object *parent, const char *lang, VoiceData *r_voicedata);
80 int is_lang_supported_by_stt(char lang[]);
81 Evas_Object *show_voice_window(Evas_Object *parent, VoiceData *voicedata);
82 void on_stt_pause(VoiceData *voicedata);
83 void on_destroy(VoiceData *voicedata);
84 const char* get_lang_label(char lang[]);
85 void _stt_lang_changed_cb(keynode_t *key, void* data);
86 void start_by_press(VoiceData *voicedata);
87 void voice_get_string(const char *keyValue, VoiceData *voicedata);
88 void create_setting_window(Evas_Object *more_option_layout);
89 void activate_circle_scroller_for_stt_textbox(void* data, Eina_Bool bActivate);
90 void stt_feedback_initialize();
91 void stt_feedback_deinitialize();
92 void show_error_message(VoiceData *voicedata, stt_error_e reason);
93 void powerUnlock(void);
96 #endif /* W_INPUT_STT_VOICE_H_ */