From: Tomasz Marciniak Date: Tue, 20 Sep 2016 12:21:23 +0000 (+0200) Subject: [FMRadio] Check radio state before scan. X-Git-Tag: submit/tizen/20160920.235405~1^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0a5f8a49fbf73e7073b9b88720ed19cee9019bf8;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [FMRadio] Check radio state before scan. [Verification] Code compiles. TCT pass rate 100% This change makes web api less dependent on native api returned value. Change-Id: Id51451fd0fdf80c3ed34b03da8fb530b2a592c20 Signed-off-by: Tomasz Marciniak --- diff --git a/src/radio/radio_manager.cc b/src/radio/radio_manager.cc index 84931ed2..a6871a84 100755 --- a/src/radio/radio_manager.cc +++ b/src/radio/radio_manager.cc @@ -436,10 +436,25 @@ void FMRadioManager::SeekDown(double callback_id) { void FMRadioManager::ScanStart(double callback_id) { LoggerD("Enter"); + radio_state_e state; + auto err = radio_get_state(radio_instance_, &state); + if (RADIO_ERROR_NONE != err) { + LoggerE("radio_get_state() failed: %d", err); + PostResultFailure(callback_id, GetPlatformResult("radio_get_state", err)); + return; + } + + if (RADIO_STATE_READY != state) { + LoggerE("Incorrect radio state"); + PostResultFailure(callback_id, + GetPlatformResult("Incorrect radio state", RADIO_ERROR_INVALID_STATE)); + return; + } + RadioScanData* user_data = new RadioScanData(*this); user_data->callback_id_ = callback_id; - auto err = radio_set_scan_completed_cb(radio_instance_, ScanCompleteCallback, + err = radio_set_scan_completed_cb(radio_instance_, ScanCompleteCallback, user_data); if (RADIO_ERROR_NONE != err) { PostResultFailure(callback_id,