[FMRadio] Core api automatically sets seeked frequency
authorPrzemyslaw Ciezkowski <p.ciezkowski@samsung.com>
Wed, 20 May 2015 13:25:07 +0000 (15:25 +0200)
committerPrzemyslaw Ciezkowski <p.ciezkowski@samsung.com>
Tue, 26 May 2015 11:44:12 +0000 (13:44 +0200)
No need to call radio_set_frequency()

[Verification]
100% pass rate on mobile emulator

Change-Id: I9841b68981a95e6b4498d341ee7015405e83ea06
Signed-off-by: Przemyslaw Ciezkowski <p.ciezkowski@samsung.com>
src/radio/radio_manager.cc

index d9c66422b72fa94723c58df94e2ed60d30450f07..586c6e1f246b3e4715116c4ab1d6a75f396c91b5 100755 (executable)
@@ -25,6 +25,9 @@ namespace radio {
 
 namespace {
 
+const int kLowestFrequency = 87500;
+const int kHighestFrequency = 108000;
+
 const char* RADIO_STATE_ERROR = "ERROR";
 std::map<radio_state_e, const char*> radio_state = {
   { RADIO_STATE_READY, "READY" },
@@ -110,21 +113,20 @@ struct RadioScanData : public RadioData {
 };
 
 void RadioSeekCallback(int frequency, void* user_data) {
-  LoggerD("Enter");
+  LoggerD("Enter, freq: %d", frequency);
 
   RadioData* data = static_cast<RadioData*>(user_data);
-  PlatformResult result = data->manager_.SetFrequency(ToMHz(frequency));
 
-  if (result) {
+  if (frequency >= kLowestFrequency && frequency <= kHighestFrequency) {
     common::TaskQueue::GetInstance().Async(std::bind(
       &FMRadioManager::PostResultCallbackSuccess, &data->manager_,
       data->callback_id_));
   } else {
     common::TaskQueue::GetInstance().Async(std::bind(
       &FMRadioManager::PostResultFailure, &data->manager_,
-      data->callback_id_, result));
+      data->callback_id_, PlatformResult(ErrorCode::UNKNOWN_ERR,
+        "Unsupported frequency")));
   }
-
   delete data;
 }
 
@@ -295,6 +297,7 @@ double FMRadioManager::GetFrequency() {
     LoggerE("radio_get_frequency() failed: %d", err);
     return FREQ_LOWER;
   } else {
+    LoggerD("Frequency: %d", frequency);
     return ToMHz(frequency);
   }
 }