static struct __control_view_s {
Evas_Object *control_layout;
Eina_List *button_list;
+ int volume_changed_cb_id;
} s_info = {
.control_layout = NULL,
.button_list = NULL,
+ .volume_changed_cb_id = 0,
};
static void __update_control_state(void);
break;
case MOMENTS_CONTROLS_VOLUME:
- if (sound_manager_set_volume_changed_cb(moments_control_volume_status_changed_cb, NULL) != SOUND_MANAGER_ERROR_NONE)
+ if (sound_manager_add_volume_changed_cb(moments_control_volume_status_changed_cb, NULL, &s_info.volume_changed_cb_id) != SOUND_MANAGER_ERROR_NONE)
_E("Failed to register the __volume_status_changed_cb callback");
break;
vconf_ignore_key_changed(VCONFKEY_SETAPPL_BLOCKMODE_WEARABLE_BOOL, moments_control_do_not_disturb_status_changed_cb);
break;
case MOMENTS_CONTROLS_VOLUME:
- sound_manager_unset_volume_changed_cb();
+ sound_manager_remove_volume_changed_cb(s_info.volume_changed_cb_id);
break;
case MOMENTS_CONTROLS_FLIGHT_MODE:
vconf_ignore_key_changed(VCONFKEY_TELEPHONY_FLIGHT_MODE, moments_control_flight_mode_status_changed_cb);