#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);
elm_genlist_item_update(data_parentItem->item);
}
-#if MIGRATION_HAPTIC
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,
setting_profile_get_call_playing_vib_by_vconf_value
(data_subItem->chk_status));
}
-#endif
}
static void __sound_exp_cb(void *data, Evas_Object *obj, void *event_info)
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,
setting_profile_close_other_mm_players_but_type(ad, SOUND_TYPE_SYSTEM);
}
+void __noti_vib_start_change_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ ret_if(data == NULL);
+
+ Setting_GenGroupItem_Data *list_item = (Setting_GenGroupItem_Data *) data;
+ SettingProfileUG *ad = list_item->userdata;
+
+ 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)
+ {
+ SETTING_TRACE_BEGIN;
+ ret_if(data == NULL);
+
+ Setting_GenGroupItem_Data *list_item = (Setting_GenGroupItem_Data *) data;
+ SettingProfileUG *ad = list_item->userdata;
+
+ 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)
{
SETTING_TRACE_BEGIN;
SETTING_TRACE_END;
}
+void __vibration_stop_change_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ ret_if(data == NULL);
+
+ Setting_GenGroupItem_Data *list_item = (Setting_GenGroupItem_Data *) data;
+ SettingProfileUG *ad = list_item->userdata;
+
+ if (haptic_stop_all_effects(ad->hnd_hpt) != 0) {
+ SETTING_TRACE("ERROR haptic_stop_all_effects");
+ /* return; */
+ }
+
+ double value = 0.0;
+ switch(ad->cur_vol_type)
+ {
+ 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));
+ if(value < 0.5)
+ elm_slider_value_set(ad->data_vib_volume->eo_check, 0);
+ else
+ elm_slider_value_set(ad->data_vib_volume->eo_check, (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));
+ vconf_set_int(VCONFKEY_SETAPPL_TOUCH_FEEDBACK_VIBRATION_LEVEL_BAK_INT, (unsigned int)(value+0.5));
+ if(value < 0.5)
+ elm_slider_value_set(ad->data_touch_vib->eo_check, 0);
+ else
+ elm_slider_value_set(ad->data_touch_vib->eo_check, (unsigned int)(value+0.5));
+ }
+ break;
+ default:
+ break;
+ }
+ ad->cur_vol_type = SETTING_VOL_TYPE_MAX;
+ SETTING_TRACE_END;
+}
+
static void __main_list_unrealized_cb(void *data, Evas_Object *obj, void *event_info)
{
SETTING_TRACE_BEGIN;
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)
} else {
SETTING_TRACE_ERROR("ad->data_sound is NULL");
}
+ /* b.use vib */
+ if (vconf_get_bool(VCONFKEY_SETAPPL_VIBRATION_STATUS_BOOL, &vconf_value) < 0)
+ vconf_value = TRUE; /* default value of vibration : on */
+ ad->data_vibration =
+ 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_VIBRATION, NULL,
+ setting_profile_sound_main_Gendial_chk_cb);
+ if (ad->data_vibration) {
+ ad->data_vibration->userdata = ad;
+ } else {
+ SETTING_TRACE_ERROR("ad->data_vibration is NULL");
+ }
(void)setting_create_Gendial_field_titleItem(genlist,
&(ad->itc_group_item),
SETTING_TRACE_ERROR("ad->data_touch_volume is NULL");
}
+ (void)setting_create_Gendial_field_titleItem(genlist,
+ &(ad->itc_group_item),
+ "IDS_ST_BODY_CALLALERTTYPE_VIBRATION", NULL);
+
+ /* f.noti vib */
+ 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 */
+
+ 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_profile_sound_main_vib_sound_slider_value_change_cb);
+ if (ad->data_vib_volume) {
+ ad->data_vib_volume->win_main = ad->win_main_layout;
+ ad->data_vib_volume->evas = ad->evas;
+ ad->data_vib_volume->isIndicatorVisible = true;
+ ad->data_vib_volume->slider_min = 0;
+ ad->data_vib_volume->slider_max = SETTING_VIB_VOL_MAX;
+ ad->data_vib_volume->userdata = ad;
+ ad->data_vib_volume->start_change_cb = __noti_vib_start_change_cb;
+ ad->data_vib_volume->stop_change_cb = __vibration_stop_change_cb;
+ ad->data_vib_volume->belongs_to = SETTING_VOL_VIBRATION_GROUP;
+ } else {
+ SETTING_TRACE_ERROR("ad->data_vib_volume is NULL");
+ }
+
+ /* i.haptic vib */
+ 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 */
+
+ 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,
+ 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;
+ ad->data_touch_vib->evas = ad->evas;
+ ad->data_touch_vib->isIndicatorVisible = true;
+ ad->data_touch_vib->slider_min = 0;
+ ad->data_touch_vib->slider_max = SETTING_VIB_VOL_MAX;
+ ad->data_touch_vib->userdata = ad;
+ ad->data_touch_vib->start_change_cb = __haptic_vib_start_change_cb;
+ ad->data_touch_vib->stop_change_cb = __vibration_stop_change_cb;
+ ad->data_touch_vib->belongs_to = SETTING_VOL_VIBRATION_GROUP;
+ } else {
+ SETTING_TRACE_ERROR("ad->data_touch_vib is NULL");
+ }
+
+ setting_create_Gendial_field_def(genlist, &(ad->itc_bg_1icon),
+ NULL, ad,
+ SWALLOW_Type_LAYOUT_SPECIALIZTION_X,
+ NULL, NULL, 0, SOUND_DESC, NULL, NULL);
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);
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;
SettingProfileUG *ad = (SettingProfileUG *) data;
-#if MIGRATION_HAPTIC
- 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; */
}
-#endif
setting_profile_close_all_mm_players(ad);
Evas_Object *sub_view = NULL;
ret_if(!tab_lable);
//SETTING_TRACE("tab_lable:%s", tab_lable);
if (0 == safeStrCmp(tab_lable, VOLUME_STR)) {
+ if(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);
/* close mm plaer */
setting_profile_close_all_mm_players(ad);
-#if MIGRATION_HAPTIC
/* 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; */
}
-#endif
+
/* Send destroy request */
ug_destroy_me(ad->ug);
setting_disable_genlist_item(ad->data_media_volume->item);
setting_disable_genlist_item(ad->data_touch_volume->item);
}
- }
-#if MIGRATION_HAPTIC
- else if (!safeStrCmp(SETTING_SOUND_TEXT_VIBRATION, list_item->keyStr)) {
+ } else if (!safeStrCmp(SETTING_SOUND_TEXT_VIBRATION, list_item->keyStr)) {
if (vconf_set_bool(VCONFKEY_SETAPPL_VIBRATION_STATUS_BOOL, list_item->chk_status) < 0) {
list_item->chk_status = !state;
elm_check_state_set(list_item->eo_check, list_item->chk_status);
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);
}
}
-#endif
+
/* additional items */
else if (!safeStrCmp(SETTING_SOUND_TEXT_LOCK_SOUND, list_item->keyStr)) {
if (vconf_set_bool(VCONFKEY_SETAPPL_SOUND_LOCK_BOOL, list_item->chk_status) < 0) {
SettingProfileUG *ad = data;
-#if MIGRATION_HAPTIC
if(ad->hnd_hpt)
- device_haptic_stop_play(ad->hnd_hpt);
-#endif
+ 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)
}
}
return;
+ } else if (!safeStrCmp(SETTING_SOUND_TEXT_VIBRATION, list_item->keyStr)) {
+ int old_status = elm_check_state_get(list_item->eo_check);
+ if (vconf_set_bool(VCONFKEY_SETAPPL_VIBRATION_STATUS_BOOL, !old_status) == 0) {
+ /* new status */
+ list_item->chk_status = !old_status;
+ elm_check_state_set(list_item->eo_check, list_item->chk_status);
+ if (list_item->chk_status) {
+ setting_enable_genlist_item(ad->data_vib_volume->item);
+ setting_enable_genlist_item(ad->data_touch_vib->item);
+
+ /* Play vib if vib turns on */
+ 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));
+ 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 (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;
}
else if (!safeStrCmp("IDS_ST_BODY_TOUCH_SOUNDS", list_item->keyStr)) {
int old_status = elm_check_state_get(list_item->eo_check);
if(list_item->chk_status != (int)(val+0.5))
{
list_item->chk_status = (int)(val+0.5);
- sound_manager_set_volume(SOUND_TYPE_RINGTONE, (unsigned int)list_item->chk_status);
+ 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, (unsigned int)list_item->chk_status);
+ 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, (unsigned int)list_item->chk_status);
+ 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, (unsigned int)list_item->chk_status);
+ sound_manager_set_volume(SOUND_TYPE_SYSTEM, list_item->chk_status);
SETTING_TRACE_DEBUG("system volume is %d, %f", list_item->chk_status, val);
}
}
+static void
+setting_profile_sound_main_vib_sound_slider_value_change_cb(void *data,
+ Evas_Object *obj,
+ void *event_info)
+{
+ /* error check */
+ ret_if(data == NULL);
+
+ static double priv_val_db = 5.0;
+ static int priv_val_int = 0;
+ double val = elm_slider_value_get(obj);
+ SETTING_TRACE("val = %f", val);
+ Setting_GenGroupItem_Data *list_item = (Setting_GenGroupItem_Data *) data;
+ SettingProfileUG *ad = list_item->userdata;
+
+ 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) {
+ 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));
+ 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");
+ priv_val_int = value;
+ }
+ priv_val_db = val;
+
+}
+
+static void
+setting_profile_sound_main_touchVib_sound_slider_value_change_cb(void *data,
+ Evas_Object *
+ obj, void
+ *event_info)
+{
+ /* error check */
+ ret_if(data == NULL);
+
+ static double priv_val_db = 3.0;
+ static int priv_val_int = 0;
+ double val = elm_slider_value_get(obj);
+ SETTING_TRACE("val = %f", val);
+ Setting_GenGroupItem_Data *list_item =
+ (Setting_GenGroupItem_Data *) data;
+ SettingProfileUG *ad = list_item->userdata;
+
+ 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) {
+ 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));
+ 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");
+ priv_val_int = value;
+ }
+ priv_val_db = val;
+}
+