From c27cda45b02a7bf53ac231ce0b425ecfa5d14a5d Mon Sep 17 00:00:00 2001 From: libo429 Date: Mon, 14 Jul 2025 17:51:12 +0800 Subject: [PATCH] =?UTF-8?q?PC=E9=87=8D=E5=90=AF=E5=90=8E=EF=BC=8C=E9=94=81?= =?UTF-8?q?=E5=B1=8F=E5=9C=BA=E6=99=AF=E4=B8=8B=EF=BC=8C=E5=8F=AA=E6=9B=B4?= =?UTF-8?q?=E6=96=B0ACL=E7=9A=84status=EF=BC=8C=E6=9C=AA=E6=9B=B4=E6=96=B0?= =?UTF-8?q?DB=E4=B8=AD=E7=9A=84=E5=89=8D=E5=90=8E=E5=8F=B0=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: libo429 --- services/service/src/device_manager_service.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/services/service/src/device_manager_service.cpp b/services/service/src/device_manager_service.cpp index bcfc2a8f1..d14d64207 100644 --- a/services/service/src/device_manager_service.cpp +++ b/services/service/src/device_manager_service.cpp @@ -3959,6 +3959,20 @@ void DeviceManagerService::HandleUserSwitchedEvent(int32_t currentUserId, int32_ void DeviceManagerService::HandleUserStopEvent(int32_t stopUserId) { LOGI("stopUserId %{public}s.", GetAnonyInt32(stopUserId).c_str()); + std::vector foregroundUserVec; + int32_t retFront = MultipleUserConnector::GetForegroundUserIds(foregroundUserVec); + std::vector backgroundUserVec; + int32_t retBack = MultipleUserConnector::GetBackgroundUserIds(backgroundUserVec); + MultipleUserConnector::ClearLockedUser(foregroundUserVec, backgroundUserVec); + if (retFront != DM_OK || retBack != DM_OK) { + LOGE("retFront: %{public}d, retBack: %{public}d, frontuserids: %{public}s, backuserids: %{public}s", + retFront, retBack, GetIntegerList(foregroundUserVec).c_str(), GetIntegerList(backgroundUserVec).c_str()); + return; + } + if (!IsUserStatusChanged(foregroundUserVec, backgroundUserVec)) { + LOGI("User status has not changed."); + return; + } std::vector stopUserVec; stopUserVec.push_back(stopUserId); char localUdidTemp[DEVICE_UUID_LENGTH] = {0}; -- Gitee