diff --git a/frameworks/extension/src/js_work_scheduler_extension.cpp b/frameworks/extension/src/js_work_scheduler_extension.cpp index dac4eb50979726d17d053f95f13404fc242154fe..345e68decbe330d9b678bdb1a74a2706edf95046 100644 --- a/frameworks/extension/src/js_work_scheduler_extension.cpp +++ b/frameworks/extension/src/js_work_scheduler_extension.cpp @@ -156,7 +156,7 @@ void JsWorkSchedulerExtension::OnWorkStart(WorkInfo& workInfo) } uint32_t timeInterval = workInfo.GetTimeInterval(); - if (timeInterval != INVALID_VALUE) { + if (timeInterval > 0) { if (workInfo.IsRepeat()) { workInfoData->SetProperty("isRepeat", nativeEngine.CreateBoolean(true)); workInfoData->SetProperty("repeatCycleTime", nativeEngine.CreateNumber(timeInterval)); @@ -168,7 +168,7 @@ void JsWorkSchedulerExtension::OnWorkStart(WorkInfo& workInfo) NativeValue* argv[] = {jworkInfoData}; if (!jsObj_) { - WS_HILOGI("WorkSchedulerExtension Not found StaticSubscriberExtension.js"); + WS_HILOGI("WorkSchedulerExtension Not found js"); return; } @@ -230,7 +230,7 @@ void JsWorkSchedulerExtension::OnWorkStop(WorkInfo& workInfo) } uint32_t timeInterval = workInfo.GetTimeInterval(); - if (timeInterval != INVALID_VALUE) { + if (timeInterval > 0) { if (workInfo.IsRepeat()) { workInfoData->SetProperty("isRepeat", nativeEngine.CreateBoolean(true)); workInfoData->SetProperty("repeatCycleTime", nativeEngine.CreateNumber(timeInterval)); diff --git a/frameworks/src/work_info.cpp b/frameworks/src/work_info.cpp index af17c105e60525f47c586a9bc0732abf4d838b09..baef0cbecab5fffb9814b72b82b62ad9efbcb972 100644 --- a/frameworks/src/work_info.cpp +++ b/frameworks/src/work_info.cpp @@ -19,6 +19,7 @@ namespace OHOS { namespace WorkScheduler { const int INVALID_VALUE = -1; +const int INVALID_TIME_VALUE = 0; WorkInfo::WorkInfo() {} @@ -174,7 +175,7 @@ uint32_t WorkInfo::GetTimeInterval() if (conditionMap_.count(WorkCondition::Type::TIMER) > 0) { return conditionMap_.at(WorkCondition::Type::TIMER)->uintVal; } - return INVALID_VALUE; + return INVALID_TIME_VALUE; } int32_t WorkInfo::GetCycleCount() diff --git a/interfaces/kits/js/napi/src/common.cpp b/interfaces/kits/js/napi/src/common.cpp index 4fe196b7c0189f86cfe0b88856ed55962e65149d..1614df8e79e9c18d5209a6460c9cb02410e4e03e 100644 --- a/interfaces/kits/js/napi/src/common.cpp +++ b/interfaces/kits/js/napi/src/common.cpp @@ -335,10 +335,19 @@ napi_value Common::GetNapiWorkInfo(napi_env env, std::shared_ptr &work } // Set charge info. - if (workInfo->GetChargerType() != WorkCondition::Charger::CHARGING_UNKNOWN) { - napi_value napiChargingType = nullptr; - napi_create_int32(env, static_cast(workInfo->GetChargerType()), &napiChargingType); - napi_set_named_property(env, napiWork, "chargingType", napiChargingType); + WorkCondition::Charger charger = workInfo-> GetChargerType(); + if (charger != WorkCondition::Charger::CHARGING_UNKNOWN) { + napi_value napiIsCharging = nullptr; + if (charger == WorkCondition::Charger::CHARGING_UNPLUGGED) { + napi_get_boolean(env, false, &napiIsCharging); + napi_set_named_property(env, napiWork, "isCharging", napiIsCharging); + } else { + napi_get_boolean(env, true, &napiIsCharging); + napi_set_named_property(env, napiWork, "isCharging", napiIsCharging); + napi_value napiChargerType = nullptr; + napi_create_int32(env, static_cast(charger), &napiChargerType); + napi_set_named_property(env, napiWork, "chargerType", napiChargerType); + } } // Set batteryLevel info. @@ -362,6 +371,23 @@ napi_value Common::GetNapiWorkInfo(napi_env env, std::shared_ptr &work napi_set_named_property(env, napiWork, "storageRequest", napiStorageRequest); } + // Set timer info. + uint32_t timeInterval = workInfo->GetTimeInterval(); + if (timeInterval > 0) { + napi_value napiTimer = nullptr; + napi_create_int32(env, static_cast(timeInterval), &napiTimer); + napi_set_named_property(env, napiWork, "repeatCycleTime", napiTimer); + if (workInfo->IsRepeat()) { + napi_value napiIsRepeat = nullptr; + napi_get_boolean(env, true, &napiIsRepeat); + napi_set_named_property(env, napiWork, "isRepeat", napiIsRepeat); + } else { + napi_value napiCount = nullptr; + napi_create_int32(env, static_cast(workInfo->GetCycleCount()), &napiCount); + napi_set_named_property(env, napiWork, "repeatCount", napiCount); + } + } + return napiWork; }