[Alarm] Fix Alarm Relative not expired bug
authorbg.chun <bg.chun@samsung.com>
Mon, 11 Jan 2016 10:42:09 +0000 (19:42 +0900)
committerbg.chun <bg.chun@samsung.com>
Mon, 11 Jan 2016 10:48:06 +0000 (19:48 +0900)
Add alarm_schedule_once_after_delay(..) for trigger only once

[Verification] TCT pass rate (r25): 100% (61/61/0/0/0).

Change-Id: I4e68b89667ffa54498f52f0de9b2025c9f141c4e
Signed-off-by: bg.chun <bg.chun@samsung.com>
src/alarm/alarm_manager.cc

index 3f5799d7db056e5e1e61d462b613f89296fb4600..1981727a6a203858679bcbc9b0c3b21272db5dcd 100755 (executable)
@@ -138,7 +138,11 @@ void AlarmManager::Add(const picojson::value& args, picojson::object& out) {
       return;
     }
 
-    ret = alarm_schedule_after_delay(app_control, delay, period, &alarm_id);
+    if(period == 0){
+      ret = alarm_schedule_once_after_delay(app_control, delay, &alarm_id);
+    }else{
+      ret = alarm_schedule_after_delay(app_control, delay, period, &alarm_id);
+    }
     if (ALARM_ERROR_NONE != ret) {
       LogAndReportError(PlatformResult(
           ErrorCode::UNKNOWN_ERR, "Error while add alarm to server."), &out,