diff --git a/services/src/form_data_mgr.cpp b/services/src/form_data_mgr.cpp index 43a7fd0f6971b7fdd73039414f5dcf09a15b76f3..9047bdbba865a93e2f12ef9c50cb3cd4ee5b02e4 100644 --- a/services/src/form_data_mgr.cpp +++ b/services/src/form_data_mgr.cpp @@ -1454,6 +1454,7 @@ void FormDataMgr::ParseUpdateConfig(FormRecord &record, const FormItemInfo &info if (configDuration > 0) { ParseIntervalConfig(record, configDuration); } else { + record.isEnableUpdate = false; ParseAtTimerConfig(record, info); ParseMultiUpdateTimeConfig(record, info); } @@ -1510,6 +1511,7 @@ void FormDataMgr::ParseMultiUpdateTimeConfig(FormRecord &record, const FormItemI HILOG_INFO("parseAsUpdateAt updateAtTimes size:%{public}zu", updateAtTimes.size()); if (updateAtTimes.size() > 0) { record.updateAtTimes = updateAtTimes; + record.isEnableUpdate = true; } } @@ -1520,7 +1522,6 @@ void FormDataMgr::ParseMultiUpdateTimeConfig(FormRecord &record, const FormItemI */ void FormDataMgr::ParseAtTimerConfig(FormRecord &record, const FormItemInfo &info) const { - record.isEnableUpdate = false; record.updateDuration = 0; std::string configAtTime = info.GetScheduledUpdateTime(); HILOG_INFO("parseAsUpdateAt updateAt:%{public}s", configAtTime.c_str()); diff --git a/services/src/form_event_util.cpp b/services/src/form_event_util.cpp index 68093c82c91cd21d5315ab3a1e8c48042f7bfc16..2059873fdaeec6e6d2d0a84ce19f78f948040866 100644 --- a/services/src/form_event_util.cpp +++ b/services/src/form_event_util.cpp @@ -430,6 +430,7 @@ void FormEventUtil::SetTimerCfgByMultUpdate(const std::string &configMultUpdateA } if (updateAtTimes.size() > 0) { cfg.updateAtTimes = updateAtTimes; + cfg.enableUpdate = true; } } diff --git a/services/src/form_mgr_adapter.cpp b/services/src/form_mgr_adapter.cpp index 1895f36bc7592ed99576183a3fd1157d0974e51d..8a37db5026baf87a737772edd343038e036d3c21 100644 --- a/services/src/form_mgr_adapter.cpp +++ b/services/src/form_mgr_adapter.cpp @@ -1721,23 +1721,16 @@ ErrCode FormMgrAdapter::AddFormTimer(const FormRecord &formRecord) updateDuration, formRecord.providerUserId); return ret ? ERR_OK : ERR_APPEXECFWK_FORM_COMMON_CODE; } - bool scheduledUpdateFlag = false; - bool result1 = true; - if (formRecord.updateAtHour >= 0 && formRecord.updateAtMin >= 0) { - scheduledUpdateFlag = true; - result1 = FormTimerMgr::GetInstance().AddFormTimer(formRecord.formId, - formRecord.updateAtHour, formRecord.updateAtMin, formRecord.providerUserId); - } - bool result2 = true; std::vector> updateAtTimes = formRecord.updateAtTimes; if (updateAtTimes.size() > 0) { - scheduledUpdateFlag = true; HILOG_INFO("updateAtTimes size:%{public}zu", updateAtTimes.size()); - result2 = FormTimerMgr::GetInstance().AddFormTimerForMultiUpdate(formRecord.formId, + bool ret = FormTimerMgr::GetInstance().AddFormTimerForMultiUpdate(formRecord.formId, updateAtTimes, formRecord.providerUserId); - } - if (scheduledUpdateFlag) { - return (result1 && result2)? ERR_OK : ERR_APPEXECFWK_FORM_COMMON_CODE; + return ret ? ERR_OK : ERR_APPEXECFWK_FORM_COMMON_CODE; + } else if (formRecord.updateAtHour >= 0 && formRecord.updateAtMin >= 0) { + bool ret = FormTimerMgr::GetInstance().AddFormTimer(formRecord.formId, + formRecord.updateAtHour, formRecord.updateAtMin, formRecord.providerUserId); + return ret ? ERR_OK : ERR_APPEXECFWK_FORM_COMMON_CODE; } HILOG_INFO("no need add form timer"); return ERR_OK;