From 0b7e8802bebee6b762afba3c80f15c9e3de0c208 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E8=9C=9C?= Date: Thu, 24 Apr 2025 15:26:10 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E6=A8=A1=E5=BA=94=E7=94=A8?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E6=8A=A2=E5=8D=A0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- services/ipc/inc/user_auth_service.h | 2 +- services/ipc/src/user_auth_service.cpp | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/services/ipc/inc/user_auth_service.h b/services/ipc/inc/user_auth_service.h index af5cdc39f..655d27048 100644 --- a/services/ipc/inc/user_auth_service.h +++ b/services/ipc/inc/user_auth_service.h @@ -134,7 +134,7 @@ private: uint64_t &contextId); int32_t StartAuthWidget(AuthParamInner &authParam, WidgetParamInner &widgetParam, ContextFactory::AuthWidgetContextPara ¶, std::shared_ptr &contextCallback, - uint64_t &contextId); + const sptr &modalCallback, uint64_t &contextId); void InitAuthParam(const IpcAuthParamInner &ipcAuthParam, AuthParamInner &authParam); void InitRemoteAuthParam(const IpcRemoteAuthParam &ipcRemoteAuthParam, std::optional &remoteAuthParam); diff --git a/services/ipc/src/user_auth_service.cpp b/services/ipc/src/user_auth_service.cpp index 727d4ab3d..063861318 100644 --- a/services/ipc/src/user_auth_service.cpp +++ b/services/ipc/src/user_auth_service.cpp @@ -1216,7 +1216,7 @@ void UserAuthService::ProcessPinExpired(int32_t ret, const AuthParamInner &authP int32_t UserAuthService::StartAuthWidget(AuthParamInner &authParam, WidgetParamInner &widgetParam, ContextFactory::AuthWidgetContextPara ¶, std::shared_ptr &contextCallback, - uint64_t &contextId) + const sptr &modalCallback, uint64_t &contextId) { IAM_LOGI("start"); Attributes extraInfo; @@ -1230,6 +1230,9 @@ int32_t UserAuthService::StartAuthWidget(AuthParamInner &authParam, WidgetParamI } ProcessPinExpired(checkRet, authParam, validType, para); ProcessWidgetSessionExclusive(); + if (modalCallback != nullptr && widgetParam.hasContext) { + WidgetClient::Instance().SetModalCallback(modalCallback); + } contextId = StartWidgetContext(contextCallback, authParam, widgetParam, validType, para); if (contextId == BAD_CONTEXT_ID) { @@ -1278,11 +1281,7 @@ int32_t UserAuthService::AuthWidget(int32_t apiVersion, const IpcAuthParamInner return SUCCESS; } - if (modalCallback != nullptr && widgetParam.hasContext) { - WidgetClient::Instance().SetModalCallback(modalCallback); - } - - return StartAuthWidget(authParam, widgetParam, para, contextCallback, contextId); + return StartAuthWidget(authParam, widgetParam, para, contextCallback, modalCallback, contextId); } void UserAuthService::ProcessWidgetSessionExclusive() -- Gitee