685f2521af929c0c340fc742b253dbb7c9da237a
[platform/core/uifw/inputdelegator.git] / inc / w-input-stt-voice.h
1 /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
3  *
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
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  */
16
17
18 #ifndef W_INPUT_STT_VOICE_H_
19 #define W_INPUT_STT_VOICE_H_
20
21 #include <Elementary.h>
22 #include <glib.h>
23 #include <glib-object.h>
24 #include <dlog.h>
25 #include <libintl.h>
26 #include <locale.h>
27 #include <vconf.h>
28 #include <vconf-keys.h>
29
30 #include "MoreOption.h"
31 #include "w-input-stt-engine.h"
32
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"
36
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"
39
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"
43
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"
47
48 #define SK_NETWORK_ERROR                                "WDS_VOICE_MBODY_NETWORK_ERROR_ABB"
49 #define SK_STT_BUSY                                             "IDS_VTR_BODY_RECOGNITION_SERVICE_BUSY"
50
51 #define POPUP_OK_AGREE                          "WDS_ST_ACBUTTON_AGREE_ABB"
52 #define POPUP_OK_BTN                            "IDS_ST_SK_OK"
53
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"
56
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"
60
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"
63
64 #define SK_SHOWING_DETAIL                                       "WDS_MYMAG_TPOP_SHOWING_DETAILS_ON_YOUR_PHONE_ING"
65 #define SK_GEAR_INPUT                                   "WDS_VOICE_BODY_GEAR_INPUT"
66
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"
69
70
71 #define SCREEN_WIDTH                    360
72 #define SCREEN_HEIGHT                   480
73
74 #define VCONFKEY_ISE_STT_LANGUAGE       "db/private/ise/stt/language"
75 #define PREFERENCE_ISE_STT_LANGUAGE     "ise/stt/language"
76
77 #define EVAS_CANDIDATE_LAYER 32000
78
79 int init_voicedata(VoiceData *r_voicedata);
80 int init_voice(Evas_Object *parent, const char *lang, VoiceData *r_voicedata);
81 int is_lang_supported_by_stt(char lang[]);
82 Evas_Object *show_voice_window(Evas_Object *parent, VoiceData *voicedata);
83 void on_stt_pause(VoiceData *voicedata);
84 void on_destroy(VoiceData *voicedata);
85 const char* get_lang_label(char lang[]);
86 void _stt_lang_changed_cb(keynode_t *key, void* data);
87 void start_by_press(VoiceData *voicedata);
88 void voice_get_string(const char *keyValue, VoiceData *voicedata);
89 void create_setting_window(Evas_Object *more_option_layout);
90 void activate_circle_scroller_for_stt_textbox(void* data, Eina_Bool bActivate);
91 void stt_feedback_initialize();
92 void stt_feedback_deinitialize();
93 void show_error_message(VoiceData *voicedata, stt_error_e reason);
94 void powerUnlock(void);
95
96
97 #endif /* W_INPUT_STT_VOICE_H_ */