diff --git a/frameworks/native/backup_kit_inner/src/service_proxy.cpp b/frameworks/native/backup_kit_inner/src/service_proxy.cpp index 42e3a1d851b30be8e11230a372af18487acd5362..02685d1b5ec8bb1f6bf1736a224e0ced31ae9310 100644 --- a/frameworks/native/backup_kit_inner/src/service_proxy.cpp +++ b/frameworks/native/backup_kit_inner/src/service_proxy.cpp @@ -556,7 +556,7 @@ ErrCode ServiceProxy::GetBackupInfo(BundleName &bundleName, std::string &result) return BError(BError::Codes::OK, "success"); } -ErrCode ServiceProxy::UpdateTimer(BundleName &bundleName, uint32_t timeOut, bool &result) +ErrCode ServiceProxy::UpdateTimer(BundleName &bundleName, uint32_t timeout, bool &result) { HILOGI("ServiceProxy UpdateTimer Begin."); BExcepUltils::BAssert(Remote(), BError::Codes::SDK_INVAL_ARG, "Remote is nullptr"); @@ -567,8 +567,8 @@ ErrCode ServiceProxy::UpdateTimer(BundleName &bundleName, uint32_t timeOut, bool if (!data.WriteString(bundleName)) { return BError(BError::Codes::SDK_INVAL_ARG, "Failed to send bundleName").GetCode(); } - if (!data.WriteUint32(timeOut)) { - return BError(BError::Codes::SDK_INVAL_ARG, "Failed to send timeOut").GetCode(); + if (!data.WriteUint32(timeout)) { + return BError(BError::Codes::SDK_INVAL_ARG, "Failed to send timeout").GetCode(); } MessageParcel reply; MessageOption option; diff --git a/interfaces/inner_api/native/backup_kit_inner/impl/i_service.h b/interfaces/inner_api/native/backup_kit_inner/impl/i_service.h index df6fba35e85c223d66080a66276a7bfa0a95beeb..6dee18fc376fc35c1ec94c80b39bf7f4593fdf50 100644 --- a/interfaces/inner_api/native/backup_kit_inner/impl/i_service.h +++ b/interfaces/inner_api/native/backup_kit_inner/impl/i_service.h @@ -83,7 +83,7 @@ public: virtual ErrCode AppIncrementalDone(ErrCode errCode) = 0; virtual ErrCode GetIncrementalFileHandle(const std::string &bundleName, const std::string &fileName) = 0; virtual ErrCode GetBackupInfo(BundleName &bundleName, std::string &result) = 0; - virtual ErrCode UpdateTimer(BundleName &bundleName, uint32_t timeOut, bool &result) = 0; + virtual ErrCode UpdateTimer(BundleName &bundleName, uint32_t timeout, bool &result) = 0; virtual ErrCode UpdateSendRate(std::string &bundleName, int32_t sendRate, bool &result) = 0; virtual ErrCode ReportAppProcessInfo(const std::string processInfo, const BackupRestoreScenario sennario) = 0; virtual ErrCode StartExtTimer(bool &isExtStart) = 0; diff --git a/interfaces/inner_api/native/backup_kit_inner/impl/service_proxy.h b/interfaces/inner_api/native/backup_kit_inner/impl/service_proxy.h index 1240330564cdc14f13239cb76340c85428dce4e1..083cfcb2d7452965ac98258425b083669eadd4c1 100644 --- a/interfaces/inner_api/native/backup_kit_inner/impl/service_proxy.h +++ b/interfaces/inner_api/native/backup_kit_inner/impl/service_proxy.h @@ -66,7 +66,7 @@ public: ErrCode AppIncrementalDone(ErrCode errCode) override; ErrCode GetIncrementalFileHandle(const std::string &bundleName, const std::string &fileName) override; ErrCode GetBackupInfo(BundleName &bundleName, std::string &result) override; - ErrCode UpdateTimer(BundleName &bundleName, uint32_t timeOut, bool &result) override; + ErrCode UpdateTimer(BundleName &bundleName, uint32_t timeout, bool &result) override; ErrCode UpdateSendRate(std::string &bundleName, int32_t sendRate, bool &result) override; ErrCode ReportAppProcessInfo(const std::string processInfo, const BackupRestoreScenario sennario) override; ErrCode StartExtTimer(bool &isExtStart) override; diff --git a/interfaces/kits/js/backup/prop_n_operation.cpp b/interfaces/kits/js/backup/prop_n_operation.cpp index 6e27a070019529bb28fad8bb0f91d44f9f777f6c..08031fb076a632949288bfa53c66f08769b0efcb 100644 --- a/interfaces/kits/js/backup/prop_n_operation.cpp +++ b/interfaces/kits/js/backup/prop_n_operation.cpp @@ -247,35 +247,35 @@ napi_value PropNOperation::DoGetBackupInfo(napi_env env, napi_callback_info info return nResult; } -bool PropNOperation::UpdateTimer(std::string &bundleName, uint32_t timeOut) +bool PropNOperation::UpdateSendRate(std::string &bundleName, int32_t sendRate) { bool result = false; ServiceProxy::InvaildInstance(); auto proxy = ServiceProxy::GetInstance(); if (!proxy) { - HILOGE("called DoUpdateTimer,failed to get proxy"); + HILOGE("called UpdateSendRate,failed to get proxy"); return result; } - ErrCode errcode = proxy->UpdateTimer(bundleName, timeOut, result); - if (errcode != 0) { - HILOGE("proxy->UpdateTimer faild."); + ErrCode errCode = proxy->UpdateSendRate(bundleName, sendRate, result); + if (errCode != 0) { + HILOGE("Proxy execute UpdateSendRate failed. errCode:%{public}d", errCode); return result; } return result; } -bool PropNOperation::UpdateSendRate(std::string &bundleName, int32_t sendRate) +bool PropNOperation::UpdateTimer(std::string &bundleName, uint32_t timeout) { bool result = false; ServiceProxy::InvaildInstance(); auto proxy = ServiceProxy::GetInstance(); if (!proxy) { - HILOGE("called UpdateSendRate,failed to get proxy"); + HILOGE("called DoUpdateTimer,failed to get proxy"); return result; } - ErrCode errCode = proxy->UpdateSendRate(bundleName, sendRate, result); - if (errCode != 0) { - HILOGE("Proxy execute UpdateSendRate failed. errCode:%{public}d", errCode); + ErrCode errcode = proxy->UpdateTimer(bundleName, timeout, result); + if (errcode != 0) { + HILOGE("proxy->UpdateTimer faild."); return result; } return result; @@ -309,15 +309,15 @@ napi_value PropNOperation::DoUpdateTimer(napi_env env, napi_callback_info info) } NVal jsBundleInt(env, funcArg[NARG_POS::SECOND]); auto [succInt, time] = jsBundleInt.ToInt32(); - if (!succInt || time <= 0 || time > static_cast(BConstants::H2MS)) { + if (!succInt || time < 0 || time > static_cast(BConstants::MAX_UPDATE_TIMER)) { HILOGE("Second argument is not number."); NError(E_PARAMS).ThrowErr(env); return nullptr; } std::string bundleName = bundle.get(); - uint32_t timeOut = static_cast(time); - bool result = UpdateTimer(bundleName, timeOut); + uint32_t timeout = static_cast(time); + bool result = UpdateTimer(bundleName, timeout); napi_value nResult; napi_status status = napi_get_boolean(env, result, &nResult); diff --git a/interfaces/kits/js/backup/prop_n_operation.h b/interfaces/kits/js/backup/prop_n_operation.h index b6d746f00db10c7db72408c4ea83f3bbffcf0fed..7137d8d14d7ac98fc9586306a4e0781752d61b04 100644 --- a/interfaces/kits/js/backup/prop_n_operation.h +++ b/interfaces/kits/js/backup/prop_n_operation.h @@ -26,7 +26,7 @@ public: static napi_value DoUpdateTimer(napi_env env, napi_callback_info info); static napi_value DoUpdateSendRate(napi_env env, napi_callback_info info); private: - static bool UpdateTimer(std::string &bundleName, uint32_t timeOut); + static bool UpdateTimer(std::string &bundleName, uint32_t timeout); static bool UpdateSendRate(std::string &bundleName, int32_t sendRate); }; diff --git a/services/backup_sa/include/module_ipc/service.h b/services/backup_sa/include/module_ipc/service.h index 7988b0fbe779edae05e40cb00e4b3ff18d073b29..1aeeb1a159f8623fcf85fc1c53045c568bfe676f 100644 --- a/services/backup_sa/include/module_ipc/service.h +++ b/services/backup_sa/include/module_ipc/service.h @@ -75,7 +75,7 @@ public: ErrCode AppIncrementalDone(ErrCode errCode) override; ErrCode GetIncrementalFileHandle(const std::string &bundleName, const std::string &fileName) override; ErrCode GetBackupInfo(BundleName &bundleName, std::string &result) override; - ErrCode UpdateTimer(BundleName &bundleName, uint32_t timeOut, bool &result) override; + ErrCode UpdateTimer(BundleName &bundleName, uint32_t timeout, bool &result) override; ErrCode UpdateSendRate(std::string &bundleName, int32_t sendRate, bool &result) override; ErrCode ReportAppProcessInfo(const std::string processInfo, const BackupRestoreScenario sennario) override; ErrCode StartExtTimer(bool &isExtStart) override; @@ -238,6 +238,14 @@ public: */ std::function TimeOutCallback(wptr ptr, std::string bundleName); + /** + * @brief do timeout + * + * @param ptr 当前对象 + * @param bundleName 应用名称 + */ + void DoTimeout(wptr ptr, std::string bundleName); + public: explicit Service(int32_t saID, bool runOnCreate = false) : SystemAbility(saID, runOnCreate) { diff --git a/services/backup_sa/include/module_ipc/svc_session_manager.h b/services/backup_sa/include/module_ipc/svc_session_manager.h index 676d2d2052bee9b883ddc8dd1d362afbb31d6699..3af78b1ff662f98e8ab58c4e9a459f3b28631de7 100644 --- a/services/backup_sa/include/module_ipc/svc_session_manager.h +++ b/services/backup_sa/include/module_ipc/svc_session_manager.h @@ -60,7 +60,7 @@ struct BackupExtInfo { /* Timer Status: true is start & false is stop */ bool extTimerStatus {false}; bool fwkTimerStatus {false}; - uint32_t timeCount; + uint32_t timeout; uint32_t startTime; int64_t dataSize; int64_t lastIncrementalTime; @@ -425,11 +425,11 @@ public: * @brief 重新设置定时器 * * @param bundleName 应用名称 - * @param timeOut 超时时间 + * @param timeout 超时时间 * @return true * @return false */ - bool UpdateTimer(const std::string &bundleName, uint32_t timeOut, + bool UpdateTimer(const std::string &bundleName, uint32_t timeout, const Utils::Timer::TimerCallback &callback); /** diff --git a/services/backup_sa/src/module_ipc/service.cpp b/services/backup_sa/src/module_ipc/service.cpp index 76ea9057b0315726cc3d064d5614dff6ce137795..c48dfcea20b5110f52a97e215cf3cc6b6f9df177 100644 --- a/services/backup_sa/src/module_ipc/service.cpp +++ b/services/backup_sa/src/module_ipc/service.cpp @@ -1647,7 +1647,42 @@ ErrCode Service::StartFwkTimer(bool &isFwkStart) } } -ErrCode Service::UpdateTimer(BundleName &bundleName, uint32_t timeOut, bool &result) +ErrCode Service::AppendBundlesClearSession(const std::vector &bundleNames) +{ + HITRACE_METER_NAME(HITRACE_TAG_FILEMANAGEMENT, __PRETTY_FUNCTION__); + try { + if (bundleNames.empty() || session_ == nullptr) { + HILOGE("Init Incremental backup session error, session is empty"); + return BError(BError::Codes::SA_INVAL_ARG); + } + session_->IncreaseSessionCnt(__PRETTY_FUNCTION__); // BundleMgrAdapter::GetBundleInfos可能耗时 + auto backupInfos = BundleMgrAdapter::GetBundleInfos(bundleNames, session_->GetSessionUserId()); + session_->AppendBundles(bundleNames); + for (auto info : backupInfos) { + session_->SetBackupExtName(info.name, info.extensionName); + } + OnStartSched(); + session_->DecreaseSessionCnt(__PRETTY_FUNCTION__); + return BError(BError::Codes::OK); + } catch (const BError &e) { + HandleExceptionOnAppendBundles(session_, bundleNames, {}); + session_->DecreaseSessionCnt(__PRETTY_FUNCTION__); + HILOGE("Failed, errCode = %{public}d", e.GetCode()); + return e.GetCode(); + } catch (const exception &e) { + HandleExceptionOnAppendBundles(session_, bundleNames, {}); + session_->DecreaseSessionCnt(__PRETTY_FUNCTION__); + HILOGE("Catched an unexpected low-level exception %{public}s", e.what()); + return EPERM; + } catch (...) { + HandleExceptionOnAppendBundles(session_, bundleNames, {}); + session_->DecreaseSessionCnt(__PRETTY_FUNCTION__); + HILOGE("Unexpected exception"); + return EPERM; + } +} + +ErrCode Service::UpdateTimer(BundleName &bundleName, uint32_t timeout, bool &result) { auto timeoutCallback = [ptr {wptr(this)}, bundleName]() { HILOGE("Backup <%{public}s> Extension Process Timeout", bundleName.c_str()); @@ -1683,8 +1718,8 @@ ErrCode Service::UpdateTimer(BundleName &bundleName, uint32_t timeOut, bool &res } session_->IncreaseSessionCnt(); VerifyCaller(); - result = session_->UpdateTimer(bundleName, timeOut, timeoutCallback); - session_->DecreaseSessionCnt(); + result = session_->UpdateTimer(bundleName, timeout, timeoutCallback); + session_->DecreaseSessionCnt(__PRETTY_FUNCTION__); return BError(BError::Codes::OK); } catch (...) { result = false; @@ -1866,35 +1901,15 @@ ErrCode Service::ReportAppProcessInfo(const std::string processInfo, BackupResto std::function Service::TimeOutCallback(wptr ptr, std::string bundleName) { - return [ptr, bundleName]() { + return [ptr, bundleName, this]() { HILOGI("begin timeoutCallback bundleName = %{public}s", bundleName.c_str()); auto thisPtr = ptr.promote(); if (!thisPtr) { HILOGE("ServicePtr is nullptr."); return; } - auto sessionPtr = thisPtr->session_; - if (sessionPtr == nullptr) { - HILOGE("SessionPtr is nullptr."); - return; - } try { - if (SAUtils::IsSABundleName(bundleName)) { - auto sessionConnection = sessionPtr->GetSAExtConnection(bundleName); - shared_ptr saConnection = sessionConnection.lock(); - if (saConnection == nullptr) { - HILOGE("lock sa connection ptr is nullptr"); - return; - } - saConnection->DisconnectBackupSAExt(); - } else { - auto sessionConnection = sessionPtr->GetExtConnection(bundleName); - sessionConnection->DisconnectBackupExtAbility(); - } - sessionPtr->StopFwkTimer(bundleName); - sessionPtr->StopExtTimer(bundleName); - thisPtr->ClearSessionAndSchedInfo(bundleName); - thisPtr->NoticeClientFinish(bundleName, BError(BError::Codes::EXT_ABILITY_TIMEOUT)); + DoTimeout(thisPtr, bundleName); } catch (...) { HILOGE("Unexpected exception, bundleName: %{public}s", bundleName.c_str()); thisPtr->ClearSessionAndSchedInfo(bundleName); @@ -1902,4 +1917,51 @@ std::function Service::TimeOutCallback(wptr ptr, std::string bu } }; } + +void Service::DoTimeout(wptr ptr, std::string bundleName) +{ + auto thisPtr = ptr.promote(); + if (!thisPtr) { + HILOGE("ServicePtr is nullptr."); + return; + } + auto sessionPtr = thisPtr->session_; + if (sessionPtr == nullptr) { + HILOGE("SessionPtr is nullptr."); + return; + } + IServiceReverse::Scenario scenario = sessionPtr->GetScenario(); + int32_t errCode = BError(BError::Codes::EXT_ABILITY_TIMEOUT).GetCode(); + if (scenario == IServiceReverse::Scenario::BACKUP) { + AppRadar::Info info(bundleName, "", "on backup timeout"); + AppRadar::GetInstance().RecordBackupFuncRes(info, "Service::TimeOutCallback", GetUserIdDefault(), + BizStageBackup::BIZ_STAGE_ON_BACKUP, errCode); + } else if (scenario == IServiceReverse::Scenario::RESTORE) { + AppRadar::Info info(bundleName, "", "on restore timeout"); + AppRadar::GetInstance().RecordRestoreFuncRes(info, "Service::TimeOutCallback", GetUserIdDefault(), + BizStageRestore::BIZ_STAGE_ON_RESTORE, errCode); + } + try { + if (SAUtils::IsSABundleName(bundleName)) { + auto sessionConnection = sessionPtr->GetSAExtConnection(bundleName); + shared_ptr saConnection = sessionConnection.lock(); + if (saConnection == nullptr) { + HILOGE("lock sa connection ptr is nullptr"); + return; + } + saConnection->DisconnectBackupSAExt(); + } else { + auto sessionConnection = sessionPtr->GetExtConnection(bundleName); + sessionConnection->DisconnectBackupExtAbility(); + } + sessionPtr->StopFwkTimer(bundleName); + sessionPtr->StopExtTimer(bundleName); + thisPtr->ClearSessionAndSchedInfo(bundleName); + thisPtr->NoticeClientFinish(bundleName, BError(BError::Codes::EXT_ABILITY_TIMEOUT)); + } catch (...) { + HILOGE("Unexpected exception, bundleName: %{public}s", bundleName.c_str()); + thisPtr->ClearSessionAndSchedInfo(bundleName); + thisPtr->NoticeClientFinish(bundleName, BError(BError::Codes::EXT_ABILITY_TIMEOUT)); + } +} } // namespace OHOS::FileManagement::Backup diff --git a/services/backup_sa/src/module_ipc/service_stub.cpp b/services/backup_sa/src/module_ipc/service_stub.cpp index 2a33374a7d6659ebdb1f95869f4591cab8eb83c9..ed8b298abc71bc619f06376baad4b41526f5ce73 100644 --- a/services/backup_sa/src/module_ipc/service_stub.cpp +++ b/services/backup_sa/src/module_ipc/service_stub.cpp @@ -414,12 +414,12 @@ int32_t ServiceStub::CmdUpdateTimer(MessageParcel &data, MessageParcel &reply) if (!data.ReadString(bundleName)) { return BError(BError::Codes::SA_BROKEN_IPC, string("Failed to recive bundleName")); } - uint32_t timeOut; - if (!data.ReadUint32(timeOut)) { - return BError(BError::Codes::SA_BROKEN_IPC, string("Failed to recive timeOut")); + uint32_t timeout; + if (!data.ReadUint32(timeout)) { + return BError(BError::Codes::SA_BROKEN_IPC, string("Failed to recive timeout")); } bool result; - ret = UpdateTimer(bundleName, timeOut, result); + ret = UpdateTimer(bundleName, timeout, result); if (ret != ERR_OK) { return BError(BError::Codes::SA_BROKEN_IPC, string("Failed to call UpdateTimer")); } diff --git a/services/backup_sa/src/module_ipc/svc_session_manager.cpp b/services/backup_sa/src/module_ipc/svc_session_manager.cpp index e8caf7d7c778450935ac101069b5619607b701d8..377b0c4a098662b332793ad9995e6c8c41085bd9 100644 --- a/services/backup_sa/src/module_ipc/svc_session_manager.cpp +++ b/services/backup_sa/src/module_ipc/svc_session_manager.cpp @@ -758,11 +758,9 @@ bool SvcSessionManager::StartExtTimer(const std::string &bundleName, const Utils HILOGE("ExtTimer is registered, unregister first."); return false; } - uint32_t timeout = it->second.timeCount; - timeout = (timeout != 0) ? timeout : CalAppProcessTime(bundleName); + uint32_t timeout = it->second.timeout; + timeout = (timeout != 0) ? timeout : BConstants::DEFAULT_TIMEOUT; it->second.extTimerStatus = true; - it->second.startTime = static_cast(TimeUtils::GetTimeMS()); - it->second.timeCount = timeout; it->second.timerId = timer_.Register(callback, timeout, true); HILOGI("StartExtTimer end, timeout %{public}u(ms), bundleName %{public}s", timeout, bundleName.c_str()); return true; @@ -783,14 +781,13 @@ bool SvcSessionManager::StopExtTimer(const std::string &bundleName) } it->second.extTimerStatus = false; - it->second.startTime = 0; - it->second.timeCount = 0; + it->second.timeout = 0; timer_.Unregister(it->second.timerId); HILOGI("StopExtTimer end bundleName %{public}s", bundleName.c_str()); return true; } -bool SvcSessionManager::UpdateTimer(const std::string &bundleName, uint32_t timeOut, +bool SvcSessionManager::UpdateTimer(const std::string &bundleName, uint32_t timeout, const Utils::Timer::TimerCallback &callback) { unique_lock lock(lock_); @@ -799,28 +796,25 @@ bool SvcSessionManager::UpdateTimer(const std::string &bundleName, uint32_t time HILOGE("No caller token was specified"); return false; } - + if (timeout == BConstants::TIMEOUT_NOW) { + auto revPtrStrong = reversePtr_.promote(); + if (!revPtrStrong) { + HILOGW("Backup sa died, update timeout zero failed."); + return false; + } + revPtrStrong->DoTimeout(revPtrStrong, bundleName); + return true; + } auto it = GetBackupExtNameMap(bundleName); + it->second.timeout = timeout; if (it->second.extTimerStatus == false) { - HILOGI("ExtTimer is unregistered, just count. timeout %{public}u(ms), timeCount %{public}u(ms)", - timeOut, it->second.timeCount); + HILOGI("ExtTimer is unregistered, just store timeout %{public}u(ms)", timeout); return true; } - if (it->second.startTime == 0) { - HILOGE("ExtTimer is registered, but start time is zero."); - return false; - } - - it->second.timeCount += timeOut; - uint32_t updateTime = static_cast(TimeUtils::GetTimeMS()); - uint32_t elapseTime = updateTime - it->second.startTime; - uint32_t realTimeout = it->second.timeCount - elapseTime; timer_.Unregister(it->second.timerId); - HILOGI("UpdateTimer timeout %{public}u(ms), timeCount %{public}u(ms), elapseTime %{public}u(ms)," - "realTimeout %{public}u(ms), bundleName %{public}s ", - timeOut, it->second.timeCount, elapseTime, realTimeout, bundleName.c_str()); - it->second.timerId = timer_.Register(callback, realTimeout, true); + HILOGI("UpdateTimer timeout %{public}u(ms), bundleName %{public}s ", timeout, bundleName.c_str()); + it->second.timerId = timer_.Register(callback, timeout, true); it->second.extTimerStatus = true; HILOGI("UpdateTimer end bundleName %{public}s", bundleName.c_str()); return true; diff --git a/test/fuzztest/backupservicestub_fuzzer/backupservicestub_fuzzer.cpp b/test/fuzztest/backupservicestub_fuzzer/backupservicestub_fuzzer.cpp index 854692d2cacdcf8b82c861016d8d9f75590ced0c..b3c714e657930d70deb33921cba61a1f83e6e395 100644 --- a/test/fuzztest/backupservicestub_fuzzer/backupservicestub_fuzzer.cpp +++ b/test/fuzztest/backupservicestub_fuzzer/backupservicestub_fuzzer.cpp @@ -574,9 +574,9 @@ bool CmdUpdateTimerFuzzTest(sptr service, const uint8_t *data, size_t s try { int pos = 0; - int32_t timeOut = TypeCast(data, &pos); + int32_t timeout = TypeCast(data, &pos); msg.WriteString(string(reinterpret_cast(data + pos), size - pos)); - msg.WriteInt32(timeOut); + msg.WriteInt32(timeout); service->CmdUpdateTimer(msg, reply); } catch (OHOS::FileManagement::Backup::BError &err) { // Only filter BError errors, Other results are not expected. diff --git a/tests/mock/backup_kit_inner/service_proxy_mock.cpp b/tests/mock/backup_kit_inner/service_proxy_mock.cpp index e3f5d656052382e2d1d6eda1b15f1543bcb081a2..ff12d2ca0a0b2124fa631915478cf9519b34bb44 100644 --- a/tests/mock/backup_kit_inner/service_proxy_mock.cpp +++ b/tests/mock/backup_kit_inner/service_proxy_mock.cpp @@ -177,7 +177,7 @@ ErrCode ServiceProxy::GetBackupInfo(std::string &bundleName, std::string &result return BError(BError::Codes::OK); } -ErrCode ServiceProxy::UpdateTimer(BundleName &bundleName, uint32_t timeOut, bool &result) +ErrCode ServiceProxy::UpdateTimer(BundleName &bundleName, uint32_t timeout, bool &result) { return BError(BError::Codes::OK); } diff --git a/tests/mock/module_ipc/service_mock.cpp b/tests/mock/module_ipc/service_mock.cpp index 7da582128bd32d33d517818fb7373c38505df7b8..a8c69d763790e52cbd3f0a96ed784025d9816302 100644 --- a/tests/mock/module_ipc/service_mock.cpp +++ b/tests/mock/module_ipc/service_mock.cpp @@ -226,7 +226,7 @@ ErrCode Service::StartFwkTimer(bool &isFwkStart) return BError(BError::Codes::OK); } -ErrCode Service::UpdateTimer(BundleName &bundleName, uint32_t timeOut, bool &result) +ErrCode Service::UpdateTimer(BundleName &bundleName, uint32_t timeout, bool &result) { return BError(BError::Codes::OK); } diff --git a/tests/mock/module_ipc/service_stub_mock.cpp b/tests/mock/module_ipc/service_stub_mock.cpp index a67743d5828b0ef9f0fa66a286808cf7272fbe77..dfc837dbf625db53329eb16993eded3e6d5fa3f5 100644 --- a/tests/mock/module_ipc/service_stub_mock.cpp +++ b/tests/mock/module_ipc/service_stub_mock.cpp @@ -242,12 +242,12 @@ int32_t ServiceStub::CmdUpdateTimer(MessageParcel &data, MessageParcel &reply) if (!data.ReadString(bundleName)) { return BError(BError::Codes::SA_BROKEN_IPC, string("Failed to recive bundleName")); } - uint32_t timeOut; - if (!data.ReadUint32(timeOut)) { - return BError(BError::Codes::SA_BROKEN_IPC, string("Failed to recive timeOut")); + uint32_t timeout; + if (!data.ReadUint32(timeout)) { + return BError(BError::Codes::SA_BROKEN_IPC, string("Failed to recive timeout")); } bool result; - ret = UpdateTimer(bundleName, timeOut, result); + ret = UpdateTimer(bundleName, timeout, result); return BError(BError::Codes::OK); } diff --git a/tests/mock/module_ipc/svc_session_manager_mock.cpp b/tests/mock/module_ipc/svc_session_manager_mock.cpp index dcaf5e5ec6b56ea6193181b37dd3f325c1ec68d3..6c86e703846e5eb10429d545884ce43e4e058fb8 100644 --- a/tests/mock/module_ipc/svc_session_manager_mock.cpp +++ b/tests/mock/module_ipc/svc_session_manager_mock.cpp @@ -374,7 +374,7 @@ bool SvcSessionManager::StopExtTimer(const std::string &bundleName) return true; } -bool SvcSessionManager::UpdateTimer(const std::string &bundleName, uint32_t timeOut, +bool SvcSessionManager::UpdateTimer(const std::string &bundleName, uint32_t timeout, const Utils::Timer::TimerCallback &callback) { return true; diff --git a/tests/mock/module_ipc/svc_session_manager_throw_mock.cpp b/tests/mock/module_ipc/svc_session_manager_throw_mock.cpp index 6176f43dde67d0e1213bc7d3ec67ed4336d0cc2f..ba711a96fb687a389c294618bd6f6beb46cfb1e8 100644 --- a/tests/mock/module_ipc/svc_session_manager_throw_mock.cpp +++ b/tests/mock/module_ipc/svc_session_manager_throw_mock.cpp @@ -239,10 +239,10 @@ bool SvcSessionManager::StopExtTimer(const std::string &bundleName) return BackupSvcSessionManager::session->StopExtTimer(bundleName); } -bool SvcSessionManager::UpdateTimer(const std::string &bundleName, uint32_t timeOut, +bool SvcSessionManager::UpdateTimer(const std::string &bundleName, uint32_t timeout, const Utils::Timer::TimerCallback &callback) { - return BackupSvcSessionManager::session->UpdateTimer(bundleName, timeOut, callback); + return BackupSvcSessionManager::session->UpdateTimer(bundleName, timeout, callback); } void SvcSessionManager::IncreaseSessionCnt() diff --git a/tests/unittests/backup_api/backup_impl/include/i_service_mock.h b/tests/unittests/backup_api/backup_impl/include/i_service_mock.h index 9e153ceda5d8843c68f438b0dd7917c75d5b1506..ec2a2867f161d07687a5110db764a1564a6ba81f 100644 --- a/tests/unittests/backup_api/backup_impl/include/i_service_mock.h +++ b/tests/unittests/backup_api/backup_impl/include/i_service_mock.h @@ -138,7 +138,7 @@ public: return BError(BError::Codes::OK); } - ErrCode UpdateTimer(BundleName &bundleName, uint32_t timeOut, bool &result) override + ErrCode UpdateTimer(BundleName &bundleName, uint32_t timeout, bool &result) override { return BError(BError::Codes::OK); } diff --git a/tests/unittests/backup_api/backup_impl/service_proxy_test.cpp b/tests/unittests/backup_api/backup_impl/service_proxy_test.cpp index f95584e61d204e60609cb74b85bad115a9010f73..17f01f4f5d4d5f4c70d2ea72f2720fb5991d4bc7 100644 --- a/tests/unittests/backup_api/backup_impl/service_proxy_test.cpp +++ b/tests/unittests/backup_api/backup_impl/service_proxy_test.cpp @@ -896,8 +896,8 @@ HWTEST_F(ServiceProxyTest, SUB_Service_proxy_UpdateTimer_0100, testing::ext::Tes .WillOnce(Invoke(mock_.GetRefPtr(), &IServiceMock::InvokeSendRequest)); bool result; std::string bundleName = "com.example.app2backup"; - uint32_t timeOut = 30000; - int32_t ret = proxy_->UpdateTimer(bundleName, timeOut, result); + uint32_t timeout = 30000; + int32_t ret = proxy_->UpdateTimer(bundleName, timeout, result); EXPECT_EQ(ret, BError(BError::Codes::OK)); GTEST_LOG_(INFO) << "ServiceProxyTest-end SUB_Service_proxy_UpdateTimer_0100"; } diff --git a/tests/unittests/backup_sa/module_ipc/service_stub_test.cpp b/tests/unittests/backup_sa/module_ipc/service_stub_test.cpp index 12e28744b54c4b48e27711fe15990b682c45dd1a..7fb8b7e48ad38dbcf45a2e9070cc1df7d2087d96 100644 --- a/tests/unittests/backup_sa/module_ipc/service_stub_test.cpp +++ b/tests/unittests/backup_sa/module_ipc/service_stub_test.cpp @@ -79,7 +79,7 @@ public: MOCK_METHOD1(AppIncrementalDone, ErrCode(ErrCode errCode)); MOCK_METHOD2(GetIncrementalFileHandle, ErrCode(const std::string &bundleName, const std::string &fileName)); MOCK_METHOD2(GetBackupInfo, ErrCode(string &bundleName, string &result)); - MOCK_METHOD3(UpdateTimer, ErrCode(BundleName &bundleName, uint32_t timeOut, bool &result)); + MOCK_METHOD3(UpdateTimer, ErrCode(BundleName &bundleName, uint32_t timeout, bool &result)); MOCK_METHOD1(StartExtTimer, ErrCode(bool &isExtStart)); MOCK_METHOD1(StartFwkTimer, ErrCode(bool &isFwkStart)); MOCK_METHOD3(UpdateSendRate, ErrCode(std::string &bundleName, int32_t sendRate, bool &result)); diff --git a/tests/unittests/backup_sa/module_ipc/service_test.cpp b/tests/unittests/backup_sa/module_ipc/service_test.cpp index f2e6511c836431e60978f9761538af5bdf55046a..32c8d0fd17133ec931fcc99071206d7e6bd575f4 100644 --- a/tests/unittests/backup_sa/module_ipc/service_test.cpp +++ b/tests/unittests/backup_sa/module_ipc/service_test.cpp @@ -936,9 +936,9 @@ HWTEST_F(ServiceTest, SUB_Service_UpdateTimer_0100, testing::ext::TestSize.Level try { std::string bundleName = "com.example.app2backup"; bool result = true; - uint32_t timeOut = 30000; + uint32_t timeout = 30000; EXPECT_TRUE(servicePtr_ != nullptr); - servicePtr_->UpdateTimer(bundleName, timeOut, result); + servicePtr_->UpdateTimer(bundleName, timeout, result); } catch (...) { EXPECT_TRUE(false); GTEST_LOG_(INFO) << "ServiceTest-an exception occurred by UpdateTimer."; diff --git a/tests/unittests/backup_sa/session/service_proxy_mock.cpp b/tests/unittests/backup_sa/session/service_proxy_mock.cpp index 22c1556bfc7deb5707b94fb79764a60ce42a2a95..7915ba94c54c5f49173d151fb11d06ed7f2ab077 100644 --- a/tests/unittests/backup_sa/session/service_proxy_mock.cpp +++ b/tests/unittests/backup_sa/session/service_proxy_mock.cpp @@ -157,7 +157,7 @@ ErrCode ServiceProxy::GetBackupInfo(std::string &bundleName, std::string &result return BError(BError::Codes::OK); } -ErrCode ServiceProxy::UpdateTimer(BundleName &bundleName, uint32_t timeOut, bool &result) +ErrCode ServiceProxy::UpdateTimer(BundleName &bundleName, uint32_t timeout, bool &result) { return BError(BError::Codes::OK); } diff --git a/tests/unittests/backup_sa/session/service_proxy_mock.h b/tests/unittests/backup_sa/session/service_proxy_mock.h index 9bbf0ba3c8cea709822c58e8b7f197487fba5bee..946043b332eb1876807cefb6740d47cd8863682b 100644 --- a/tests/unittests/backup_sa/session/service_proxy_mock.h +++ b/tests/unittests/backup_sa/session/service_proxy_mock.h @@ -57,7 +57,7 @@ public: MOCK_METHOD1(AppIncrementalDone, ErrCode(ErrCode errCode)); MOCK_METHOD2(GetIncrementalFileHandle, ErrCode(const std::string &bundleName, const std::string &fileName)); MOCK_METHOD2(GetBackupInfo, ErrCode(BundleName &bundleName, std::string &result)); - MOCK_METHOD3(UpdateTimer, ErrCode(BundleName &bundleName, uint32_t timeOut, bool &result)); + MOCK_METHOD3(UpdateTimer, ErrCode(BundleName &bundleName, uint32_t timeout, bool &result)); MOCK_METHOD0(GetAppLocalListAndDoIncrementalBackup, ErrCode()); }; } // End of namespace OHOS::FileManagement::Backup diff --git a/utils/include/b_resources/b_constants.h b/utils/include/b_resources/b_constants.h index f50e544dd71926830ebfa351faa3e64046e9310f..01158f671b210294411ae4feec840f8c8969fec8 100644 --- a/utils/include/b_resources/b_constants.h +++ b/utils/include/b_resources/b_constants.h @@ -83,6 +83,9 @@ constexpr int MIN_FD_SEND_RATE = 0; // 允许应用申请的最小FD数量 constexpr int DEFAULT_FD_SEND_RATE = 60; // 框架默认的FD数量 constexpr int32_t PARAM_STARING_MAX_MEMORY = 2 * 1024 * 1024; constexpr uint32_t H2MS = 60 * 60 * 1000; +constexpr uint32_t MAX_UPDATE_TIMER = 4 * H2MS; +constexpr uint32_t DEFAULT_TIMEOUT = 15 * 60 * 1000; +constexpr uint32_t TIMEOUT_NOW = 0; constexpr int CALL_APP_ON_PROCESS_TIME_INTERVAL = 5; // 框架每隔5s去调用应用的onProcess constexpr int APP_ON_PROCESS_MAX_TIMEOUT = 1000; // 应用的onProcess接口最大超时时间为1秒