mirror of
https://github.com/openharmony/ability_ability_runtime.git
synced 2026-08-24 12:43:16 -04:00
!16240 免安装代码优化
Merge pull request !16240 from 杨旭光/refactor/free-install
This commit is contained in:
@@ -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<FreeInstallManager> {
|
||||
public:
|
||||
explicit FreeInstallManager(const std::weak_ptr<AbilityManagerService> &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<IRemoteObject> &callerToken,
|
||||
int StartFreeInstall(const Want &want, int32_t userId, int requestCode, sptr<IRemoteObject> callerToken,
|
||||
std::shared_ptr<FreeInstallParams> 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<IRemoteObject> &callerToken);
|
||||
int StartRemoteFreeInstall(Want &want, int requestCode, int32_t validUserId,
|
||||
sptr<IRemoteObject> 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<IRemoteObject> &callback,
|
||||
int FreeInstallAbilityFromRemote(const Want &want, sptr<IRemoteObject> 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<IRemoteObject> &callerToken,
|
||||
const std::string& localDeviceId);
|
||||
int ConnectFreeInstall(const Want &want, int32_t userId, sptr<IRemoteObject> 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<IRemoteObject> &callerToken,
|
||||
const sptr<AbilityRuntime::IFreeInstallObserver> &observer);
|
||||
int AddFreeInstallObserver(sptr<IRemoteObject> callerToken, sptr<AbilityRuntime::IFreeInstallObserver> observer);
|
||||
|
||||
/**
|
||||
* Get free install task info.
|
||||
@@ -199,7 +196,6 @@ public:
|
||||
const std::string& startTime, const std::string& sessionId);
|
||||
|
||||
private:
|
||||
std::weak_ptr<AbilityManagerService> server_;
|
||||
std::vector<FreeInstallInfo> freeInstallList_;
|
||||
std::vector<FreeInstallInfo> dmsFreeInstallCbs_;
|
||||
std::map<std::string, std::time_t> 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<IRemoteObject> &callerToken);
|
||||
int RemoteFreeInstall(const Want &want, int32_t userId, int requestCode, sptr<IRemoteObject> callerToken);
|
||||
|
||||
int NotifyDmsCallback(const Want &want, int resultCode);
|
||||
bool IsTopAbility(const sptr<IRemoteObject> &callerToken);
|
||||
void NotifyDmsCallback(const Want &want, int resultCode);
|
||||
bool IsTopAbility(sptr<IRemoteObject> 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<IRemoteObject> &callerToken, std::shared_ptr<FreeInstallParams> param = nullptr);
|
||||
std::time_t GetTimeStamp();
|
||||
sptr<IRemoteObject> callerToken, std::shared_ptr<FreeInstallParams> 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<IRemoteObject> &callerToken);
|
||||
int32_t GetRecordIdByToken(const sptr<IRemoteObject> &callerToken);
|
||||
bool VerifyStartFreeInstallPermission(sptr<IRemoteObject> callerToken);
|
||||
int32_t GetRecordIdByToken(sptr<IRemoteObject> callerToken);
|
||||
void NotifyInsightIntentFreeInstallResult(const Want &want, int resultCode);
|
||||
void NotifyInsightIntentExecuteDone(const Want &want, int resultCode);
|
||||
};
|
||||
|
||||
@@ -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<std::chrono::system_clock, std::chrono::milliseconds> tp =
|
||||
std::chrono::time_point_cast<std::chrono::milliseconds>(std::chrono::system_clock::now());
|
||||
std::time_t timestamp = tp.time_since_epoch().count();
|
||||
return timestamp;
|
||||
}
|
||||
|
||||
inline ErrCode EdmErrorType(bool isEdm)
|
||||
{
|
||||
if (isEdm) {
|
||||
|
||||
@@ -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<AbilityEventHandler>(taskHandler_, weak_from_this());
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(weak_from_this());
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
CHECK_POINTER_RETURN_BOOL(freeInstallManager_);
|
||||
|
||||
AmsConfigurationParameter::GetInstance().Parse();
|
||||
|
||||
@@ -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<AbilityManagerService> &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<IRemoteObject> &callerToken)
|
||||
bool FreeInstallManager::IsTopAbility(sptr<IRemoteObject> 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<AbilityManagerService>::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<IRemoteObject> &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<IRemoteObject> &callerToken, std::shared_ptr<FreeInstallParams> param)
|
||||
sptr<IRemoteObject> callerToken, std::shared_ptr<FreeInstallParams> 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<AtomicServiceStatusCallback> 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<IRemoteObject> &callerToken)
|
||||
sptr<IRemoteObject> 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<IRemoteObject> &callerToken, std::shared_ptr<FreeInstallParams> param)
|
||||
sptr<IRemoteObject> callerToken, std::shared_ptr<FreeInstallParams> param)
|
||||
{
|
||||
if (param == nullptr) {
|
||||
param = std::make_shared<FreeInstallParams>();
|
||||
@@ -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<std::promise<int32_t>>();
|
||||
info.promise = promise;
|
||||
info.promise = std::make_shared<std::promise<int32_t>>();
|
||||
}
|
||||
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<IRemoteObject> &callerToken)
|
||||
int FreeInstallManager::StartRemoteFreeInstall(Want &want, int requestCode, int32_t validUserId,
|
||||
sptr<IRemoteObject> 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*>(&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<ffrt::mutex> 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<IRemoteObject> &callback,
|
||||
int FreeInstallManager::FreeInstallAbilityFromRemote(const Want &want, sptr<IRemoteObject> 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<IRemoteObject> &callerToken, const std::string& localDeviceId)
|
||||
sptr<IRemoteObject> 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<std::chrono::system_clock, std::chrono::milliseconds> tp =
|
||||
std::chrono::time_point_cast<std::chrono::milliseconds>(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<FreeInstallManager> 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<IRemoteObject> &callerToken,
|
||||
const sptr<AbilityRuntime::IFreeInstallObserver> &observer)
|
||||
int FreeInstallManager::AddFreeInstallObserver(sptr<IRemoteObject> callerToken,
|
||||
sptr<AbilityRuntime::IFreeInstallObserver> 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<IRemoteObject> &callerToken)
|
||||
bool FreeInstallManager::VerifyStartFreeInstallPermission(sptr<IRemoteObject> callerToken)
|
||||
{
|
||||
if (SupportSystemAbilityPermission::IsSupportSaCallPermission() || IsTopAbility(callerToken)) {
|
||||
return true;
|
||||
@@ -678,7 +672,7 @@ bool FreeInstallManager::VerifyStartFreeInstallPermission(const sptr<IRemoteObje
|
||||
return false;
|
||||
}
|
||||
|
||||
int32_t FreeInstallManager::GetRecordIdByToken(const sptr<IRemoteObject> &callerToken)
|
||||
int32_t FreeInstallManager::GetRecordIdByToken(sptr<IRemoteObject> 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;
|
||||
}
|
||||
|
||||
@@ -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<AbilityManagerService>();
|
||||
std::weak_ptr<AbilityManagerService> amsWeakPtr{ abilityms };
|
||||
auto freeInstallManager = std::make_shared<FreeInstallManager>(amsWeakPtr);
|
||||
auto freeInstallManager = std::make_shared<FreeInstallManager>();
|
||||
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);
|
||||
|
||||
|
||||
+2
-2
@@ -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<FreeInstallManager>(abilityMs_);
|
||||
abilityMs_->freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
ret = abilityMs_->StartUIAbilityBySCB(sessionInfo, isColdStart, sceneFlag);
|
||||
EXPECT_NE(ret, ERR_OK);
|
||||
auto uiAbilityLifecycleManager = std::make_shared<UIAbilityLifecycleManager>();
|
||||
@@ -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<FreeInstallManager>(abilityMs_);
|
||||
abilityMs_->freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
abilityMs_->freeInstallManager_->freeInstallList_.push_back(freeInstallInfo);
|
||||
ret = abilityMs_->StartUIAbilityBySCB(sessionInfo, isColdStart, sceneFlag);
|
||||
EXPECT_EQ(ret, ERR_OK);
|
||||
|
||||
+1
-1
@@ -171,7 +171,7 @@ HWTEST_F(AbilityManagerServiceFourthTest, AddFreeInstallObserver_001, TestSize.L
|
||||
sptr<AbilityRuntime::IFreeInstallObserver> observer;
|
||||
EXPECT_EQ(abilityMs_->AddFreeInstallObserver(nullptr, observer), ERR_INVALID_VALUE);
|
||||
|
||||
abilityMs_->freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
abilityMs_->freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
EXPECT_EQ(abilityMs_->AddFreeInstallObserver(nullptr, observer), ERR_INVALID_VALUE);
|
||||
|
||||
TAG_LOGI(AAFwkTag::TEST, "AbilityManagerServiceSecondTest AddFreeInstallObserver_001 end");
|
||||
|
||||
+4
-4
@@ -443,7 +443,7 @@ HWTEST_F(AbilityManagerServiceSixthTest, PreStartFreeInstall_001, TestSize.Level
|
||||
bool isStartAsCaller { false };
|
||||
auto callerToken = sptr<MockAbilityToken>::MakeSptr();
|
||||
auto abilityMs_ = std::make_shared<AbilityManagerService>();
|
||||
abilityMs_->freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
abilityMs_->freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<FreeInstallManager>(abilityMs);
|
||||
abilityMs->freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<FreeInstallManager>(abilityMs);
|
||||
abilityMs->freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<FreeInstallManager>(abilityMs);
|
||||
abilityMs->freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
ret = abilityMs->ConnectAbilityCommon(want, impl, nullptr, ExtensionAbilityType::UI_SERVICE,
|
||||
-1, false);
|
||||
Mock::VerifyAndClear(mockBundleMgr);
|
||||
|
||||
+3
-3
@@ -2438,7 +2438,7 @@ HWTEST_F(AbilityManagerServiceThirdTest, OpenLinkFreeInstallAtomicService_002, T
|
||||
TAG_LOGI(AAFwkTag::TEST, "OpenLinkFreeInstallAtomicService_002 start");
|
||||
auto abilityMs_ = std::make_shared<AbilityManagerService>();
|
||||
EXPECT_NE(abilityMs_, nullptr);
|
||||
abilityMs_->freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
abilityMs_->freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
sptr<IRemoteObject> 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<AbilityManagerService>();
|
||||
EXPECT_NE(abilityMs_, nullptr);
|
||||
abilityMs_->freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
abilityMs_->freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
sptr<IRemoteObject> 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<AbilityManagerService>();
|
||||
EXPECT_NE(abilityMs_, nullptr);
|
||||
abilityMs_->freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
abilityMs_->freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
sptr<IRemoteObject> token = MockToken(AbilityType::PAGE);
|
||||
AAFwk::Want want;
|
||||
AAFwk::Want convertedWant;
|
||||
|
||||
+15
-20
@@ -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<FreeInstallManager> {
|
||||
public:
|
||||
explicit FreeInstallManager(const std::weak_ptr<AbilityManagerService> &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<IRemoteObject> &callerToken,
|
||||
int StartFreeInstall(const Want &want, int32_t userId, int requestCode, sptr<IRemoteObject> callerToken,
|
||||
std::shared_ptr<FreeInstallParams> 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<IRemoteObject> &callerToken);
|
||||
int StartRemoteFreeInstall(Want &want, int requestCode, int32_t validUserId,
|
||||
sptr<IRemoteObject> 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<IRemoteObject> &callback,
|
||||
int FreeInstallAbilityFromRemote(const Want &want, sptr<IRemoteObject> 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<IRemoteObject> &callerToken,
|
||||
const std::string& localDeviceId);
|
||||
int ConnectFreeInstall(const Want &want, int32_t userId, sptr<IRemoteObject> 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<IRemoteObject> &callerToken,
|
||||
const sptr<AbilityRuntime::IFreeInstallObserver> &observer);
|
||||
int AddFreeInstallObserver(sptr<IRemoteObject> callerToken, sptr<AbilityRuntime::IFreeInstallObserver> observer);
|
||||
|
||||
/**
|
||||
* Get free install task info.
|
||||
@@ -199,7 +196,6 @@ public:
|
||||
const std::string& startTime, const std::string& sessionId);
|
||||
|
||||
private:
|
||||
std::weak_ptr<AbilityManagerService> server_;
|
||||
std::vector<FreeInstallInfo> freeInstallList_;
|
||||
std::vector<FreeInstallInfo> dmsFreeInstallCbs_;
|
||||
std::map<std::string, std::time_t> 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<IRemoteObject> &callerToken);
|
||||
int RemoteFreeInstall(const Want &want, int32_t userId, int requestCode, sptr<IRemoteObject> callerToken);
|
||||
|
||||
int NotifyDmsCallback(const Want &want, int resultCode);
|
||||
bool IsTopAbility(const sptr<IRemoteObject> &callerToken);
|
||||
void NotifyDmsCallback(const Want &want, int resultCode);
|
||||
bool IsTopAbility(sptr<IRemoteObject> 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<IRemoteObject> &callerToken, std::shared_ptr<FreeInstallParams> param = nullptr);
|
||||
std::time_t GetTimeStamp();
|
||||
sptr<IRemoteObject> callerToken, std::shared_ptr<FreeInstallParams> 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<IRemoteObject> &callerToken);
|
||||
int32_t GetRecordIdByToken(const sptr<IRemoteObject> &callerToken);
|
||||
bool VerifyStartFreeInstallPermission(sptr<IRemoteObject> callerToken);
|
||||
int32_t GetRecordIdByToken(sptr<IRemoteObject> callerToken);
|
||||
void NotifyInsightIntentFreeInstallResult(const Want &want, int resultCode);
|
||||
void NotifyInsightIntentExecuteDone(const Want &want, int resultCode);
|
||||
};
|
||||
|
||||
+15
-25
@@ -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<AbilityManagerService> &server)
|
||||
: server_(server)
|
||||
FreeInstallManager::FreeInstallManager()
|
||||
{
|
||||
}
|
||||
|
||||
bool FreeInstallManager::IsTopAbility(const sptr<IRemoteObject> &callerToken)
|
||||
bool FreeInstallManager::IsTopAbility(sptr<IRemoteObject> callerToken)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
int FreeInstallManager::StartFreeInstall(const Want &want, int32_t userId, int requestCode,
|
||||
const sptr<IRemoteObject> &callerToken, std::shared_ptr<FreeInstallParams> param)
|
||||
sptr<IRemoteObject> callerToken, std::shared_ptr<FreeInstallParams> 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<IRemoteObject> &callerToken)
|
||||
sptr<IRemoteObject> callerToken)
|
||||
{
|
||||
return NOT_TOP_ABILITY;
|
||||
}
|
||||
|
||||
FreeInstallInfo FreeInstallManager::BuildFreeInstallInfo(const Want &want, int32_t userId, int requestCode,
|
||||
const sptr<IRemoteObject> &callerToken, std::shared_ptr<FreeInstallParams> param)
|
||||
sptr<IRemoteObject> callerToken, std::shared_ptr<FreeInstallParams> param)
|
||||
{
|
||||
FreeInstallInfo info = {};
|
||||
return info;
|
||||
}
|
||||
|
||||
int FreeInstallManager::StartRemoteFreeInstall(const Want &want, int requestCode, int32_t validUserId,
|
||||
const sptr<IRemoteObject> &callerToken)
|
||||
int FreeInstallManager::StartRemoteFreeInstall(Want &want, int requestCode, int32_t validUserId,
|
||||
sptr<IRemoteObject> 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<IRemoteObject> &callback,
|
||||
int FreeInstallManager::FreeInstallAbilityFromRemote(const Want &want, sptr<IRemoteObject> callback,
|
||||
int32_t userId, int requestCode)
|
||||
{
|
||||
return ERR_OK;
|
||||
}
|
||||
|
||||
int FreeInstallManager::ConnectFreeInstall(const Want &want, int32_t userId,
|
||||
const sptr<IRemoteObject> &callerToken, const std::string& localDeviceId)
|
||||
sptr<IRemoteObject> callerToken, const std::string &localDeviceId)
|
||||
{
|
||||
return ERR_OK;
|
||||
}
|
||||
|
||||
std::time_t FreeInstallManager::GetTimeStamp()
|
||||
{
|
||||
std::chrono::time_point<std::chrono::system_clock, std::chrono::milliseconds> tp =
|
||||
std::chrono::time_point_cast<std::chrono::milliseconds>(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<IRemoteObject> &callerToken,
|
||||
const sptr<AbilityRuntime::IFreeInstallObserver> &observer)
|
||||
int FreeInstallManager::AddFreeInstallObserver(sptr<IRemoteObject> callerToken,
|
||||
sptr<AbilityRuntime::IFreeInstallObserver> observer)
|
||||
{
|
||||
return CHECK_PERMISSION_FAILED;
|
||||
}
|
||||
@@ -154,12 +144,12 @@ void FreeInstallManager::RemoveFreeInstallInfo(const std::string &bundleName, co
|
||||
{
|
||||
}
|
||||
|
||||
bool FreeInstallManager::VerifyStartFreeInstallPermission(const sptr<IRemoteObject> &callerToken)
|
||||
bool FreeInstallManager::VerifyStartFreeInstallPermission(sptr<IRemoteObject> callerToken)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
int32_t FreeInstallManager::GetRecordIdByToken(const sptr<IRemoteObject> &callerToken)
|
||||
int32_t FreeInstallManager::GetRecordIdByToken(sptr<IRemoteObject> callerToken)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
+7
-7
@@ -434,7 +434,7 @@ HWTEST_F(AbilityManagerServiceThirteenthTest, IsEmbeddedOpenAllowed_003, TestSiz
|
||||
EXPECT_NE(mockSubManagersHelper, nullptr);
|
||||
auto mockCurrentUIAbilityManager = std::make_shared<UIAbilityLifecycleManager>(0);
|
||||
EXPECT_NE(mockCurrentUIAbilityManager, nullptr);
|
||||
auto mockFreeInstallManager = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
auto mockFreeInstallManager = std::make_shared<FreeInstallManager>();
|
||||
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<UIAbilityLifecycleManager>(0);
|
||||
EXPECT_NE(mockCurrentUIAbilityManager, nullptr);
|
||||
auto mockFreeInstallManager = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
auto mockFreeInstallManager = std::make_shared<FreeInstallManager>();
|
||||
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<UIAbilityLifecycleManager>(0);
|
||||
EXPECT_NE(mockCurrentUIAbilityManager, nullptr);
|
||||
auto mockFreeInstallManager = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
auto mockFreeInstallManager = std::make_shared<FreeInstallManager>();
|
||||
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<UIAbilityLifecycleManager>(0);
|
||||
EXPECT_NE(mockCurrentUIAbilityManager, nullptr);
|
||||
auto mockFreeInstallManager = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
auto mockFreeInstallManager = std::make_shared<FreeInstallManager>();
|
||||
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<UIAbilityLifecycleManager>(0);
|
||||
EXPECT_NE(mockCurrentUIAbilityManager, nullptr);
|
||||
auto mockFreeInstallManager = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
auto mockFreeInstallManager = std::make_shared<FreeInstallManager>();
|
||||
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<UIAbilityLifecycleManager>(0);
|
||||
EXPECT_NE(mockCurrentUIAbilityManager, nullptr);
|
||||
auto mockFreeInstallManager = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
auto mockFreeInstallManager = std::make_shared<FreeInstallManager>();
|
||||
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<UIAbilityLifecycleManager>(0);
|
||||
EXPECT_NE(mockCurrentUIAbilityManager, nullptr);
|
||||
auto mockFreeInstallManager = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
auto mockFreeInstallManager = std::make_shared<FreeInstallManager>();
|
||||
EXPECT_NE(mockFreeInstallManager, nullptr);
|
||||
abilityMs_->subManagersHelper_ = mockSubManagersHelper;
|
||||
abilityMs_->subManagersHelper_->currentUIAbilityManager_ = mockCurrentUIAbilityManager;
|
||||
|
||||
+15
-20
@@ -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<FreeInstallManager> {
|
||||
public:
|
||||
explicit FreeInstallManager(const std::weak_ptr<AbilityManagerService> &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<IRemoteObject> &callerToken,
|
||||
int StartFreeInstall(const Want &want, int32_t userId, int requestCode, sptr<IRemoteObject> callerToken,
|
||||
std::shared_ptr<FreeInstallParams> 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<IRemoteObject> &callerToken);
|
||||
int StartRemoteFreeInstall(Want &want, int requestCode, int32_t validUserId,
|
||||
sptr<IRemoteObject> 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<IRemoteObject> &callback,
|
||||
int FreeInstallAbilityFromRemote(const Want &want, sptr<IRemoteObject> 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<IRemoteObject> &callerToken,
|
||||
const std::string& localDeviceId);
|
||||
int ConnectFreeInstall(const Want &want, int32_t userId, sptr<IRemoteObject> 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<IRemoteObject> &callerToken,
|
||||
const sptr<AbilityRuntime::IFreeInstallObserver> &observer);
|
||||
int AddFreeInstallObserver(sptr<IRemoteObject> callerToken, sptr<AbilityRuntime::IFreeInstallObserver> observer);
|
||||
|
||||
/**
|
||||
* Get free install task info.
|
||||
@@ -199,7 +196,6 @@ public:
|
||||
const std::string& startTime, const std::string& sessionId);
|
||||
|
||||
private:
|
||||
std::weak_ptr<AbilityManagerService> server_;
|
||||
std::vector<FreeInstallInfo> freeInstallList_;
|
||||
std::vector<FreeInstallInfo> dmsFreeInstallCbs_;
|
||||
std::map<std::string, std::time_t> 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<IRemoteObject> &callerToken);
|
||||
int RemoteFreeInstall(const Want &want, int32_t userId, int requestCode, sptr<IRemoteObject> callerToken);
|
||||
|
||||
int NotifyDmsCallback(const Want &want, int resultCode);
|
||||
bool IsTopAbility(const sptr<IRemoteObject> &callerToken);
|
||||
void NotifyDmsCallback(const Want &want, int resultCode);
|
||||
bool IsTopAbility(sptr<IRemoteObject> 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<IRemoteObject> &callerToken, std::shared_ptr<FreeInstallParams> param = nullptr);
|
||||
std::time_t GetTimeStamp();
|
||||
sptr<IRemoteObject> callerToken, std::shared_ptr<FreeInstallParams> 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<IRemoteObject> &callerToken);
|
||||
int32_t GetRecordIdByToken(const sptr<IRemoteObject> &callerToken);
|
||||
bool VerifyStartFreeInstallPermission(sptr<IRemoteObject> callerToken);
|
||||
int32_t GetRecordIdByToken(sptr<IRemoteObject> callerToken);
|
||||
void NotifyInsightIntentFreeInstallResult(const Want &want, int resultCode);
|
||||
void NotifyInsightIntentExecuteDone(const Want &want, int resultCode);
|
||||
};
|
||||
|
||||
+15
-25
@@ -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<AbilityManagerService> &server)
|
||||
: server_(server)
|
||||
FreeInstallManager::FreeInstallManager()
|
||||
{
|
||||
}
|
||||
|
||||
bool FreeInstallManager::IsTopAbility(const sptr<IRemoteObject> &callerToken)
|
||||
bool FreeInstallManager::IsTopAbility(sptr<IRemoteObject> callerToken)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
int FreeInstallManager::StartFreeInstall(const Want &want, int32_t userId, int requestCode,
|
||||
const sptr<IRemoteObject> &callerToken, std::shared_ptr<FreeInstallParams> param)
|
||||
sptr<IRemoteObject> callerToken, std::shared_ptr<FreeInstallParams> param)
|
||||
{
|
||||
return MyStatus::GetInstance().fimStartFreeInstall_;
|
||||
}
|
||||
|
||||
int FreeInstallManager::RemoteFreeInstall(const Want &want, int32_t userId, int requestCode,
|
||||
const sptr<IRemoteObject> &callerToken)
|
||||
sptr<IRemoteObject> callerToken)
|
||||
{
|
||||
return NOT_TOP_ABILITY;
|
||||
}
|
||||
|
||||
FreeInstallInfo FreeInstallManager::BuildFreeInstallInfo(const Want &want, int32_t userId, int requestCode,
|
||||
const sptr<IRemoteObject> &callerToken, std::shared_ptr<FreeInstallParams> param)
|
||||
sptr<IRemoteObject> callerToken, std::shared_ptr<FreeInstallParams> param)
|
||||
{
|
||||
FreeInstallInfo info = {};
|
||||
return info;
|
||||
}
|
||||
|
||||
int FreeInstallManager::StartRemoteFreeInstall(const Want &want, int requestCode, int32_t validUserId,
|
||||
const sptr<IRemoteObject> &callerToken)
|
||||
int FreeInstallManager::StartRemoteFreeInstall(Want &want, int requestCode, int32_t validUserId,
|
||||
sptr<IRemoteObject> 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<IRemoteObject> &callback,
|
||||
int FreeInstallManager::FreeInstallAbilityFromRemote(const Want &want, sptr<IRemoteObject> callback,
|
||||
int32_t userId, int requestCode)
|
||||
{
|
||||
return ERR_OK;
|
||||
}
|
||||
|
||||
int FreeInstallManager::ConnectFreeInstall(const Want &want, int32_t userId,
|
||||
const sptr<IRemoteObject> &callerToken, const std::string& localDeviceId)
|
||||
sptr<IRemoteObject> callerToken, const std::string &localDeviceId)
|
||||
{
|
||||
return ERR_OK;
|
||||
}
|
||||
|
||||
std::time_t FreeInstallManager::GetTimeStamp()
|
||||
{
|
||||
std::chrono::time_point<std::chrono::system_clock, std::chrono::milliseconds> tp =
|
||||
std::chrono::time_point_cast<std::chrono::milliseconds>(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<IRemoteObject> &callerToken,
|
||||
const sptr<AbilityRuntime::IFreeInstallObserver> &observer)
|
||||
int FreeInstallManager::AddFreeInstallObserver(sptr<IRemoteObject> callerToken,
|
||||
sptr<AbilityRuntime::IFreeInstallObserver> observer)
|
||||
{
|
||||
return CHECK_PERMISSION_FAILED;
|
||||
}
|
||||
@@ -143,12 +133,12 @@ void FreeInstallManager::RemoveFreeInstallInfo(const std::string &bundleName, co
|
||||
{
|
||||
}
|
||||
|
||||
bool FreeInstallManager::VerifyStartFreeInstallPermission(const sptr<IRemoteObject> &callerToken)
|
||||
bool FreeInstallManager::VerifyStartFreeInstallPermission(sptr<IRemoteObject> callerToken)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
int32_t FreeInstallManager::GetRecordIdByToken(const sptr<IRemoteObject> &callerToken)
|
||||
int32_t FreeInstallManager::GetRecordIdByToken(sptr<IRemoteObject> callerToken)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -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<Token> FreeInstallManagerSecondTest::MockToken()
|
||||
*/
|
||||
HWTEST_F(FreeInstallManagerSecondTest, GetFreeInstallTaskInfo_001, TestSize.Level1)
|
||||
{
|
||||
auto abilityMs_ = std::make_shared<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
Want want;
|
||||
int32_t resultCode = ERR_OK + 1;
|
||||
//resultCode != ERR_OK and freeInstallList_ is NULL
|
||||
|
||||
@@ -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<Token> FreeInstallTest::MockToken()
|
||||
*/
|
||||
HWTEST_F(FreeInstallTest, FreeInstall_StartFreeInstall_001, TestSize.Level1)
|
||||
{
|
||||
auto abilityMs_ = std::make_shared<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
|
||||
const sptr<IRemoteObject> 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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
EXPECT_NE(freeInstallManager_, nullptr);
|
||||
sptr<IRemoteObject> 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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
EXPECT_NE(freeInstallManager_, nullptr);
|
||||
sptr<IRemoteObject> 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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
Want want;
|
||||
ElementName element("", "com.test.demo", "MainAbility");
|
||||
want.SetElement(element);
|
||||
|
||||
@@ -74,8 +74,7 @@ sptr<Token> FreeInstallTest::MockToken()
|
||||
*/
|
||||
HWTEST_F(FreeInstallTest, FreeInstall_RemoteFreeInstall_001, TestSize.Level1)
|
||||
{
|
||||
auto abilityMs_ = std::make_shared<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
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<AbilityManagerService>();
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>(abilityMs_);
|
||||
freeInstallManager_ = std::make_shared<FreeInstallManager>();
|
||||
Want want;
|
||||
ElementName element("", "com.test.demo", "MainAbility");
|
||||
want.SetElement(element);
|
||||
|
||||
Reference in New Issue
Block a user