!144 modify floating terminate code

Merge pull request !144 from blackleon/master_1020
This commit is contained in:
openharmony_ci
2021-10-22 06:14:28 +00:00
committed by Gitee
2 changed files with 5 additions and 9 deletions
@@ -347,14 +347,6 @@ int AbilityStackManager::TerminateAbility(const sptr<IRemoteObject> &token, int
return LOCK_MISSION_STATE_DENY_REQUEST;
}
// if ability is in multiwindow stack, and is bottom ability of this mission,
// just background, don't schedule terminate
if (!IsFullScreenStack(abilityRecord->GetMissionStackId()) &&
missionRecord->GetBottomAbilityRecord() == abilityRecord) {
HILOG_INFO("Mulitwindow stack , bottom ability of mission .just background, don't schedule terminate.");
return MoveMissionToEndLocked(missionRecord->GetMissionRecordId());
}
HILOG_INFO("Schedule normal terminate process.");
abilityRecord->SetTerminatingState();
return TerminateAbilityLocked(abilityRecord, resultCode, resultWant);
@@ -331,7 +331,11 @@ int DataAbilityRecord::RemoveClients(const std::shared_ptr<AbilityRecord> &clien
while (it != clients_.end()) {
if (!it->isSystem) {
auto clientAbilityRecord = Token::GetAbilityRecordByToken(it->client);
CHECK_POINTER_CONTINUE(clientAbilityRecord);
if (!clientAbilityRecord) {
HILOG_ERROR("clientAbilityRecord is nullptr, continue.");
++it;
continue;
}
if (clientAbilityRecord == client) {
appScheduler->AbilityBehaviorAnalysis(
ability_->GetToken(), clientAbilityRecord->GetToken(), 0, 0, 0);