[Alarm] - Checking if daysOfTheWeek property exists when Alarm::Add is called
authorAndrzej Popowski <a.popowski@samsung.com>
Fri, 16 Oct 2015 13:13:52 +0000 (15:13 +0200)
committerAndrzej Popowski <a.popowski@samsung.com>
Fri, 16 Oct 2015 13:13:52 +0000 (15:13 +0200)
Change-Id: Idaf064fdcb3efce4d9b7c72e53ddee368a060bfc
Signed-off-by: Andrzej Popowski <a.popowski@samsung.com>
src/alarm/alarm_manager.cc
src/alarm/alarm_utils.cc

index cc3604c215ab3cc66c0b7ee8e6c446fc305c1d03..066addc950c4eb6671ea75f643391c5d42efedd2 100755 (executable)
@@ -179,10 +179,10 @@ void AlarmManager::Add(const picojson::value& args, picojson::object& out) {
     app_control_add_extra_data(app_control, kAlarmAbsoluteDateKey, str_date);
 
     int ret = 0;
-    if (it_period->second.is<double>()) {
+    if (alarm.end() != it_period && it_period->second.is<double>()) {
       int period = static_cast<int>(it_period->second.get<double>());
       ret = alarm_schedule_at_date(app_control, &start_date, period, &alarm_id);
-    } else if (it_daysOfTheWeek->second.is<picojson::array>() &&
+    } else if (alarm.end() != it_daysOfTheWeek && it_daysOfTheWeek->second.is<picojson::array>() &&
         !(it_daysOfTheWeek->second.get<picojson::array>()).empty()) {
       picojson::array days_of_the_week = it_daysOfTheWeek->second.get<picojson::array>();
       int repeat_value = 0;
index 711e27832fad2bd7b91de06658d5b450368d4ff9..6068547e7d62ef2abd1b6e4b491e08f63302dd96 100755 (executable)
@@ -111,9 +111,7 @@ PlatformResult AppControlToServiceExtraData(const picojson::object& app_obj,
   size_t i = 0;
 
   for (auto iter = values.begin(); iter != values.end(); ++iter, ++i) {
-    if (iter->is<std::string>()) {
-      arr[i] = iter->get<std::string>().c_str();
-    }
+    arr[i] = iter->to_str().c_str();
   }
 
   int ret = APP_CONTROL_ERROR_NONE;