ad->keyup_handler = NULL;
}
+static void media_volume_changed_cb(sound_type_e type, unsigned int volume, void *user_data)
+{
+ SETTING_TRACE_BEGIN;
+ int volume_max = 0;
+ ret_if(user_data == NULL);
+ SettingSoundData *appdata = (SettingSoundData *)user_data;
+
+ if (SOUND_TYPE_MEDIA != type)
+ return;
+
+ int ret = sound_manager_get_max_volume(SOUND_TYPE_MEDIA, &volume_max);
+ SETTING_TRACE("Getting max volume: %s %d", get_error_message(ret),
+ volume_max);
+
+ if (volume >= volume_max)
+ return;
+
+ if (appdata->data_media_volume && appdata->data_media_volume->eo_check) {
+ appdata->data_media_volume->chk_status = volume;
+ elm_slider_value_set(appdata->data_media_volume->eo_check,
+ volume);
+ SETTING_TRACE("appdata->data_media_volume->chk_status : %d",
+ appdata->data_media_volume->chk_status);
+ }
+
+ SETTING_TRACE_END;
+}
+
Evas_Object *setting_sound_init(SettingSoundData *ad)
{
SETTING_TRACE_BEGIN;
__listen_vconf_change(ad);
+ int ret = sound_manager_add_volume_changed_cb(media_volume_changed_cb,
+ (void*)ad, &ad->media_volume_changed_cb_id);
+ if (0 != ret)
+ SETTING_TRACE_ERROR("Cannot register volume chnaged callback, %d, %s",
+ ret, get_error_message(ret));
+
return ad->md.naviframe;
}
player_destroy(ad->mp_player);
ad->mp_player = NULL;
+ sound_manager_remove_volume_changed_cb(ad->media_volume_changed_cb_id);
+
/* it is the view manage strategy to invoke view's destory operation */
setting_view_destroy(&setting_view_sound_main, ad);