*
*/
#include <setting-profile-sound-main.h>
+#include <setting-profile.h>
-#define VOLUME_STR _("IDS_ST_SK_VOLUME")
+#define VOLUME_STR _("IDS_ST_BODY_VOLUME")
#define RINGTONE_STR _("IDS_COM_BODY_RINGTONES")
#define SOUND_DESC "IDS_ST_BODY_ADJUST_VOLUME_AND_INTENSITY_FOR_SOUNDS_WHEN_MSG"
+char *repeat_type[SETTING_SOUND_REPEAT_TYPE_LEN] = {
+ SETTING_SOUND_TEXT_REPEAT_ONCE,
+ SETTING_SOUND_TEXT_REPEAT_2MIN,
+ SETTING_SOUND_TEXT_REPEAT_5MIN,
+ SETTING_SOUND_TEXT_REPEAT_10MIN
+ };
+
static int setting_profile_sound_main_create(void *cb);
static int setting_profile_sound_main_destroy(void *cb);
static int setting_profile_sound_main_update(void *cb);
static void setting_profile_layout_ug_cb(ui_gadget_h ug,
enum ug_mode mode, void *priv);
+static void setting_profile_sound_main_click_softkey_cancel_cb(void *data,
+ Evas_Object *obj, void *event_info);
+
+static void setting_profile_sound_main_Gendial_chk_cb(void *data,
+ Evas_Object *obj, void *event_info);
+
+static void setting_profile_sound_main_mouse_up_Gendial_list_cb(void *data,
+ Evas_Object *obj, void *event_info);
+
+static void setting_profile_sound_main_call_ringtone_sound_slider_value_change_cb(void *data,
+ Evas_Object *obj, void *event_info);
+
+static void setting_profile_sound_main_noti_sound_slider_value_change_cb(void *data,
+ Evas_Object *obj, void *event_info);
+
+static void setting_profile_sound_main_media_sound_slider_value_change_cb(void *data,
+ Evas_Object *obj, void *event_info);
+
+static void setting_profile_sound_main_vib_sound_slider_value_change_cb(void *data,
+ Evas_Object *obj, void *event_info);
+
+static void setting_profile_sound_main_touchVib_sound_slider_value_change_cb(void *data,
+ Evas_Object *obj, void *event_info);
+
+static void settings_profile_sound_main_sys_sound_slider_value_change_cb(void *data,
+ Evas_Object *obj, void *event_info);
+
+
setting_view setting_view_profile_sound_main = {
.create = setting_profile_sound_main_create,
.destroy = setting_profile_sound_main_destroy,
setting_set_int_slp_key(data_parentItem->int_slp_setting_binded,
data_subItem->chk_status, &err);
- if (data_parentItem) {
+ if (data_parentItem && data_parentItem->item) {
data_parentItem->sub_desc =
(char *)g_strdup(_(data_subItem->keyStr));
elm_object_item_data_set(data_parentItem->item, data_parentItem);
if (data_parentItem->int_slp_setting_binded ==
INT_SLP_SETTING_CALL_ALERT_VIB) {
- if (device_haptic_stop_play(ad->hnd_hpt) != 0) {
- SETTING_TRACE("ERROR device_haptic_stop_play");
+ if(ad->hnd_hpt < 0)
+ {
+ SETTING_TRACE_DEBUG("[ERROR] Can't use haptic handle.");
+ return;
+ }
+ if (haptic_stop_all_effects(ad->hnd_hpt) != 0) {
+ SETTING_TRACE("ERROR haptic_stop_all_effects");
/* return; */
}
setting_profile_play_vibration(ad,
ad, parentItem,
SWALLOW_Type_1RADIO, rgd,
0,
- SETTING_SOUND_TEXT_REPEAT_ONCE,
+ _(SETTING_SOUND_TEXT_REPEAT_ONCE),
NULL);
setting_create_Gendial_exp_sub_field(scroller,
ad, parentItem,
SWALLOW_Type_1RADIO, rgd,
1,
- SETTING_SOUND_TEXT_REPEAT_2MIN,
+ _(SETTING_SOUND_TEXT_REPEAT_2MIN),
NULL);
setting_create_Gendial_exp_sub_field(scroller,
ad, parentItem,
SWALLOW_Type_1RADIO, rgd,
2,
- SETTING_SOUND_TEXT_REPEAT_5MIN,
+ _(SETTING_SOUND_TEXT_REPEAT_5MIN),
NULL);
setting_create_Gendial_exp_sub_field(scroller,
&(ad->itc_1icon_1text_sub),
ad, parentItem,
SWALLOW_Type_1RADIO, rgd,
3,
- SETTING_SOUND_TEXT_REPEAT_10MIN,
+ _(SETTING_SOUND_TEXT_REPEAT_10MIN),
NULL);
setting_update_chk_status(rgd,
- data_parentItem->
- int_slp_setting_binded);
+ data_parentItem->int_slp_setting_binded);
}
}
setting_profile_close_all_mm_players(ad);
}
-Eina_Bool __volume_timer_cb(void *data)
-{
- SETTING_TRACE_BEGIN;
- retv_if(data == NULL, EINA_FALSE);
- SettingProfileUG *ad = (SettingProfileUG *)data;
- double value = 0.0;
-
- SETTING_TRACE_DEBUG("cur_vol_type : %d", ad->cur_vol_type);
-
- switch(ad->cur_vol_type)
- {
- case SETTING_VOL_TYPE_RINGTONE:
- if(ad->data_call_volume)
- {
- value = elm_slider_value_get(ad->data_call_volume->eo_check);
- sound_manager_set_volume(SOUND_TYPE_RINGTONE, (unsigned int)(value+0.5));
- setting_profile_change_player_volume(&ad->mp_ringtone, value);
- }
- break;
- case SETTING_VOL_TYPE_NOTIFICATION:
- if(ad->data_noti_volume)
- {
- value = elm_slider_value_get(ad->data_noti_volume->eo_check);
- sound_manager_set_volume(SOUND_TYPE_NOTIFICATION, (unsigned int)(value+0.5));
- setting_profile_change_player_volume(&ad->mp_noti, value);
- }
- break;
- case SETTING_VOL_TYPE_MEDIA:
- if(ad->data_media_volume)
- {
- value = elm_slider_value_get(ad->data_media_volume->eo_check);
- sound_manager_set_volume(SOUND_TYPE_MEDIA, (unsigned int)(value+0.5));
- setting_profile_change_player_volume(&ad->mp_media, value);
- }
- break;
- case SETTING_VOL_TYPE_SYSTEM:
- if(ad->data_touch_volume)
- {
- value = elm_slider_value_get(ad->data_touch_volume->eo_check);
- sound_manager_set_volume(SOUND_TYPE_SYSTEM, (unsigned int)(value+0.5));
- setting_profile_change_player_volume(&ad->mp_sys, value);
- }
- break;
- case SETTING_VOL_TYPE_NOTI_VIB:
- if(ad->data_vib_volume)
- {
- value = elm_slider_value_get(ad->data_vib_volume->eo_check);
- vconf_set_int(VCONFKEY_SETAPPL_NOTI_VIBRATION_LEVEL_INT, (unsigned int)(value+0.5));
- }
- break;
- case SETTING_VOL_TYPE_HAPTIC_VIB:
- if(ad->data_touch_vib)
- {
- value = elm_slider_value_get(ad->data_touch_vib->eo_check);
- vconf_set_int(VCONFKEY_SETAPPL_TOUCH_FEEDBACK_VIBRATION_LEVEL_INT, (unsigned int)(value+0.5));
- //It must change synchronizly to avoid the unexpected terminate issue
- vconf_set_int(VCONFKEY_SETAPPL_TOUCH_FEEDBACK_VIBRATION_LEVEL_BAK_INT, (unsigned int)(value+0.5));
- }
- break;
- default:
- break;
-
- }
- return ECORE_CALLBACK_RENEW;
-}
-
-void __create_volume_timer(void *data, setting_volume_types type)
-{
- SETTING_TRACE_BEGIN;
- ret_if(data == NULL);
-
- SettingProfileUG *ad = (SettingProfileUG *)data;
-
- if(ad->volume_timer)
- {
- ecore_timer_del(ad->volume_timer);
- ad->volume_timer = NULL;
- SETTING_TRACE_DEBUG("[AA] volume timer is deleted");
- }
- ad->volume_timer = ecore_timer_add(SETTING_SOUND_VOLUME_TIMER_INTERVAL, (Ecore_Task_Cb)__volume_timer_cb, ad);
-}
-
void __ringtone_start_change_cb(void *data, Evas_Object *obj, void *event_info)
{
ret_if(data == NULL);
ad->cur_vol_type = SETTING_VOL_TYPE_NOTI_VIB;
setting_profile_close_all_mm_players(ad);
+
+ int err = 0;
+ char pattern_file[MAX_COMMON_BUFFER_LEN] = {0,};
+ svi_get_path(SVI_TYPE_VIB, SVI_VIB_NOTIFICATION_GENERAL, pattern_file, MAX_COMMON_BUFFER_LEN);
+ haptic_stop_all_effects(ad->hnd_hpt);
+ err = haptic_vibrate_file_with_detail(ad->hnd_hpt, pattern_file, 1, list_item->chk_status * SETTING_VIB_FEEDBACK_RATE, HAPTIC_PRIORITY_MIN, NULL);
+ if (err < 0)
+ SETTING_TRACE("Failed to play haptic monotone");
}
void __haptic_vib_start_change_cb(void *data, Evas_Object *obj, void *event_info)
ad->cur_vol_type = SETTING_VOL_TYPE_HAPTIC_VIB;
setting_profile_close_all_mm_players(ad);
+
+ int err = 0;
+ char pattern_file[MAX_COMMON_BUFFER_LEN] = {0,};
+ svi_get_path(SVI_TYPE_VIB, SVI_VIB_OPERATION_VIBRATION, pattern_file, MAX_COMMON_BUFFER_LEN);
+ haptic_stop_all_effects(ad->hnd_hpt);
+ err = haptic_vibrate_file_with_detail(ad->hnd_hpt, pattern_file, 1, list_item->chk_status * SETTING_VIB_FEEDBACK_RATE, HAPTIC_PRIORITY_MIN, NULL);
+
+ if (err < 0)
+ SETTING_TRACE("Failed to play haptic monotone");
}
void __volume_stop_change_cb(void *data, Evas_Object *obj, void *event_info)
player_h **player = NULL;
double value = elm_slider_value_get(obj);
+ list_item->chk_status = (unsigned int)(value+0.5);
switch(ad->cur_vol_type)
{
case SETTING_VOL_TYPE_RINGTONE:
- sound_manager_set_volume(SOUND_TYPE_RINGTONE, (unsigned int)(value+0.5));
+ sound_manager_set_volume(SOUND_TYPE_RINGTONE, list_item->chk_status);
player = &(ad->mp_ringtone);
if(*player != NULL)
return;
pa_tone_path = vconf_get_str(VCONFKEY_SETAPPL_CALL_RINGTONE_PATH_STR);
if(pa_tone_path == NULL)
{
- if(isEmulBin())
- pa_tone_path = SETTING_DEFAULT_CALL_TONE_SDK;
- else
- pa_tone_path = SETTING_DEFAULT_CALL_TONE;
+ pa_tone_path = (char *)strdup(SETTING_DEFAULT_CALL_TONE);
- if(vconf_set_str(VCONFKEY_SETAPPL_CALL_RINGTONE_PATH_STR, pa_tone_path) < 0)
+ if(vconf_set_str(VCONFKEY_SETAPPL_CALL_RINGTONE_PATH_STR, pa_tone_path) < 0) {
+ FREE(pa_tone_path);
return;
+ }
}
setting_profile_play_sound_origin(player, ad, __mm_player_msg_cb,
pa_tone_path,
SOUND_TYPE_RINGTONE);
break;
case SETTING_VOL_TYPE_NOTIFICATION:
- sound_manager_set_volume(SOUND_TYPE_NOTIFICATION, (unsigned int)(value+0.5));
+ sound_manager_set_volume(SOUND_TYPE_NOTIFICATION, list_item->chk_status);
player = &(ad->mp_noti);
if(*player != NULL)
return;
pa_tone_path = vconf_get_str(VCONFKEY_SETAPPL_NOTI_MSG_RINGTONE_PATH_STR);
if(pa_tone_path == NULL)
{
- pa_tone_path = SETTING_DEFAULT_MSG_TONE;
- if(vconf_set_str(VCONFKEY_SETAPPL_NOTI_MSG_RINGTONE_PATH_STR, SETTING_DEFAULT_MSG_TONE) < 0)
+ pa_tone_path = (char *)strdup(SETTING_DEFAULT_MSG_TONE);
+ if(vconf_set_str(VCONFKEY_SETAPPL_NOTI_MSG_RINGTONE_PATH_STR, SETTING_DEFAULT_MSG_TONE) < 0) {
+ FREE(pa_tone_path);
return;
+ }
}
setting_profile_play_sound_origin(player, ad, __mm_player_msg_cb,
pa_tone_path,
SOUND_TYPE_NOTIFICATION);
break;
case SETTING_VOL_TYPE_MEDIA:
- sound_manager_set_volume(SOUND_TYPE_MEDIA, (unsigned int)(value+0.5));
+ sound_manager_set_volume(SOUND_TYPE_MEDIA, list_item->chk_status);
player = &(ad->mp_media);
if(*player != NULL)
return;
SETTING_TRACE_DEBUG("media player will be created");
- if(isEmulBin())
- pa_tone_path = (char*)strdup(SETTING_DEFAULT_CALL_TONE_SDK);
- else
- pa_tone_path = (char*)strdup(SETTING_DEFAULT_MEDIA_TONE);
+ pa_tone_path = (char*)strdup(SETTING_DEFAULT_MEDIA_TONE);
setting_profile_play_sound_origin(player, ad, __mm_player_msg_cb,
pa_tone_path,
SOUND_TYPE_MEDIA);
break;
case SETTING_VOL_TYPE_SYSTEM:
- sound_manager_set_volume(SOUND_TYPE_SYSTEM, (unsigned int)(value+0.5));
+ sound_manager_set_volume(SOUND_TYPE_SYSTEM, list_item->chk_status);
player = &(ad->mp_sys);
if(*player != NULL)
return;
return;
}
- __create_volume_timer(ad, ad->cur_vol_type);
-
- FREE(pa_tone_path);
+ if(pa_tone_path) {
+ free(pa_tone_path);
+ pa_tone_path = NULL;
+ }
SETTING_TRACE_END;
}
Setting_GenGroupItem_Data *list_item = (Setting_GenGroupItem_Data *) data;
SettingProfileUG *ad = list_item->userdata;
- if (device_haptic_stop_play(ad->hnd_hpt) != 0) {
- SETTING_TRACE("ERROR device_haptic_stop_play");
+ if (haptic_stop_all_effects(ad->hnd_hpt) != 0) {
+ SETTING_TRACE("ERROR haptic_stop_all_effects");
/* return; */
}
SETTING_TRACE_END;
}
+static void __main_list_unrealized_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ SETTING_TRACE_BEGIN;
+ ret_if(data == NULL);
+
+ SettingProfileUG *ad = (SettingProfileUG *) data;
+
+ Elm_Object_Item *item = (Elm_Object_Item *)event_info;
+ Setting_GenGroupItem_Data *list_item =
+ (Setting_GenGroupItem_Data *) elm_object_item_data_get(item);
+
+ /* backup each slider's value */
+ if(list_item == ad->data_call_volume)
+ sound_manager_set_volume(SOUND_TYPE_RINGTONE, ad->data_call_volume->chk_status);
+ else if(list_item == ad->data_noti_volume)
+ sound_manager_set_volume(SOUND_TYPE_NOTIFICATION, ad->data_noti_volume->chk_status);
+ else if(list_item == ad->data_media_volume)
+ sound_manager_set_volume(SOUND_TYPE_MEDIA, ad->data_media_volume->chk_status);
+ else if(list_item == ad->data_touch_volume)
+ sound_manager_set_volume(SOUND_TYPE_SYSTEM, ad->data_touch_volume->chk_status);
+ else if(list_item == ad->data_vib_volume)
+ vconf_set_int(VCONFKEY_SETAPPL_NOTI_VIBRATION_LEVEL_INT, ad->data_vib_volume->chk_status);
+ else if(list_item == ad->data_touch_vib)
+ vconf_set_int(VCONFKEY_SETAPPL_TOUCH_FEEDBACK_VIBRATION_LEVEL_INT, ad->data_touch_vib->chk_status);
+}
+
static Evas_Object *__get_main_list(void *data)
{
retv_if(data == NULL, NULL);
SettingProfileUG *ad = (SettingProfileUG *) data;
+ __setting_profile_ug_key_grab(ad);
+
if(ad->sub_view[SETTING_PROF_VIEW_VOL])
return ad->sub_view[SETTING_PROF_VIEW_VOL];
/* e.noti volumn */
if(sound_manager_get_volume(SOUND_TYPE_NOTIFICATION, &mm_value) < 0)
mm_value = SETTING_DEFAULT_NOTI_VOL_INT;
+
+ (void)setting_create_Gendial_field_titleItem(genlist,
+ &(itc_group_item),
+ SETTING_SOUND_TEXT_NOTIFICATION, NULL);
ad->data_noti_volume =
setting_create_Gendial_field_def(genlist, &(ad->itc_layout), NULL,
NULL,
SWALLOW_Type_LAYOUT_SLIDER,
IMG_SLIDER_BTN_VOLUME01,
IMG_SLIDER_BTN_VOLUME02, mm_value,
- SETTING_SOUND_TEXT_NOTIFICATION,
+ NULL,//SETTING_SOUND_TEXT_NOTIFICATION,
NULL,
setting_profile_sound_main_noti_sound_slider_value_change_cb);
if (ad->data_noti_volume) {
/* g.media volume */
if(sound_manager_get_volume(SOUND_TYPE_MEDIA, &mm_value) < 0)
mm_value = SETTING_DEFAULT_MEDIA_VOL_INT;
+
+ (void)setting_create_Gendial_field_titleItem(genlist,
+ &(itc_group_item),
+ SETTING_SOUND_TEXT_MEDIA, NULL);
ad->data_media_volume =
setting_create_Gendial_field_def(genlist, &(ad->itc_layout), NULL,
NULL,
SWALLOW_Type_LAYOUT_SLIDER,
IMG_SLIDER_BTN_VOLUME01,
IMG_SLIDER_BTN_VOLUME02, mm_value,
- SETTING_SOUND_TEXT_MEDIA, NULL,
+ NULL, NULL,
setting_profile_sound_main_media_sound_slider_value_change_cb);
if (ad->data_media_volume) {
ad->data_media_volume->win_main = ad->win_main_layout;
/* h.system volume */
if(sound_manager_get_volume(SOUND_TYPE_SYSTEM, &mm_value) < 0)
+ {
+ SETTING_TRACE_DEBUG("Fail to get volume");
mm_value = SETTING_DEFAULT_SYSTEM_VOL_INT;
+ }
+ (void)setting_create_Gendial_field_titleItem(genlist,
+ &(itc_group_item),
+ SETTING_SOUND_TEXT_SYSTEM, NULL);
ad->data_touch_volume =
setting_create_Gendial_field_def(genlist, &(ad->itc_layout), NULL,
NULL,
SWALLOW_Type_LAYOUT_SLIDER,
IMG_SLIDER_BTN_VOLUME01,
IMG_SLIDER_BTN_VOLUME02, mm_value,
- SETTING_SOUND_TEXT_SYSTEM, NULL,
+ NULL, NULL,
settings_profile_sound_main_sys_sound_slider_value_change_cb);
if (ad->data_touch_volume) {
ad->data_touch_volume->win_main = ad->win_main_layout;
"IDS_ST_BODY_CALLALERTTYPE_VIBRATION", NULL);
/* f.noti vib */
- if (vconf_get_int(VCONFKEY_SETAPPL_NOTI_VIBRATION_LEVEL_INT, &vconf_value) <
- 0)
+ if (vconf_get_int(VCONFKEY_SETAPPL_NOTI_VIBRATION_LEVEL_INT, &vconf_value) < 0)
vconf_value = SETTING_DEFAULT_NOTI_VIB_INT; /* default value of notification vibration volume : 5 */
+
+ (void)setting_create_Gendial_field_titleItem(genlist,
+ &(itc_group_item),
+ SETTING_SOUND_TEXT_NOTIFICATION, NULL);
ad->data_vib_volume =
setting_create_Gendial_field_def(genlist, &(ad->itc_layout), NULL,
NULL,
SWALLOW_Type_LAYOUT_SLIDER,
IMG_VIBRATION_ICON_01,
IMG_VIBRATION_ICON_02, vconf_value,
- SETTING_SOUND_TEXT_NOTIFICATION,
+ NULL,//SETTING_SOUND_TEXT_NOTIFICATION,
NULL,
setting_profile_sound_main_vib_sound_slider_value_change_cb);
if (ad->data_vib_volume) {
if (vconf_get_int
(VCONFKEY_SETAPPL_TOUCH_FEEDBACK_VIBRATION_LEVEL_INT, &vconf_value) < 0)
vconf_value = SETTING_DEFAULT_HAPTIC_VIB_INT; /* default value of haptic vibration volume : 3 */
+
+ (void)setting_create_Gendial_field_titleItem(genlist,
+ &(itc_group_item),
+ "IDS_ST_BODY_SOUNDFEEDBACK_HAPTIC_FEEDBACK", NULL);
ad->data_touch_vib =
setting_create_Gendial_field_def(genlist, &(ad->itc_layout), NULL,
NULL,
SWALLOW_Type_LAYOUT_SLIDER,
IMG_VIBRATION_ICON_01,
IMG_VIBRATION_ICON_02, vconf_value,
- "IDS_ST_BODY_SOUNDFEEDBACK_HAPTIC_FEEDBACK", NULL,
+ NULL, NULL,
setting_profile_sound_main_touchVib_sound_slider_value_change_cb);
if (ad->data_touch_vib) {
ad->data_touch_vib->win_main = ad->win_main_layout;
ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
/* Touch sounds */
+ if (vconf_get_bool(VCONFKEY_SETAPPL_TOUCH_SOUNDS_BOOL, &vconf_value) < 0)
+ vconf_value = TRUE; /* default value of touch sounds : on */
+
ad->data_touch_sounds =
setting_create_Gendial_field_def(genlist, &(ad->itc_1text_1icon),
setting_profile_sound_main_mouse_up_Gendial_list_cb,
elm_genlist_item_select_mode_set(elm_genlist_item_append(genlist, &(itc_seperator), NULL, NULL,ELM_GENLIST_ITEM_NONE, NULL, NULL),
ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- /* Screen lock sound */
- if (vconf_get_bool(VCONFKEY_SETAPPL_SOUND_LOCK_BOOL, &vconf_value) < 0)
- vconf_value = 1; /* default value of lock/unlock sound : on */
- ad->data_lock_sound =
- setting_create_Gendial_field_def(genlist, &(ad->itc_1text_1icon),
- setting_profile_sound_main_mouse_up_Gendial_list_cb,
- ad, SWALLOW_Type_1TOGGLE, NULL,
- NULL, vconf_value,
- SETTING_SOUND_TEXT_LOCK_SOUND,
- NULL,
- setting_profile_sound_main_Gendial_chk_cb);
- if (ad->data_lock_sound) {
- ad->data_lock_sound->userdata = ad;
- } else {
- SETTING_TRACE_ERROR("ad->data_lock_sound is NULL");
- }
-
- item = elm_genlist_item_append(genlist, &itc_bottom_seperator, NULL, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
__change_state_of_sliderbars(ad);
+ evas_object_smart_callback_add(genlist, "unrealized", __main_list_unrealized_cb, ad);
+
ad->sub_view[SETTING_PROF_VIEW_VOL] = genlist;
return ad->sub_view[SETTING_PROF_VIEW_VOL];
char *pa_ringtone = vconf_get_str(VCONFKEY_SETAPPL_CALL_RINGTONE_PATH_STR);
if(setting_profile_check_file_exist(ad, pa_ringtone) == SETTING_RETURN_FAIL)
{
- if(isEmulBin())
- pa_ringtone = (char *)strdup(SETTING_DEFAULT_CALL_TONE_SDK);
- else
- pa_ringtone = (char *)strdup(SETTING_DEFAULT_CALL_TONE);
+ pa_ringtone = (char *)strdup(SETTING_DEFAULT_CALL_TONE);
vconf_ret = vconf_set_str(VCONFKEY_SETAPPL_CALL_RINGTONE_PATH_STR, pa_ringtone);
if(vconf_ret < 0)
SETTING_TRACE_DEBUG("failed to set vconf");
FREE(pa_ringtone);
G_FREE(sub_desc);
- /* a-2. vibration type */
- char *setting_vib_type[SETTING_SOUND_VIB_TYPE_LEN] = {
- _("IDS_ST_BODY_VIBRATION_1"),
- _("IDS_ST_BODY_VIBRATION_2"),
- _("IDS_ST_BODY_VIBRATION_3"),
- _("IDS_ST_BODY_VIBRATION_4"),
- _("IDS_ST_BODY_VIBRATION_5")
- };
- int value = 0;
- vconf_get_int(VCONFKEY_SETAPPL_CALL_VIBRATION_PATTERN_INT, &value);
- ad->data_call_alert_vib =
- setting_create_Gendial_exp_parent_field(genlist,
- &(ad->itc_2text_3_parent),
- setting_profile_sound_main_mouse_up_Gendial_list_cb,
- ad, SWALLOW_Type_INVALID,
- SETTING_SOUND_TEXT_CALL_VIBRATION,
- setting_vib_type[value]);
- if (ad->data_call_alert_vib) {
- ad->data_call_alert_vib->int_slp_setting_binded =
- INT_SLP_SETTING_CALL_ALERT_VIB;
- } else {
- SETTING_TRACE_ERROR("ad->data_call_alert_vib is NULL");
- }
-
/* b. notification */
(void)setting_create_Gendial_field_titleItem(genlist,
&(ad->itc_group_item),
SETTING_SOUND_TEXT_NOTIFICATION,
NULL);
- char *repeat_type[SETTING_SOUND_REPEAT_TYPE_LEN] = {
- _(SETTING_SOUND_TEXT_REPEAT_ONCE),
- _(SETTING_SOUND_TEXT_REPEAT_2MIN),
- _(SETTING_SOUND_TEXT_REPEAT_5MIN),
- _(SETTING_SOUND_TEXT_REPEAT_10MIN)
- };
int repeat_value = 0;
/* b-1. msg ringtone */
setting_profile_sound_main_mouse_up_Gendial_list_cb,
ad, SWALLOW_Type_INVALID,
SETTING_SOUND_TEXT_MSG_RINGTONE_REPEAT,
- repeat_type[repeat_value]);
+ _(repeat_type[repeat_value]));
if (ad->data_msg_alert_repeat) {
ad->data_msg_alert_repeat->int_slp_setting_binded =
INT_SLP_SETTING_MSG_ALERT_REPEAT;
setting_profile_sound_main_mouse_up_Gendial_list_cb,
ad, SWALLOW_Type_INVALID,
SETTING_SOUND_TEXT_EMAIL_RINGTONE_REPEAT,
- repeat_type[repeat_value]);
+ _(repeat_type[repeat_value]));
if (ad->data_email_alert_repeat) {
ad->data_email_alert_repeat->int_slp_setting_binded =
INT_SLP_SETTING_EMAIL_ALERT_REPEAT;
static void __view_change_cb(void *data, Evas_Object *obj, void *event_info)
{
- appcore_measure_start();
+ //appcore_measure_start();
retm_if(event_info == NULL, "Invalid argmuent: event info is NULL");
retm_if(data == NULL, "Invalid argmuent: data is NULL");
SettingProfileUG *ad = (SettingProfileUG *) data;
- if (device_haptic_stop_play(ad->hnd_hpt) != 0) {
- SETTING_TRACE("ERROR device_haptic_stop_play");
+ if (haptic_stop_all_effects(ad->hnd_hpt) != 0) {
+ SETTING_TRACE("ERROR haptic_stop_all_effects");
/* return; */
}
setting_profile_close_all_mm_players(ad);
//SETTING_TRACE("tab_lable:%s", tab_lable);
if (0 == safeStrCmp(tab_lable, VOLUME_STR)) {
if(ad->hnd_hpt)
- device_haptic_stop_play(ad->hnd_hpt);
+ haptic_stop_all_effects(ad->hnd_hpt);
sub_view = __get_main_list(ad);
} else if (0 == safeStrCmp(tab_lable, RINGTONE_STR)) {
sub_view = __get_ringtone_list(ad);
ad->ctrl_bar = tabbar;
elm_toolbar_shrink_mode_set(tabbar, ELM_TOOLBAR_SHRINK_EXPAND);
elm_object_style_set(tabbar, "tabbar");
+ elm_toolbar_transverse_expanded_set(tabbar, EINA_TRUE);
ad->ctrl_item[0] = elm_toolbar_item_append(tabbar,
- NULL,
+ IMG_CTRL_ICON_VOLUME,
VOLUME_STR, __view_change_cb, ad);
ad->ctrl_item[1] = elm_toolbar_item_append(tabbar,
- NULL,
+ IMG_CTRL_ICON_RINGTONE,
RINGTONE_STR, __view_change_cb, ad);
elm_toolbar_select_mode_set(tabbar, ELM_OBJECT_SELECT_MODE_ALWAYS);
SettingProfileUG *ad = (SettingProfileUG *) cb;
+ __setting_profile_ug_key_ungrab(ad);
+
if (ad->ly_main != NULL) {
//Fix the memory leak,
//Manage ad->sub_view[] separately, unset first, then delete in together
*
***************************************************/
-static void
-setting_profile_sound_main_click_softkey_cancel_cb(void *data,
+static void setting_profile_sound_main_click_softkey_cancel_cb(void *data,
Evas_Object *obj,
void *event_info)
{
/* close mm plaer */
setting_profile_close_all_mm_players(ad);
/* close vibration */
- if (device_haptic_stop_play(ad->hnd_hpt) != 0) {
- SETTING_TRACE("ERROR device_haptic_stop_play");
+ if (haptic_stop_all_effects(ad->hnd_hpt) != 0) {
+ SETTING_TRACE("ERROR haptic_stop_all_effects");
/* return; */
}
ret_if(priv == NULL);
SettingProfileUG *ad = (SettingProfileUG *) priv;
+ __setting_profile_ug_key_grab(ad);
+
if (ug) {
ug_destroy(ug);
ad->ug_loading = NULL;
switch (mode) {
case UG_MODE_FULLVIEW:
evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_win_resize_object_add(ad->win_get, base);
+ //elm_win_resize_object_add(ad->win_get, base);
evas_object_show(base);
break;
default:
pa_cur_ringtone = vconf_get_str(VCONFKEY_SETAPPL_CALL_RINGTONE_PATH_STR);
if (pa_cur_ringtone == NULL)
{
- if(isEmulBin())
- pa_cur_ringtone = SETTING_DEFAULT_CALL_TONE_SDK;
- else
- pa_cur_ringtone = SETTING_DEFAULT_CALL_TONE;
+ pa_cur_ringtone = (char *)strdup(SETTING_DEFAULT_CALL_TONE);
}
dir_path = SETTING_PROFILE_SOUND_RINGTONES_PATH;
} else if (0 == safeStrCmp(ad->ringtone_type, SETTING_SOUND_TEXT_MSG_ALERT)) {
pa_cur_ringtone = vconf_get_str(VCONFKEY_SETAPPL_NOTI_MSG_RINGTONE_PATH_STR);
if (pa_cur_ringtone == NULL)
- pa_cur_ringtone = SETTING_DEFAULT_MSG_TONE;
+ pa_cur_ringtone = (char *)strdup(SETTING_DEFAULT_MSG_TONE);
dir_path = SETTING_PROFILE_SOUND_ALERTS_PATH;
} else if (0 == safeStrCmp(ad->ringtone_type, SETTING_SOUND_TEXT_EMAIL_ALERT)) {
pa_cur_ringtone = vconf_get_str(VCONFKEY_SETAPPL_NOTI_EMAIL_RINGTONE_PATH_STR);
if (pa_cur_ringtone == NULL)
- pa_cur_ringtone = SETTING_DEFAULT_EMAIL_TONE;
+ pa_cur_ringtone = (char *)strdup(SETTING_DEFAULT_EMAIL_TONE);
dir_path = SETTING_PROFILE_SOUND_ALERTS_PATH;
}
SETTING_TRACE("pa_cur_ringtone:\t%s", pa_cur_ringtone);
FREE(cbs);
/** @todo verify it's valid */
- if(pa_cur_ringtone)
- FREE(pa_cur_ringtone);
+ if(pa_cur_ringtone) {
+ free(pa_cur_ringtone);
+ pa_cur_ringtone = NULL;
+ }
+ __setting_profile_ug_key_ungrab(ad);
return;
}
int err = 0;
char pattern_file[MAX_COMMON_BUFFER_LEN] = {0,};
svi_get_path(SVI_TYPE_VIB, SVI_VIB_NOTIFICATION_GENERAL, pattern_file, sizeof(pattern_file));
- device_haptic_stop_play(ad->hnd_hpt);
- err = device_haptic_play_file(ad->hnd_hpt, pattern_file, 1, (int)(elm_slider_value_get(ad->data_vib_volume->eo_check)+0.5));
+ haptic_stop_all_effects(ad->hnd_hpt);
+ err = haptic_vibrate_file_with_detail(ad->hnd_hpt, pattern_file, 1, (int)(elm_slider_value_get(ad->data_vib_volume->eo_check)+0.5) * SETTING_VIB_FEEDBACK_RATE, HAPTIC_PRIORITY_MIN, NULL);
if (err < 0)
SETTING_TRACE("Failed to play haptic monotone");
} else {
- if (device_haptic_stop_play(ad->hnd_hpt) != 0) {
- SETTING_TRACE("ERROR device_haptic_stop_play");
+ if (haptic_stop_all_effects(ad->hnd_hpt) != 0) {
+ SETTING_TRACE("ERROR haptic_stop_all_effects");
}
setting_disable_genlist_item(ad->data_vib_volume->item);
setting_disable_genlist_item(ad->data_touch_vib->item);
elm_check_state_set(list_item->eo_check, !state);
}
}
+ else if (!safeStrCmp("IDS_ST_BODY_TOUCH_SOUNDS", list_item->keyStr)) {
+ if (vconf_set_bool(VCONFKEY_SETAPPL_TOUCH_SOUNDS_BOOL, list_item->chk_status) < 0) {
+ list_item->chk_status = !state;
+ elm_check_state_set(list_item->eo_check, !state);
+ }
+ }
/* end */
SettingProfileUG *ad = data;
if(ad->hnd_hpt)
- device_haptic_stop_play(ad->hnd_hpt);
+ haptic_stop_all_effects(ad->hnd_hpt);
SETTING_TRACE("clicking item[%s]", _(list_item->keyStr));
if (!safeStrCmp(SETTING_SOUND_TEXT_CALL_RINGTONE, list_item->keyStr)
int err = 0;
char pattern_file[MAX_COMMON_BUFFER_LEN] = {0,};
svi_get_path(SVI_TYPE_VIB, SVI_VIB_NOTIFICATION_GENERAL, pattern_file, sizeof(pattern_file));
- device_haptic_stop_play(ad->hnd_hpt);
- err = device_haptic_play_file(ad->hnd_hpt, pattern_file, 1, (int)(elm_slider_value_get(ad->data_vib_volume->eo_check)+0.5));
+ haptic_stop_all_effects(ad->hnd_hpt);
+ err = haptic_vibrate_file_with_detail(ad->hnd_hpt, pattern_file, 1, (int)(elm_slider_value_get(ad->data_vib_volume->eo_check)+0.5) * SETTING_VIB_FEEDBACK_RATE, HAPTIC_PRIORITY_MIN, NULL);
if (err < 0)
SETTING_TRACE("Failed to play haptic monotone");
} else {
- if (device_haptic_stop_play(ad->hnd_hpt) != 0) {
- SETTING_TRACE("ERROR device_haptic_stop_play");
+ if (haptic_stop_all_effects(ad->hnd_hpt) != 0) {
+ SETTING_TRACE("ERROR haptic_stop_all_effects");
}
setting_disable_genlist_item(ad->data_vib_volume->item);
setting_disable_genlist_item(ad->data_touch_vib->item);
}
return;
}
- /* additional */
- else if (!safeStrCmp(SETTING_SOUND_TEXT_LOCK_SOUND, list_item->keyStr)) {
+ else if (!safeStrCmp("IDS_ST_BODY_TOUCH_SOUNDS", list_item->keyStr)) {
int old_status = elm_check_state_get(list_item->eo_check);
- if (vconf_set_bool(VCONFKEY_SETAPPL_SOUND_LOCK_BOOL, !old_status) == 0) {
+ /* To do : set vconfkey for touch sounds */
+ if (vconf_set_bool(VCONFKEY_SETAPPL_TOUCH_SOUNDS_BOOL, !old_status) == 0) {
/* new status */
list_item->chk_status = !old_status;
elm_check_state_set(list_item->eo_check, list_item->chk_status);
}
- return;
- }
- else if (!safeStrCmp("IDS_ST_BODY_TOUCH_SOUNDS", list_item->keyStr)) {
- int old_status = elm_check_state_get(list_item->eo_check);
- /* To do : set vconfkey for touch sounds */
-
- list_item->chk_status = !old_status;
- elm_check_state_set(list_item->eo_check, list_item->chk_status);
}
/* end */
- else if (ad->data_call_alert_vib == list_item
- || ad->data_msg_alert_repeat == list_item
+ else if (ad->data_msg_alert_repeat == list_item
|| ad->data_email_alert_repeat == list_item) {
bool status = !elm_genlist_item_expanded_get(item);
elm_genlist_item_expanded_set(item, status);
if(list_item->chk_status != (int)(val+0.5))
{
list_item->chk_status = (int)(val+0.5);
+ sound_manager_set_volume(SOUND_TYPE_RINGTONE, list_item->chk_status);
SETTING_TRACE_DEBUG("ringtone volume is %d, %f", list_item->chk_status, val);
}
}
if(list_item->chk_status != (int)(val+0.5))
{
list_item->chk_status = val;
+ sound_manager_set_volume(SOUND_TYPE_NOTIFICATION, list_item->chk_status);
+ SETTING_TRACE_DEBUG("notification volume is %d, %f", list_item->chk_status, val);
}
}
if(list_item->chk_status != (int)(val+0.5))
{
list_item->chk_status = val;
+ sound_manager_set_volume(SOUND_TYPE_MEDIA, list_item->chk_status);
+ SETTING_TRACE_DEBUG("media volume is %d, %f", list_item->chk_status, val);
}
}
if(list_item->chk_status != (int)(val+0.5))
{
list_item->chk_status = val;
+ sound_manager_set_volume(SOUND_TYPE_SYSTEM, list_item->chk_status);
+ SETTING_TRACE_DEBUG("system volume is %d, %f", list_item->chk_status, val);
}
}
SETTING_TRACE("val = %f", val);
Setting_GenGroupItem_Data *list_item = (Setting_GenGroupItem_Data *) data;
SettingProfileUG *ad = list_item->userdata;
- list_item->chk_status = val;
int value;
int err;
value = (int)(val + 0.5); /* to sync displayed value on slider */
+ list_item->chk_status = value;
if (value != priv_val_int) {
- int vib_volume = value;
+ vconf_set_int(VCONFKEY_SETAPPL_NOTI_VIBRATION_LEVEL_INT, list_item->chk_status);
char pattern_file[MAX_COMMON_BUFFER_LEN] = {0,};
svi_get_path(SVI_TYPE_VIB, SVI_VIB_NOTIFICATION_GENERAL, pattern_file, sizeof(pattern_file));
- device_haptic_stop_play(ad->hnd_hpt);
- err = device_haptic_play_file(ad->hnd_hpt, pattern_file, 1, vib_volume);
+ haptic_stop_all_effects(ad->hnd_hpt);
+ err = haptic_vibrate_file_with_detail(ad->hnd_hpt, pattern_file, 1, list_item->chk_status * SETTING_VIB_FEEDBACK_RATE, HAPTIC_PRIORITY_MIN, NULL);
if (err < 0)
SETTING_TRACE("Failed to play haptic monotone");
Setting_GenGroupItem_Data *list_item =
(Setting_GenGroupItem_Data *) data;
SettingProfileUG *ad = list_item->userdata;
- list_item->chk_status = val;
int value;
int err;
value = (int)(val + 0.5); /* to sync displayed value on slider */
+ list_item->chk_status = value;
if (value != priv_val_int) {
-
- int vib_volume = value; /* SETTING_VIB_VOL_MAX; */
+ vconf_set_int (VCONFKEY_SETAPPL_TOUCH_FEEDBACK_VIBRATION_LEVEL_INT, list_item->chk_status);
char pattern_file[MAX_COMMON_BUFFER_LEN] = {0,};
svi_get_path(SVI_TYPE_VIB, SVI_VIB_OPERATION_VIBRATION, pattern_file, sizeof(pattern_file));
- device_haptic_stop_play(ad->hnd_hpt);
- err = device_haptic_play_file(ad->hnd_hpt, pattern_file, 1, vib_volume);
+ haptic_stop_all_effects(ad->hnd_hpt);
+ err = haptic_vibrate_file_with_detail(ad->hnd_hpt, pattern_file, 1, list_item->chk_status * SETTING_VIB_FEEDBACK_RATE, HAPTIC_PRIORITY_MIN, NULL);
if (err < 0)
SETTING_TRACE("Failed to play haptic monotone");