diff --git a/services/abilitymgr/include/free_install_manager.h b/services/abilitymgr/include/free_install_manager.h index 0772c7ec9f..9c409ee7d6 100644 --- a/services/abilitymgr/include/free_install_manager.h +++ b/services/abilitymgr/include/free_install_manager.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022-2024 Huawei Device Co., Ltd. + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -30,8 +30,6 @@ namespace OHOS { namespace AAFwk { -class AbilityManagerService; - struct FreeInstallInfo { bool isInstalled = false; bool isPreStartMissionCalled = false; @@ -65,7 +63,7 @@ struct FreeInstallParams { */ class FreeInstallManager : public std::enable_shared_from_this { public: - explicit FreeInstallManager(const std::weak_ptr &server); + explicit FreeInstallManager(); virtual ~FreeInstallManager() = default; /** @@ -97,7 +95,7 @@ public: * @param isOpenAtomicServiceShortUrl, the flag of open atomic service short url. * @return Returns ERR_OK on success, others on failure. */ - int StartFreeInstall(const Want &want, int32_t userId, int requestCode, const sptr &callerToken, + int StartFreeInstall(const Want &want, int32_t userId, int requestCode, sptr callerToken, std::shared_ptr param = nullptr); /** @@ -109,8 +107,8 @@ public: * @param callerToken, caller ability token. * @return Returns ERR_OK on success, others on failure. */ - int StartRemoteFreeInstall(const Want &want, int requestCode, int32_t validUserId, - const sptr &callerToken); + int StartRemoteFreeInstall(Want &want, int requestCode, int32_t validUserId, + sptr callerToken); /** * Start to free install from another devices. @@ -122,7 +120,7 @@ public: * @param requestCode, ability request code. * @return Returns ERR_OK on success, others on failure. */ - int FreeInstallAbilityFromRemote(const Want &want, const sptr &callback, + int FreeInstallAbilityFromRemote(const Want &want, sptr callback, int32_t userId, int requestCode); /** @@ -133,16 +131,15 @@ public: * @param localDeviceId, the device id of local. * @return Returns ERR_OK on success, others on failure. */ - int ConnectFreeInstall(const Want &want, int32_t userId, const sptr &callerToken, - const std::string& localDeviceId); + int ConnectFreeInstall(const Want &want, int32_t userId, sptr callerToken, + const std::string &localDeviceId); /** * Add an observer from application into freeInstallObserverManager. * @param observer, the observer of the ability to free install. * @return Returns ERR_OK on success, others on failure. */ - int AddFreeInstallObserver(const sptr &callerToken, - const sptr &observer); + int AddFreeInstallObserver(sptr callerToken, sptr observer); /** * Get free install task info. @@ -199,7 +196,6 @@ public: const std::string& startTime, const std::string& sessionId); private: - std::weak_ptr server_; std::vector freeInstallList_; std::vector dmsFreeInstallCbs_; std::map timeStampMap_; @@ -218,14 +214,13 @@ private: * @param callerToken, caller ability token. * @return Returns ERR_OK on success, others on failure. */ - int RemoteFreeInstall(const Want &want, int32_t userId, int requestCode, const sptr &callerToken); + int RemoteFreeInstall(const Want &want, int32_t userId, int requestCode, sptr callerToken); - int NotifyDmsCallback(const Want &want, int resultCode); - bool IsTopAbility(const sptr &callerToken); + void NotifyDmsCallback(const Want &want, int resultCode); + bool IsTopAbility(sptr callerToken); void NotifyFreeInstallResult(int32_t recordId, const Want &want, int resultCode, bool isAsync = false); FreeInstallInfo BuildFreeInstallInfo(const Want &want, int32_t userId, int requestCode, - const sptr &callerToken, std::shared_ptr param = nullptr); - std::time_t GetTimeStamp(); + sptr callerToken, std::shared_ptr param = nullptr); void RemoveFreeInstallInfo(const std::string &bundleName, const std::string &abilityName, const std::string &startTime); @@ -244,8 +239,8 @@ private: void HandleOnFreeInstallFail(int32_t recordId, FreeInstallInfo &freeInstallInfo, int resultCode, bool isAsync); void StartAbilityByConvertedWant(FreeInstallInfo &info, const std::string &startTime); void StartAbilityByOriginalWant(FreeInstallInfo &info, const std::string &startTime); - bool VerifyStartFreeInstallPermission(const sptr &callerToken); - int32_t GetRecordIdByToken(const sptr &callerToken); + bool VerifyStartFreeInstallPermission(sptr callerToken); + int32_t GetRecordIdByToken(sptr callerToken); void NotifyInsightIntentFreeInstallResult(const Want &want, int resultCode); void NotifyInsightIntentExecuteDone(const Want &want, int resultCode); }; diff --git a/services/abilitymgr/include/utils/ability_util.h b/services/abilitymgr/include/utils/ability_util.h index 60db836778..b106fc4722 100644 --- a/services/abilitymgr/include/utils/ability_util.h +++ b/services/abilitymgr/include/utils/ability_util.h @@ -378,6 +378,14 @@ static constexpr int64_t MICROSECONDS = 1000000; // MICROSECONDS mean 10^6 mi return AbilityManagerClient::GetInstance()->StartAbility(want, requestCode, userId); } +[[maybe_unused]] static std::time_t GetTimeStamp() +{ + std::chrono::time_point tp = + std::chrono::time_point_cast(std::chrono::system_clock::now()); + std::time_t timestamp = tp.time_since_epoch().count(); + return timestamp; +} + inline ErrCode EdmErrorType(bool isEdm) { if (isEdm) { diff --git a/services/abilitymgr/src/ability_manager_service.cpp b/services/abilitymgr/src/ability_manager_service.cpp index d7e15b6843..a589233dd5 100644 --- a/services/abilitymgr/src/ability_manager_service.cpp +++ b/services/abilitymgr/src/ability_manager_service.cpp @@ -406,7 +406,7 @@ bool AbilityManagerService::Init() HiviewDFX::Watchdog::GetInstance().InitFfrtWatchdog(); // For ffrt watchdog available in foundation taskHandler_ = TaskHandlerWrap::CreateQueueHandler(AbilityConfig::NAME_ABILITY_MGR_SERVICE); eventHandler_ = std::make_shared(taskHandler_, weak_from_this()); - freeInstallManager_ = std::make_shared(weak_from_this()); + freeInstallManager_ = std::make_shared(); CHECK_POINTER_RETURN_BOOL(freeInstallManager_); AmsConfigurationParameter::GetInstance().Parse(); diff --git a/services/abilitymgr/src/free_install_manager.cpp b/services/abilitymgr/src/free_install_manager.cpp index 8fc95e7705..71376b22ac 100644 --- a/services/abilitymgr/src/free_install_manager.cpp +++ b/services/abilitymgr/src/free_install_manager.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022-2024 Huawei Device Co., Ltd. + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -30,6 +30,7 @@ namespace OHOS { namespace AAFwk { +namespace { const std::u16string DMS_FREE_INSTALL_CALLBACK_TOKEN = u"ohos.DistributedSchedule.IDmsFreeInstallCallback"; const std::string DMS_MISSION_ID = "dmsMissionId"; const std::string PARAM_FREEINSTALL_APPID = "ohos.freeinstall.params.callingAppId"; @@ -39,16 +40,49 @@ constexpr uint32_t IDMS_CALLBACK_ON_FREE_INSTALL_DONE = 0; constexpr uint32_t UPDATE_ATOMOIC_SERVICE_TASK_TIMER = 24 * 60 * 60 * 1000; /* 24h */ constexpr const char* KEY_IS_APP_RUNNING = "com.ohos.param.isAppRunning"; -FreeInstallManager::FreeInstallManager(const std::weak_ptr &server) - : server_(server) +void HandleDMSCallback(int32_t resultCode, const FreeInstallInfo &info) +{ + TAG_LOGI(AAFwkTag::FREE_INSTALL, "Handle DMS"); + if (info.dmsCallback == nullptr) { + TAG_LOGE(AAFwkTag::FREE_INSTALL, "null callback"); + return; + } + MessageParcel data; + ExtendMaxIpcCapacityForInnerWant(data); + if (!data.WriteInterfaceToken(DMS_FREE_INSTALL_CALLBACK_TOKEN)) { + TAG_LOGE(AAFwkTag::FREE_INSTALL, "write interface token failed"); + return; + } + + if (!data.WriteInt32(resultCode)) { + TAG_LOGE(AAFwkTag::FREE_INSTALL, "write resultCode error"); + return; + } + + if (!data.WriteParcelable(&(info.want))) { + TAG_LOGE(AAFwkTag::FREE_INSTALL, "want write failed"); + return; + } + + if (!data.WriteInt32(info.requestCode)) { + TAG_LOGE(AAFwkTag::FREE_INSTALL, "write requestCode error"); + return; + } + + MessageOption option; + MessageParcel reply; + info.dmsCallback->SendRequest(IDMS_CALLBACK_ON_FREE_INSTALL_DONE, data, reply, option); +} +} + +FreeInstallManager::FreeInstallManager() { } -bool FreeInstallManager::IsTopAbility(const sptr &callerToken) +bool FreeInstallManager::IsTopAbility(sptr callerToken) { - auto server = server_.lock(); - CHECK_POINTER_AND_RETURN_LOG(server, false, "Get server failed!"); - AppExecFwk::ElementName elementName = IN_PROCESS_CALL(server->GetTopAbility()); + AppExecFwk::ElementName elementName = IN_PROCESS_CALL( + DelayedSingleton::GetInstance()->GetTopAbility()); if (elementName.GetBundleName().empty() || elementName.GetAbilityName().empty()) { TAG_LOGE(AAFwkTag::FREE_INSTALL, "GetBundleName or GetAbilityName empty"); return false; @@ -70,21 +104,16 @@ bool FreeInstallManager::IsTopAbility(const sptr &callerToken) std::string callerBundleName = callerElementName.GetBundleName(); std::string callerAbilityName = callerElementName.GetAbilityName(); std::string callerModuleName = callerElementName.GetModuleName(); - if (elementName.GetBundleName().compare(callerBundleName) == 0 && - elementName.GetAbilityName().compare(callerAbilityName) == 0 && - elementName.GetModuleName().compare(callerModuleName) == 0) { - TAG_LOGI(AAFwkTag::FREE_INSTALL, "top ability"); - return true; - } - - return false; + return (elementName.GetBundleName() == callerBundleName && elementName.GetAbilityName() == callerAbilityName && + elementName.GetModuleName() == callerModuleName); } int FreeInstallManager::StartFreeInstall(const Want &want, int32_t userId, int requestCode, - const sptr &callerToken, std::shared_ptr param) + sptr callerToken, std::shared_ptr param) { HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__); if (!VerifyStartFreeInstallPermission(callerToken)) { + TAG_LOGE(AAFwkTag::FREE_INSTALL, "permission denied"); return NOT_TOP_ABILITY; } FreeInstallInfo info = BuildFreeInstallInfo(want, userId, requestCode, callerToken, param); @@ -97,8 +126,6 @@ int FreeInstallManager::StartFreeInstall(const Want &want, int32_t userId, int r sptr callback = new AtomicServiceStatusCallback(weak_from_this(), isAsync, recordId); auto bundleMgrHelper = AbilityUtil::GetBundleManagerHelper(); CHECK_POINTER_AND_RETURN(bundleMgrHelper, GET_ABILITY_SERVICE_FAILED); - AppExecFwk::AbilityInfo abilityInfo = {}; - constexpr auto flag = AppExecFwk::AbilityInfoFlag::GET_ABILITY_INFO_WITH_APPLICATION; info.want.SetParam(PARAM_FREEINSTALL_UID, IPCSkeleton::GetCallingUid()); int result = SetAppRunningState(info.want); @@ -107,6 +134,8 @@ int FreeInstallManager::StartFreeInstall(const Want &want, int32_t userId, int r return result; } + constexpr auto flag = AppExecFwk::AbilityInfoFlag::GET_ABILITY_INFO_WITH_APPLICATION; + AppExecFwk::AbilityInfo abilityInfo; if (IN_PROCESS_CALL(bundleMgrHelper->QueryAbilityInfo(info.want, flag, info.userId, abilityInfo, callback))) { TAG_LOGI(AAFwkTag::FREE_INSTALL, "app installed"); } @@ -133,7 +162,7 @@ int FreeInstallManager::StartFreeInstall(const Want &want, int32_t userId, int r } int FreeInstallManager::RemoteFreeInstall(const Want &want, int32_t userId, int requestCode, - const sptr &callerToken) + sptr callerToken) { HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__); bool isFromRemote = want.GetBoolParam(FROM_REMOTE_KEY, false); @@ -167,7 +196,7 @@ int FreeInstallManager::RemoteFreeInstall(const Want &want, int32_t userId, int } FreeInstallInfo FreeInstallManager::BuildFreeInstallInfo(const Want &want, int32_t userId, int requestCode, - const sptr &callerToken, std::shared_ptr param) + sptr callerToken, std::shared_ptr param) { if (param == nullptr) { param = std::make_shared(); @@ -187,18 +216,16 @@ FreeInstallInfo FreeInstallManager::BuildFreeInstallInfo(const Want &want, int32 info.want.SetParam(KEY_REQUEST_ID, param->startOptions->requestId_); } if (!param->isAsync) { - auto promise = std::make_shared>(); - info.promise = promise; + info.promise = std::make_shared>(); } - auto identity = IPCSkeleton::ResetCallingIdentity(); - info.identity = identity; - TAG_LOGD(AAFwkTag::FREE_INSTALL, "identity: %{public}s", identity.c_str()); - IPCSkeleton::SetCallingIdentity(identity); + info.identity = IPCSkeleton::ResetCallingIdentity(); + TAG_LOGD(AAFwkTag::FREE_INSTALL, "identity: %{public}s", info.identity.c_str()); + IPCSkeleton::SetCallingIdentity(info.identity); return info; } -int FreeInstallManager::StartRemoteFreeInstall(const Want &want, int requestCode, int32_t validUserId, - const sptr &callerToken) +int FreeInstallManager::StartRemoteFreeInstall(Want &want, int requestCode, int32_t validUserId, + sptr callerToken) { HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__); if (!want.GetBoolParam(Want::PARAM_RESV_FOR_RESULT, false)) { @@ -210,57 +237,28 @@ int FreeInstallManager::StartRemoteFreeInstall(const Want &want, int requestCode if (missionId < 0) { return ERR_INVALID_VALUE; } - Want* newWant = const_cast(&want); - newWant->SetParam(DMS_MISSION_ID, missionId); - return RemoteFreeInstall(*newWant, validUserId, requestCode, callerToken); + want.SetParam(DMS_MISSION_ID, missionId); + return RemoteFreeInstall(want, validUserId, requestCode, callerToken); } -int FreeInstallManager::NotifyDmsCallback(const Want &want, int resultCode) +void FreeInstallManager::NotifyDmsCallback(const Want &want, int resultCode) { HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__); std::lock_guard autoLock(distributedFreeInstallLock_); if (dmsFreeInstallCbs_.empty()) { TAG_LOGE(AAFwkTag::FREE_INSTALL, "null dms callback"); - return ERR_INVALID_VALUE; + return; } - MessageParcel reply; - MessageOption option; - for (auto it = dmsFreeInstallCbs_.begin(); it != dmsFreeInstallCbs_.end();) { std::string abilityName = (*it).want.GetElement().GetAbilityName(); - if (want.GetElement().GetAbilityName().compare(abilityName) == 0) { - TAG_LOGI(AAFwkTag::FREE_INSTALL, "Handle DMS"); - MessageParcel data; - AAFwk::ExtendMaxIpcCapacityForInnerWant(data); - if (!data.WriteInterfaceToken(DMS_FREE_INSTALL_CALLBACK_TOKEN)) { - TAG_LOGE(AAFwkTag::FREE_INSTALL, "write interface token failed"); - return ERR_INVALID_VALUE; - } - - if (!data.WriteInt32(resultCode)) { - TAG_LOGE(AAFwkTag::FREE_INSTALL, "write resultCode error"); - return ERR_INVALID_VALUE; - } - - if (!data.WriteParcelable(&((*it).want))) { - TAG_LOGE(AAFwkTag::FREE_INSTALL, "want write failed"); - return INNER_ERR; - } - - if (!data.WriteInt32((*it).requestCode)) { - TAG_LOGE(AAFwkTag::FREE_INSTALL, "write resultCode error"); - return ERR_INVALID_VALUE; - } - - (*it).dmsCallback->SendRequest(IDMS_CALLBACK_ON_FREE_INSTALL_DONE, data, reply, option); + if (want.GetElement().GetAbilityName() == abilityName) { + HandleDMSCallback(resultCode, *it); it = dmsFreeInstallCbs_.erase(it); } else { it++; } } - - return reply.ReadInt32(); } void FreeInstallManager::NotifyFreeInstallResult(int32_t recordId, const Want &want, int resultCode, bool isAsync) @@ -282,10 +280,10 @@ void FreeInstallManager::NotifyFreeInstallResult(int32_t recordId, const Want &w std::string abilityName = freeInstallInfo.want.GetElement().GetAbilityName(); std::string startTime = freeInstallInfo.want.GetStringParam(Want::PARAM_RESV_START_TIME); std::string url = freeInstallInfo.want.GetUriString(); - if (want.GetElement().GetBundleName().compare(bundleName) != 0 || - want.GetElement().GetAbilityName().compare(abilityName) != 0 || - want.GetStringParam(Want::PARAM_RESV_START_TIME).compare(startTime) != 0 || - want.GetUriString().compare(url) != 0) { + if (want.GetElement().GetBundleName() != bundleName || + want.GetElement().GetAbilityName() != abilityName || + want.GetStringParam(Want::PARAM_RESV_START_TIME) != startTime || + want.GetUriString() != url) { it++; continue; } @@ -358,8 +356,8 @@ void FreeInstallManager::HandleOnFreeInstallFail(int32_t recordId, FreeInstallIn resultCode, "free install failed"); } std::string startTime = freeInstallInfo.want.GetStringParam(Want::PARAM_RESV_START_TIME); - if (freeInstallInfo.isOpenAtomicServiceShortUrl - && resultCode != CONCURRENT_TASKS_WAITING_FOR_RETRY) { + if (freeInstallInfo.isOpenAtomicServiceShortUrl && + resultCode != CONCURRENT_TASKS_WAITING_FOR_RETRY) { StartAbilityByOriginalWant(freeInstallInfo, startTime); return; } @@ -501,7 +499,7 @@ int32_t FreeInstallManager::UpdateElementName(Want &want, int32_t userId) const return ERR_OK; } -int FreeInstallManager::FreeInstallAbilityFromRemote(const Want &want, const sptr &callback, +int FreeInstallManager::FreeInstallAbilityFromRemote(const Want &want, sptr callback, int32_t userId, int requestCode) { if (callback == nullptr) { @@ -530,7 +528,7 @@ int FreeInstallManager::FreeInstallAbilityFromRemote(const Want &want, const spt } int FreeInstallManager::ConnectFreeInstall(const Want &want, int32_t userId, - const sptr &callerToken, const std::string& localDeviceId) + sptr callerToken, const std::string &localDeviceId) { auto bundleMgrHelper = AbilityUtil::GetBundleManagerHelper(); CHECK_POINTER_AND_RETURN(bundleMgrHelper, GET_ABILITY_SERVICE_FAILED); @@ -577,14 +575,6 @@ int FreeInstallManager::ConnectFreeInstall(const Want &want, int32_t userId, return ERR_OK; } -std::time_t FreeInstallManager::GetTimeStamp() -{ - std::chrono::time_point tp = - std::chrono::time_point_cast(std::chrono::system_clock::now()); - std::time_t timestamp = tp.time_since_epoch().count(); - return timestamp; -} - void FreeInstallManager::OnInstallFinished(int32_t recordId, int resultCode, const Want &want, int32_t userId, bool isAsync) { @@ -604,21 +594,25 @@ void FreeInstallManager::OnInstallFinished(int32_t recordId, int resultCode, con void FreeInstallManager::PostUpgradeAtomicServiceTask(int resultCode, const Want &want, int32_t userId) { TAG_LOGI(AAFwkTag::FREE_INSTALL, "called"); - std::weak_ptr thisWptr(shared_from_this()); if (resultCode == ERR_OK) { - auto updateAtmoicServiceTask = [want, userId, thisWptr, &timeStampMap = timeStampMap_]() { - auto sptr = thisWptr.lock(); + auto updateAtmoicServiceTask = [want, userId, weak = weak_from_this()]() { + auto freeInstallManager = weak.lock(); + if (freeInstallManager == nullptr) { + TAG_LOGE(AAFwkTag::FREE_INSTALL, "null manager"); + return; + } TAG_LOGD(AAFwkTag::FREE_INSTALL, "bundleName: %{public}s, moduleName: %{public}s, abilityName: %{public}s, userId: %{public}d", want.GetElement().GetBundleName().c_str(), want.GetElement().GetModuleName().c_str(), want.GetElement().GetAbilityName().c_str(), userId); std::string nameKey = want.GetElement().GetBundleName() + want.GetElement().GetModuleName(); - if (timeStampMap.find(nameKey) == timeStampMap.end() || - sptr->GetTimeStamp() - timeStampMap[nameKey] > UPDATE_ATOMOIC_SERVICE_TASK_TIMER) { + auto iter = freeInstallManager->timeStampMap_.find(nameKey); + if (iter == freeInstallManager->timeStampMap_.end() || + AbilityUtil::GetTimeStamp() - iter->second > UPDATE_ATOMOIC_SERVICE_TASK_TIMER) { auto bundleMgrHelper = AbilityUtil::GetBundleManagerHelper(); CHECK_POINTER(bundleMgrHelper); bundleMgrHelper->UpgradeAtomicService(want, userId); - timeStampMap.emplace(nameKey, sptr->GetTimeStamp()); + freeInstallManager->timeStampMap_.emplace(nameKey, AbilityUtil::GetTimeStamp()); } }; @@ -634,8 +628,8 @@ void FreeInstallManager::OnRemoteInstallFinished(int32_t recordId, int resultCod NotifyFreeInstallResult(recordId, want, resultCode); } -int FreeInstallManager::AddFreeInstallObserver(const sptr &callerToken, - const sptr &observer) +int FreeInstallManager::AddFreeInstallObserver(sptr callerToken, + sptr observer) { TAG_LOGI(AAFwkTag::FREE_INSTALL, "called"); auto abilityRecord = Token::GetAbilityRecordByToken(callerToken); @@ -664,7 +658,7 @@ void FreeInstallManager::RemoveFreeInstallInfo(const std::string &bundleName, co } } -bool FreeInstallManager::VerifyStartFreeInstallPermission(const sptr &callerToken) +bool FreeInstallManager::VerifyStartFreeInstallPermission(sptr callerToken) { if (SupportSystemAbilityPermission::IsSupportSaCallPermission() || IsTopAbility(callerToken)) { return true; @@ -678,7 +672,7 @@ bool FreeInstallManager::VerifyStartFreeInstallPermission(const sptr &callerToken) +int32_t FreeInstallManager::GetRecordIdByToken(sptr callerToken) { auto abilityRecord = Token::GetAbilityRecordByToken(callerToken); int recordId = -1; @@ -797,9 +791,9 @@ void FreeInstallManager::NotifyInsightIntentFreeInstallResult(const Want &want, std::string bundleName = (*it).want.GetElement().GetBundleName(); std::string abilityName = (*it).want.GetElement().GetAbilityName(); std::string startTime = (*it).want.GetStringParam(Want::PARAM_RESV_START_TIME); - if (want.GetElement().GetBundleName().compare(bundleName) != 0 || - want.GetElement().GetAbilityName().compare(abilityName) != 0 || - want.GetStringParam(Want::PARAM_RESV_START_TIME).compare(startTime) != 0) { + if (want.GetElement().GetBundleName() != bundleName || + want.GetElement().GetAbilityName() != abilityName || + want.GetStringParam(Want::PARAM_RESV_START_TIME) != startTime) { it++; continue; } diff --git a/test/fuzztest/applicationanrlistener_fuzzer/applicationanrlistener_fuzzer.cpp b/test/fuzztest/applicationanrlistener_fuzzer/applicationanrlistener_fuzzer.cpp index e439584dd1..fc4a46261d 100755 --- a/test/fuzztest/applicationanrlistener_fuzzer/applicationanrlistener_fuzzer.cpp +++ b/test/fuzztest/applicationanrlistener_fuzzer/applicationanrlistener_fuzzer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -119,8 +119,7 @@ bool DoSomethingInterestingWithMyAPI(const char* data, size_t size) // fuzz for FreeInstallManager auto abilityms = std::make_shared(); - std::weak_ptr amsWeakPtr{ abilityms }; - auto freeInstallManager = std::make_shared(amsWeakPtr); + auto freeInstallManager = std::make_shared(); freeInstallManager->IsTopAbility(token); freeInstallManager->StartFreeInstall(*want, int32Param, intParam, token); freeInstallManager->RemoteFreeInstall(*want, int32Param, intParam, token); @@ -130,7 +129,6 @@ bool DoSomethingInterestingWithMyAPI(const char* data, size_t size) freeInstallManager->NotifyFreeInstallResult(*want, intParam); freeInstallManager->FreeInstallAbilityFromRemote(*want, token, int32Param, intParam); freeInstallManager->ConnectFreeInstall(*want, int32Param, token, stringParam); - freeInstallManager->GetTimeStamp(); freeInstallManager->OnInstallFinished(intParam, *want, int32Param, int64Param); freeInstallManager->OnRemoteInstallFinished(intParam, *want, int32Param); diff --git a/test/unittest/ability_manager_service_eighth_test/ability_manager_service_eighth_test.cpp b/test/unittest/ability_manager_service_eighth_test/ability_manager_service_eighth_test.cpp index 6f3ad7bff1..172ede1b21 100644 --- a/test/unittest/ability_manager_service_eighth_test/ability_manager_service_eighth_test.cpp +++ b/test/unittest/ability_manager_service_eighth_test/ability_manager_service_eighth_test.cpp @@ -352,7 +352,7 @@ HWTEST_F(AbilityManagerServiceEighthTest, StartUIAbilityBySCB_001, TestSize.Leve sessionInfo->want.SetParam(KEY_SESSION_ID, TEST_STRING_VALUE_1); ret = abilityMs_->StartUIAbilityBySCB(sessionInfo, isColdStart, sceneFlag); EXPECT_NE(ret, ERR_OK); - abilityMs_->freeInstallManager_ = std::make_shared(abilityMs_); + abilityMs_->freeInstallManager_ = std::make_shared(); ret = abilityMs_->StartUIAbilityBySCB(sessionInfo, isColdStart, sceneFlag); EXPECT_NE(ret, ERR_OK); auto uiAbilityLifecycleManager = std::make_shared(); @@ -398,7 +398,7 @@ HWTEST_F(AbilityManagerServiceEighthTest, StartUIAbilityBySCB_001_002, TestSize. sessionInfo->want.SetParam(KEY_SESSION_ID, TEST_STRING_VALUE_1); FreeInstallInfo freeInstallInfo; freeInstallInfo.want.SetParam(KEY_SESSION_ID, TEST_STRING_VALUE_1); - abilityMs_->freeInstallManager_ = std::make_shared(abilityMs_); + abilityMs_->freeInstallManager_ = std::make_shared(); abilityMs_->freeInstallManager_->freeInstallList_.push_back(freeInstallInfo); ret = abilityMs_->StartUIAbilityBySCB(sessionInfo, isColdStart, sceneFlag); EXPECT_EQ(ret, ERR_OK); diff --git a/test/unittest/ability_manager_service_fourth_test/ability_manager_service_fourth_test.cpp b/test/unittest/ability_manager_service_fourth_test/ability_manager_service_fourth_test.cpp index 236bc13f3d..657febf8cc 100644 --- a/test/unittest/ability_manager_service_fourth_test/ability_manager_service_fourth_test.cpp +++ b/test/unittest/ability_manager_service_fourth_test/ability_manager_service_fourth_test.cpp @@ -171,7 +171,7 @@ HWTEST_F(AbilityManagerServiceFourthTest, AddFreeInstallObserver_001, TestSize.L sptr observer; EXPECT_EQ(abilityMs_->AddFreeInstallObserver(nullptr, observer), ERR_INVALID_VALUE); - abilityMs_->freeInstallManager_ = std::make_shared(abilityMs_); + abilityMs_->freeInstallManager_ = std::make_shared(); EXPECT_EQ(abilityMs_->AddFreeInstallObserver(nullptr, observer), ERR_INVALID_VALUE); TAG_LOGI(AAFwkTag::TEST, "AbilityManagerServiceSecondTest AddFreeInstallObserver_001 end"); diff --git a/test/unittest/ability_manager_service_sixth_test/ability_manager_service_sixth_test.cpp b/test/unittest/ability_manager_service_sixth_test/ability_manager_service_sixth_test.cpp index 7a0fa71ed4..0aec9f8bc8 100644 --- a/test/unittest/ability_manager_service_sixth_test/ability_manager_service_sixth_test.cpp +++ b/test/unittest/ability_manager_service_sixth_test/ability_manager_service_sixth_test.cpp @@ -443,7 +443,7 @@ HWTEST_F(AbilityManagerServiceSixthTest, PreStartFreeInstall_001, TestSize.Level bool isStartAsCaller { false }; auto callerToken = sptr::MakeSptr(); auto abilityMs_ = std::make_shared(); - abilityMs_->freeInstallManager_ = std::make_shared(abilityMs_); + abilityMs_->freeInstallManager_ = std::make_shared(); auto ret = abilityMs_->PreStartFreeInstall(want, callerToken, specifyTokenId, isStartAsCaller, localWant); EXPECT_EQ(ret, ERR_OK); @@ -807,7 +807,7 @@ HWTEST_F(AbilityManagerServiceSixthTest, SetMinimizedDuringFreeInstall_001, Test sessionInfo->want.SetParam(KEY_SESSION_ID, sessionId); abilityMs->SetMinimizedDuringFreeInstall(sessionInfo); - abilityMs->freeInstallManager_ = std::make_shared(abilityMs); + abilityMs->freeInstallManager_ = std::make_shared(); FreeInstallInfo info; info.want = sessionInfo->want; abilityMs->freeInstallManager_->freeInstallList_.push_back(info); @@ -902,7 +902,7 @@ HWTEST_F(AbilityManagerServiceSixthTest, ConnectAbilityCommon_002, TestSize.Leve ret = abilityMs->ConnectAbilityCommon(want, impl, token, ExtensionAbilityType::SERVICE, -1, false); want.SetUri("file://kia-file-uri"); - abilityMs->freeInstallManager_ = std::make_shared(abilityMs); + abilityMs->freeInstallManager_ = std::make_shared(); ret = abilityMs->ConnectAbilityCommon(want, impl, nullptr, ExtensionAbilityType::SERVICE, -1, false); Mock::VerifyAndClear(mockBundleMgr); @@ -1956,7 +1956,7 @@ HWTEST_F(AbilityManagerServiceSixthTest, ConnectAbilityCommon_004, TestSize.Leve ret = abilityMs->ConnectAbilityCommon(want, impl, token, ExtensionAbilityType::UI_SERVICE, -1, false); want.SetUri("file://kia-file-uri"); - abilityMs->freeInstallManager_ = std::make_shared(abilityMs); + abilityMs->freeInstallManager_ = std::make_shared(); ret = abilityMs->ConnectAbilityCommon(want, impl, nullptr, ExtensionAbilityType::UI_SERVICE, -1, false); Mock::VerifyAndClear(mockBundleMgr); diff --git a/test/unittest/ability_manager_service_third_test/ability_manager_service_third_test.cpp b/test/unittest/ability_manager_service_third_test/ability_manager_service_third_test.cpp index bfa644d004..b9a39e1724 100644 --- a/test/unittest/ability_manager_service_third_test/ability_manager_service_third_test.cpp +++ b/test/unittest/ability_manager_service_third_test/ability_manager_service_third_test.cpp @@ -2438,7 +2438,7 @@ HWTEST_F(AbilityManagerServiceThirdTest, OpenLinkFreeInstallAtomicService_002, T TAG_LOGI(AAFwkTag::TEST, "OpenLinkFreeInstallAtomicService_002 start"); auto abilityMs_ = std::make_shared(); EXPECT_NE(abilityMs_, nullptr); - abilityMs_->freeInstallManager_ = std::make_shared(abilityMs_); + abilityMs_->freeInstallManager_ = std::make_shared(); sptr token = MockToken(AbilityType::PAGE); AAFwk::Want want; AAFwk::Want convertedWant; @@ -2460,7 +2460,7 @@ HWTEST_F(AbilityManagerServiceThirdTest, OpenLinkFreeInstallAtomicService_003, T TAG_LOGI(AAFwkTag::TEST, "OpenLinkFreeInstallAtomicService_003 start"); auto abilityMs_ = std::make_shared(); EXPECT_NE(abilityMs_, nullptr); - abilityMs_->freeInstallManager_ = std::make_shared(abilityMs_); + abilityMs_->freeInstallManager_ = std::make_shared(); sptr token = MockToken(AbilityType::PAGE); AAFwk::Want want; AAFwk::Want convertedWant; @@ -2482,7 +2482,7 @@ HWTEST_F(AbilityManagerServiceThirdTest, OpenLinkFreeInstallAtomicService_004, T TAG_LOGI(AAFwkTag::TEST, "OpenLinkFreeInstallAtomicService_004 start"); auto abilityMs_ = std::make_shared(); EXPECT_NE(abilityMs_, nullptr); - abilityMs_->freeInstallManager_ = std::make_shared(abilityMs_); + abilityMs_->freeInstallManager_ = std::make_shared(); sptr token = MockToken(AbilityType::PAGE); AAFwk::Want want; AAFwk::Want convertedWant; diff --git a/test/unittest/ability_manager_service_third_test/mock/include/mock_free_install_manager.h b/test/unittest/ability_manager_service_third_test/mock/include/mock_free_install_manager.h index b3a53e9285..0465ae0c53 100644 --- a/test/unittest/ability_manager_service_third_test/mock/include/mock_free_install_manager.h +++ b/test/unittest/ability_manager_service_third_test/mock/include/mock_free_install_manager.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022-2024 Huawei Device Co., Ltd. + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -30,8 +30,6 @@ namespace OHOS { namespace AAFwk { -class AbilityManagerService; - struct FreeInstallInfo { bool isInstalled = false; bool isPreStartMissionCalled = false; @@ -65,7 +63,7 @@ struct FreeInstallParams { */ class FreeInstallManager : public std::enable_shared_from_this { public: - explicit FreeInstallManager(const std::weak_ptr &server); + explicit FreeInstallManager(); virtual ~FreeInstallManager() = default; /** @@ -97,7 +95,7 @@ public: * @param isOpenAtomicServiceShortUrl, the flag of open atomic service short url. * @return Returns ERR_OK on success, others on failure. */ - int StartFreeInstall(const Want &want, int32_t userId, int requestCode, const sptr &callerToken, + int StartFreeInstall(const Want &want, int32_t userId, int requestCode, sptr callerToken, std::shared_ptr param = nullptr); /** @@ -109,8 +107,8 @@ public: * @param callerToken, caller ability token. * @return Returns ERR_OK on success, others on failure. */ - int StartRemoteFreeInstall(const Want &want, int requestCode, int32_t validUserId, - const sptr &callerToken); + int StartRemoteFreeInstall(Want &want, int requestCode, int32_t validUserId, + sptr callerToken); /** * Start to free install from another devices. @@ -122,7 +120,7 @@ public: * @param requestCode, ability request code. * @return Returns ERR_OK on success, others on failure. */ - int FreeInstallAbilityFromRemote(const Want &want, const sptr &callback, + int FreeInstallAbilityFromRemote(const Want &want, sptr callback, int32_t userId, int requestCode); /** @@ -133,16 +131,15 @@ public: * @param localDeviceId, the device id of local. * @return Returns ERR_OK on success, others on failure. */ - int ConnectFreeInstall(const Want &want, int32_t userId, const sptr &callerToken, - const std::string& localDeviceId); + int ConnectFreeInstall(const Want &want, int32_t userId, sptr callerToken, + const std::string &localDeviceId); /** * Add an observer from application into freeInstallObserverManager. * @param observer, the observer of the ability to free install. * @return Returns ERR_OK on success, others on failure. */ - int AddFreeInstallObserver(const sptr &callerToken, - const sptr &observer); + int AddFreeInstallObserver(sptr callerToken, sptr observer); /** * Get free install task info. @@ -199,7 +196,6 @@ public: const std::string& startTime, const std::string& sessionId); private: - std::weak_ptr server_; std::vector freeInstallList_; std::vector dmsFreeInstallCbs_; std::map timeStampMap_; @@ -218,14 +214,13 @@ private: * @param callerToken, caller ability token. * @return Returns ERR_OK on success, others on failure. */ - int RemoteFreeInstall(const Want &want, int32_t userId, int requestCode, const sptr &callerToken); + int RemoteFreeInstall(const Want &want, int32_t userId, int requestCode, sptr callerToken); - int NotifyDmsCallback(const Want &want, int resultCode); - bool IsTopAbility(const sptr &callerToken); + void NotifyDmsCallback(const Want &want, int resultCode); + bool IsTopAbility(sptr callerToken); void NotifyFreeInstallResult(int32_t recordId, const Want &want, int resultCode, bool isAsync = false); FreeInstallInfo BuildFreeInstallInfo(const Want &want, int32_t userId, int requestCode, - const sptr &callerToken, std::shared_ptr param = nullptr); - std::time_t GetTimeStamp(); + sptr callerToken, std::shared_ptr param = nullptr); void RemoveFreeInstallInfo(const std::string &bundleName, const std::string &abilityName, const std::string &startTime); @@ -244,8 +239,8 @@ private: void HandleOnFreeInstallFail(int32_t recordId, FreeInstallInfo &freeInstallInfo, int resultCode, bool isAsync); void StartAbilityByConvertedWant(FreeInstallInfo &info, const std::string &startTime); void StartAbilityByOriginalWant(FreeInstallInfo &info, const std::string &startTime); - bool VerifyStartFreeInstallPermission(const sptr &callerToken); - int32_t GetRecordIdByToken(const sptr &callerToken); + bool VerifyStartFreeInstallPermission(sptr callerToken); + int32_t GetRecordIdByToken(sptr callerToken); void NotifyInsightIntentFreeInstallResult(const Want &want, int resultCode); void NotifyInsightIntentExecuteDone(const Want &want, int resultCode); }; diff --git a/test/unittest/ability_manager_service_third_test/mock/src/mock_free_install_manager.cpp b/test/unittest/ability_manager_service_third_test/mock/src/mock_free_install_manager.cpp index 4642112c9a..3359f2e754 100644 --- a/test/unittest/ability_manager_service_third_test/mock/src/mock_free_install_manager.cpp +++ b/test/unittest/ability_manager_service_third_test/mock/src/mock_free_install_manager.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022-2024 Huawei Device Co., Ltd. + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -21,18 +21,17 @@ namespace AAFwk { const std::string FREE_INSTALL_FAIL = "FREE_INSTALL_FAIL"; const std::string FREE_INSTALL_NOT_TOP_ABILITY = "FREE_INSTALL_NOT_TOP_ABILITY"; -FreeInstallManager::FreeInstallManager(const std::weak_ptr &server) - : server_(server) +FreeInstallManager::FreeInstallManager() { } -bool FreeInstallManager::IsTopAbility(const sptr &callerToken) +bool FreeInstallManager::IsTopAbility(sptr callerToken) { return true; } int FreeInstallManager::StartFreeInstall(const Want &want, int32_t userId, int requestCode, - const sptr &callerToken, std::shared_ptr param) + sptr callerToken, std::shared_ptr param) { TAG_LOGI(AAFwkTag::TEST, "Mock StartFreeInstall"); std::string url = want.GetUriString(); @@ -46,27 +45,26 @@ int FreeInstallManager::StartFreeInstall(const Want &want, int32_t userId, int r } int FreeInstallManager::RemoteFreeInstall(const Want &want, int32_t userId, int requestCode, - const sptr &callerToken) + sptr callerToken) { return NOT_TOP_ABILITY; } FreeInstallInfo FreeInstallManager::BuildFreeInstallInfo(const Want &want, int32_t userId, int requestCode, - const sptr &callerToken, std::shared_ptr param) + sptr callerToken, std::shared_ptr param) { FreeInstallInfo info = {}; return info; } -int FreeInstallManager::StartRemoteFreeInstall(const Want &want, int requestCode, int32_t validUserId, - const sptr &callerToken) +int FreeInstallManager::StartRemoteFreeInstall(Want &want, int requestCode, int32_t validUserId, + sptr callerToken) { return 0; } -int FreeInstallManager::NotifyDmsCallback(const Want &want, int resultCode) +void FreeInstallManager::NotifyDmsCallback(const Want &want, int resultCode) { - return ERR_OK; } void FreeInstallManager::NotifyFreeInstallResult(int32_t recordId, const Want &want, int resultCode, bool isAsync) @@ -110,26 +108,18 @@ int32_t FreeInstallManager::UpdateElementName(Want &want, int32_t userId) const return ERR_OK; } -int FreeInstallManager::FreeInstallAbilityFromRemote(const Want &want, const sptr &callback, +int FreeInstallManager::FreeInstallAbilityFromRemote(const Want &want, sptr callback, int32_t userId, int requestCode) { return ERR_OK; } int FreeInstallManager::ConnectFreeInstall(const Want &want, int32_t userId, - const sptr &callerToken, const std::string& localDeviceId) + sptr callerToken, const std::string &localDeviceId) { return ERR_OK; } -std::time_t FreeInstallManager::GetTimeStamp() -{ - std::chrono::time_point tp = - std::chrono::time_point_cast(std::chrono::system_clock::now()); - std::time_t timestamp = tp.time_since_epoch().count(); - return timestamp; -} - void FreeInstallManager::OnInstallFinished(int32_t recordId, int resultCode, const Want &want, int32_t userId, bool isAsync) { @@ -143,8 +133,8 @@ void FreeInstallManager::OnRemoteInstallFinished(int32_t recordId, int resultCod { } -int FreeInstallManager::AddFreeInstallObserver(const sptr &callerToken, - const sptr &observer) +int FreeInstallManager::AddFreeInstallObserver(sptr callerToken, + sptr observer) { return CHECK_PERMISSION_FAILED; } @@ -154,12 +144,12 @@ void FreeInstallManager::RemoveFreeInstallInfo(const std::string &bundleName, co { } -bool FreeInstallManager::VerifyStartFreeInstallPermission(const sptr &callerToken) +bool FreeInstallManager::VerifyStartFreeInstallPermission(sptr callerToken) { return true; } -int32_t FreeInstallManager::GetRecordIdByToken(const sptr &callerToken) +int32_t FreeInstallManager::GetRecordIdByToken(sptr callerToken) { return 0; } diff --git a/test/unittest/ability_manager_service_thirteenth_test/ability_manager_service_thirteenth_test.cpp b/test/unittest/ability_manager_service_thirteenth_test/ability_manager_service_thirteenth_test.cpp index ec24763cb5..7d18dcaa65 100644 --- a/test/unittest/ability_manager_service_thirteenth_test/ability_manager_service_thirteenth_test.cpp +++ b/test/unittest/ability_manager_service_thirteenth_test/ability_manager_service_thirteenth_test.cpp @@ -434,7 +434,7 @@ HWTEST_F(AbilityManagerServiceThirteenthTest, IsEmbeddedOpenAllowed_003, TestSiz EXPECT_NE(mockSubManagersHelper, nullptr); auto mockCurrentUIAbilityManager = std::make_shared(0); EXPECT_NE(mockCurrentUIAbilityManager, nullptr); - auto mockFreeInstallManager = std::make_shared(abilityMs_); + auto mockFreeInstallManager = std::make_shared(); EXPECT_NE(mockFreeInstallManager, nullptr); abilityMs_->subManagersHelper_ = mockSubManagersHelper; abilityMs_->subManagersHelper_->currentUIAbilityManager_ = mockCurrentUIAbilityManager; @@ -656,7 +656,7 @@ HWTEST_F(AbilityManagerServiceThirteenthTest, IsEmbeddedOpenAllowed_009, TestSiz EXPECT_NE(mockSubManagersHelper, nullptr); auto mockCurrentUIAbilityManager = std::make_shared(0); EXPECT_NE(mockCurrentUIAbilityManager, nullptr); - auto mockFreeInstallManager = std::make_shared(abilityMs_); + auto mockFreeInstallManager = std::make_shared(); EXPECT_NE(mockFreeInstallManager, nullptr); abilityMs_->subManagersHelper_ = mockSubManagersHelper; abilityMs_->subManagersHelper_->currentUIAbilityManager_ = mockCurrentUIAbilityManager; @@ -887,7 +887,7 @@ HWTEST_F(AbilityManagerServiceThirteenthTest, QueryAtomicServiceStartupRule_007, EXPECT_NE(mockSubManagersHelper, nullptr); auto mockCurrentUIAbilityManager = std::make_shared(0); EXPECT_NE(mockCurrentUIAbilityManager, nullptr); - auto mockFreeInstallManager = std::make_shared(abilityMs_); + auto mockFreeInstallManager = std::make_shared(); EXPECT_NE(mockFreeInstallManager, nullptr); abilityMs_->subManagersHelper_ = mockSubManagersHelper; abilityMs_->subManagersHelper_->currentUIAbilityManager_ = mockCurrentUIAbilityManager; @@ -933,7 +933,7 @@ HWTEST_F(AbilityManagerServiceThirteenthTest, QueryAtomicServiceStartupRule_008, EXPECT_NE(mockSubManagersHelper, nullptr); auto mockCurrentUIAbilityManager = std::make_shared(0); EXPECT_NE(mockCurrentUIAbilityManager, nullptr); - auto mockFreeInstallManager = std::make_shared(abilityMs_); + auto mockFreeInstallManager = std::make_shared(); EXPECT_NE(mockFreeInstallManager, nullptr); abilityMs_->subManagersHelper_ = mockSubManagersHelper; abilityMs_->subManagersHelper_->currentUIAbilityManager_ = mockCurrentUIAbilityManager; @@ -979,7 +979,7 @@ HWTEST_F(AbilityManagerServiceThirteenthTest, QueryAtomicServiceStartupRule_009, EXPECT_NE(mockSubManagersHelper, nullptr); auto mockCurrentUIAbilityManager = std::make_shared(0); EXPECT_NE(mockCurrentUIAbilityManager, nullptr); - auto mockFreeInstallManager = std::make_shared(abilityMs_); + auto mockFreeInstallManager = std::make_shared(); EXPECT_NE(mockFreeInstallManager, nullptr); abilityMs_->subManagersHelper_ = mockSubManagersHelper; abilityMs_->subManagersHelper_->currentUIAbilityManager_ = mockCurrentUIAbilityManager; @@ -1026,7 +1026,7 @@ HWTEST_F(AbilityManagerServiceThirteenthTest, QueryAtomicServiceStartupRule_010, EXPECT_NE(mockSubManagersHelper, nullptr); auto mockCurrentUIAbilityManager = std::make_shared(0); EXPECT_NE(mockCurrentUIAbilityManager, nullptr); - auto mockFreeInstallManager = std::make_shared(abilityMs_); + auto mockFreeInstallManager = std::make_shared(); EXPECT_NE(mockFreeInstallManager, nullptr); abilityMs_->subManagersHelper_ = mockSubManagersHelper; abilityMs_->subManagersHelper_->currentUIAbilityManager_ = mockCurrentUIAbilityManager; @@ -1072,7 +1072,7 @@ HWTEST_F(AbilityManagerServiceThirteenthTest, QueryAtomicServiceStartupRule_011, EXPECT_NE(mockSubManagersHelper, nullptr); auto mockCurrentUIAbilityManager = std::make_shared(0); EXPECT_NE(mockCurrentUIAbilityManager, nullptr); - auto mockFreeInstallManager = std::make_shared(abilityMs_); + auto mockFreeInstallManager = std::make_shared(); EXPECT_NE(mockFreeInstallManager, nullptr); abilityMs_->subManagersHelper_ = mockSubManagersHelper; abilityMs_->subManagersHelper_->currentUIAbilityManager_ = mockCurrentUIAbilityManager; diff --git a/test/unittest/ability_manager_service_thirteenth_test/mock/include/mock_free_install_manager.h b/test/unittest/ability_manager_service_thirteenth_test/mock/include/mock_free_install_manager.h index 0772c7ec9f..9c409ee7d6 100644 --- a/test/unittest/ability_manager_service_thirteenth_test/mock/include/mock_free_install_manager.h +++ b/test/unittest/ability_manager_service_thirteenth_test/mock/include/mock_free_install_manager.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022-2024 Huawei Device Co., Ltd. + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -30,8 +30,6 @@ namespace OHOS { namespace AAFwk { -class AbilityManagerService; - struct FreeInstallInfo { bool isInstalled = false; bool isPreStartMissionCalled = false; @@ -65,7 +63,7 @@ struct FreeInstallParams { */ class FreeInstallManager : public std::enable_shared_from_this { public: - explicit FreeInstallManager(const std::weak_ptr &server); + explicit FreeInstallManager(); virtual ~FreeInstallManager() = default; /** @@ -97,7 +95,7 @@ public: * @param isOpenAtomicServiceShortUrl, the flag of open atomic service short url. * @return Returns ERR_OK on success, others on failure. */ - int StartFreeInstall(const Want &want, int32_t userId, int requestCode, const sptr &callerToken, + int StartFreeInstall(const Want &want, int32_t userId, int requestCode, sptr callerToken, std::shared_ptr param = nullptr); /** @@ -109,8 +107,8 @@ public: * @param callerToken, caller ability token. * @return Returns ERR_OK on success, others on failure. */ - int StartRemoteFreeInstall(const Want &want, int requestCode, int32_t validUserId, - const sptr &callerToken); + int StartRemoteFreeInstall(Want &want, int requestCode, int32_t validUserId, + sptr callerToken); /** * Start to free install from another devices. @@ -122,7 +120,7 @@ public: * @param requestCode, ability request code. * @return Returns ERR_OK on success, others on failure. */ - int FreeInstallAbilityFromRemote(const Want &want, const sptr &callback, + int FreeInstallAbilityFromRemote(const Want &want, sptr callback, int32_t userId, int requestCode); /** @@ -133,16 +131,15 @@ public: * @param localDeviceId, the device id of local. * @return Returns ERR_OK on success, others on failure. */ - int ConnectFreeInstall(const Want &want, int32_t userId, const sptr &callerToken, - const std::string& localDeviceId); + int ConnectFreeInstall(const Want &want, int32_t userId, sptr callerToken, + const std::string &localDeviceId); /** * Add an observer from application into freeInstallObserverManager. * @param observer, the observer of the ability to free install. * @return Returns ERR_OK on success, others on failure. */ - int AddFreeInstallObserver(const sptr &callerToken, - const sptr &observer); + int AddFreeInstallObserver(sptr callerToken, sptr observer); /** * Get free install task info. @@ -199,7 +196,6 @@ public: const std::string& startTime, const std::string& sessionId); private: - std::weak_ptr server_; std::vector freeInstallList_; std::vector dmsFreeInstallCbs_; std::map timeStampMap_; @@ -218,14 +214,13 @@ private: * @param callerToken, caller ability token. * @return Returns ERR_OK on success, others on failure. */ - int RemoteFreeInstall(const Want &want, int32_t userId, int requestCode, const sptr &callerToken); + int RemoteFreeInstall(const Want &want, int32_t userId, int requestCode, sptr callerToken); - int NotifyDmsCallback(const Want &want, int resultCode); - bool IsTopAbility(const sptr &callerToken); + void NotifyDmsCallback(const Want &want, int resultCode); + bool IsTopAbility(sptr callerToken); void NotifyFreeInstallResult(int32_t recordId, const Want &want, int resultCode, bool isAsync = false); FreeInstallInfo BuildFreeInstallInfo(const Want &want, int32_t userId, int requestCode, - const sptr &callerToken, std::shared_ptr param = nullptr); - std::time_t GetTimeStamp(); + sptr callerToken, std::shared_ptr param = nullptr); void RemoveFreeInstallInfo(const std::string &bundleName, const std::string &abilityName, const std::string &startTime); @@ -244,8 +239,8 @@ private: void HandleOnFreeInstallFail(int32_t recordId, FreeInstallInfo &freeInstallInfo, int resultCode, bool isAsync); void StartAbilityByConvertedWant(FreeInstallInfo &info, const std::string &startTime); void StartAbilityByOriginalWant(FreeInstallInfo &info, const std::string &startTime); - bool VerifyStartFreeInstallPermission(const sptr &callerToken); - int32_t GetRecordIdByToken(const sptr &callerToken); + bool VerifyStartFreeInstallPermission(sptr callerToken); + int32_t GetRecordIdByToken(sptr callerToken); void NotifyInsightIntentFreeInstallResult(const Want &want, int resultCode); void NotifyInsightIntentExecuteDone(const Want &want, int resultCode); }; diff --git a/test/unittest/ability_manager_service_thirteenth_test/mock/src/mock_free_install_manager.cpp b/test/unittest/ability_manager_service_thirteenth_test/mock/src/mock_free_install_manager.cpp index e093ca048e..41c6c06110 100644 --- a/test/unittest/ability_manager_service_thirteenth_test/mock/src/mock_free_install_manager.cpp +++ b/test/unittest/ability_manager_service_thirteenth_test/mock/src/mock_free_install_manager.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022-2024 Huawei Device Co., Ltd. + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -18,44 +18,42 @@ namespace OHOS { namespace AAFwk { -FreeInstallManager::FreeInstallManager(const std::weak_ptr &server) - : server_(server) +FreeInstallManager::FreeInstallManager() { } -bool FreeInstallManager::IsTopAbility(const sptr &callerToken) +bool FreeInstallManager::IsTopAbility(sptr callerToken) { return true; } int FreeInstallManager::StartFreeInstall(const Want &want, int32_t userId, int requestCode, - const sptr &callerToken, std::shared_ptr param) + sptr callerToken, std::shared_ptr param) { return MyStatus::GetInstance().fimStartFreeInstall_; } int FreeInstallManager::RemoteFreeInstall(const Want &want, int32_t userId, int requestCode, - const sptr &callerToken) + sptr callerToken) { return NOT_TOP_ABILITY; } FreeInstallInfo FreeInstallManager::BuildFreeInstallInfo(const Want &want, int32_t userId, int requestCode, - const sptr &callerToken, std::shared_ptr param) + sptr callerToken, std::shared_ptr param) { FreeInstallInfo info = {}; return info; } -int FreeInstallManager::StartRemoteFreeInstall(const Want &want, int requestCode, int32_t validUserId, - const sptr &callerToken) +int FreeInstallManager::StartRemoteFreeInstall(Want &want, int requestCode, int32_t validUserId, + sptr callerToken) { return 0; } -int FreeInstallManager::NotifyDmsCallback(const Want &want, int resultCode) +void FreeInstallManager::NotifyDmsCallback(const Want &want, int resultCode) { - return ERR_OK; } void FreeInstallManager::NotifyFreeInstallResult(int32_t recordId, const Want &want, int resultCode, bool isAsync) @@ -99,26 +97,18 @@ int32_t FreeInstallManager::UpdateElementName(Want &want, int32_t userId) const return ERR_OK; } -int FreeInstallManager::FreeInstallAbilityFromRemote(const Want &want, const sptr &callback, +int FreeInstallManager::FreeInstallAbilityFromRemote(const Want &want, sptr callback, int32_t userId, int requestCode) { return ERR_OK; } int FreeInstallManager::ConnectFreeInstall(const Want &want, int32_t userId, - const sptr &callerToken, const std::string& localDeviceId) + sptr callerToken, const std::string &localDeviceId) { return ERR_OK; } -std::time_t FreeInstallManager::GetTimeStamp() -{ - std::chrono::time_point tp = - std::chrono::time_point_cast(std::chrono::system_clock::now()); - std::time_t timestamp = tp.time_since_epoch().count(); - return timestamp; -} - void FreeInstallManager::OnInstallFinished(int32_t recordId, int resultCode, const Want &want, int32_t userId, bool isAsync) { @@ -132,8 +122,8 @@ void FreeInstallManager::OnRemoteInstallFinished(int32_t recordId, int resultCod { } -int FreeInstallManager::AddFreeInstallObserver(const sptr &callerToken, - const sptr &observer) +int FreeInstallManager::AddFreeInstallObserver(sptr callerToken, + sptr observer) { return CHECK_PERMISSION_FAILED; } @@ -143,12 +133,12 @@ void FreeInstallManager::RemoveFreeInstallInfo(const std::string &bundleName, co { } -bool FreeInstallManager::VerifyStartFreeInstallPermission(const sptr &callerToken) +bool FreeInstallManager::VerifyStartFreeInstallPermission(sptr callerToken) { return true; } -int32_t FreeInstallManager::GetRecordIdByToken(const sptr &callerToken) +int32_t FreeInstallManager::GetRecordIdByToken(sptr callerToken) { return 0; } diff --git a/test/unittest/free_install_manager_second_test/free_install_manager_second_test.cpp b/test/unittest/free_install_manager_second_test/free_install_manager_second_test.cpp index 7c512ed85e..445827e12d 100644 --- a/test/unittest/free_install_manager_second_test/free_install_manager_second_test.cpp +++ b/test/unittest/free_install_manager_second_test/free_install_manager_second_test.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2024 Huawei Device Co., Ltd. + * Copyright (c) 2024-2025 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -76,8 +76,7 @@ sptr FreeInstallManagerSecondTest::MockToken() */ HWTEST_F(FreeInstallManagerSecondTest, GetFreeInstallTaskInfo_001, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); const std::string bundleName("com.test.demo"); std::string abilityName("MainAbility"); const std::string startTime = "startTime"; @@ -108,8 +107,7 @@ HWTEST_F(FreeInstallManagerSecondTest, GetFreeInstallTaskInfo_001, TestSize.Leve */ HWTEST_F(FreeInstallManagerSecondTest, SetSCBCallStatus_001, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); const std::string bundleName("com.test.demo"); std::string abilityName("MainAbility"); const std::string startTime = "startTime"; @@ -144,8 +142,7 @@ HWTEST_F(FreeInstallManagerSecondTest, SetSCBCallStatus_001, TestSize.Level1) */ HWTEST_F(FreeInstallManagerSecondTest, NotifyInsightIntentFreeInstallResult_001, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; int32_t resultCode = ERR_OK + 1; //resultCode != ERR_OK and freeInstallList_ is NULL diff --git a/test/unittest/free_install_manager_test/free_install_manager_test.cpp b/test/unittest/free_install_manager_test/free_install_manager_test.cpp index d193828b1a..425256dda9 100644 --- a/test/unittest/free_install_manager_test/free_install_manager_test.cpp +++ b/test/unittest/free_install_manager_test/free_install_manager_test.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2022-2025 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -78,8 +78,7 @@ sptr FreeInstallTest::MockToken() */ HWTEST_F(FreeInstallTest, FreeInstall_StartFreeInstall_001, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.test.demo", "MainAbility"); want.SetElement(element); @@ -113,8 +112,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_StartFreeInstall_001, TestSize.Level1) */ HWTEST_F(FreeInstallTest, FreeInstall_StartFreeInstall_002, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.test.demo", "MainAbility"); want.SetElement(element); @@ -134,8 +132,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_StartFreeInstall_002, TestSize.Level1) */ HWTEST_F(FreeInstallTest, FreeInstall_StartFreeInstall_003, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.test.demo", "MainAbility"); want.SetElement(element); @@ -168,8 +165,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_StartFreeInstall_003, TestSize.Level1) */ HWTEST_F(FreeInstallTest, FreeInstall_OnInstallFinished_001, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.test.demo", "MainAbility"); want.SetElement(element); @@ -202,8 +198,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_OnInstallFinished_001, TestSize.Level1) */ HWTEST_F(FreeInstallTest, FreeInstall_OnInstallFinished_002, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.test.demo", "MainAbility"); want.SetElement(element); @@ -236,8 +231,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_OnInstallFinished_002, TestSize.Level1) */ HWTEST_F(FreeInstallTest, FreeInstall_OnInstallFinished_003, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.test.demo", "MainAbility"); want.SetElement(element); @@ -263,8 +257,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_OnInstallFinished_003, TestSize.Level1) */ HWTEST_F(FreeInstallTest, FreeInstall_FreeInstallAbilityFromRemote_001, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.test.demo", "MainAbility"); want.SetElement(element); @@ -282,8 +275,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_FreeInstallAbilityFromRemote_001, TestSize */ HWTEST_F(FreeInstallTest, FreeInstall_OnRemoteInstallFinished_001, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.test.demo", "MainAbility"); want.SetElement(element); @@ -316,8 +308,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_OnRemoteInstallFinished_001, TestSize.Leve */ HWTEST_F(FreeInstallTest, FreeInstall_ConnectFreeInstall_001, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.test.demo", "MainAbility"); want.SetElement(element); @@ -327,23 +318,6 @@ HWTEST_F(FreeInstallTest, FreeInstall_ConnectFreeInstall_001, TestSize.Level1) EXPECT_NE(res, 0); } - -/** - * @tc.number: FreeInstall_UpdateElementName_001 - * @tc.name: UpdateElementName - * @tc.desc: Test UpdateElementName. - */ -HWTEST_F(FreeInstallTest, FreeInstall_UpdateElementName_001, TestSize.Level1) -{ - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); - Want want; - const int32_t userId = 1; - freeInstallManager_->UpdateElementName(want, userId); - freeInstallManager_->GetTimeStamp(); - EXPECT_TRUE(freeInstallManager_ != nullptr); -} - /** * @tc.number: FreeInstall_AddFreeInstallObserver_001 * @tc.name: AddFreeInstallObserver @@ -351,8 +325,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_UpdateElementName_001, TestSize.Level1) */ HWTEST_F(FreeInstallTest, FreeInstall_AddFreeInstallObserver_001, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); auto ret = freeInstallManager_->AddFreeInstallObserver(nullptr, nullptr); EXPECT_EQ(CHECK_PERMISSION_FAILED, ret); @@ -365,8 +338,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_AddFreeInstallObserver_001, TestSize.Level */ HWTEST_F(FreeInstallTest, FreeInstall_SetSCBCallStatus_001, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); freeInstallManager_->SetSCBCallStatus("com.ix.hiservcie", "ServiceAbility", "2024-7-17 00:00:00", false); FreeInstallInfo freeInstallInfo; @@ -382,8 +354,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_SetSCBCallStatus_001, TestSize.Level1) */ HWTEST_F(FreeInstallTest, FreeInstall_SetPreStartMissionCallStatus_001, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); freeInstallManager_->SetPreStartMissionCallStatus("com.ix.hiservcie", "ServiceAbility", "2024-7-17 00:00:00", false); @@ -400,8 +371,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_SetPreStartMissionCallStatus_001, TestSize */ HWTEST_F(FreeInstallTest, FreeInstall_SetFreeInstallTaskSessionId_001, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.ix.hiservcie", "ServiceAbility"); @@ -439,8 +409,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_SetFreeInstallTaskSessionId_001, TestSize. */ HWTEST_F(FreeInstallTest, FreeInstall_VerifyStartFreeInstallPermission_001, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); const sptr callerToken = MockToken(); freeInstallManager_->VerifyStartFreeInstallPermission(callerToken); @@ -455,8 +424,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_VerifyStartFreeInstallPermission_001, Test */ HWTEST_F(FreeInstallTest, FreeInstall_SetAppRunningState_001, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; freeInstallManager_->SetAppRunningState(want); @@ -470,8 +438,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_SetAppRunningState_001, TestSize.Level1) */ HWTEST_F(FreeInstallTest, FreeInstall_PostUpgradeAtomicServiceTask_001, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.test.demo", "MainAbility"); @@ -489,8 +456,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_PostUpgradeAtomicServiceTask_001, TestSize */ HWTEST_F(FreeInstallTest, FreeInstall_StartAbilityByOriginalWant_001, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); FreeInstallInfo freeInstallInfo; freeInstallManager_->StartAbilityByOriginalWant(freeInstallInfo, "2024-07-17 00:00:00"); @@ -504,8 +470,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_StartAbilityByOriginalWant_001, TestSize.L */ HWTEST_F(FreeInstallTest, FreeInstall_StartAbilityByConvertedWant_001, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); FreeInstallInfo freeInstallInfo; freeInstallManager_->StartAbilityByConvertedWant(freeInstallInfo, "2024-07-17 00:00:00"); @@ -519,8 +484,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_StartAbilityByConvertedWant_001, TestSize. */ HWTEST_F(FreeInstallTest, FreeInstall_IsTopAbility_001, TestSize.Level1) { - auto abilityMs = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs); + freeInstallManager_ = std::make_shared(); EXPECT_NE(freeInstallManager_, nullptr); sptr callerToken = nullptr; bool result = freeInstallManager_->IsTopAbility(callerToken); @@ -534,8 +498,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_IsTopAbility_001, TestSize.Level1) */ HWTEST_F(FreeInstallTest, FreeInstall_StartRemoteFreeInstall_001, TestSize.Level1) { - auto abilityMs = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs); + freeInstallManager_ = std::make_shared(); Want want; want.SetParam(Want::PARAM_RESV_FOR_RESULT, true); AbilityRequest abilityRequest; @@ -556,8 +519,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_StartRemoteFreeInstall_001, TestSize.Level */ HWTEST_F(FreeInstallTest, FreeInstall_AddFreeInstallObserver_002, TestSize.Level1) { - auto abilityMs = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs); + freeInstallManager_ = std::make_shared(); AbilityRequest abilityRequest; abilityRequest.appInfo.bundleName = "com.test.demo"; abilityRequest.abilityInfo.name = "MainAbility"; @@ -576,8 +538,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_AddFreeInstallObserver_002, TestSize.Level */ HWTEST_F(FreeInstallTest, FreeInstall_GetRecordIdByToken_001, TestSize.Level1) { - auto abilityMs = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs); + freeInstallManager_ = std::make_shared(); EXPECT_NE(freeInstallManager_, nullptr); AbilityRequest abilityRequest; abilityRequest.appInfo.bundleName = "com.test.demo"; @@ -597,8 +558,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_GetRecordIdByToken_001, TestSize.Level1) */ HWTEST_F(FreeInstallTest, FreeInstall_GetRecordIdByToken_002, TestSize.Level1) { - auto abilityMs = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs); + freeInstallManager_ = std::make_shared(); EXPECT_NE(freeInstallManager_, nullptr); sptr callerToken = nullptr; int32_t result = freeInstallManager_->GetRecordIdByToken(callerToken); @@ -612,8 +572,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_GetRecordIdByToken_002, TestSize.Level1) */ HWTEST_F(FreeInstallTest, FreeInstall_BuildFreeInstallInfo_002, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.test.demo", "MainAbility"); want.SetElement(element); diff --git a/test/unittest/free_install_manager_third_test/free_install_manager_third_test.cpp b/test/unittest/free_install_manager_third_test/free_install_manager_third_test.cpp index a63ecb5dd4..465d820d18 100644 --- a/test/unittest/free_install_manager_third_test/free_install_manager_third_test.cpp +++ b/test/unittest/free_install_manager_third_test/free_install_manager_third_test.cpp @@ -74,8 +74,7 @@ sptr FreeInstallTest::MockToken() */ HWTEST_F(FreeInstallTest, FreeInstall_RemoteFreeInstall_001, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.test.demo", "MainAbility"); want.SetElement(element); @@ -108,8 +107,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_RemoteFreeInstall_001, TestSize.Level1) */ HWTEST_F(FreeInstallTest, FreeInstall_RemoteFreeInstall_002, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.test.demo", "MainAbility"); want.SetElement(element); @@ -143,8 +141,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_RemoteFreeInstall_002, TestSize.Level1) */ HWTEST_F(FreeInstallTest, FreeInstall_StartRemoteFreeInstall_001, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.test.demo", "MainAbility"); want.SetElement(element); @@ -178,8 +175,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_StartRemoteFreeInstall_001, TestSize.Level */ HWTEST_F(FreeInstallTest, FreeInstall_StartRemoteFreeInstall_002, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.test.demo", "MainAbility"); want.SetElement(element); @@ -212,17 +208,42 @@ HWTEST_F(FreeInstallTest, FreeInstall_StartRemoteFreeInstall_002, TestSize.Level */ HWTEST_F(FreeInstallTest, FreeInstall_NotifyDmsCallback_001, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.test.demo", "MainAbility"); want.SetElement(element); const int32_t userId = 100; const int requestCode = 0; want.SetParam(Want::PARAM_RESV_START_TIME, std::string("0")); - int res = 0; - res = freeInstallManager_->NotifyDmsCallback(want, requestCode); - EXPECT_EQ(res, ERR_INVALID_VALUE); + freeInstallManager_->NotifyDmsCallback(want, requestCode); + EXPECT_TRUE(freeInstallManager_->dmsFreeInstallCbs_.empty()); +} + +/** + * @tc.number: NotifyDmsCallback_002 + * @tc.name: NotifyDmsCallback + * @tc.desc: Test NotifyDmsCallback. + */ +HWTEST_F(FreeInstallTest, FreeInstall_NotifyDmsCallback_002, TestSize.Level1) +{ + freeInstallManager_ = std::make_shared(); + Want want; + ElementName element("", "com.test.demo", "MainAbility"); + want.SetElement(element); + const int32_t userId = 100; + const int requestCode = 0; + want.SetParam(Want::PARAM_RESV_START_TIME, std::string("0")); + FreeInstallInfo info = { + .userId = userId, + .requestCode = requestCode, + .dmsCallback = nullptr, + .want = want + }; + freeInstallManager_->dmsFreeInstallCbs_.push_back(info); + ASSERT_FALSE(freeInstallManager_->dmsFreeInstallCbs_.empty()); + + freeInstallManager_->NotifyDmsCallback(want, requestCode); + EXPECT_TRUE(freeInstallManager_->dmsFreeInstallCbs_.empty()); } /** @@ -232,8 +253,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_NotifyDmsCallback_001, TestSize.Level1) */ HWTEST_F(FreeInstallTest, FreeInstall_HandleOnFreeInstallSuccess_001, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.test.demo", "MainAbility"); want.SetElement(element); @@ -254,8 +274,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_HandleOnFreeInstallSuccess_001, TestSize.L */ HWTEST_F(FreeInstallTest, FreeInstall_HandleOnFreeInstallSuccess_002, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.test.demo", "MainAbility"); want.SetElement(element); @@ -276,8 +295,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_HandleOnFreeInstallSuccess_002, TestSize.L */ HWTEST_F(FreeInstallTest, FreeInstall_HandleOnFreeInstallFail_001, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.ohos.param.sessionId", "MainAbility"); want.SetElement(element); @@ -300,8 +318,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_HandleOnFreeInstallFail_001, TestSize.Leve */ HWTEST_F(FreeInstallTest, FreeInstall_HandleOnFreeInstallFail_002, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.ohos.param.sessionId", "MainAbility"); want.SetElement(element); @@ -323,8 +340,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_HandleOnFreeInstallFail_002, TestSize.Leve */ HWTEST_F(FreeInstallTest, FreeInstall_HandleOnFreeInstallFail_003, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.example.aplication", "MainAbility"); want.SetElement(element); @@ -350,8 +366,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_HandleOnFreeInstallFail_003, TestSize.Leve HWTEST_F(FreeInstallTest, FreeInstall_HandleOnFreeInstallFail_004, TestSize.Level1) { TAG_LOGI(AAFwkTag::TEST, "FreeInstall_HandleOnFreeInstallFail_004 start"); - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.example.aplication", "MainAbility"); want.SetElement(element); @@ -378,8 +393,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_HandleOnFreeInstallFail_004, TestSize.Leve */ HWTEST_F(FreeInstallTest, FreeInstall_StartAbilityByFreeInstall_001, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.test.demo", "MainAbility"); want.SetElement(element); @@ -404,8 +418,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_StartAbilityByFreeInstall_001, TestSize.Le */ HWTEST_F(FreeInstallTest, FreeInstall_StartAbilityByFreeInstall_002, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "", ""); want.SetElement(element); @@ -426,8 +439,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_StartAbilityByFreeInstall_002, TestSize.Le */ HWTEST_F(FreeInstallTest, FreeInstall_StartAbilityByPreInstall_001, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.test.demo", "MainAbility"); want.SetElement(element); @@ -455,8 +467,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_StartAbilityByPreInstall_001, TestSize.Lev */ HWTEST_F(FreeInstallTest, FreeInstall_StartAbilityByPreInstall_002, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "", ""); want.SetElement(element); @@ -478,8 +489,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_StartAbilityByPreInstall_002, TestSize.Lev */ HWTEST_F(FreeInstallTest, FreeInstall_SetSCBCallStatus_001, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.test.demo", "MainAbility"); want.SetElement(element); @@ -506,8 +516,7 @@ HWTEST_F(FreeInstallTest, FreeInstall_SetSCBCallStatus_001, TestSize.Level1) */ HWTEST_F(FreeInstallTest, FreeInstall_SetPreStartMissionCallStatus_001, TestSize.Level1) { - auto abilityMs_ = std::make_shared(); - freeInstallManager_ = std::make_shared(abilityMs_); + freeInstallManager_ = std::make_shared(); Want want; ElementName element("", "com.test.demo", "MainAbility"); want.SetElement(element);