From: Denis Dolzhenko Date: Fri, 25 Nov 2016 12:45:58 +0000 (+0200) Subject: Fixed: SettingsSound ringtone. X-Git-Tag: submit/tizen_3.0/20161125.150533~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9aa1ef3e61f8ffa5fd97f15f4bc4328190573655;p=profile%2Fmobile%2Fapps%2Fnative%2Fmessage.git Fixed: SettingsSound ringtone. Change-Id: Idd1c112333c9c8089d41da2137fb0ba1cfcef0f1 Signed-off-by: Denis Dolzhenko --- diff --git a/src/Settings/Controller/src/SettingsSound.cpp b/src/Settings/Controller/src/SettingsSound.cpp index 161c77b8..ec40ed88 100644 --- a/src/Settings/Controller/src/SettingsSound.cpp +++ b/src/Settings/Controller/src/SettingsSound.cpp @@ -24,10 +24,8 @@ using namespace Msg; namespace { - const char *sRingtoneKeyPath = "path"; const char *sRingtoneValuePath = "/opt/share/settings/Alerts"; const char *sRingtoneKeySelectType = "select_type"; - const char *sRingtoneValueSingleFile = "SINGLE_FILE"; const char *sRingtoneKeyFileType = "file_type"; const char *sRingtoneValueSound = "SOUND"; const char *sRingtoneKeySilent = "silent"; @@ -35,7 +33,6 @@ namespace const char *sRingtoneKeyDefault = "default"; const char *sRingtoneValueDefaultShow = "default show"; const char *sRingtoneAppId = "org.tizen.setting-ringtone"; - const char *sRingtoneKeyResult = "result"; const char* sRingtoneKeyDrmType = "drm_type"; const char* sRingtoneValueDrmAll = "DRM_ALL"; const char* sRingtoneKeyDomain = "domain"; @@ -53,12 +50,14 @@ SettingsSound::~SettingsSound() static void soundPickerCb(app_control_h request, app_control_h reply, app_control_result_e result, void *user_data) { - char *ringtone = nullptr; + char **ringtones = nullptr; + int count = 0; + app_control_get_extra_data_array(reply, APP_CONTROL_DATA_SELECTED, &ringtones, &count); - app_control_get_extra_data(reply, sRingtoneKeyResult, &ringtone); - if (!ringtone) + if (!ringtones || !ringtones[0]) return; + char *ringtone = ringtones[0]; auto *settings = static_cast(user_data); if (strcmp(ringtone, sRingtoneKeySilent) == 0) @@ -71,7 +70,10 @@ static void soundPickerCb(app_control_h request, app_control_h reply, app_contro settings->setRingtone(ringtone); } - free(ringtone); + for (int i = 0; i < count; ++i) { + free (ringtones[i]); + } + free(ringtones); } void SettingsSound::launchSoundPicker() @@ -80,9 +82,8 @@ void SettingsSound::launchSoundPicker() app_control_create(&h); app_control_set_launch_mode(h, APP_CONTROL_LAUNCH_MODE_GROUP); - app_control_add_extra_data(h, sRingtoneKeyPath, sRingtoneValuePath); + app_control_add_extra_data(h, APP_CONTROL_DATA_PATH, sRingtoneValuePath); app_control_add_extra_data(h, sRingtoneKeyDomain, PACKAGE_NAME); - app_control_add_extra_data(h, sRingtoneKeySelectType, sRingtoneValueSingleFile); app_control_add_extra_data(h, sRingtoneKeyFileType, sRingtoneValueSound); app_control_add_extra_data(h, sRingtoneKeySilent, sRingtoneValueSilentShow); app_control_add_extra_data(h, sRingtoneKeyDefault, sRingtoneValueDefaultShow);