jsenv quick bundhelp

Signed-off-by: zhuhan <2281542033@qq.com>
Change-Id: I2252647768467cec6aaef734fda08e5d59be6e5c
This commit is contained in:
zhuhan
2024-07-20 16:25:46 +08:00
parent 82784ddd38
commit 80906705f4
12 changed files with 259 additions and 282 deletions
@@ -39,7 +39,7 @@ public:
static void Finalizer(napi_env env, void *data, void *hint)
{
TAG_LOGD(AAFwkTag::QUICKFIX, "function called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "function called");
std::unique_ptr<JsQuickFixManager>(static_cast<JsQuickFixManager*>(data));
}
@@ -76,16 +76,16 @@ public:
private:
napi_value OnGetApplyedQuickFixInfo(napi_env env, NapiCallbackInfo &info)
{
TAG_LOGD(AAFwkTag::QUICKFIX, "function called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "function called");
if (info.argc != ARGC_ONE && info.argc != ARGC_TWO) {
TAG_LOGE(AAFwkTag::QUICKFIX, "The number of parameter is invalid.");
TAG_LOGE(AAFwkTag::QUICKFIX, "The number of parameter is invalid");
ThrowInvalidParamError(env, "Parameter error: The number of parameter is invalid.");
return CreateJsUndefined(env);
}
std::string bundleName;
if (!OHOS::AppExecFwk::UnwrapStringFromJS2(env, info.argv[0], bundleName)) {
TAG_LOGE(AAFwkTag::QUICKFIX, "The bundleName is invalid.");
TAG_LOGE(AAFwkTag::QUICKFIX, "The bundleName is invalid");
ThrowInvalidParamError(env, "Parameter error: The bundleName is invalid, must be a string.");
return CreateJsUndefined(env);
}
@@ -105,22 +105,21 @@ private:
napi_value result = nullptr;
NapiAsyncTask::Schedule("JsQuickFixManager::OnGetApplyedQuickFixInfo", env,
CreateAsyncTaskWithLastParam(env, lastParam, nullptr, std::move(complete), &result));
TAG_LOGD(AAFwkTag::QUICKFIX, "function finished.");
return result;
}
napi_value OnApplyQuickFix(napi_env env, NapiCallbackInfo &info)
{
TAG_LOGD(AAFwkTag::QUICKFIX, "function called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "function called");
if (info.argc != ARGC_ONE && info.argc != ARGC_TWO) {
TAG_LOGE(AAFwkTag::QUICKFIX, "The number of parameter is invalid.");
TAG_LOGE(AAFwkTag::QUICKFIX, "The number of parameter is invalid");
ThrowInvalidParamError(env, "Parameter error: The number of parameter is invalid.");
return CreateJsUndefined(env);
}
std::vector<std::string> hapQuickFixFiles;
if (!OHOS::AppExecFwk::UnwrapArrayStringFromJS(env, info.argv[0], hapQuickFixFiles)) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Hap quick fix files is invalid.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Hap quick fix files is invalid");
ThrowInvalidParamError(env, "Parameter error: Hap quick fix files is invalid, must be a Array<string>.");
return CreateJsUndefined(env);
}
@@ -139,22 +138,21 @@ private:
napi_value result = nullptr;
NapiAsyncTask::Schedule("JsQuickFixManager::OnApplyQuickFix", env,
CreateAsyncTaskWithLastParam(env, lastParam, nullptr, std::move(complete), &result));
TAG_LOGD(AAFwkTag::QUICKFIX, "function finished.");
return result;
}
napi_value OnRevokeQuickFix(napi_env env, NapiCallbackInfo &info)
{
TAG_LOGD(AAFwkTag::QUICKFIX, "called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "called");
if (info.argc == ARGC_ZERO) {
TAG_LOGE(AAFwkTag::QUICKFIX, "The number of parameter is invalid.");
TAG_LOGE(AAFwkTag::QUICKFIX, "The number of parameter is invalid");
ThrowInvalidParamError(env, "Parameter error: The number of parameter is invalid.");
return CreateJsUndefined(env);
}
std::string bundleName;
if (!ConvertFromJsValue(env, info.argv[ARGC_ZERO], bundleName)) {
TAG_LOGE(AAFwkTag::QUICKFIX, "The bundleName is invalid.");
TAG_LOGE(AAFwkTag::QUICKFIX, "The bundleName is invalid");
ThrowInvalidParamError(env, "Parameter error: The bundleName is invalid, must be a string.");
return CreateJsUndefined(env);
}
@@ -164,22 +162,22 @@ private:
auto quickFixMgr = DelayedSingleton<AAFwk::QuickFixManagerClient>::GetInstance();
if (quickFixMgr == nullptr) {
*retval = AAFwk::ERR_QUICKFIX_INTERNAL_ERROR;
TAG_LOGE(AAFwkTag::QUICKFIX, "Get quick fix mgr is nullptr.");
TAG_LOGE(AAFwkTag::QUICKFIX, "mgr is nullptr");
return;
}
*retval = quickFixMgr->RevokeQuickFix(bundleName);
TAG_LOGD(AAFwkTag::QUICKFIX, "Revoke quick fix execute retval is {%{public}d}.", *retval);
TAG_LOGD(AAFwkTag::QUICKFIX, "Revoke quick fix execute retval is {%{public}d}", *retval);
};
auto complete = [retval = errCode](napi_env env, NapiAsyncTask &task, int32_t status) {
TAG_LOGD(AAFwkTag::QUICKFIX, "Revoke quick fix complete called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "Revoke quick fix complete called");
if (*retval != AAFwk::ERR_OK) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Revoke quick fix execution failed. retval is %{public}d", *retval);
task.Reject(env, CreateJsErrorByErrorCode(env, *retval));
return;
}
TAG_LOGD(AAFwkTag::QUICKFIX, "Revoke quick fix complete called ok.");
TAG_LOGD(AAFwkTag::QUICKFIX, "Revoke quick fix complete called ok");
task.ResolveWithNoError(env, CreateJsUndefined(env));
};
@@ -187,16 +185,16 @@ private:
napi_value result = nullptr;
NapiAsyncTask::Schedule("JsQuickFixManager::OnRevokeQuickFix", env,
CreateAsyncTaskWithLastParam(env, lastParam, std::move(execute), std::move(complete), &result));
TAG_LOGD(AAFwkTag::QUICKFIX, "Function finished.");
TAG_LOGD(AAFwkTag::QUICKFIX, "Function finished");
return result;
}
};
napi_value CreateJsQuickFixManager(napi_env env, napi_value exportObj)
{
TAG_LOGD(AAFwkTag::QUICKFIX, "function called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "called");
if (env == nullptr || exportObj == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Input parameter is invalid.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Input parameter is invalid");
return nullptr;
}
@@ -118,7 +118,7 @@ ErrCode BundleMgrHelper::GetSandboxBundleInfo(
}
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return ERR_APPEXECFWK_SANDBOX_INSTALL_INTERNAL_ERROR;
}
@@ -131,12 +131,12 @@ ErrCode BundleMgrHelper::GetSandboxAbilityInfo(const Want &want, int32_t appInde
{
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
if (appIndex <= AbilityRuntime::GlobalConstant::MAX_APP_CLONE_INDEX) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "The params are invalid.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "The params are invalid");
return ERR_APPEXECFWK_SANDBOX_INSTALL_PARAM_ERROR;
}
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return ERR_APPEXECFWK_SANDBOX_INSTALL_INTERNAL_ERROR;
}
@@ -152,12 +152,12 @@ ErrCode BundleMgrHelper::GetSandboxExtAbilityInfos(const Want &want, int32_t app
{
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
if (appIndex <= AbilityRuntime::GlobalConstant::MAX_APP_CLONE_INDEX) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "The params are invalid.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "The params are invalid");
return ERR_APPEXECFWK_SANDBOX_INSTALL_PARAM_ERROR;
}
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return ERR_APPEXECFWK_SANDBOX_INSTALL_INTERNAL_ERROR;
}
@@ -170,12 +170,12 @@ ErrCode BundleMgrHelper::GetSandboxHapModuleInfo(const AbilityInfo &abilityInfo,
{
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
if (appIndex <= AbilityRuntime::GlobalConstant::MAX_APP_CLONE_INDEX) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "The params are invalid.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "The params are invalid");
return ERR_APPEXECFWK_SANDBOX_INSTALL_PARAM_ERROR;
}
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return ERR_APPEXECFWK_SANDBOX_INSTALL_INTERNAL_ERROR;
}
@@ -192,27 +192,27 @@ sptr<IBundleMgr> BundleMgrHelper::Connect()
sptr<ISystemAbilityManager> systemAbilityManager =
SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
if (systemAbilityManager == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to get system ability manager.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to get system ability manager");
return nullptr;
}
sptr<IRemoteObject> remoteObject_ = systemAbilityManager->GetSystemAbility(BUNDLE_MGR_SERVICE_SYS_ABILITY_ID);
if (remoteObject_ == nullptr || (bundleMgr_ = iface_cast<IBundleMgr>(remoteObject_)) == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to get bundle mgr service remote object.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to get bundle mgr service remote object");
return nullptr;
}
std::weak_ptr<BundleMgrHelper> weakPtr = shared_from_this();
auto deathCallback = [weakPtr](const wptr<IRemoteObject>& object) {
auto sharedPtr = weakPtr.lock();
if (sharedPtr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Bundle helper instance is nullptr.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Bundle helper instance is nullptr");
return;
}
sharedPtr->OnDeath();
};
deathRecipient_ = new (std::nothrow) BundleMgrServiceDeathRecipient(deathCallback);
if (deathRecipient_ == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to create death recipient ptr deathRecipient_!");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to create death recipient ptr deathRecipient_");
return nullptr;
}
if (bundleMgr_->AsObject() != nullptr) {
@@ -235,14 +235,14 @@ sptr<IBundleInstaller> BundleMgrHelper::ConnectBundleInstaller()
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return nullptr;
}
HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
std::lock_guard<std::mutex> lock(mutex_);
bundleInstaller_ = bundleMgr->GetBundleInstaller();
if ((bundleInstaller_ == nullptr) || (bundleInstaller_->AsObject() == nullptr)) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to get bundle installer proxy.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to get bundle installer proxy");
return nullptr;
}
@@ -254,7 +254,7 @@ void BundleMgrHelper::OnDeath()
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
std::lock_guard<std::mutex> lock(mutex_);
if (bundleMgr_ == nullptr || bundleMgr_->AsObject() == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "bundleMgr_ is nullptr.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "bundleMgr_ is nullptr");
return;
}
bundleMgr_->AsObject()->RemoveDeathRecipient(deathRecipient_);
@@ -268,7 +268,7 @@ bool BundleMgrHelper::GetBundleInfo(const std::string &bundleName, int32_t flags
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return false;
}
@@ -281,7 +281,7 @@ bool BundleMgrHelper::GetHapModuleInfo(const AbilityInfo &abilityInfo, HapModule
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return false;
}
@@ -294,7 +294,7 @@ std::string BundleMgrHelper::GetAbilityLabel(const std::string &bundleName, cons
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return "";
}
@@ -307,7 +307,7 @@ std::string BundleMgrHelper::GetAppType(const std::string &bundleName)
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return "";
}
@@ -322,7 +322,7 @@ ErrCode BundleMgrHelper::GetBaseSharedBundleInfos(
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return ERR_APPEXECFWK_SERVICE_INTERNAL_ERROR;
}
@@ -335,7 +335,7 @@ ErrCode BundleMgrHelper::GetBundleInfoForSelf(int32_t flags, BundleInfo &bundleI
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return ERR_APPEXECFWK_SERVICE_INTERNAL_ERROR;
}
@@ -349,7 +349,7 @@ ErrCode BundleMgrHelper::GetDependentBundleInfo(const std::string &sharedBundleN
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return ERR_APPEXECFWK_SERVICE_INTERNAL_ERROR;
}
@@ -362,7 +362,7 @@ bool BundleMgrHelper::GetGroupDir(const std::string &dataGroupId, std::string &d
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return false;
}
@@ -375,7 +375,7 @@ sptr<IOverlayManager> BundleMgrHelper::GetOverlayManagerProxy()
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return nullptr;
}
@@ -388,7 +388,7 @@ bool BundleMgrHelper::QueryAbilityInfo(const Want &want, AbilityInfo &abilityInf
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return false;
}
@@ -403,7 +403,7 @@ bool BundleMgrHelper::QueryAbilityInfo(const Want &want, int32_t flags, int32_t
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return false;
}
@@ -418,7 +418,7 @@ bool BundleMgrHelper::GetBundleInfos(int32_t flags, std::vector<BundleInfo> &bun
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return false;
}
@@ -431,7 +431,7 @@ bool BundleMgrHelper::GetBundleInfos(const BundleFlag flag, std::vector<BundleIn
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return false;
}
@@ -444,7 +444,7 @@ sptr<IQuickFixManager> BundleMgrHelper::GetQuickFixManagerProxy()
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return nullptr;
}
@@ -457,7 +457,7 @@ bool BundleMgrHelper::ProcessPreload(const Want &want)
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return false;
}
@@ -472,7 +472,7 @@ sptr<IAppControlMgr> BundleMgrHelper::GetAppControlProxy()
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return nullptr;
}
@@ -486,7 +486,7 @@ bool BundleMgrHelper::QueryExtensionAbilityInfos(const Want &want, const int32_t
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return false;
}
@@ -502,7 +502,7 @@ ErrCode BundleMgrHelper::GetBundleInfoV9(
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return ERR_APPEXECFWK_SERVICE_INTERNAL_ERROR;
}
@@ -516,7 +516,7 @@ bool BundleMgrHelper::GetApplicationInfo(
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return false;
}
@@ -530,7 +530,7 @@ bool BundleMgrHelper::GetApplicationInfo(
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return false;
}
@@ -543,12 +543,12 @@ bool BundleMgrHelper::GetApplicationInfoWithAppIndex(
{
TAG_LOGI(AAFwkTag::BUNDLEMGRHELPER, "appName: %{public}s, appIndex: %{public}d", appName.c_str(), appIndex);
if (appIndex < 0) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Invalid appIndex.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Invalid appIndex");
return false;
}
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return false;
}
@@ -571,7 +571,7 @@ bool BundleMgrHelper::GetApplicationInfoWithAppIndex(
return true;
}
}
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "GetApplicationInfo failed.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "GetApplicationInfo failed");
return false;
}
@@ -579,13 +579,13 @@ bool BundleMgrHelper::UnregisterBundleEventCallback(const sptr<IBundleEventCallb
{
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
if (bundleEventCallback == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "The bundleEventCallback is nullptr.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "The bundleEventCallback is nullptr");
return false;
}
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return false;
}
@@ -599,7 +599,7 @@ bool BundleMgrHelper::QueryExtensionAbilityInfoByUri(
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return false;
}
@@ -613,7 +613,7 @@ bool BundleMgrHelper::ImplicitQueryInfoByPriority(
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return false;
}
AAFwk::Want newWant = want;
@@ -627,7 +627,7 @@ bool BundleMgrHelper::QueryAbilityInfoByUri(const std::string &abilityUri, int32
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return false;
}
@@ -641,7 +641,7 @@ bool BundleMgrHelper::QueryAbilityInfo(
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return false;
}
@@ -656,7 +656,7 @@ void BundleMgrHelper::UpgradeAtomicService(const Want &want, int32_t userId)
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return;
}
@@ -672,7 +672,7 @@ bool BundleMgrHelper::ImplicitQueryInfos(const Want &want, int32_t flags, int32_
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return false;
}
@@ -690,7 +690,7 @@ bool BundleMgrHelper::CleanBundleDataFiles(const std::string &bundleName, int32_
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return false;
}
@@ -704,7 +704,7 @@ bool BundleMgrHelper::QueryDataGroupInfos(
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return false;
}
@@ -716,13 +716,13 @@ bool BundleMgrHelper::RegisterBundleEventCallback(const sptr<IBundleEventCallbac
{
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
if (bundleEventCallback == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "The bundleEventCallback is nullptr.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "The bundleEventCallback is nullptr");
return false;
}
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return false;
}
@@ -735,7 +735,7 @@ bool BundleMgrHelper::GetHapModuleInfo(const AbilityInfo &abilityInfo, int32_t u
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return false;
}
@@ -748,7 +748,7 @@ bool BundleMgrHelper::QueryAppGalleryBundleName(std::string &bundleName)
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return false;
}
@@ -761,7 +761,7 @@ ErrCode BundleMgrHelper::GetUidByBundleName(const std::string &bundleName, int32
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return ERR_APPEXECFWK_SERVICE_INTERNAL_ERROR;
}
@@ -775,7 +775,7 @@ ErrCode BundleMgrHelper::QueryExtensionAbilityInfosOnlyWithTypeName(const std::s
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return ERR_APPEXECFWK_SERVICE_INTERNAL_ERROR;
}
@@ -788,7 +788,7 @@ sptr<IDefaultApp> BundleMgrHelper::GetDefaultAppProxy()
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return nullptr;
}
@@ -802,7 +802,7 @@ ErrCode BundleMgrHelper::GetJsonProfile(ProfileType profileType, const std::stri
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return ERR_APPEXECFWK_SERVICE_INTERNAL_ERROR;
}
@@ -815,7 +815,7 @@ ErrCode BundleMgrHelper::GetLaunchWantForBundle(const std::string &bundleName, W
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return ERR_APPEXECFWK_SERVICE_INTERNAL_ERROR;
}
@@ -830,7 +830,7 @@ ErrCode BundleMgrHelper::QueryCloneAbilityInfo(const ElementName &element, int32
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return ERR_APPEXECFWK_SERVICE_INTERNAL_ERROR;
}
@@ -844,7 +844,7 @@ ErrCode BundleMgrHelper::GetCloneBundleInfo(const std::string &bundleName, int32
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return ERR_APPEXECFWK_SERVICE_INTERNAL_ERROR;
}
@@ -858,7 +858,7 @@ ErrCode BundleMgrHelper::QueryCloneExtensionAbilityInfoWithAppIndex(const Elemen
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return ERR_APPEXECFWK_SERVICE_INTERNAL_ERROR;
}
@@ -869,10 +869,10 @@ ErrCode BundleMgrHelper::QueryCloneExtensionAbilityInfoWithAppIndex(const Elemen
ErrCode BundleMgrHelper::GetCloneAppIndexes(const std::string &bundleName, std::vector<int32_t> &appIndexes,
int32_t userId)
{
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "Called.");
TAG_LOGD(AAFwkTag::BUNDLEMGRHELPER, "Called");
auto bundleMgr = Connect();
if (bundleMgr == nullptr) {
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect.");
TAG_LOGE(AAFwkTag::BUNDLEMGRHELPER, "Failed to connect");
return ERR_APPEXECFWK_SERVICE_INTERNAL_ERROR;
}
@@ -26,7 +26,7 @@ bool ApplicationQuickFixInfo::ReadFromParcel(Parcel &parcel)
bundleVersionName = parcel.ReadString();
std::unique_ptr<AppExecFwk::AppqfInfo> qfInfo(parcel.ReadParcelable<AppExecFwk::AppqfInfo>());
if (qfInfo == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "ReadParcelable<AppqfInfo> failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "ReadParcelable<AppqfInfo> failed");
return false;
}
appqfInfo = *qfInfo;
@@ -36,19 +36,19 @@ bool ApplicationQuickFixInfo::ReadFromParcel(Parcel &parcel)
bool ApplicationQuickFixInfo::Marshalling(Parcel &parcel) const
{
if (!parcel.WriteString(bundleName)) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Write bundleName failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Write bundleName failed");
return false;
}
if (!parcel.WriteUint32(bundleVersionCode)) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Write bundleVersionCode failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Write bundleVersionCode failed");
return false;
}
if (!parcel.WriteString(bundleVersionName)) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Write bundleVersionName failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Write bundleVersionName failed");
return false;
}
if (!parcel.WriteParcelable(&appqfInfo)) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Write appQfInfo failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Write appQfInfo failed");
return false;
}
return true;
@@ -58,12 +58,12 @@ ApplicationQuickFixInfo *ApplicationQuickFixInfo::Unmarshalling(Parcel &parcel)
{
ApplicationQuickFixInfo *info = new (std::nothrow) ApplicationQuickFixInfo();
if (info == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Create failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Create failed");
return nullptr;
}
if (!info->ReadFromParcel(parcel)) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Read from parcel failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Read from parcel failed");
delete info;
return nullptr;
}
@@ -23,27 +23,27 @@ namespace AAFwk {
void QuickFixLoadCallback::OnLoadSystemAbilitySuccess(int32_t systemAbilityId, const sptr<IRemoteObject> &remoteObject)
{
if (systemAbilityId != QUICK_FIX_MGR_SERVICE_ID) {
TAG_LOGE(AAFwkTag::QUICKFIX, "System ability id %{public}d mismatch.", systemAbilityId);
TAG_LOGE(AAFwkTag::QUICKFIX, "System ability id %{public}d mismatch", systemAbilityId);
return;
}
if (remoteObject == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Object is nullptr.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Object is nullptr");
return;
}
TAG_LOGD(AAFwkTag::QUICKFIX, "Load system ability %{public}d succeed.", systemAbilityId);
TAG_LOGD(AAFwkTag::QUICKFIX, "Load system ability %{public}d succeed", systemAbilityId);
QuickFixManagerClient::GetInstance()->OnLoadSystemAbilitySuccess(remoteObject);
}
void QuickFixLoadCallback::OnLoadSystemAbilityFail(int32_t systemAbilityId)
{
if (systemAbilityId != QUICK_FIX_MGR_SERVICE_ID) {
TAG_LOGE(AAFwkTag::QUICKFIX, "System ability id %{public}d mismatch.", systemAbilityId);
TAG_LOGE(AAFwkTag::QUICKFIX, "System ability id %{public}d mismatch", systemAbilityId);
return;
}
TAG_LOGD(AAFwkTag::QUICKFIX, "Load system ability %{public}d failed.", systemAbilityId);
TAG_LOGD(AAFwkTag::QUICKFIX, "Load system ability %{public}d failed", systemAbilityId);
QuickFixManagerClient::GetInstance()->OnLoadSystemAbilityFail();
}
} // namespace AAFwk
@@ -35,11 +35,11 @@ const int LOAD_SA_TIMEOUT_MS = 4 * 1000;
int32_t QuickFixManagerClient::ApplyQuickFix(const std::vector<std::string> &quickFixFiles, bool isDebug)
{
HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
TAG_LOGD(AAFwkTag::QUICKFIX, "function called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "called");
auto quickFixMgr = GetQuickFixMgrProxy();
if (quickFixMgr == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Get quick fix manager service failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Get quick fix manager service failed");
return QUICK_FIX_CONNECT_FAILED;
}
@@ -48,7 +48,7 @@ int32_t QuickFixManagerClient::ApplyQuickFix(const std::vector<std::string> &qui
return QUICK_FIX_CONNECT_FAILED;
}
TAG_LOGD(AAFwkTag::QUICKFIX, "hqf file number need to apply: %{public}zu.", quickFixFiles.size());
TAG_LOGD(AAFwkTag::QUICKFIX, "hqf file number need to apply: %{public}zu", quickFixFiles.size());
std::vector<std::string> destFiles;
auto copyRet = bundleQuickFixMgr->CopyFiles(quickFixFiles, destFiles);
if (copyRet != 0) {
@@ -64,11 +64,11 @@ int32_t QuickFixManagerClient::GetApplyedQuickFixInfo(const std::string &bundleN
ApplicationQuickFixInfo &quickFixInfo)
{
HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
TAG_LOGD(AAFwkTag::QUICKFIX, "function called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "called");
auto quickFixMgr = GetQuickFixMgrProxy();
if (quickFixMgr == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Get quick fix manager service failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Get quick fix manager service failed");
return QUICK_FIX_CONNECT_FAILED;
}
@@ -78,21 +78,21 @@ int32_t QuickFixManagerClient::GetApplyedQuickFixInfo(const std::string &bundleN
sptr<IQuickFixManager> QuickFixManagerClient::GetQuickFixMgrProxy()
{
HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
TAG_LOGD(AAFwkTag::QUICKFIX, "function called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "function called");
auto quickFixMgr = GetQuickFixMgr();
if (quickFixMgr != nullptr) {
TAG_LOGD(AAFwkTag::QUICKFIX, "Quick fix manager has been started.");
TAG_LOGD(AAFwkTag::QUICKFIX, "Quick fix manager has been started");
return quickFixMgr;
}
if (!LoadQuickFixMgrService()) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Load quick fix manager service failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Load quick fix manager service failed");
return nullptr;
}
quickFixMgr = GetQuickFixMgr();
if (quickFixMgr == nullptr || quickFixMgr->AsObject() == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Failed to get quick fix manager.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Failed to get quick fix manager");
return nullptr;
}
@@ -107,28 +107,27 @@ sptr<IQuickFixManager> QuickFixManagerClient::GetQuickFixMgrProxy()
sptr<QfmsDeathRecipient> recipient(new (std::nothrow) QfmsDeathRecipient(onClearProxyCallback));
quickFixMgr->AsObject()->AddDeathRecipient(recipient);
TAG_LOGD(AAFwkTag::QUICKFIX, "function finished.");
return quickFixMgr;
}
int32_t QuickFixManagerClient::RevokeQuickFix(const std::string &bundleName)
{
TAG_LOGD(AAFwkTag::QUICKFIX, "Function called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "called");
auto quickFixMgr = GetQuickFixMgrProxy();
if (quickFixMgr == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Get quick fix manager service failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Get quick fix manager service failed");
return QUICK_FIX_CONNECT_FAILED;
}
auto retval = quickFixMgr->RevokeQuickFix(bundleName);
TAG_LOGD(AAFwkTag::QUICKFIX, "Function call end, retval is %{public}d.", retval);
TAG_LOGD(AAFwkTag::QUICKFIX, "Function call end, retval is %{public}d", retval);
return retval;
}
void QuickFixManagerClient::ClearProxy()
{
TAG_LOGD(AAFwkTag::QUICKFIX, "function called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "called");
std::lock_guard<std::mutex> lock(mutex_);
quickFixMgr_ = nullptr;
}
@@ -136,7 +135,7 @@ void QuickFixManagerClient::ClearProxy()
void QuickFixManagerClient::QfmsDeathRecipient::OnRemoteDied([[maybe_unused]] const wptr<IRemoteObject> &remote)
{
if (proxy_ != nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "quick fix manager service died.");
TAG_LOGE(AAFwkTag::QUICKFIX, "quick fix manager service died");
proxy_(remote);
}
}
@@ -152,19 +151,19 @@ bool QuickFixManagerClient::LoadQuickFixMgrService()
HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, "GetSystemAbilityManager");
auto systemAbilityMgr = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
if (systemAbilityMgr == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Failed to get SystemAbilityManager.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Failed to get SystemAbilityManager");
return false;
}
sptr<QuickFixLoadCallback> loadCallback = new (std::nothrow) QuickFixLoadCallback();
if (loadCallback == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Create load callback failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Create load callback failed");
return false;
}
auto ret = systemAbilityMgr->LoadSystemAbility(QUICK_FIX_MGR_SERVICE_ID, loadCallback);
if (ret != 0) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Load system ability %{public}d failed with %{public}d.", QUICK_FIX_MGR_SERVICE_ID,
TAG_LOGE(AAFwkTag::QUICKFIX, "Load system ability %{public}d failed with %{public}d", QUICK_FIX_MGR_SERVICE_ID,
ret);
return false;
}
@@ -176,7 +175,7 @@ bool QuickFixManagerClient::LoadQuickFixMgrService()
return loadSaFinished_;
});
if (!waitStatus) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Wait for load sa timeout.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Wait for load sa timeout");
return false;
}
}
@@ -28,13 +28,13 @@ sptr<IRemoteObject> QuickFixUtil::GetRemoteObjectOfSystemAbility(const int32_t s
{
auto systemAbilityMgr = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
if (systemAbilityMgr == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Failed to get SystemAbilityManager.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Failed to get SystemAbilityManager");
return nullptr;
}
auto remoteObj = systemAbilityMgr->GetSystemAbility(systemAbilityId);
if (remoteObj == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Remote object is nullptr.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Remote object is nullptr");
return nullptr;
}
@@ -48,20 +48,19 @@ sptr<AppExecFwk::IAppMgr> QuickFixUtil::GetAppManagerProxy()
sptr<AppExecFwk::IQuickFixManager> QuickFixUtil::GetBundleQuickFixMgrProxy()
{
TAG_LOGD(AAFwkTag::QUICKFIX, "Function called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "called");
auto bundleMgrHelper = DelayedSingleton<AppExecFwk::BundleMgrHelper>::GetInstance();
if (bundleMgrHelper == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "The bundleMgrHelper is nullptr.");
TAG_LOGE(AAFwkTag::QUICKFIX, "The bundleMgrHelper is nullptr");
return nullptr;
}
auto bundleQuickFixMgr = bundleMgrHelper->GetQuickFixManagerProxy();
if (bundleQuickFixMgr == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "The bundleQuickFixMgr is nullptr.");
TAG_LOGE(AAFwkTag::QUICKFIX, "The bundleQuickFixMgr is nullptr");
return nullptr;
}
TAG_LOGD(AAFwkTag::QUICKFIX, "Function finished.");
return bundleQuickFixMgr;
}
} // namespace AAFwk
@@ -39,9 +39,7 @@ static panda::DFXJSNApi::ProfilerType ConvertProfilerType(JsEnvironment::PROFILE
}
JsEnvironment::JsEnvironment(std::unique_ptr<JsEnvironmentImpl> impl) : impl_(std::move(impl))
{
TAG_LOGD(AAFwkTag::JSENV, "called");
}
{}
JsEnvironment::~JsEnvironment()
{
@@ -60,10 +58,10 @@ JsEnvironment::~JsEnvironment()
bool JsEnvironment::Initialize(const panda::RuntimeOption& pandaOption, void* jsEngine)
{
TAG_LOGD(AAFwkTag::JSENV, "Js environment initialize.");
TAG_LOGD(AAFwkTag::JSENV, "Js environment initialize");
vm_ = panda::JSNApi::CreateJSVM(pandaOption);
if (vm_ == nullptr) {
TAG_LOGE(AAFwkTag::JSENV, "Create vm failed.");
TAG_LOGE(AAFwkTag::JSENV, "Create vm failed");
return false;
}
@@ -74,7 +72,7 @@ bool JsEnvironment::Initialize(const panda::RuntimeOption& pandaOption, void* js
void JsEnvironment::InitTimerModule()
{
if (engine_ == nullptr) {
TAG_LOGE(AAFwkTag::JSENV, "Invalid native engine.");
TAG_LOGE(AAFwkTag::JSENV, "Invalid native engine");
return;
}
@@ -86,7 +84,7 @@ void JsEnvironment::InitTimerModule()
void JsEnvironment::InitWorkerModule(std::shared_ptr<WorkerInfo> workerInfo)
{
if (engine_ == nullptr) {
TAG_LOGE(AAFwkTag::JSENV, "Invalid native engine.");
TAG_LOGE(AAFwkTag::JSENV, "Invalid native engine");
return;
}
@@ -127,7 +125,7 @@ void JsEnvironment::InitSourceMap(const std::shared_ptr<JsEnv::SourceMapOperator
{
sourceMapOperator_ = operatorObj;
if (engine_ == nullptr) {
TAG_LOGE(AAFwkTag::JSENV, "Invalid Native Engine.");
TAG_LOGE(AAFwkTag::JSENV, "Invalid Native Engine");
return;
}
@@ -158,7 +156,7 @@ void JsEnvironment::InitSourceMap(const std::shared_ptr<JsEnv::SourceMapOperator
void JsEnvironment::RegisterUncaughtExceptionHandler(const JsEnv::UncaughtExceptionInfo& uncaughtExceptionInfo)
{
if (engine_ == nullptr) {
TAG_LOGE(AAFwkTag::JSENV, "Invalid Native Engine.");
TAG_LOGE(AAFwkTag::JSENV, "Invalid Native Engine");
return;
}
@@ -169,7 +167,7 @@ void JsEnvironment::RegisterUncaughtExceptionHandler(const JsEnv::UncaughtExcept
bool JsEnvironment::LoadScript(const std::string& path, std::vector<uint8_t>* buffer, bool isBundle)
{
if (engine_ == nullptr) {
TAG_LOGE(AAFwkTag::JSENV, "Invalid Native Engine.");
TAG_LOGE(AAFwkTag::JSENV, "Invalid Native Engine");
return false;
}
@@ -183,14 +181,14 @@ bool JsEnvironment::LoadScript(const std::string& path, std::vector<uint8_t>* bu
bool JsEnvironment::StartDebugger(
std::string& option, uint32_t socketFd, bool isDebugApp)
{
TAG_LOGD(AAFwkTag::JSENV, "call.");
TAG_LOGD(AAFwkTag::JSENV, "call");
if (vm_ == nullptr) {
TAG_LOGE(AAFwkTag::JSENV, "Invalid vm.");
TAG_LOGE(AAFwkTag::JSENV, "Invalid vm");
return false;
}
int32_t identifierId = ParseHdcRegisterOption(option);
if (identifierId == -1) {
TAG_LOGE(AAFwkTag::JSENV, "Abnormal parsing of tid results.");
TAG_LOGE(AAFwkTag::JSENV, "Abnormal parsing of tid results");
return false;
}
debugMode_ = panda::JSNApi::StartDebuggerForSocketPair(identifierId, socketFd);
@@ -200,7 +198,7 @@ bool JsEnvironment::StartDebugger(
void JsEnvironment::StopDebugger()
{
if (vm_ == nullptr) {
TAG_LOGE(AAFwkTag::JSENV, "Invalid vm.");
TAG_LOGE(AAFwkTag::JSENV, "Invalid vm");
return;
}
@@ -211,7 +209,7 @@ void JsEnvironment::StopDebugger(std::string& option)
{
int32_t identifierId = ParseHdcRegisterOption(option);
if (identifierId == -1) {
TAG_LOGE(AAFwkTag::JSENV, "Abnormal parsing of tid results.");
TAG_LOGE(AAFwkTag::JSENV, "Abnormal parsing of tid results");
return;
}
panda::JSNApi::StopDebugger(identifierId);
@@ -220,7 +218,7 @@ void JsEnvironment::StopDebugger(std::string& option)
void JsEnvironment::InitConsoleModule()
{
if (engine_ == nullptr) {
TAG_LOGE(AAFwkTag::JSENV, "Invalid Native Engine.");
TAG_LOGE(AAFwkTag::JSENV, "Invalid Native Engine");
return;
}
@@ -232,7 +230,7 @@ void JsEnvironment::InitConsoleModule()
bool JsEnvironment::InitLoop(bool isStage)
{
if (engine_ == nullptr) {
TAG_LOGE(AAFwkTag::JSENV, "Invalid Native Engine.");
TAG_LOGE(AAFwkTag::JSENV, "Invalid Native Engine");
return false;
}
@@ -245,7 +243,7 @@ bool JsEnvironment::InitLoop(bool isStage)
void JsEnvironment::DeInitLoop()
{
if (engine_ == nullptr) {
TAG_LOGE(AAFwkTag::JSENV, "Invalid Native Engine.");
TAG_LOGE(AAFwkTag::JSENV, "Invalid Native Engine");
return;
}
@@ -257,7 +255,7 @@ void JsEnvironment::DeInitLoop()
bool JsEnvironment::LoadScript(const std::string& path, uint8_t* buffer, size_t len, bool isBundle)
{
if (engine_ == nullptr) {
TAG_LOGE(AAFwkTag::JSENV, "Invalid Native Engine.");
TAG_LOGE(AAFwkTag::JSENV, "Invalid Native Engine");
return false;
}
@@ -268,14 +266,14 @@ void JsEnvironment::StartProfiler(const char* libraryPath, uint32_t instanceId,
int32_t interval, int tid, bool isDebugApp)
{
if (vm_ == nullptr) {
TAG_LOGE(AAFwkTag::JSENV, "Invalid vm.");
TAG_LOGE(AAFwkTag::JSENV, "Invalid vm");
return;
}
auto debuggerPostTask = [weak = weak_from_this()](std::function<void()>&& task) {
auto jsEnv = weak.lock();
if (jsEnv == nullptr) {
TAG_LOGE(AAFwkTag::JSENV, "JsEnv is invalid.");
TAG_LOGE(AAFwkTag::JSENV, "JsEnv is invalid");
return;
}
jsEnv->PostTask(task, "JsEnvironment::StartProfiler");
@@ -292,7 +290,7 @@ void JsEnvironment::StartProfiler(const char* libraryPath, uint32_t instanceId,
void JsEnvironment::DestroyHeapProfiler()
{
if (vm_ == nullptr) {
TAG_LOGE(AAFwkTag::JSENV, "Invalid vm.");
TAG_LOGE(AAFwkTag::JSENV, "Invalid vm");
return;
}
panda::DFXJSNApi::DestroyHeapProfiler(vm_);
@@ -301,7 +299,7 @@ void JsEnvironment::DestroyHeapProfiler()
void JsEnvironment::GetHeapPrepare()
{
if (vm_ == nullptr) {
TAG_LOGE(AAFwkTag::JSENV, "Invalid vm.");
TAG_LOGE(AAFwkTag::JSENV, "Invalid vm");
return;
}
panda::DFXJSNApi::GetHeapPrepare(vm_);
@@ -309,14 +307,14 @@ void JsEnvironment::GetHeapPrepare()
void JsEnvironment::ReInitJsEnvImpl(std::unique_ptr<JsEnvironmentImpl> impl)
{
TAG_LOGD(AAFwkTag::JSENV, "ReInit jsenv impl.");
TAG_LOGD(AAFwkTag::JSENV, "ReInit jsenv impl");
impl_ = std::move(impl);
}
void JsEnvironment::SetModuleLoadChecker(const std::shared_ptr<ModuleCheckerDelegate> moduleCheckerDelegate)
{
if (engine_ == nullptr) {
TAG_LOGE(AAFwkTag::JSENV, "Invalid native engine.");
TAG_LOGE(AAFwkTag::JSENV, "Invalid native engine");
return;
}
@@ -326,7 +324,7 @@ void JsEnvironment::SetModuleLoadChecker(const std::shared_ptr<ModuleCheckerDele
void JsEnvironment::SetRequestAotCallback(const RequestAotCallback& cb)
{
if (vm_ == nullptr) {
TAG_LOGE(AAFwkTag::JSENV, "Invalid vm.");
TAG_LOGE(AAFwkTag::JSENV, "Invalid vm");
return;
}
@@ -343,7 +341,7 @@ DebuggerPostTask JsEnvironment::GetDebuggerPostTask()
auto debuggerPostTask = [weak = weak_from_this()](std::function<void()>&& task) {
auto jsEnv = weak.lock();
if (jsEnv == nullptr) {
TAG_LOGE(AAFwkTag::JSENV, "JsEnv is invalid.");
TAG_LOGE(AAFwkTag::JSENV, "JsEnv is invalid");
return;
}
jsEnv->PostTask(task, "JsEnvironment:GetDebuggerPostTask");
@@ -355,14 +353,14 @@ void JsEnvironment::NotifyDebugMode(
int tid, const char* libraryPath, uint32_t instanceId, bool debug, bool debugMode)
{
if (vm_ == nullptr) {
TAG_LOGE(AAFwkTag::JSENV, "Invalid vm.");
TAG_LOGE(AAFwkTag::JSENV, "Invalid vm");
return;
}
panda::JSNApi::DebugOption debugOption = {libraryPath, debug ? debugMode : false};
auto debuggerPostTask = [weak = weak_from_this()](std::function<void()>&& task) {
auto jsEnv = weak.lock();
if (jsEnv == nullptr) {
TAG_LOGE(AAFwkTag::JSENV, "JsEnv is invalid.");
TAG_LOGE(AAFwkTag::JSENV, "JsEnv is invalid");
return;
}
jsEnv->PostTask(task, "JsEnvironment:NotifyDebugMode");
@@ -372,7 +370,7 @@ void JsEnvironment::NotifyDebugMode(
int32_t JsEnvironment::ParseHdcRegisterOption(std::string& option)
{
TAG_LOGD(AAFwkTag::JSENV, "Start.");
TAG_LOGD(AAFwkTag::JSENV, "Start");
std::size_t pos = option.find_first_of(":");
if (pos == std::string::npos) {
return -1;
@@ -525,7 +525,7 @@ bool SourceMap::TranslateUrlPositionBySourceMap(std::string& url, int& line, int
if (iter != sourceMaps_.end()) {
return GetLineAndColumnNumbers(line, column, *(iter->second), url);
}
TAG_LOGE(AAFwkTag::JSENV, "TranslateUrlPositionBySourceMap: stageMode sourceMaps find fail");
TAG_LOGE(AAFwkTag::JSENV, "stageMode sourceMaps find fail");
return false;
}
return false;
@@ -31,7 +31,7 @@ constexpr char BACKTRACE[] = "=====================Backtrace====================
std::string NapiUncaughtExceptionCallback::GetNativeStrFromJsTaggedObj(napi_value obj, const char* key)
{
if (obj == nullptr) {
TAG_LOGE(AAFwkTag::JSENV, "Failed to get value from key.");
TAG_LOGE(AAFwkTag::JSENV, "Failed to get value from key");
return "";
}
@@ -40,7 +40,7 @@ std::string NapiUncaughtExceptionCallback::GetNativeStrFromJsTaggedObj(napi_valu
napi_valuetype valueType = napi_undefined;
napi_typeof(env_, valueStr, &valueType);
if (valueType != napi_string) {
TAG_LOGE(AAFwkTag::JSENV, "Failed to convert value from key.");
TAG_LOGE(AAFwkTag::JSENV, "Failed to convert value from key");
return "";
}
@@ -50,7 +50,7 @@ std::string NapiUncaughtExceptionCallback::GetNativeStrFromJsTaggedObj(napi_valu
size_t valueStrLength = 0;
napi_get_value_string_utf8(env_, valueStr, valueCStr.get(), valueStrBufLength + 1, &valueStrLength);
std::string ret(valueCStr.get(), valueStrLength);
TAG_LOGD(AAFwkTag::JSENV, "GetNativeStrFromJsTaggedObj Success.");
TAG_LOGD(AAFwkTag::JSENV, "GetNativeStrFromJsTaggedObj Success");
return ret;
}
@@ -60,21 +60,21 @@ public:
virtual ~QuickFixManagerStatusCallback()
{
TAG_LOGD(AAFwkTag::QUICKFIX, "destroyed.");
TAG_LOGD(AAFwkTag::QUICKFIX, "destroyed");
}
void OnPatchDeployed(const std::shared_ptr<AppExecFwk::QuickFixResult> &result) override
{
TAG_LOGD(AAFwkTag::QUICKFIX, "function called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "called");
if (applyTask_ == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Apply task is nullptr, result is %{public}s.", result->ToString().c_str());
TAG_LOGE(AAFwkTag::QUICKFIX, "Apply task is nullptr, result is %{public}s", result->ToString().c_str());
return;
}
int32_t ret = QUICK_FIX_OK;
do {
if (result->GetResCode() != 0) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Deploy quick fix failed, result is %{public}s.",
TAG_LOGE(AAFwkTag::QUICKFIX, "Deploy quick fix failed, result is %{public}s",
result->ToString().c_str());
ret = QUICK_FIX_DEPLOY_FAILED;
break;
@@ -98,16 +98,16 @@ public:
void OnPatchSwitched(const std::shared_ptr<AppExecFwk::QuickFixResult> &result) override
{
TAG_LOGD(AAFwkTag::QUICKFIX, "function called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "called");
if (applyTask_ == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Apply task is nullptr, result is %{public}s.", result->ToString().c_str());
TAG_LOGE(AAFwkTag::QUICKFIX, "Apply task is nullptr, result is %{public}s", result->ToString().c_str());
return;
}
int32_t ret = QUICK_FIX_OK;
do {
if (result->GetResCode() != 0) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Switch quick fix failed, result is %{public}s.",
TAG_LOGE(AAFwkTag::QUICKFIX, "Switch quick fix failed, result is %{public}s",
result->ToString().c_str());
ret = QUICK_FIX_SWICH_FAILED;
break;
@@ -134,16 +134,16 @@ public:
void OnPatchDeleted(const std::shared_ptr<AppExecFwk::QuickFixResult> &result) override
{
TAG_LOGD(AAFwkTag::QUICKFIX, "function called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "called");
if (applyTask_ == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Apply task is nullptr, result is %{public}s.", result->ToString().c_str());
TAG_LOGE(AAFwkTag::QUICKFIX, "Apply task is nullptr, result is %{public}s", result->ToString().c_str());
return;
}
int32_t ret = QUICK_FIX_OK;
do {
if (result->GetResCode() != 0) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Delete quick fix failed, result is %{public}s.",
TAG_LOGE(AAFwkTag::QUICKFIX, "Delete quick fix failed, result is %{public}s",
result->ToString().c_str());
ret = QUICK_FIX_DELETE_FAILED;
break;
@@ -181,7 +181,7 @@ public:
void OnPatchDeployed(const std::shared_ptr<AppExecFwk::QuickFixResult> &result) override
{
TAG_LOGD(AAFwkTag::QUICKFIX, "Function called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "called");
}
};
@@ -193,15 +193,15 @@ public:
virtual ~QuickFixMgrAppStateObserver()
{
TAG_LOGD(AAFwkTag::QUICKFIX, "destroyed.");
TAG_LOGD(AAFwkTag::QUICKFIX, "destroyed");
}
void OnProcessDied(const AppExecFwk::ProcessData &processData) override
{
TAG_LOGI(AAFwkTag::QUICKFIX, "process died, bundle name is %{public}s.", processData.bundleName.c_str());
TAG_LOGI(AAFwkTag::QUICKFIX, "process died, bundle name is %{public}s", processData.bundleName.c_str());
if (applyTask_ == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Apply task is nullptr, bundle name is %{public}s.",
TAG_LOGE(AAFwkTag::QUICKFIX, "Apply task is nullptr, bundle name is %{public}s",
processData.bundleName.c_str());
return;
}
@@ -232,14 +232,14 @@ public:
virtual ~QuickFixNotifyCallback()
{
TAG_LOGD(AAFwkTag::QUICKFIX, "destroyed.");
TAG_LOGD(AAFwkTag::QUICKFIX, "destroyed");
}
void OnLoadPatchDone(int32_t resultCode, [[maybe_unused]] int32_t recordId) override
{
TAG_LOGD(AAFwkTag::QUICKFIX, "function called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "called");
if (resultCode != 0) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Notify app load patch failed with %{public}d.", resultCode);
TAG_LOGE(AAFwkTag::QUICKFIX, "Notify app load patch failed with %{public}d", resultCode);
applyTask_->NotifyApplyStatus(QUICK_FIX_NOTIFY_LOAD_PATCH_FAILED);
applyTask_->RemoveSelf();
return;
@@ -252,7 +252,7 @@ public:
{
TAG_LOGD(AAFwkTag::QUICKFIX, "function called.");
if (resultCode != 0) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Notify app load patch failed with %{public}d.", resultCode);
TAG_LOGE(AAFwkTag::QUICKFIX, "Notify app load patch failed with %{public}d", resultCode);
applyTask_->NotifyApplyStatus(QUICK_FIX_NOTIFY_UNLOAD_PATCH_FAILED);
applyTask_->RemoveSelf();
return;
@@ -271,9 +271,9 @@ public:
void OnReloadPageDone(int32_t resultCode, [[maybe_unused]] int32_t recordId) override
{
TAG_LOGD(AAFwkTag::QUICKFIX, "function called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "called");
if (resultCode != 0) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Notify app load patch failed with %{public}d.", resultCode);
TAG_LOGE(AAFwkTag::QUICKFIX, "Notify app load patch failed with %{public}d", resultCode);
applyTask_->NotifyApplyStatus(QUICK_FIX_NOTIFY_RELOAD_PAGE_FAILED);
applyTask_->RemoveSelf();
return;
@@ -296,25 +296,21 @@ public:
virtual ~RevokeQuickFixNotifyCallback() = default;
void OnLoadPatchDone(int32_t resultCode, [[maybe_unused]] int32_t recordId) override
{
TAG_LOGD(AAFwkTag::QUICKFIX, "Function called.");
}
{}
void OnReloadPageDone(int32_t resultCode, [[maybe_unused]] int32_t recordId) override
{
TAG_LOGD(AAFwkTag::QUICKFIX, "Function called.");
}
{}
};
QuickFixManagerApplyTask::~QuickFixManagerApplyTask()
{
TAG_LOGD(AAFwkTag::QUICKFIX, "destroyed.");
TAG_LOGD(AAFwkTag::QUICKFIX, "destroyed");
}
void QuickFixManagerApplyTask::Run(const std::vector<std::string> &quickFixFiles, bool isDebug)
{
HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
TAG_LOGI(AAFwkTag::QUICKFIX, "Run apply task.");
TAG_LOGI(AAFwkTag::QUICKFIX, "Run apply task");
taskType_ = TaskType::QUICK_FIX_APPLY;
PostDeployQuickFixTask(quickFixFiles, isDebug);
}
@@ -322,7 +318,7 @@ void QuickFixManagerApplyTask::Run(const std::vector<std::string> &quickFixFiles
void QuickFixManagerApplyTask::RunRevoke()
{
HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
TAG_LOGI(AAFwkTag::QUICKFIX, "Run apply revoke task.");
TAG_LOGI(AAFwkTag::QUICKFIX, "Run apply revoke task");
taskType_ = TaskType::QUICK_FIX_REVOKE;
PostRevokeQuickFixTask();
}
@@ -338,7 +334,7 @@ void QuickFixManagerApplyTask::InitRevokeTask(const std::string &bundleName, boo
void QuickFixManagerApplyTask::HandlePatchDeployed()
{
HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
TAG_LOGD(AAFwkTag::QUICKFIX, "function called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "called");
isRunning_ = GetRunningState();
if (isRunning_ && isSoContained_) {
@@ -347,7 +343,7 @@ void QuickFixManagerApplyTask::HandlePatchDeployed()
ApplicationQuickFixInfo quickFixInfo;
auto service = quickFixMgrService_.promote();
if (service == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Quick fix service is nullptr.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Quick fix service is nullptr");
NotifyApplyStatus(QUICK_FIX_INVALID_PARAM);
RemoveSelf();
return;
@@ -356,7 +352,7 @@ void QuickFixManagerApplyTask::HandlePatchDeployed()
auto ret = service->GetApplyedQuickFixInfo(bundleName_, quickFixInfo);
if (ret == QUICK_FIX_OK && !quickFixInfo.appqfInfo.hqfInfos.empty()) {
// if there exist old version hqfInfo, need to unload.
TAG_LOGD(AAFwkTag::QUICKFIX, "Need unload patch firstly.");
TAG_LOGD(AAFwkTag::QUICKFIX, "Need unload patch firstly");
return PostNotifyUnloadRepairPatchTask();
}
}
@@ -367,7 +363,7 @@ void QuickFixManagerApplyTask::HandlePatchDeployed()
void QuickFixManagerApplyTask::HandlePatchSwitched()
{
HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
TAG_LOGD(AAFwkTag::QUICKFIX, "function called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "called");
if (isRunning_ && !isSoContained_) {
return PostNotifyLoadRepairPatchTask();
@@ -379,7 +375,7 @@ void QuickFixManagerApplyTask::HandlePatchSwitched()
void QuickFixManagerApplyTask::HandlePatchDeleted()
{
HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
TAG_LOGD(AAFwkTag::QUICKFIX, "function called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "called");
if (isRunning_ && !isSoContained_ && type_ == AppExecFwk::QuickFixType::HOT_RELOAD) {
return PostNotifyHotReloadPageTask();
@@ -393,7 +389,7 @@ void QuickFixManagerApplyTask::PostDeployQuickFixTask(const std::vector<std::str
{
auto callback = sptr<QuickFixManagerStatusCallback>::MakeSptr(shared_from_this());
if (callback == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Create deploy callback failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Create deploy callback failed");
NotifyApplyStatus(QUICK_FIX_DEPLOY_FAILED);
RemoveSelf();
return;
@@ -403,12 +399,12 @@ void QuickFixManagerApplyTask::PostDeployQuickFixTask(const std::vector<std::str
auto deployTask = [thisWeakPtr, quickFixFiles, callback, isDebug]() {
auto applyTask = thisWeakPtr.lock();
if (applyTask == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "PostDeployQuickFixTask, Apply task is nullptr.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Apply task is nullptr");
return;
}
if (applyTask->bundleQfMgr_ == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "PostDeployQuickFixTask, Bundle quick fix manager is nullptr.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Bundle quick fix manager is nullptr");
applyTask->NotifyApplyStatus(QUICK_FIX_BUNDLEMGR_INVALID);
applyTask->RemoveSelf();
return;
@@ -417,7 +413,7 @@ void QuickFixManagerApplyTask::PostDeployQuickFixTask(const std::vector<std::str
TAG_LOGD(AAFwkTag::QUICKFIX, "isDebug is %d", isDebug);
auto ret = applyTask->bundleQfMgr_->DeployQuickFix(quickFixFiles, callback, isDebug);
if (ret != 0) {
TAG_LOGE(AAFwkTag::QUICKFIX, "PostDeployQuickFixTask, Deploy quick fix failed with %{public}d.", ret);
TAG_LOGE(AAFwkTag::QUICKFIX, "Deploy quick fix failed with %{public}d", ret);
applyTask->NotifyApplyStatus(QUICK_FIX_DEPLOY_FAILED);
applyTask->RemoveSelf();
return;
@@ -433,7 +429,7 @@ void QuickFixManagerApplyTask::PostSwitchQuickFixTask()
{
auto callback = sptr<QuickFixManagerStatusCallback>::MakeSptr(shared_from_this());
if (callback == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Create switch callback failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Create switch callback failed");
NotifyApplyStatus(QUICK_FIX_SWICH_FAILED);
RemoveSelf();
return;
@@ -443,12 +439,12 @@ void QuickFixManagerApplyTask::PostSwitchQuickFixTask()
auto switchTask = [thisWeakPtr, callback]() {
auto applyTask = thisWeakPtr.lock();
if (applyTask == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "PostSwitchQuickFixTask, Apply task is nullptr.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Apply task is nullptr");
return;
}
if (applyTask->bundleQfMgr_ == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "PostSwitchQuickFixTask, Bundle quick fix manager is nullptr.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Bundle quick fix manager is nullptr");
applyTask->NotifyApplyStatus(QUICK_FIX_BUNDLEMGR_INVALID);
applyTask->RemoveSelf();
return;
@@ -456,14 +452,14 @@ void QuickFixManagerApplyTask::PostSwitchQuickFixTask()
auto ret = applyTask->bundleQfMgr_->SwitchQuickFix(applyTask->bundleName_, true, callback);
if (ret != 0) {
TAG_LOGE(AAFwkTag::QUICKFIX, "PostSwitchQuickFixTask, Switch quick fix failed with %{public}d.", ret);
TAG_LOGE(AAFwkTag::QUICKFIX, "Switch quick fix failed with %{public}d", ret);
applyTask->NotifyApplyStatus(QUICK_FIX_SWICH_FAILED);
applyTask->RemoveSelf();
return;
}
};
if (eventHandler_ == nullptr || !eventHandler_->PostTask(switchTask, "QuickFixManager:switchTask")) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Post switch task failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Post switch task failed");
}
PostTimeOutTask();
}
@@ -472,7 +468,7 @@ void QuickFixManagerApplyTask::PostDeleteQuickFixTask()
{
auto callback = sptr<QuickFixManagerStatusCallback>::MakeSptr(shared_from_this());
if (callback == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Create delete callback failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Create delete callback failed");
NotifyApplyStatus(QUICK_FIX_DELETE_FAILED);
RemoveSelf();
return;
@@ -482,12 +478,12 @@ void QuickFixManagerApplyTask::PostDeleteQuickFixTask()
auto deleteTask = [thisWeakPtr, callback]() {
auto applyTask = thisWeakPtr.lock();
if (applyTask == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "PostDeleteQuickFixTask, Apply task is nullptr.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Apply task is nullptr");
return;
}
if (applyTask->bundleQfMgr_ == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "PostDeleteQuickFixTask, Bundle quick fix manager is nullptr.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Bundle quick fix manager is nullptr");
applyTask->NotifyApplyStatus(QUICK_FIX_BUNDLEMGR_INVALID);
applyTask->RemoveSelf();
return;
@@ -495,14 +491,14 @@ void QuickFixManagerApplyTask::PostDeleteQuickFixTask()
auto ret = applyTask->bundleQfMgr_->DeleteQuickFix(applyTask->bundleName_, callback);
if (ret != 0) {
TAG_LOGE(AAFwkTag::QUICKFIX, "PostDeleteQuickFixTask, Delete quick fix failed with %{public}d.", ret);
TAG_LOGE(AAFwkTag::QUICKFIX, "Delete quick fix failed with %{public}d", ret);
applyTask->NotifyApplyStatus(QUICK_FIX_DELETE_FAILED);
applyTask->RemoveSelf();
return;
}
};
if (eventHandler_ == nullptr || !eventHandler_->PostTask(deleteTask, "QuickFixManager:deleteTask")) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Post delete task failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Post delete task failed");
}
PostTimeOutTask();
}
@@ -513,7 +509,7 @@ void QuickFixManagerApplyTask::PostTimeOutTask()
auto timeoutTask = [thisWeakPtr]() {
auto applyTask = thisWeakPtr.lock();
if (applyTask == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Apply task is nullptr.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Apply task is nullptr");
return;
}
@@ -521,14 +517,14 @@ void QuickFixManagerApplyTask::PostTimeOutTask()
applyTask->RemoveSelf();
};
if (eventHandler_ == nullptr || !eventHandler_->PostTask(timeoutTask, TIMEOUT_TASK_NAME, TIMEOUT_TASK_DELAY_TIME)) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Post delete task failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Post delete task failed");
}
}
void QuickFixManagerApplyTask::RemoveTimeoutTask()
{
if (eventHandler_ == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "event handler is nullptr.");
TAG_LOGE(AAFwkTag::QUICKFIX, "event handler is nullptr");
return;
}
eventHandler_->RemoveTask(TIMEOUT_TASK_NAME);
@@ -537,33 +533,33 @@ void QuickFixManagerApplyTask::RemoveTimeoutTask()
bool QuickFixManagerApplyTask::ExtractQuickFixDataFromJson(nlohmann::json& resultJson)
{
if (!resultJson.contains(QUICK_FIX_BUNDLE_NAME) || !resultJson.at(QUICK_FIX_BUNDLE_NAME).is_string()) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Invalid bundleName.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Invalid bundleName");
return false;
}
bundleName_ = resultJson.at(QUICK_FIX_BUNDLE_NAME).get<std::string>();
if (!resultJson.contains(QUICK_FIX_BUNDLE_VERSION_CODE) ||
!resultJson.at(QUICK_FIX_BUNDLE_VERSION_CODE).is_number()) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Invalid bundle version code.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Invalid bundle version code");
return false;
}
bundleVersionCode_ = resultJson.at(QUICK_FIX_BUNDLE_VERSION_CODE).get<int32_t>();
if (!resultJson.contains(QUICK_FIX_PATCH_VERSION_CODE) ||
!resultJson.at(QUICK_FIX_PATCH_VERSION_CODE).is_number()) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Invalid patch version code.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Invalid patch version code");
return false;
}
patchVersionCode_ = resultJson.at(QUICK_FIX_PATCH_VERSION_CODE).get<int32_t>();
if (!resultJson.contains(QUICK_FIX_IS_SO_CONTAINED) || !resultJson.at(QUICK_FIX_IS_SO_CONTAINED).is_boolean()) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Invalid so status.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Invalid so status");
return false;
}
isSoContained_ = resultJson.at(QUICK_FIX_IS_SO_CONTAINED).get<bool>();
if (!resultJson.contains(QUICK_FIX_TYPE) || !resultJson.at(QUICK_FIX_TYPE).is_number()) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Invalid quickfix type.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Invalid quickfix type");
return false;
}
type_ = static_cast<AppExecFwk::QuickFixType>(resultJson.at(QUICK_FIX_TYPE).get<int32_t>());
@@ -574,19 +570,19 @@ bool QuickFixManagerApplyTask::SetQuickFixInfo(const std::shared_ptr<AppExecFwk:
{
auto resultJson = nlohmann::json::parse(result->ToString(), nullptr, false);
if (resultJson.is_discarded()) {
TAG_LOGE(AAFwkTag::QUICKFIX, "failed to parse json sting.");
TAG_LOGE(AAFwkTag::QUICKFIX, "failed to parse json sting");
return false;
}
if (ExtractQuickFixDataFromJson(resultJson) != true) {
return false;
}
if (type_ != AppExecFwk::QuickFixType::PATCH && type_ != AppExecFwk::QuickFixType::HOT_RELOAD) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Quick fix type is invalid.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Quick fix type is invalid");
return false;
}
if (!resultJson.contains(QUICK_FIX_MODULE_NAME) || !resultJson.at(QUICK_FIX_MODULE_NAME).is_array()) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Invalid moduleName.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Invalid moduleName");
return false;
}
moduleNames_.clear();
@@ -598,7 +594,7 @@ bool QuickFixManagerApplyTask::SetQuickFixInfo(const std::shared_ptr<AppExecFwk:
}
TAG_LOGI(AAFwkTag::QUICKFIX, "bundleName: %{public}s, bundleVersion: %{public}d, patchVersion: %{public}d,"
"soContained: %{public}d, ""type: %{public}d.", bundleName_.c_str(), bundleVersionCode_,
"soContained: %{public}d, ""type: %{public}d", bundleName_.c_str(), bundleVersionCode_,
patchVersionCode_, isSoContained_, static_cast<int32_t>(type_));
return true;
}
@@ -606,19 +602,19 @@ bool QuickFixManagerApplyTask::SetQuickFixInfo(const std::shared_ptr<AppExecFwk:
bool QuickFixManagerApplyTask::GetRunningState()
{
if (appMgr_ == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "App manager is nullptr.");
TAG_LOGE(AAFwkTag::QUICKFIX, "App manager is nullptr");
return false;
}
auto ret = appMgr_->GetAppRunningStateByBundleName(bundleName_);
TAG_LOGI(AAFwkTag::QUICKFIX, "Process running state of [%{public}s] is %{public}d.", bundleName_.c_str(), ret);
TAG_LOGI(AAFwkTag::QUICKFIX, "Process running state of [%{public}s] is %{public}d", bundleName_.c_str(), ret);
return ret;
}
void QuickFixManagerApplyTask::NotifyApplyStatus(int32_t resultCode)
{
HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
TAG_LOGD(AAFwkTag::QUICKFIX, "function called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "called");
Want want;
if (GetTaskType() == TaskType::QUICK_FIX_APPLY) {
@@ -652,7 +648,7 @@ void QuickFixManagerApplyTask::PostNotifyLoadRepairPatchTask()
{
auto callback = sptr<QuickFixNotifyCallback>::MakeSptr(shared_from_this());
if (callback == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Create load patch callback failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Create load patch callback failed");
NotifyApplyStatus(QUICK_FIX_NOTIFY_LOAD_PATCH_FAILED);
RemoveSelf();
return;
@@ -675,13 +671,13 @@ void QuickFixManagerApplyTask::PostNotifyLoadRepairPatchTask()
auto ret = applyTask->appMgr_->NotifyLoadRepairPatch(applyTask->bundleName_, callback);
if (ret != 0) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Notify app load patch failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Notify app load patch failed");
applyTask->NotifyApplyStatus(QUICK_FIX_NOTIFY_LOAD_PATCH_FAILED);
applyTask->RemoveSelf();
}
};
if (eventHandler_ == nullptr || !eventHandler_->PostTask(loadPatchTask, "QuickFixManager:loadPatchTask")) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Post delete task failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Post delete task failed");
}
PostTimeOutTask();
}
@@ -690,7 +686,7 @@ void QuickFixManagerApplyTask::PostNotifyUnloadRepairPatchTask()
{
auto callback = sptr<QuickFixNotifyCallback>::MakeSptr(shared_from_this());
if (callback == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Create unload patch callback failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Create unload patch callback failed");
NotifyApplyStatus(QUICK_FIX_NOTIFY_UNLOAD_PATCH_FAILED);
RemoveSelf();
return;
@@ -700,12 +696,12 @@ void QuickFixManagerApplyTask::PostNotifyUnloadRepairPatchTask()
auto unloadPatchTask = [thisWeakPtr, callback]() {
auto applyTask = thisWeakPtr.lock();
if (applyTask == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Apply task is nullptr.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Apply task is nullptr");
return;
}
if (applyTask->appMgr_ == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Appmgr is nullptr.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Appmgr is nullptr");
applyTask->NotifyApplyStatus(QUICK_FIX_APPMGR_INVALID);
applyTask->RemoveSelf();
return;
@@ -713,13 +709,13 @@ void QuickFixManagerApplyTask::PostNotifyUnloadRepairPatchTask()
auto ret = applyTask->appMgr_->NotifyUnLoadRepairPatch(applyTask->bundleName_, callback);
if (ret != 0) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Notify app unload patch failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Notify app unload patch failed");
applyTask->NotifyApplyStatus(QUICK_FIX_NOTIFY_UNLOAD_PATCH_FAILED);
applyTask->RemoveSelf();
}
};
if (eventHandler_ == nullptr || !eventHandler_->PostTask(unloadPatchTask, "QuickFixManager:unloadPatchTask")) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Post delete task failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Post delete task failed");
}
PostTimeOutTask();
}
@@ -728,7 +724,7 @@ void QuickFixManagerApplyTask::PostNotifyHotReloadPageTask()
{
auto callback = sptr<QuickFixNotifyCallback>::MakeSptr(shared_from_this());
if (callback == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Create hotreload callback failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Create hotreload callback failed");
NotifyApplyStatus(QUICK_FIX_NOTIFY_RELOAD_PAGE_FAILED);
RemoveSelf();
return;
@@ -738,12 +734,12 @@ void QuickFixManagerApplyTask::PostNotifyHotReloadPageTask()
auto reloadPageTask = [thisWeakPtr, callback]() {
auto applyTask = thisWeakPtr.lock();
if (applyTask == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Apply task is nullptr!");
TAG_LOGE(AAFwkTag::QUICKFIX, "Apply task is nullptr");
return;
}
if (applyTask->appMgr_ == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Appmgr is nullptr!");
TAG_LOGE(AAFwkTag::QUICKFIX, "Appmgr is nullptr");
applyTask->NotifyApplyStatus(QUICK_FIX_APPMGR_INVALID);
applyTask->RemoveSelf();
return;
@@ -751,22 +747,22 @@ void QuickFixManagerApplyTask::PostNotifyHotReloadPageTask()
auto ret = applyTask->appMgr_->NotifyHotReloadPage(applyTask->bundleName_, callback);
if (ret != 0) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Notify app reload page failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Notify app reload page failed");
applyTask->NotifyApplyStatus(QUICK_FIX_NOTIFY_RELOAD_PAGE_FAILED);
applyTask->RemoveSelf();
}
};
if (eventHandler_ == nullptr || !eventHandler_->PostTask(reloadPageTask, "QuickFixManager:reloadPageTask")) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Post delete task failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Post delete task failed");
}
PostTimeOutTask();
}
void QuickFixManagerApplyTask::RegAppStateObserver()
{
TAG_LOGD(AAFwkTag::QUICKFIX, "Register application state observer.");
TAG_LOGD(AAFwkTag::QUICKFIX, "Register application state observer");
if (appMgr_ == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Appmgr is nullptr.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Appmgr is nullptr");
NotifyApplyStatus(QUICK_FIX_APPMGR_INVALID);
RemoveSelf();
return;
@@ -778,31 +774,31 @@ void QuickFixManagerApplyTask::RegAppStateObserver()
// The validity of callback will be checked below.
auto ret = appMgr_->RegisterApplicationStateObserver(callback, bundleNameList);
if (ret != 0) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Register application state observer failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Register application state observer failed");
NotifyApplyStatus(QUICK_FIX_REGISTER_OBSERVER_FAILED);
RemoveSelf();
return;
}
appStateCallback_ = callback;
TAG_LOGD(AAFwkTag::QUICKFIX, "Register application state observer succeed.");
TAG_LOGD(AAFwkTag::QUICKFIX, "Register application state observer succeed");
}
void QuickFixManagerApplyTask::UnregAppStateObserver()
{
TAG_LOGD(AAFwkTag::QUICKFIX, "Unregister application state observer.");
TAG_LOGD(AAFwkTag::QUICKFIX, "Unregister application state observer");
if (appMgr_ == nullptr || appStateCallback_ == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Appmgr or callback is nullptr.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Appmgr or callback is nullptr");
return;
}
auto ret = appMgr_->UnregisterApplicationStateObserver(appStateCallback_);
if (ret != 0) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Unregister application state observer failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Unregister application state observer failed");
return;
}
TAG_LOGD(AAFwkTag::QUICKFIX, "Unregister application state observer succeed.");
TAG_LOGD(AAFwkTag::QUICKFIX, "Unregister application state observer succeed");
}
void QuickFixManagerApplyTask::RemoveSelf()
@@ -829,7 +825,7 @@ void QuickFixManagerApplyTask::PostRevokeQuickFixTask()
auto revokeTask = [thisWeakPtr] () {
auto applyTask = thisWeakPtr.lock();
if (applyTask == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Revoke task is nullptr.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Revoke task is nullptr");
return;
}
if (applyTask->GetRunningState()) {
@@ -839,7 +835,7 @@ void QuickFixManagerApplyTask::PostRevokeQuickFixTask()
applyTask->HandleRevokeQuickFixAppStop();
};
if (eventHandler_ == nullptr || !eventHandler_->PostTask(revokeTask, "QuickFixManager:revokeTask")) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Post revoke task failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Post revoke task failed");
}
PostTimeOutTask();
}
@@ -860,7 +856,7 @@ void QuickFixManagerApplyTask::HandleRevokeQuickFixAppRunning()
void QuickFixManagerApplyTask::HandleRevokePatchSwitched()
{
TAG_LOGD(AAFwkTag::QUICKFIX, "Function called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "Function called");
// process is run, notify app unload patch
if (GetRunningState()) {
PostRevokeQuickFixNotifyUnloadPatchTask();
@@ -875,7 +871,7 @@ void QuickFixManagerApplyTask::PostRevokeQuickFixNotifyUnloadPatchTask()
{
// notify app process unload patch
if (appMgr_ == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "App manager is nullptr.");
TAG_LOGE(AAFwkTag::QUICKFIX, "App manager is nullptr");
NotifyApplyStatus(QUICK_FIX_APPMGR_INVALID);
RemoveSelf();
return;
@@ -886,19 +882,19 @@ void QuickFixManagerApplyTask::PostRevokeQuickFixNotifyUnloadPatchTask()
// The validity of callback will be checked below.
auto ret = appMgr_->NotifyUnLoadRepairPatch(bundleName_, callback);
if (ret != 0) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Notify app unload patch failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Notify app unload patch failed");
NotifyApplyStatus(QUICK_FIX_NOTIFY_UNLOAD_PATCH_FAILED);
RemoveSelf();
}
TAG_LOGD(AAFwkTag::QUICKFIX, "Function end.");
TAG_LOGD(AAFwkTag::QUICKFIX, "Function end");
}
void QuickFixManagerApplyTask::PostRevokeQuickFixDeleteTask()
{
auto callback = sptr<RevokeQuickFixTaskCallback>::MakeSptr(shared_from_this());
if (callback == nullptr || bundleQfMgr_ == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Param invalid.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Param invalid");
NotifyApplyStatus(QUICK_FIX_BUNDLEMGR_INVALID);
RemoveSelf();
return;
@@ -912,13 +908,11 @@ void QuickFixManagerApplyTask::PostRevokeQuickFixDeleteTask()
RemoveSelf();
return;
}
TAG_LOGD(AAFwkTag::QUICKFIX, "Function end.");
}
void QuickFixManagerApplyTask::PostRevokeQuickFixProcessDiedTask()
{
TAG_LOGD(AAFwkTag::QUICKFIX, "Function called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "called");
// app process died
HandleRevokeQuickFixAppStop();
PostTimeOutTask();
@@ -928,7 +922,7 @@ void QuickFixManagerApplyTask::HandleRevokeQuickFixAppStop()
{
auto callback = sptr<RevokeQuickFixTaskCallback>::MakeSptr(shared_from_this());
if (callback == nullptr || bundleQfMgr_ == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Param invalid.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Param invalid");
NotifyApplyStatus(QUICK_FIX_BUNDLEMGR_INVALID);
RemoveSelf();
return;
@@ -936,20 +930,17 @@ void QuickFixManagerApplyTask::HandleRevokeQuickFixAppStop()
auto ret = bundleQfMgr_->SwitchQuickFix(bundleName_, false, callback);
if (ret != ERR_OK) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Switch quick fix failed with %{public}d.", ret);
TAG_LOGE(AAFwkTag::QUICKFIX, "Switch quick fix failed with %{public}d", ret);
NotifyApplyStatus(QUICK_FIX_SWICH_FAILED);
RemoveSelf();
return;
}
TAG_LOGD(AAFwkTag::QUICKFIX, "Function end.");
}
void QuickFixManagerApplyTask::HandleRevokePatchDeleted()
{
NotifyApplyStatus(QUICK_FIX_OK);
RemoveSelf();
TAG_LOGD(AAFwkTag::QUICKFIX, "Function end.");
}
} // namespace AAFwk
} // namespace OHOS
@@ -42,13 +42,13 @@ bool QuickFixManagerService::Init()
std::lock_guard<std::mutex> lock(eventMutex_);
eventRunner_ = AppExecFwk::EventRunner::Create("QuickFixMgrSvrMain");
if (eventRunner_ == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Create event runner failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Create event runner failed");
return false;
}
eventHandler_ = std::make_shared<AppExecFwk::EventHandler>(eventRunner_);
if (eventHandler_ == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Create event handler failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Create event handler failed");
return false;
}
@@ -58,9 +58,9 @@ bool QuickFixManagerService::Init()
int32_t QuickFixManagerService::ApplyQuickFix(const std::vector<std::string> &quickFixFiles, bool isDebug)
{
HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
TAG_LOGD(AAFwkTag::QUICKFIX, "Function called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "called");
if (!AAFwk::PermissionVerification::GetInstance()->JudgeCallerIsAllowedToUseSystemAPI()) {
TAG_LOGE(AAFwkTag::QUICKFIX, "The caller is not system-app, can not use system-api.");
TAG_LOGE(AAFwkTag::QUICKFIX, "The caller is not system-app, can not use system-api");
return QUICK_FIX_NOT_SYSTEM_APP;
}
if (!AAFwk::PermissionVerification::GetInstance()->VerifyInstallBundlePermission()) {
@@ -69,20 +69,19 @@ int32_t QuickFixManagerService::ApplyQuickFix(const std::vector<std::string> &qu
auto bundleQfMgr = QuickFixUtil::GetBundleQuickFixMgrProxy();
if (bundleQfMgr == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Bundle quick fix manager is nullptr.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Bundle quick fix manager is nullptr");
return QUICK_FIX_CONNECT_FAILED;
}
auto appMgr = QuickFixUtil::GetAppManagerProxy();
if (appMgr == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "App manager is nullptr.");
TAG_LOGE(AAFwkTag::QUICKFIX, "App manager is nullptr");
return QUICK_FIX_CONNECT_FAILED;
}
auto applyTask = std::make_shared<QuickFixManagerApplyTask>(bundleQfMgr, appMgr, eventHandler_, this);
AddApplyTask(applyTask);
applyTask->Run(quickFixFiles, isDebug);
TAG_LOGD(AAFwkTag::QUICKFIX, "Function finished.");
return QUICK_FIX_OK;
}
@@ -90,7 +89,7 @@ int32_t QuickFixManagerService::GetApplyedQuickFixInfo(const std::string &bundle
ApplicationQuickFixInfo &quickFixInfo)
{
HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
TAG_LOGD(AAFwkTag::QUICKFIX, "function called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "called");
if (!AAFwk::PermissionVerification::GetInstance()->JudgeCallerIsAllowedToUseSystemAPI()) {
TAG_LOGE(AAFwkTag::QUICKFIX, "The caller is not system-app, can not use system-api");
return QUICK_FIX_NOT_SYSTEM_APP;
@@ -101,7 +100,7 @@ int32_t QuickFixManagerService::GetApplyedQuickFixInfo(const std::string &bundle
auto bundleMgrHelper = DelayedSingleton<AppExecFwk::BundleMgrHelper>::GetInstance();
if (bundleMgrHelper == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Failed to get bundle manager helper!");
TAG_LOGE(AAFwkTag::QUICKFIX, "Failed to get bundle manager helper");
return QUICK_FIX_CONNECT_FAILED;
}
@@ -117,7 +116,6 @@ int32_t QuickFixManagerService::GetApplyedQuickFixInfo(const std::string &bundle
quickFixInfo.bundleVersionName = bundleInfo.versionName;
quickFixInfo.appqfInfo = bundleInfo.applicationInfo.appQuickFix.deployedAppqfInfo;
TAG_LOGD(AAFwkTag::QUICKFIX, "function finished.");
return QUICK_FIX_OK;
}
@@ -131,12 +129,12 @@ int32_t QuickFixManagerService::RevokeQuickFix(const std::string &bundleName)
if (!AAFwk::PermissionVerification::GetInstance()->VerifyGetBundleInfoPrivilegedPermission() ||
!AAFwk::PermissionVerification::GetInstance()->VerifyInstallBundlePermission()) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Permission verification failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Permission verification failed");
return QUICK_FIX_VERIFY_PERMISSION_FAILED;
}
if (CheckTaskRunningState(bundleName)) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Has a apply quick fix task.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Has a apply quick fix task");
return QUICK_FIX_DEPLOYING_TASK;
}
@@ -144,32 +142,31 @@ int32_t QuickFixManagerService::RevokeQuickFix(const std::string &bundleName)
auto isSoContained = false;
auto ret = GetQuickFixInfo(bundleName, patchExists, isSoContained);
if (ret != QUICK_FIX_OK || !patchExists) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Get bundle info failed or patch does not exist.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Get bundle info failed or patch does not exist");
return QUICK_FIX_GET_BUNDLE_INFO_FAILED;
}
auto appMgr = QuickFixUtil::GetAppManagerProxy();
if (appMgr == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "App manager is nullptr.");
TAG_LOGE(AAFwkTag::QUICKFIX, "App manager is nullptr");
return QUICK_FIX_CONNECT_FAILED;
}
auto bundleQfMgr = QuickFixUtil::GetBundleQuickFixMgrProxy();
if (bundleQfMgr == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Bundle quick fix manager is nullptr.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Bundle quick fix manager is nullptr");
return QUICK_FIX_CONNECT_FAILED;
}
auto applyTask = std::make_shared<QuickFixManagerApplyTask>(bundleQfMgr, appMgr, eventHandler_, this);
if (applyTask == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Task connect failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Task connect failed");
return QUICK_FIX_CONNECT_FAILED;
}
applyTask->InitRevokeTask(bundleName, isSoContained);
AddApplyTask(applyTask);
applyTask->RunRevoke();
TAG_LOGD(AAFwkTag::QUICKFIX, "Function finished.");
return QUICK_FIX_OK;
}
@@ -200,7 +197,7 @@ bool QuickFixManagerService::CheckTaskRunningState(const std::string &bundleName
}
}
TAG_LOGD(AAFwkTag::QUICKFIX, "bundleName %{public}s not found in tasks.", bundleName.c_str());
TAG_LOGD(AAFwkTag::QUICKFIX, "bundleName %{public}s not found in tasks", bundleName.c_str());
return false;
}
@@ -208,14 +205,14 @@ int32_t QuickFixManagerService::GetQuickFixInfo(const std::string &bundleName, b
{
auto bundleMgrHelper = DelayedSingleton<AppExecFwk::BundleMgrHelper>::GetInstance();
if (bundleMgrHelper == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Failed to get bundle manager helper.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Failed to get bundle manager helper");
return QUICK_FIX_CONNECT_FAILED;
}
AppExecFwk::BundleInfo bundleInfo;
if (!bundleMgrHelper->GetBundleInfo(bundleName, AppExecFwk::BundleFlag::GET_BUNDLE_DEFAULT, bundleInfo,
AppExecFwk::Constants::ANY_USERID)) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Get bundle info failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Get bundle info failed");
return QUICK_FIX_GET_BUNDLE_INFO_FAILED;
}
@@ -24,45 +24,40 @@ REGISTER_SYSTEM_ABILITY_BY_ID(QuickFixManagerServiceAbility, QUICK_FIX_MGR_SERVI
QuickFixManagerServiceAbility::QuickFixManagerServiceAbility(const int32_t systemAbilityId, bool runOnCreate)
: SystemAbility(systemAbilityId, runOnCreate), service_(nullptr)
{
TAG_LOGD(AAFwkTag::QUICKFIX, "function called.");
}
{}
QuickFixManagerServiceAbility::~QuickFixManagerServiceAbility()
{
TAG_LOGD(AAFwkTag::QUICKFIX, "function called.");
TAG_LOGD(AAFwkTag::QUICKFIX, "called");
}
void QuickFixManagerServiceAbility::OnStart()
{
TAG_LOGI(AAFwkTag::QUICKFIX, "function called.");
TAG_LOGI(AAFwkTag::QUICKFIX, "called");
if (service_ != nullptr) {
TAG_LOGD(AAFwkTag::QUICKFIX, "Quick fix manager service has started.");
TAG_LOGD(AAFwkTag::QUICKFIX, "Quick fix manager service has started");
return;
}
service_ = QuickFixManagerService::GetInstance();
if (service_ == nullptr) {
TAG_LOGE(AAFwkTag::QUICKFIX, "instance is nullptr.");
TAG_LOGE(AAFwkTag::QUICKFIX, "instance is nullptr");
return;
}
if (!service_->Init()) {
TAG_LOGE(AAFwkTag::QUICKFIX, "init failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "init failed");
return;
}
if (!Publish(service_)) {
TAG_LOGE(AAFwkTag::QUICKFIX, "Publish failed.");
TAG_LOGE(AAFwkTag::QUICKFIX, "Publish failed");
return;
}
TAG_LOGI(AAFwkTag::QUICKFIX, "Quick fix manager service start succeed.");
}
void QuickFixManagerServiceAbility::OnStop()
{
TAG_LOGI(AAFwkTag::QUICKFIX, "function called.");
service_ = nullptr;
}
} // namespace AAFwk