From: JinWang An Date: Thu, 2 Jan 2020 06:47:43 +0000 (+0900) Subject: add MAX volume alias X-Git-Tag: submit/tizen/20200406.072014~17 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5659afc671a14de855359ecfa58a9f539b83088b;p=platform%2Fcore%2Fsystem%2Fmodes-plugins.git add MAX volume alias --- diff --git a/media/SoundVolume.cpp b/media/SoundVolume.cpp index 960cc9c..476a641 100644 --- a/media/SoundVolume.cpp +++ b/media/SoundVolume.cpp @@ -46,8 +46,19 @@ void SoundVolume::volumeChangedCB(sound_type_e type, unsigned int volume, void * int SoundVolume::set(int val) { + int ret; + + if (-1 == val) { + ret = sound_manager_get_max_volume(type, &val); + if (SOUND_MANAGER_ERROR_NONE != ret) { + ERR("sound_manager_get_max_volume() Fail(%s)", get_error_message(ret)); + return MODES_ERROR_SYSTEM; + } + DBG("sound_manager_get_max_volume() type(%d), return(%d)", type, val); + } + requestVal = val; - int ret = sound_manager_get_volume(type, &oldVal); + ret = sound_manager_get_volume(type, &oldVal); if (SOUND_MANAGER_ERROR_NONE != ret) { ERR("sound_manager_get_volume() Fail(%s)", get_error_message(ret)); return MODES_ERROR_SYSTEM; diff --git a/media/tizen_media_rule.xml b/media/tizen_media_rule.xml index 747bd49..d9fcddd 100644 --- a/media/tizen_media_rule.xml +++ b/media/tizen_media_rule.xml @@ -7,21 +7,25 @@ 0 + -1 Media volume Multimedia 0 + -1 System volume Multimedia 0 + -1 Ringtone volume Multimedia 0 + -1 Notification volume Multimedia diff --git a/unittests/mdsp_test_media.cpp b/unittests/mdsp_test_media.cpp index b30ed8e..20631a8 100644 --- a/unittests/mdsp_test_media.cpp +++ b/unittests/mdsp_test_media.cpp @@ -85,6 +85,22 @@ protected: EXPECT_EQ(MODES_ERROR_NONE, result); plugin->undo(action); + result = plugin->set("mediaVolume", -1, &action); + EXPECT_EQ(MODES_ERROR_NONE, result); + plugin->undo(action); + + result = plugin->set("systemVolume", -1, &action); + EXPECT_EQ(MODES_ERROR_NONE, result); + plugin->undo(action); + + result = plugin->set("ringtoneVolume", -1, &action); + EXPECT_EQ(MODES_ERROR_NONE, result); + plugin->undo(action); + + result = plugin->set("notificationVolume", -1, &action); + EXPECT_EQ(MODES_ERROR_NONE, result); + plugin->undo(action); + g_main_loop_quit(loop); return G_SOURCE_REMOVE;