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_SPEAK_PREPARE "WDS_IME_BODY_PREPARING_ING_ABB"
36 #define SK_RECOGNITION_FAILED "WDS_VOICE_TPOP_RECOGNITION_FAILED_ABB"
38 #define SK_DOUBLE_TAP_TO_SPEAK "WDS_TTS_TBBODY_DOUBLE_TAP_TO_SPEAK"
39 #define SK_TAP_TO_PAUSE "WDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB"
41 #define TTS_RADIO_BUTTON "IDS_MSGS_BODY_RADIO_BUTTON"
42 #define TTS_NOT_SELECTED "IDS_MSGS_BODY_NOT_SELECTED_T_TTS"
43 #define TTS_SELECTED "IDS_MSG_BODY_SELECTED_TTS"
45 #define TTS_SEND "IDS_AMEMO_BUTTON_SEND"
46 #define TTS_BUTTON "IDS_ACCS_BODY_BUTTON_TTS"
47 #define TTS_DISABLED "IDS_ACCS_BODY_DISABLED_TTS"
49 #define SK_NETWORK_ERROR "WDS_VOICE_MBODY_NETWORK_ERROR_ABB"
50 #define SK_STT_BUSY "IDS_VTR_BODY_RECOGNITION_SERVICE_BUSY"
52 #define POPUP_OK_AGREE "WDS_ST_ACBUTTON_AGREE_ABB"
53 #define POPUP_OK_BTN "IDS_ST_SK_OK"
55 #define TOS_TITLE "IDS_VOICE_BODY_PRIVACY_NOTICE_LEGALPHRASE_WC1"
56 #define TOS_TITLE_CHN "IDS_VOICE_BODY_PRIVACY_NOTICE_WC1_LEGALPHRASE_CHN_WC1"
58 #define TOS_NUANCE_BODY "LDS_TTS_TO_PROVIDE_PS_SAMSUNG_USES_SPEECH_RECOGNITION_SERVICES_PROVIDED_BY_A_THIRD_PARTY_SERVICE_PROVIDER_MSG_LEGALPHRASE"
59 #define TOS_BODY2 "LDS_IME_BODY_GEAR_INPUT_AND_USE_OF_A_SPEECH_RECOGNITION_SERVICE_P1_LEGALPHRASE_WC1"
60 #define TOS_BODY3 "LDS_IME_BODY_GEAR_INPUT_AND_USE_OF_A_SPEECH_RECOGNITION_SERVICE_P2_LEGALPHRASE_WC1"
62 #define TOS_N66_BODY_CHN "IDS_VOICE_BODY_SAMSUNG_S_VOICE_ALLOWS_FOR_VOICE_CONTROL_FOR_CERTAIN_FEATURES_LEGALPHRASE_CHN_WC1"
63 #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"
65 #define SK_SHOWING_DETAIL "WDS_MYMAG_TPOP_SHOWING_DETAILS_ON_YOUR_PHONE_ING"
66 #define SK_GEAR_INPUT "WDS_VOICE_BODY_GEAR_INPUT"
68 #define SK_NETWORK_ERROR_FOR_IOS "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE"
69 #define SK_SAMSUNG_GEAR "WDS_STU_BODY_SAMSUNG_GEAR"
72 #define SCREEN_WIDTH 360
73 #define SCREEN_HEIGHT 480
75 #define VCONFKEY_ISE_STT_LANGUAGE "db/private/ise/stt/language"
76 #define PREFERENCE_ISE_STT_LANGUAGE "ise/stt/language"
78 #define EVAS_CANDIDATE_LAYER 32000
80 int init_voicedata(VoiceData *r_voicedata);
81 int init_voice(Evas_Object *parent, const char *lang, VoiceData *r_voicedata);
82 int is_lang_supported_by_stt(char lang[]);
83 Evas_Object *show_voice_window(Evas_Object *parent, VoiceData *voicedata);
84 void on_stt_pause(VoiceData *voicedata);
85 void on_stt_resume(VoiceData *voicedata);
86 void on_destroy(VoiceData *voicedata);
87 const char* get_lang_label(char lang[]);
88 void _stt_lang_changed_cb(keynode_t *key, void* data);
89 void start_by_press(VoiceData *voicedata);
90 void restart_listening(double in);
91 void voice_get_string(const char *keyValue, VoiceData *voicedata);
92 void create_setting_window(Evas_Object *more_option_layout);
93 void activate_circle_scroller_for_stt_textbox(void* data, Eina_Bool bActivate);
94 void stt_feedback_initialize();
95 void stt_feedback_deinitialize();
96 void show_error_message(VoiceData *voicedata, stt_error_e reason);
97 void powerUnlock(void);
98 Evas_Object *create_text_detiled_view(Evas_Object *parent);
99 bool is_textblock_empty(void *data);
100 void set_textblock_empty(void *data);
101 void show_bottom_button(void* data, bool delayed);
102 void hide_bottom_button(void* data);
105 #endif /* W_INPUT_STT_VOICE_H_ */