tizen 2.3 release
[apps/home/settings.git] / setting-profile / include / setting-profile.h
1 /*
2  * setting
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd.
5  *
6  * Contact: MyoungJune Park <mj2004.park@samsung.com>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20  */
21 #ifndef __SETTING_PROFILE_H__
22 #define __SETTING_PROFILE_H__
23
24 #include <stdio.h>
25 #include <math.h>
26
27 #include <Elementary.h>
28 //#include <eina_list.h>
29 #include <glib-object.h>
30
31 #include <player.h>
32 #include <sound_manager.h>
33 #include <dd-haptic.h>
34 #include <setting-common-general-func.h>
35 #include <setting-common-draw-widget.h>
36 #include <setting-common-view.h>
37 #include <pthread.h>
38 #include <cairo.h>
39 //#include <pango/pango.h>
40 #include <efl_assist.h>
41 #include <feedback.h>
42
43 #define PLAY_FEEDBACK(f_type, f_pattern)\
44 {\
45         if(feedback_initialize() == FEEDBACK_ERROR_NONE)\
46         {\
47                 feedback_play_type(f_type, f_pattern);\
48                 feedback_deinitialize();\
49         }\
50 }
51
52
53 #define VOLUME_APP_NAME "org.tizen.setting.volume"
54 #define MAX_SAFETY_VOLUME_LEVEL 10
55 #define SETTING_PROFILE_SOUND_ALERTS_PATH   "/opt/usr/share/settings/Alerts"
56 #define SETTING_PROFILE_SOUND_RINGTONES_PATH    "/opt/usr/share/settings/Ringtones"
57 #define SETTING_PROFILE_MMC_PATH        "/opt/storage/sdcard"
58 #define SUPPORT_PLAYER_ASYNC 1
59
60
61 //Call ringtone:3 icon status
62 #define ICON_CALL_VIB           SETTING_ICON_PATH_CFG"B04_slider_icon_vibrate.png"
63 #define ICON_CALL_NORMAL        SETTING_ICON_PATH_CFG"B04_slider_icon_ring.png"
64 #define ICON_CALL_MUTE          SETTING_ICON_PATH_CFG"B04_volume_icon_mute.png"
65
66 //Notification: 2 icon status
67 #define ICON_NOTI_MUTE          SETTING_ICON_PATH_CFG"B04_slider_icon_notification_mute.png"
68 #define ICON_NOTI_NORMAL        SETTING_ICON_PATH_CFG"B04_slider_icon_notification.png"
69
70 //Media: 2 icon status
71 #define ICON_MEDIA_MUTE         SETTING_ICON_PATH_CFG"sound_slider_icon_volume_mute.png"
72 #define ICON_MEDIA_NORMAL       SETTING_ICON_PATH_CFG"sound_slider_icon_volume.png"
73
74 //System:2 icon status
75 #define ICON_SYSTEM_MUTE        SETTING_ICON_PATH_CFG"B04_slider_icon_system_mute.png"
76 #define ICON_SYSTEM_NORMAL      SETTING_ICON_PATH_CFG"B04_slider_icon_system.png"
77
78
79 #define SUPPORT_HAPTIC_MENU     0
80 #define SUPPORT_PLAYER_ASYNC 1
81
82
83 #define HAPTIC_TEST_ITERATION 1
84 #define VOLUME_DEN (15.0)       /* ie equals float(SETTING_SOUND_VOL_MAX) */
85
86 #define SETTING_SOUND_TEXT_REPEAT_ONCE                  "IDS_ST_BODY_ONCE"
87 #define SETTING_SOUND_TEXT_REPEAT_2MIN                  "IDS_ST_BODY_EVERY_2MIN"
88 #define SETTING_SOUND_TEXT_REPEAT_5MIN                  "IDS_ST_BODY_EVERY_5MIN"
89 #define SETTING_SOUND_TEXT_REPEAT_10MIN                 "IDS_ST_BODY_EVERY_10MINUTES"
90
91 #define SETTING_SOUND_VIBRATION_TAB_CREATE              "IDS_ST_BUTTON_TAP_TO_CREATE"
92 #define SETTING_SOUND_VIBRATION_IVT_DEFAULT             "IDS_ST_BODY_MYTHEME_DEFAULT"
93
94 #define VOLUME_STR                      "IDS_ST_BODY_VOLUME"
95 #define RINGTONE_STR            "IDS_COM_BODY_RINGTONES"
96
97 #define SOUND_DESC "IDS_ST_BODY_ADJUST_VOLUME_AND_INTENSITY_FOR_SOUNDS_WHEN_MSG"
98
99 /* Important !! : After below key is added completely to vconf-internal-keys package, should remove. */
100 #ifndef VCONFKEY_SETAPPL_HAPTIC_FEEDBACK_STATUS_BOOL
101 #define VCONFKEY_SETAPPL_HAPTIC_FEEDBACK_STATUS_BOOL "db/setting/sound/haptic_feedback_on"
102 #endif
103
104
105 #define SETTING_SOUND_REPEAT_TYPE_LEN 4
106
107 typedef enum {
108         SETTING_PROF_VIEW_VOL = 0,
109         SETTING_PROF_VIEW_RTN,
110         SETTING_PROF_VIEW_MAX
111 } setting_profile_types;
112
113 typedef enum {
114         SETTING_VOL_TYPE_RINGTONE = 0,
115         SETTING_VOL_TYPE_NOTIFICATION,
116         SETTING_VOL_TYPE_MEDIA,
117         SETTING_VOL_TYPE_SYSTEM,
118         SETTING_VOL_TYPE_NOTI_VIB,
119         SETTING_VOL_TYPE_HAPTIC_VIB,
120         SETTING_VOL_TYPE_MAX
121 } setting_volume_types;
122
123 typedef enum {
124         SND_SLIDER_CALL = 0,
125         SND_SLIDER_NOTI,
126         SND_SLIDER_MEDIA,
127         SND_SLIDER_SYSTEM,
128         SND_SLIDER_CALL_VIB,
129         SND_SLIDER_NOTI_VIB,
130         SND_SLIDER_SYSTEM_VIB,
131         SND_SLIDER_MAX,
132 } SoundType;
133
134
135 typedef enum {
136         SETTING_VOL_SOUND_GROUP = 0,
137         SETTING_VOL_VIBRATION_GROUP,
138         SETTING_VOL_GROUP_MAX
139 } setting_volume_groups;
140
141 typedef enum {
142         SETTING_PROF_CALLER_SETTING = 0,
143         SETTING_PROF_CALLER_PHONE,
144         SETTING_PROF_CALLER_MAX
145 } setting_profile_callers;
146
147 #define SETTING_VIB_VOL_MAX 5
148 #define SETTING_VIB_VOL_MIN 1
149 #define SETTING_SOUND_VOL_MAX 15
150 #define SETTING_SOUND_VOL_MIN 1
151 #define SETTING_SYSTEM_VOL_MAX 15
152 #define SETTING_SYSTEM_VOL_MIN 0
153 #define SETTING_SOUND_CONTROLBAR_ITEM_LEN 10
154
155 #define SETTING_DEFAULT_RINGTONE_VOL_INT        11
156 #define SETTING_DEFAULT_NOTI_VOL_INT            11
157 #define SETTING_DEFAULT_MEDIA_VOL_INT           9
158 #define SETTING_DEFAULT_SYSTEM_VOL_INT          9
159 #define SETTING_DEFAULT_CALL_VIB_INT            5
160 #define SETTING_DEFAULT_NOTI_VIB_INT            5
161 #define SETTING_DEFAULT_HAPTIC_VIB_INT          3
162 #define SETTING_DEFAULT_ALERT_REPEAT_TYPE_INT   0
163 #define SETTING_SOUND_VIB_TYPE_LEN 5
164
165 #define SETTING_DEFAULT_RINGTONE_PATH   "/opt/usr/share/settings/Ringtones"
166 #define SETTING_DEFAULT_ALERT_PATH              "/opt/usr/share/settings/Alerts"
167 #define SETTING_DEFAULT_PREVIEW_PATH    "/opt/usr/share/settings/Previews"
168 #define SETTING_PROFILE_MMC_PATH                "/opt/storage/sdcard"
169 #define SETTING_DEFAULT_VIB_PATH                "/opt/usr/share/settings/Vibrations/haptic/default/"
170 #define SETTING_CUSTOM_VIB_PATH         "/opt/usr/share/feedback/haptic/custom/"
171 #define SETTING_VIB_EXT_NAME_STR        ".ivt"
172 #define SETTING_VIB_EXT_SIZE_INT        4
173 #define SETTING_VIB_TYPE_CUSTOM         1
174 #define SETTING_VIB_TYPE_DEFAULT        0
175
176 #define SETTING_DEFAULT_LED_PLAYING_PATH  "/usr/share/feedback/led/default/"
177 #define SETTING_CUSTOM_LED_PLAYING_PATH   "/opt/usr/share/feedback/led/custom/"
178 #define SETTING_LED_EXT_NAME_STR          ".led"
179 #define SETTING_LED_PLAY_PATH_MAX       512
180
181 #define SETTING_VIB_FEEDBACK_RATE       20
182
183 #define DELIM           "/"
184
185 #define SETTING_DEFAULT_MSG_TONE                SETTING_DEFAULT_ALERT_PATH""DELIM"Whistle.ogg"
186 #define SETTING_DEFAULT_EMAIL_TONE              SETTING_DEFAULT_MSG_TONE
187 #define SETTING_DEFAULT_MEDIA_TONE              SETTING_DEFAULT_PREVIEW_PATH""DELIM"Media_preview_Over_the_horizon.ogg"
188 #define SETTING_DEFAULT_SYSTEM_TONE             SETTING_DEFAULT_PREVIEW_PATH""DELIM"touch.wav"
189 #define SETTING_DEFAULT_CALL_PREVIEW_VIB                "/opt/usr/share/settings/Vibrations/haptic/default/Tictoc.ivt"
190 #define SETTING_DEFAULT_NOTI_PREVIEW_VIB                "/opt/usr/share/settings/Vibrations/message.ivt"
191 #define SETTING_DEFAULT_HAPTIC_PREVIEW_VIB              "/opt/usr/share/settings/Vibrations/touch.ivt"
192 #define SETTING_DEFAULT_COMPACT_CALL_VIB               SETTING_DEFAULT_VIB_PATH"Default.ivt"
193
194 #define IMG_CTRL_ICON_RINGTONE          SETTING_ICON_PATH_CFG"A01-1_controlbar_icon_ringtones.png"
195 #define IMG_CTRL_ICON_VOLUME            SETTING_ICON_PATH_CFG"A01-1_controlbar_icon_volume.png"
196
197 #define IMG_VIB_PLAY            SETTING_ICON_PATH_CFG"personal_vibration/A01-1_Vibration_icon_play.png"
198 #define IMG_VIB_STOP            SETTING_ICON_PATH_CFG"personal_vibration/A01-1_Vibration_icon_stop.png"
199
200 #define IMG_CALL_VIB_PLAY_WHITE         SETTING_ICON_PATH_CFG"myfile_icon_control_play.png"
201 #define IMG_CALL_VIB_PAUSE_WHITE        SETTING_ICON_PATH_CFG"myfile_icon_control_pause.png"
202 #define IMG_CALL_VIB_PLAY_WHITE_PRESS   SETTING_ICON_PATH_CFG"myfile_icon_control_play_press.png"
203 #define IMG_CALL_VIB_PAUSE_WHITE_PRESS  SETTING_ICON_PATH_CFG"myfile_icon_control_pause_press.png"
204
205 #define IMG_CALL_VIB_MENU_CREATE        SETTING_ICON_PATH_CFG"A01-1_icon_vibration_menu_create.png"
206 #define IMG_CALL_VIB_MENU_DELETE        SETTING_ICON_PATH_CFG"A01-1_icon_vibration_menu_delete.png"
207
208 #define PERSONAL_VIBRATION_IVT_BUFFER_SIZE 14096
209
210 #define PERSONAL_VIBRATION_IVT_PORTRAIT_PERCENT (1.0)
211 #define PERSONAL_VIBRATION_IVT_LANDSCAPE_PERCENT (0.7)
212
213 #define PERSONAL_VIBRATION_SECONDS 12
214 #define PERSONAL_VIBRATION_TIMER_INTERVAL (0.04)
215 #define PERSONAL_VIBRATION_TIMER_RATE (1 / PERSONAL_VIBRATION_TIMER_INTERVAL)
216 #define PERSONAL_VIBRATION_MAX_TIMES (PERSONAL_VIBRATION_SECONDS * PERSONAL_VIBRATION_TIMER_RATE)
217
218 #define PERSONAL_VIBRATION_POPUP_WIDTH          ((int)650 * WIDGET_SCALE_FACTOR)
219 #define PERSONAL_VIBRATION_POPUP_HEIGHT         ((int)150 * WIDGET_SCALE_FACTOR)
220
221 #define SETTING_PROFILE_CONTACT_CALLER_STR              "org.tizen.contacts"
222 #define SETTING_PROFILE_CALL_SETTING_CALLER_STR "setting-call-efl"
223
224 #define EXP 0.001
225
226
227 typedef struct _Pie_Object Pie_Object;
228
229 typedef struct _Pie_Slice Pie_Slice;
230
231 typedef enum _Pie_Flag {
232         Pie_Flag_No_Type = 0,
233         Pie_Flag_Record_Start = 1,
234         Pie_Flag_Record_End,
235         Pie_Flag_Play_Start,
236         Pie_Flag_Play_End,
237         Pie_Flag_Max
238 } Pie_Flag;
239
240 struct _Pie_Object
241 {
242         Evas_Object     *clip;
243
244         Evas_Coord      x, y, w, h;
245         double          bgcolor_red;
246         double          bgcolor_green;
247         double          bgcolor_blue;
248
249         Pie_Slice       *pie_slice;
250
251         Evas_Object     *pie_image_object; // for cairo...
252         cairo_surface_t *cairo_surface;
253         cairo_surface_t *circle_center_surface;
254         cairo_t         *cr;
255
256         double          scale;
257         Evas_Object     *btn_img;
258         Evas_Object     *btn_ef_img;
259         Evas_Object     *rec_img;
260         Evas_Object     *play_img;
261         Evas_Object     *play_press_img;
262         Evas_Object     *stop_img;
263
264         Eina_List *time_slices;
265         Pie_Flag flag;
266         int             cairo_w;
267         int             cairo_h;
268
269         bool            bcycleflag;
270         bool            cairo_move_flag;
271 };
272
273 struct _Pie_Slice
274 {
275         char            *color;
276         double          size;
277 };
278
279 typedef struct _Ctxpopup_Data
280 {
281         Evas_Object *ctx;
282         Evas_Object *btn;
283 } Ctxpopup_Data;
284
285 typedef struct _VibInfoItem
286 {
287         char *name;
288         int belongs_to;
289 } VibInfoItem;
290
291 typedef struct _SliderIcons
292 {
293         int index;
294         char mute[256];
295         char volume[256];
296 } SliderIcons;
297
298
299 typedef struct _SettingProfileUG SettingProfileUG;
300
301 /**
302  * Setting Profile UG context
303  * all UG function has void* as an agument. this is casted back to SettingProfileUG
304  * and the functions access app context.
305  */
306 struct _SettingProfileUG {
307         ui_gadget_h ug;
308         ui_gadget_h ug_loading;
309
310    Ea_Theme_Color_Table *color_table;
311    char *viewtype;
312
313         /* add more variables here (move your appdata to here) */
314         Evas *evas;
315         Evas_Object *win_main_layout;
316         Evas_Object *win_get;
317         Evas_Object *navi_bar;
318         Evas_Object *ctrl_bar;
319         Evas_Object *view_layout;
320         Evas_Object *ly_main;
321         Evas_Object *gl_lite_main;
322         Evas_Object *sub_view[SETTING_PROF_VIEW_MAX];
323         Elm_Object_Item *ctrl_item[SETTING_SOUND_CONTROLBAR_ITEM_LEN];
324         Evas_Object *volume_popup;
325         Evas_Object *sound_mode_popup;
326         Evas_Object *sound_mode_rdg;
327
328         Elm_Genlist_Item_Class itc_1text_1icon;
329         Elm_Genlist_Item_Class itc_group_item;
330         Elm_Genlist_Item_Class itc_2text_2;
331         Elm_Genlist_Item_Class itc_layout;
332         Elm_Genlist_Item_Class itc_layout_1icon;
333         Elm_Genlist_Item_Class itc_bg_1icon;
334         Elm_Genlist_Item_Class itc_name_editfield;
335         Elm_Genlist_Item_Class itc_2text_3_parent;
336         Elm_Genlist_Item_Class itc_1icon_1text_sub;
337
338         /* Volume tab */
339         Setting_GenGroupItem_Data *data_sound;
340         Setting_GenGroupItem_Data *data_vibration;
341         Setting_GenGroupItem_Data *data_sound_mode;
342         Setting_GenGroupItem_Data *data_sound_when_ring;
343         Setting_GenGroupItem_Data *data_vibration_when_notification;
344         Setting_GenGroupItem_Data *data_call_volume;
345         Setting_GenGroupItem_Data *data_noti_volume;
346         Setting_GenGroupItem_Data *data_call_vib_volume;
347         Setting_GenGroupItem_Data *data_vib_volume;
348         Setting_GenGroupItem_Data *data_touch_volume;
349         Setting_GenGroupItem_Data *data_touch_vib;
350         Setting_GenGroupItem_Data *data_media_volume;
351         Setting_GenGroupItem_Data *data_adapt_sound;
352         Setting_GenGroupItem_Data *data_haptic_feedback;
353         setting_profile_types view_type;
354
355         player_h *mp_ringtone;
356         player_h *mp_noti;
357         player_h *mp_sys;
358         player_h *mp_media;
359         player_h *mp_prepare_async;
360
361         Ecore_Timer *volume_timer;
362         setting_volume_types cur_vol_type;
363
364         haptic_device_h hnd_hpt;
365         haptic_effect_h effect_hnd_hpt;
366         bool unset_contents;
367         bool sound_on;
368         bool vibration_on;
369         int playing_volume;
370         char *song_playing;
371         char *ringtone_type;
372         bool is_dock_on;
373         Ecore_Job *sound_slider_job;
374         Ecore_Job *vib_slider_job;
375
376         Ecore_Idler *set_sound_idler;
377         Ecore_Idler *set_vib_idler;
378         Ecore_Idler *handle_sound_on_idler;
379         Ecore_Idler *play_ringtone_idler; /* for performance of incoming call ringtone slider */
380
381         Ecore_Event_Handler *keydown_handler;
382         Ecore_Event_Handler *keyup_handler;
383         bool is_pressing;
384         Ecore_Timer *updown_timer;
385
386         /* Ringtone tab */
387         Setting_GenGroupItem_Data *data_call_alert_tone;
388         Setting_GenGroupItem_Data *data_call_alert_vib;
389         Setting_GenGroupItem_Data *data_msg_alert_tone;
390         Setting_GenGroupItem_Data *data_email_alert_tone;
391         Setting_GenGroupItem_Data *data_msg_alert_repeat;
392         Setting_GenGroupItem_Data *data_email_alert_repeat;
393         Setting_GenGroupItem_Data *data_lock_sound;
394         Setting_GenGroupItem_Data *data_button_sounds;
395         Setting_GenGroupItem_Data *data_touch_sounds;
396         Setting_GenGroupItem_Data *data_name_edit_filed;
397
398         Setting_GenGroupItem_Data *data_sound_text_repeat_once;
399         Setting_GenGroupItem_Data *data_sound_text_repeat_2min;
400         Setting_GenGroupItem_Data *data_sound_text_repeat_5min;
401         Setting_GenGroupItem_Data *data_sound_text_repeat_10min;
402
403         Setting_GenGroupItem_Data *default_item;
404
405         Setting_GenGroupItem_Data *cur_play_item; /* used in incoming call vibration */
406
407         Eina_List *call_vib_list_default;
408         Eina_List *call_vib_list_custom;
409         Eina_List *all_vib_list;
410
411         Elm_Genlist_Item_Class itc_1text_3icon;
412         Elm_Genlist_Item_Class itc_1text_2icon;
413         Evas_Object *vib_radio;
414         Evas_Object *vib_scroller;
415         Evas_Object *vib_controlbar;
416         Evas_Point   vib_point_down;
417         Elm_Object_Item *vib_mouse_down_selected_item;
418         Eina_Bool personal_vib_down_press_flag;
419         Eina_Bool personal_vib_checkbox_down_press_flag;
420
421         Evas_Object *title_delete_button;
422         Evas_Object *more_popup;
423         Ctxpopup_Data ctx_data;
424         Elm_Object_Item *set_btn;
425         Elm_Object_Item *cancel_btn;
426
427         Evas_Object *no_play_popup; /* Unable to pre-listening during a call */
428
429         Eina_Bool personal_vib_cancel_flag;
430
431         Setting_GenGroupItem_Data *data_vib;
432         char *vib_caller;
433         char *vib_caller_selected;
434         app_control_h source_svc;
435         char *vib_caller_title;
436         Ecore_Idler *vib_update_idler;
437         int vib_play_state;
438         int vib_selected;
439         Elm_Object_Item *curitem;
440         Elm_Object_Item *preitem;
441         Ecore_Timer *play_stoper;
442         Ecore_Timer *vib_play_timer;
443         Elm_Object_Item *vib_navi_it;
444
445
446         // personal vibration begin
447         Evas_Object *bg_icon;
448         Evas_Object *bg_icon_02;
449         Evas_Object *recording_icon;
450         Evas_Object *ly_personal_vib;
451         Evas_Object *personal_vib_popup;
452         Evas_Object *personal_vib_btn_icon;
453         Evas_Object *personal_vib_rec_icon;
454         Evas_Object *personal_vib_play_icon;
455         Evas_Object *personal_vib_play_press_icon;
456         Evas_Object *personal_vib_stop_icon;
457         Evas_Object *personal_vib_second_icon;
458         Eina_Bool personal_vib_rec_flag;
459         Ecore_Timer *personal_vib_timer;
460         Ecore_Timer *personal_vib_timer_pause;
461         Ecore_Timer *personal_popup_del_timer;
462         int personal_vib_second;
463         Evas_Object *personal_vib_pie;
464
465         Evas_Object *personal_vib_entry;
466         Evas_Object *personal_vib_cancel_button;
467         Evas_Object *personal_vib_save_button;
468         Elm_Object_Item *personal_vib_navi_it;
469
470         Eina_Bool personal_vib_keyboard_hide;
471         Eina_Bool personal_vib_popup_close;
472         Eina_Bool personal_vib_press_flag;
473         Eina_Bool personal_vib_done_flag;
474         Eina_Bool personal_vib_mouse_event_flag;
475
476         Eina_Bool personal_vib_pause_flag;
477         Eina_Bool personal_vib_playing_flag;
478
479         char *personal_vib_save_filename;
480         //Eina_Bool app_pause;
481
482         Ecore_Timer *resume_pause_timer;
483         //Evas_Object *popup_max_len;
484         Evas_Object *popup_filename_check;
485         Evas_Object *popup_vib_delete;
486
487         unsigned char ivt_buffer[PERSONAL_VIBRATION_IVT_BUFFER_SIZE];
488         int personal_vib_effect_handle;
489
490         Evas_Object *controlbar;
491         Evas_Object *personal_vib_toolbar;
492         Elm_Object_Item *personal_vib_toolbar_done_btn;
493         Elm_Object_Item *personal_vib_toolbar_cancel_btn;
494         Eina_Bool       personal_vib_done_to_save;
495         // personal vibration end
496
497         Evas_Object *ly_vib_delete;
498         Elm_Object_Item *vib_delete_navi_it;
499         Setting_Done_List_Data custom_vib_del_list;
500         Elm_Object_Item *vib_delete_done_btn;
501         Elm_Object_Item *vib_delete_cancel_btn;
502
503         setting_profile_callers caller;
504
505         Evas_Object *vib_player_btn;
506         //for customized styles
507         Elm_Theme *theme;
508
509         char *play_btn_show_icon;
510
511         Evas_Object *calling_popup; /* Unable to pre-listening during a call */
512 };
513
514 extern setting_view setting_view_profile_sound_main;
515 //extern setting_view setting_view_profile_sound_call_vibration;
516 //extern setting_view setting_view_profile_sound_personal_vib;
517 //extern setting_view setting_view_profile_sound_vibration_delete;
518
519 void setting_profile_play_sound_origin(player_h **mp_handle, void *data,
520                                         void *cb, char *ringtone_file, float vol,
521                                         sound_type_e sound_type);
522 int setting_profile_check_file_exist(void *data, const char *file_path);
523
524 player_h *setting_profile_play_sound(void *data, void *cb,
525                                         char *ringtone_file,
526                                         int vol,
527                                         sound_type_e sound_type);
528
529 //int __close_player(void *data, setting_volume_types type);
530 int __close_player2(void *data, SoundType type);
531
532 int setting_profile_stop_sound(void *data, player_h *player);
533 void setting_profile_change_player_volume(player_h **mp_handle, float vol);
534 int setting_profile_close_other_mm_players_but_type(void *data,
535                                                     sound_type_e type);
536 int setting_profile_close_all_mm_players(void *data);
537
538 void setting_init_call_vib_list(void *data);
539
540 void __setting_profile_ug_key_grab(SettingProfileUG *ad);
541 void __setting_profile_ug_key_ungrab(SettingProfileUG *ad);
542 void __setting_profile_ug_menu_key_grab(SettingProfileUG *ad);
543 void __setting_profile_ug_menu_key_ungrab(SettingProfileUG *ad);
544
545 void __setting_profile_sound_persional_vib_record_pause_play(void *data, bool bpause);
546 void __setting_profile_sound_personal_vib_update_tap_string(void *data, app_device_orientation_e m);
547 void setting_profile_sound_personal_vib_pie_graph_relocate(void *data);
548 char *__setting_profile_sound_personal_vib_file_default_name_get();
549 char *setting_media_basename(char *path);
550 void _gl_hide_play_btn(Elm_Object_Item *obj);
551 void setting_profile_sound_personal_vib_stop_by_homekey_press(void *data);
552
553 void setting_profile_create_warning_popup_during_call(void *data);
554
555 void setting_profile_ug_update_volume_sliders(void *data);
556 Eina_Bool __vib_play_stop_timer_cb(void *data);
557
558
559 char* setting_profile_get_slider_icon(int type, int volume);
560
561 #endif