From a0e5e4474b69fb7505e57940ee011c1738b32d4f Mon Sep 17 00:00:00 2001 From: Ryszard Matuszyk Date: Mon, 9 Feb 2015 11:04:28 +0100 Subject: [PATCH] [Sound] getSoundMode [Verification] Build required Change-Id: I9e467d88ecafd88ab992127522fb7eb2454682f2 Signed-off-by: Ryszard Matuszyk --- src/sound/sound_instance.cc | 14 +++----------- src/sound/sound_manager.cc | 36 +++++++++++++++++++++++++++++++++++- src/sound/sound_manager.h | 2 +- 3 files changed, 39 insertions(+), 13 deletions(-) diff --git a/src/sound/sound_instance.cc b/src/sound/sound_instance.cc index eddd3663..46b669cd 100644 --- a/src/sound/sound_instance.cc +++ b/src/sound/sound_instance.cc @@ -50,17 +50,9 @@ SoundInstance::~SoundInstance() { return;\ } - -void SoundInstance::SoundManagerGetSoundMode(const picojson::value& args, picojson::object& out) { - - - // implement it - - - // if success - // ReportSuccess(out); - // if error - // ReportError(out); +void SoundInstance::SoundManagerGetSoundMode(const picojson::value& args, + picojson::object& out) { + ReportSuccess(picojson::value(manager_->GetSoundMode()), out); } void SoundInstance::SoundManagerSetVolume(const picojson::value& args, diff --git a/src/sound/sound_manager.cc b/src/sound/sound_manager.cc index 7cce879b..f8924163 100644 --- a/src/sound/sound_manager.cc +++ b/src/sound/sound_manager.cc @@ -5,6 +5,8 @@ #include "sound/sound_manager.h" #include +#include +#include #include "sound/sound_instance.h" #include "common/logger.h" @@ -70,7 +72,39 @@ void SoundManager::FillMaxVolumeMap() { } } -int SoundManager::GetSoundMode() {} +std::string SoundManager::GetSoundMode() { + std::string sound_mode_type = "MUTE"; + int isEnableSound = 0; + int isEnableVibrate = 0; + + int ret = vconf_get_bool(VCONFKEY_SETAPPL_SOUND_STATUS_BOOL, &isEnableSound); + if (VCONF_OK != ret) { + LoggerE("Unknown error : %d", ret); + // TODO: throw UnknownException(("Unknown error: + // logSoundModeError(ret)).c_str()); + } + + ret = + vconf_get_bool(VCONFKEY_SETAPPL_VIBRATION_STATUS_BOOL, &isEnableVibrate); + if (VCONF_OK != ret) { + LoggerE("Unknown error : %d", ret); + // TODO: throw UnknownException(("Unknown error: + // logSoundModeError(ret)).c_str()); + } + + if (isEnableSound && isEnableVibrate) { + LoggerE("Wrong state (sound && vibration)"); + // TODO: throw UnknownException("Platform has wrong state."); + } + + if (isEnableSound) { + sound_mode_type = "SOUND"; + } else if (isEnableVibrate) { + sound_mode_type = "VIBRATE"; + } + + return sound_mode_type; +} void SoundManager::SetVolume(const picojson::object& args) { const std::string& type = FromJson(args, "type"); diff --git a/src/sound/sound_manager.h b/src/sound/sound_manager.h index 7d58b836..f7d63e7d 100644 --- a/src/sound/sound_manager.h +++ b/src/sound/sound_manager.h @@ -16,7 +16,7 @@ class SoundManager { public: static SoundManager* GetInstance(); - int GetSoundMode(); + std::string GetSoundMode(); void SetVolume(const picojson::object& args); double GetVolume(const picojson::object& args); void SetSoundModeChangeListener(const picojson::object& args); -- 2.34.1