From: Tomasz Marciniak Date: Fri, 4 Sep 2015 11:29:41 +0000 (+0200) Subject: [FMRadio] Function start() and stop() adjusted to the documentation. X-Git-Tag: submit/tizen/20151026.073646^2^2~137^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a5d549b5bf4140851eafcb99777e3fa3660adf0e;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [FMRadio] Function start() and stop() adjusted to the documentation. [Verification] Code compiles. TCT pass rate did not changed. Change-Id: I02be324c37de4b068d458599c383d747a777fd54 Signed-off-by: Tomasz Marciniak --- diff --git a/src/radio/radio_manager.cc b/src/radio/radio_manager.cc index 5b5a3013..e75970e1 100755 --- a/src/radio/radio_manager.cc +++ b/src/radio/radio_manager.cc @@ -358,6 +358,21 @@ FMRadioManager::~FMRadioManager() { PlatformResult FMRadioManager::Start(double frequency) { LoggerD("Enter, frequency: %f", frequency); + radio_state_e state; + const auto err = radio_get_state(radio_instance_, &state); + + if (RADIO_ERROR_NONE != err) { + LoggerE("radio_get_state() failed: %d", err); + return GetPlatformResult("radio_get_state() failed.", err); + } + + if (RADIO_STATE_READY != state) { + if (RADIO_STATE_PLAYING == state) { + return PlatformResult(ErrorCode::NO_ERROR); + } + return PlatformResult(ErrorCode::INVALID_STATE_ERR, "Invalid radio state."); + } + PlatformResult result = SetFrequency(frequency); if (!result) { @@ -370,6 +385,18 @@ PlatformResult FMRadioManager::Start(double frequency) { PlatformResult FMRadioManager::Stop() { LoggerD("Enter"); + radio_state_e state; + const auto err = radio_get_state(radio_instance_, &state); + + if (RADIO_ERROR_NONE != err) { + LoggerE("radio_get_state() failed: %d", err); + return GetPlatformResult("radio_get_state() failed.", err); + } + + if (RADIO_STATE_PLAYING != state) { + return PlatformResult(ErrorCode::INVALID_STATE_ERR, "Invalid radio state."); + } + return CheckError("radio_stop", radio_stop(radio_instance_)); }