Signed-off-by: xinking129 <xinxin13@huawei.com>
This commit is contained in:
xinking129
2023-05-12 15:48:14 +08:00
parent b937891c21
commit b697cacebd
6 changed files with 46 additions and 46 deletions
@@ -149,7 +149,7 @@ private:
NativeValue *OnRevokeQuickFix(NativeEngine &engine, NativeCallbackInfo &info)
{
HILOG_DEBUG("Function called.");
HILOG_DEBUG("called.");
if (info.argc != ARGC_ONE && info.argc != ARGC_TWO) {
HILOG_ERROR("The number of parameter is invalid.");
Throw(engine, AAFwk::ERR_QUICKFIX_PARAM_INVALID);
@@ -59,10 +59,10 @@ public:
void InitUnLoadPatch(const std::string &bundleName, bool isSoContained);
std::string GetBundleName();
TaskType GetTaskType();
void RevokeQuickFixDeleteDone();
void RevokeNotifySwitchCallbackTask();
void RevokeNotifyDeleteCallbackTask();
void RevokeNotifyProcessDiedTask();
void HandleRevokePatchDeleted();
void HandleRevokePatchSwitched();
void PostRevokeQuickFixDeleteTask();
void PostRevokeQuickFixProcessDiedTask();
private:
void PostDeployQuickFixTask(const std::vector<std::string> &quickFixFiles);
void PostTimeOutTask();
@@ -71,9 +71,9 @@ private:
void PostNotifyHotReloadPageTask();
void RegAppStateObserver();
void PostRevokeQuickFixTask();
void HandleRevokeQuickFixAppRunningTask();
void HandleRevokeQuickFixNotifyAppUnload();
void HandleRevokeQuickFixAppStopTask();
void HandleRevokeQuickFixAppRunning();
void PostRevokeQuickFixNotifyUnloadPatchTask();
void HandleRevokeQuickFixAppStop();
sptr<AppExecFwk::IQuickFixManager> bundleQfMgr_ = nullptr;
sptr<AppExecFwk::IAppMgr> appMgr_ = nullptr;
@@ -78,7 +78,7 @@ public:
void RemoveApplyTask(std::shared_ptr<QuickFixManagerApplyTask> applyTask);
private:
bool CheckPatchTaskByBundleName(const std::string &bundleName);
bool CheckTaskRunningState(const std::string &bundleName);
void AddApplyTask(std::shared_ptr<QuickFixManagerApplyTask> applyTask);
static std::mutex mutex_;
@@ -115,7 +115,7 @@ public:
applyTask_->HandlePatchSwitched();
break;
} else if (applyTask_->GetTaskType() == QuickFixManagerApplyTask::TaskType::QUICK_FIX_REVOKE) {
applyTask_->RevokeNotifySwitchCallbackTask();
applyTask_->HandleRevokePatchSwitched();
break;
}
@@ -150,7 +150,7 @@ public:
applyTask_->HandlePatchDeleted();
break;
} else if (applyTask_->GetTaskType() == QuickFixManagerApplyTask::TaskType::QUICK_FIX_REVOKE) {
applyTask_->RevokeQuickFixDeleteDone();
applyTask_->HandleRevokePatchDeleted();
break;
}
@@ -207,7 +207,7 @@ public:
if (applyTask_->GetTaskType() == QuickFixManagerApplyTask::TaskType::QUICK_FIX_APPLY) {
applyTask_->HandlePatchDeployed();
} else if (applyTask_->GetTaskType() == QuickFixManagerApplyTask::TaskType::QUICK_FIX_REVOKE) {
applyTask_->RevokeNotifyProcessDiedTask();
applyTask_->PostRevokeQuickFixProcessDiedTask();
} else {
HILOG_WARN("Invalid task type");
}
@@ -258,7 +258,7 @@ public:
applyTask_->PostSwitchQuickFixTask();
return;
} else if (applyTask_->GetTaskType() == QuickFixManagerApplyTask::TaskType::QUICK_FIX_REVOKE) {
applyTask_->RevokeNotifyDeleteCallbackTask();
applyTask_->PostRevokeQuickFixDeleteTask();
return;
}
@@ -755,11 +755,11 @@ void QuickFixManagerApplyTask::PostRevokeQuickFixTask()
}
if (applyTask->GetRunningState()) {
applyTask->HandleRevokeQuickFixAppRunningTask();
applyTask->HandleRevokeQuickFixAppRunning();
return;
}
applyTask->HandleRevokeQuickFixAppStopTask();
applyTask->HandleRevokeQuickFixAppStop();
};
if (eventHandler_ == nullptr || !eventHandler_->PostTask(revokeTask)) {
@@ -768,7 +768,7 @@ void QuickFixManagerApplyTask::PostRevokeQuickFixTask()
PostTimeOutTask();
}
void QuickFixManagerApplyTask::HandleRevokeQuickFixAppRunningTask()
void QuickFixManagerApplyTask::HandleRevokeQuickFixAppRunning()
{
// process run
// so contained, reg app died
@@ -779,23 +779,23 @@ void QuickFixManagerApplyTask::HandleRevokeQuickFixAppRunningTask()
}
// so not contained, call bms to switch
HandleRevokeQuickFixAppStopTask();
HandleRevokeQuickFixAppStop();
}
void QuickFixManagerApplyTask::RevokeNotifySwitchCallbackTask()
void QuickFixManagerApplyTask::HandleRevokePatchSwitched()
{
HILOG_DEBUG("Function called.");
// process is run, notify app unload patch
if (GetRunningState()) {
HandleRevokeQuickFixNotifyAppUnload();
PostRevokeQuickFixNotifyUnloadPatchTask();
return;
}
// call bms to delete patch
RevokeNotifyDeleteCallbackTask();
PostRevokeQuickFixDeleteTask();
}
void QuickFixManagerApplyTask::HandleRevokeQuickFixNotifyAppUnload()
void QuickFixManagerApplyTask::PostRevokeQuickFixNotifyUnloadPatchTask()
{
// notify app process unload patch
if (appMgr_ == nullptr) {
@@ -818,7 +818,7 @@ void QuickFixManagerApplyTask::HandleRevokeQuickFixNotifyAppUnload()
HILOG_DEBUG("Function end.");
}
void QuickFixManagerApplyTask::RevokeNotifyDeleteCallbackTask()
void QuickFixManagerApplyTask::PostRevokeQuickFixDeleteTask()
{
sptr<AppExecFwk::IQuickFixStatusCallback> callback = new (std::nothrow) RevokeQuickFixTaskCallback(
shared_from_this());
@@ -841,15 +841,15 @@ void QuickFixManagerApplyTask::RevokeNotifyDeleteCallbackTask()
HILOG_DEBUG("Function end.");
}
void QuickFixManagerApplyTask::RevokeNotifyProcessDiedTask()
void QuickFixManagerApplyTask::PostRevokeQuickFixProcessDiedTask()
{
HILOG_DEBUG("Function called.");
// app process died
HandleRevokeQuickFixAppStopTask();
HandleRevokeQuickFixAppStop();
PostTimeOutTask();
}
void QuickFixManagerApplyTask::HandleRevokeQuickFixAppStopTask()
void QuickFixManagerApplyTask::HandleRevokeQuickFixAppStop()
{
sptr<AppExecFwk::IQuickFixStatusCallback> callback = new (std::nothrow) RevokeQuickFixTaskCallback(
shared_from_this());
@@ -871,7 +871,7 @@ void QuickFixManagerApplyTask::HandleRevokeQuickFixAppStopTask()
HILOG_DEBUG("Function end.");
}
void QuickFixManagerApplyTask::RevokeQuickFixDeleteDone()
void QuickFixManagerApplyTask::HandleRevokePatchDeleted()
{
NotifyApplyStatus(QUICK_FIX_OK);
RemoveSelf();
@@ -135,7 +135,7 @@ int32_t QuickFixManagerService::RevokeQuickFix(const std::string &bundleName)
return QUICK_FIX_VERIFY_PERMISSION_FAILED;
}
if (CheckPatchTaskByBundleName(bundleName)) {
if (CheckTaskRunningState(bundleName)) {
HILOG_ERROR("Has a apply quick fix task");
return QUICK_FIX_DEPLOYING_TASK;
}
@@ -210,7 +210,7 @@ void QuickFixManagerService::RemoveApplyTask(std::shared_ptr<QuickFixManagerAppl
}
}
bool QuickFixManagerService::CheckPatchTaskByBundleName(const std::string &bundleName)
bool QuickFixManagerService::CheckTaskRunningState(const std::string &bundleName)
{
std::lock_guard<std::mutex> lock(mutex_);
for (auto &item : applyTasks_) {
@@ -444,11 +444,11 @@ HWTEST_F(QuickFixManagerApplyTaskTest, RegAppStateObserver_0200, TestSize.Level1
/**
* @tc.name: RevokeQuickFixDeleteDone_0100
* @tc.name: HandleRevokePatchDeleted_0100
* @tc.desc: revoke quick fix.
* @tc.type: FUNC
*/
HWTEST_F(QuickFixManagerApplyTaskTest, RevokeQuickFixDeleteDone_0100, TestSize.Level1)
HWTEST_F(QuickFixManagerApplyTaskTest, HandleRevokePatchDeleted_0100, TestSize.Level1)
{
HILOG_INFO("%{public}s start.", __func__);
auto applyTask = std::make_shared<QuickFixManagerApplyTask>(bundleQfMgr_, appMgr_,
@@ -458,16 +458,16 @@ HWTEST_F(QuickFixManagerApplyTaskTest, RevokeQuickFixDeleteDone_0100, TestSize.L
applyTask->bundleVersionCode_ = 1;
applyTask->patchVersionCode_ = 100;
applyTask->taskType_ = QuickFixManagerApplyTask::TaskType::QUICK_FIX_REVOKE;
applyTask->RevokeQuickFixDeleteDone();
applyTask->HandleRevokePatchDeleted();
HILOG_INFO("%{public}s end.", __func__);
}
/**
* @tc.name: RevokeNotifySwitchCallbackTask_0100
* @tc.name: HandleRevokePatchSwitched_0100
* @tc.desc: revoke quick fix.
* @tc.type: FUNC
*/
HWTEST_F(QuickFixManagerApplyTaskTest, RevokeNotifySwitchCallbackTask_0100, TestSize.Level1)
HWTEST_F(QuickFixManagerApplyTaskTest, HandleRevokePatchSwitched_0100, TestSize.Level1)
{
HILOG_INFO("%{public}s start.", __func__);
auto applyTask = std::make_shared<QuickFixManagerApplyTask>(bundleQfMgr_, appMgr_,
@@ -477,17 +477,17 @@ HWTEST_F(QuickFixManagerApplyTaskTest, RevokeNotifySwitchCallbackTask_0100, Test
applyTask->bundleVersionCode_ = 1;
applyTask->patchVersionCode_ = 100;
applyTask->taskType_ = QuickFixManagerApplyTask::TaskType::QUICK_FIX_REVOKE;
applyTask->RevokeNotifySwitchCallbackTask();
applyTask->HandleRevokePatchSwitched();
EXPECT_EQ(applyTask->quickFixMgrService_.promote(), quickFixMs_);
HILOG_INFO("%{public}s end.", __func__);
}
/**
* @tc.name: RevokeNotifyProcessDiedTask_0100
* @tc.name: PostRevokeQuickFixProcessDiedTask_0100
* @tc.desc: revoke quick fix.
* @tc.type: FUNC
*/
HWTEST_F(QuickFixManagerApplyTaskTest, RevokeNotifyProcessDiedTask_0100, TestSize.Level1)
HWTEST_F(QuickFixManagerApplyTaskTest, PostRevokeQuickFixProcessDiedTask_0100, TestSize.Level1)
{
HILOG_INFO("%{public}s start.", __func__);
auto applyTask = std::make_shared<QuickFixManagerApplyTask>(bundleQfMgr_, appMgr_,
@@ -497,17 +497,17 @@ HWTEST_F(QuickFixManagerApplyTaskTest, RevokeNotifyProcessDiedTask_0100, TestSiz
applyTask->bundleVersionCode_ = 1;
applyTask->patchVersionCode_ = 100;
applyTask->taskType_ = QuickFixManagerApplyTask::TaskType::QUICK_FIX_REVOKE;
applyTask->RevokeNotifyProcessDiedTask();
applyTask->PostRevokeQuickFixProcessDiedTask();
EXPECT_EQ(applyTask->quickFixMgrService_.promote(), quickFixMs_);
HILOG_INFO("%{public}s end.", __func__);
}
/**
* @tc.name: HandleRevokeQuickFixAppRunningTask_0100
* @tc.name: HandleRevokeQuickFixAppRunning_0100
* @tc.desc: revoke quick fix.
* @tc.type: FUNC
*/
HWTEST_F(QuickFixManagerApplyTaskTest, HandleRevokeQuickFixAppRunningTask_0100, TestSize.Level1)
HWTEST_F(QuickFixManagerApplyTaskTest, HandleRevokeQuickFixAppRunning_0100, TestSize.Level1)
{
HILOG_INFO("%{public}s start.", __func__);
auto applyTask = std::make_shared<QuickFixManagerApplyTask>(bundleQfMgr_, appMgr_,
@@ -518,17 +518,17 @@ HWTEST_F(QuickFixManagerApplyTaskTest, HandleRevokeQuickFixAppRunningTask_0100,
applyTask->patchVersionCode_ = 100;
applyTask->isSoContained_ = true;
applyTask->taskType_ = QuickFixManagerApplyTask::TaskType::QUICK_FIX_REVOKE;
applyTask->HandleRevokeQuickFixAppRunningTask();
applyTask->HandleRevokeQuickFixAppRunning();
EXPECT_EQ(applyTask->quickFixMgrService_.promote(), quickFixMs_);
HILOG_INFO("%{public}s end.", __func__);
}
/**
* @tc.name: HandleRevokeQuickFixAppRunningTask_0200
* @tc.name: HandleRevokeQuickFixAppRunning_0200
* @tc.desc: revoke quick fix.
* @tc.type: FUNC
*/
HWTEST_F(QuickFixManagerApplyTaskTest, HandleRevokeQuickFixAppRunningTask_0200, TestSize.Level1)
HWTEST_F(QuickFixManagerApplyTaskTest, HandleRevokeQuickFixAppRunning_0200, TestSize.Level1)
{
HILOG_INFO("%{public}s start.", __func__);
auto applyTask = std::make_shared<QuickFixManagerApplyTask>(bundleQfMgr_, appMgr_,
@@ -539,17 +539,17 @@ HWTEST_F(QuickFixManagerApplyTaskTest, HandleRevokeQuickFixAppRunningTask_0200,
applyTask->patchVersionCode_ = 100;
applyTask->isSoContained_ = false;
applyTask->taskType_ = QuickFixManagerApplyTask::TaskType::QUICK_FIX_REVOKE;
applyTask->HandleRevokeQuickFixAppRunningTask();
applyTask->HandleRevokeQuickFixAppRunning();
EXPECT_EQ(applyTask->quickFixMgrService_.promote(), quickFixMs_);
HILOG_INFO("%{public}s end.", __func__);
}
/**
* @tc.name: HandleRevokeQuickFixNotifyAppUnload_0100
* @tc.name: PostRevokeQuickFixNotifyUnloadPatchTask_0100
* @tc.desc: revoke quick fix.
* @tc.type: FUNC
*/
HWTEST_F(QuickFixManagerApplyTaskTest, HandleRevokeQuickFixNotifyAppUnload_0100, TestSize.Level1)
HWTEST_F(QuickFixManagerApplyTaskTest, PostRevokeQuickFixNotifyUnloadPatchTask_0100, TestSize.Level1)
{
HILOG_INFO("%{public}s start.", __func__);
auto applyTask = std::make_shared<QuickFixManagerApplyTask>(bundleQfMgr_, appMgr_,
@@ -560,7 +560,7 @@ HWTEST_F(QuickFixManagerApplyTaskTest, HandleRevokeQuickFixNotifyAppUnload_0100,
applyTask->patchVersionCode_ = 100;
applyTask->isSoContained_ = false;
applyTask->taskType_ = QuickFixManagerApplyTask::TaskType::QUICK_FIX_REVOKE;
applyTask->HandleRevokeQuickFixNotifyAppUnload();
applyTask->PostRevokeQuickFixNotifyUnloadPatchTask();
EXPECT_EQ(applyTask->quickFixMgrService_.promote(), quickFixMs_);
HILOG_INFO("%{public}s end.", __func__);
}