mirror of
https://github.com/openharmony/ability_ability_runtime.git
synced 2026-08-24 12:43:16 -04:00
services/abilitymgr/src/ability_stack_manager.cpp
Signed-off-by: zhaoyuan17 <zhaoyuan17@huawei.com>
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user