add MAX volume alias
authorJinWang An <jinwang.an@samsung.com>
Thu, 2 Jan 2020 06:47:43 +0000 (15:47 +0900)
committerYoungjae Shin <yj99.shin@samsung.com>
Thu, 19 Mar 2020 04:30:37 +0000 (13:30 +0900)
media/SoundVolume.cpp
media/tizen_media_rule.xml
unittests/mdsp_test_media.cpp

index 960cc9c741003540554b381d6c771272b2c1bf22..476a6412c9cb7f8f8106f9a9ab6cbaaf58ae5fcf 100644 (file)
@@ -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;
index 747bd49d5d04f2f67ee15e93518cfb4cdf83ca49..d9fcddd9251ff49f246488c137646233482ecb53 100644 (file)
@@ -7,21 +7,25 @@
     </rule>
     <rule name="media.mediaVolume" type="int" since="6.0" plugin="media">
       <alias name="MEDIA_MUTE">0</alias>
+      <alias name="MEDIA_MAX">-1</alias>
       <desc>Media volume</desc>
       <domain>Multimedia</domain>
     </rule>
     <rule name="media.systemVolume" type="int" since="6.0" plugin="media">
       <alias name="SYSTEM_MUTE">0</alias>
+      <alias name="SYSTEM_MAX">-1</alias>
       <desc>System volume</desc>
       <domain>Multimedia</domain>
     </rule>
     <rule name="media.ringtoneVolume" type="int" since="6.0" plugin="media">
       <alias name="RINGTONE_MUTE">0</alias>
+      <alias name="RINGTONE_MAX">-1</alias>
       <desc>Ringtone volume</desc>
       <domain>Multimedia</domain>
     </rule>
     <rule name="media.notificationVolume" type="int" since="6.0" plugin="media">
       <alias name="NOTIFICATION_MUTE">0</alias>
+      <alias name="NOTIFICATION_MAX">-1</alias>
       <desc>Notification volume</desc>
       <domain>Multimedia</domain>
     </rule>
index b30ed8e9bc9e0938fc2fd152a22275edddad45f0..20631a8bca44b4c04def5f96f39897f383dbc391 100644 (file)
@@ -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;