[Alarm] Fixing adding alarms 03/94303/1
authorSzymon Jastrzebski <s.jastrzebsk@partner.samsung.com>
Thu, 27 Oct 2016 09:54:30 +0000 (11:54 +0200)
committerSzymon Jastrzebski <s.jastrzebsk@partner.samsung.com>
Thu, 27 Oct 2016 10:16:23 +0000 (12:16 +0200)
[Feature] Adding alarms sets proper value of RecurrenceType
[Verification] TCT tests (Alarm) pass 100%

Change-Id: I50f8147543c1f92723b9b567c13b9e35bdb58f57
Signed-off-by: Szymon Jastrzebski <s.jastrzebsk@partner.samsung.com>
src/alarm/alarm_manager.cc

index 5a66ba6f9fec1cba692d948c801e58cba9a73941..5bc8d84dce1561f2cb6ed5769c3ea31c767be346 100755 (executable)
@@ -151,8 +151,6 @@ void AlarmManager::Add(const picojson::value& args, picojson::object& out) {
     }
   } else {
     app_control_add_extra_data(app_control, kAlarmKeyType, kAlarmTypeValueAbsolute);
-    app_control_add_extra_data(
-        app_control, kAlarmAbsoluteRecurrenceTypeKey, kAlarmAbsoluteRecurrenceTypeNone);
 
     const auto it_period = alarm.find("period");
     const auto it_daysOfTheWeek = alarm.find("daysOfTheWeek");
@@ -183,10 +181,14 @@ void AlarmManager::Add(const picojson::value& args, picojson::object& out) {
 
     int ret = 0;
     if (alarm.end() != it_period && it_period->second.is<double>()) {
+      app_control_add_extra_data(
+          app_control, kAlarmAbsoluteRecurrenceTypeKey, kAlarmAbsoluteReccurrenceTypeInterval);
       int period = static_cast<int>(it_period->second.get<double>());
       ret = alarm_schedule_at_date(app_control, &start_date, period, &alarm_id);
     } else if (alarm.end() != it_daysOfTheWeek && it_daysOfTheWeek->second.is<picojson::array>() &&
         !(it_daysOfTheWeek->second.get<picojson::array>()).empty()) {
+      app_control_add_extra_data(
+          app_control, kAlarmAbsoluteRecurrenceTypeKey, kAlarmAbsoluteReccurrenceTypeByDayValue);
       picojson::array days_of_the_week = it_daysOfTheWeek->second.get<picojson::array>();
       int repeat_value = 0;
       for (auto iter = days_of_the_week.begin(); iter != days_of_the_week.end(); ++iter) {
@@ -214,6 +216,8 @@ void AlarmManager::Add(const picojson::value& args, picojson::object& out) {
       ret = alarm_schedule_with_recurrence_week_flag(
                 app_control, &start_date, repeat_value, &alarm_id);
     } else {
+      app_control_add_extra_data(
+          app_control, kAlarmAbsoluteRecurrenceTypeKey, kAlarmAbsoluteRecurrenceTypeNone);
       ret = alarm_schedule_at_date(app_control, &start_date, 0, &alarm_id);
     }