diff --git a/services/session_manager/src/session/dev_session_fwk.c b/services/session_manager/src/session/dev_session_fwk.c index fe1fb8f2121e0b93a9ea1e028999cb14ed72e700..b12d68fc15076ef692e0fdbf2ad7259df531c843 100644 --- a/services/session_manager/src/session/dev_session_fwk.c +++ b/services/session_manager/src/session/dev_session_fwk.c @@ -667,13 +667,13 @@ static char *GetSessionReturnData(const SessionImpl *impl) static void OnDevSessionFinish(const SessionImpl *impl) { ReportBehaviorEvent(impl, false, true, HC_SUCCESS); - UPDATE_PERFORM_DATA_BY_INPUT_INDEX(impl->base.id, ON_SESSION_KEY_RETURN_TIME, HcGetCurTimeInMillis()); - ProcessSessionKeyCallback(impl->base.id, impl->sessionKey.val, impl->sessionKey.length, &impl->base.callback); - char *returnData = GetSessionReturnData(impl); UPDATE_PERFORM_DATA_BY_INPUT_INDEX(impl->base.id, ON_FINISH_TIME, HcGetCurTimeInMillis()); ProcessFinishCallback(impl->base.id, impl->base.opCode, returnData, &impl->base.callback); FreeJsonString(returnData); + + UPDATE_PERFORM_DATA_BY_INPUT_INDEX(impl->base.id, ON_SESSION_KEY_RETURN_TIME, HcGetCurTimeInMillis()); + ProcessSessionKeyCallback(impl->base.id, impl->sessionKey.val, impl->sessionKey.length, &impl->base.callback); bool isBind = true; (void)GetBoolFromJson(impl->context, FIELD_IS_BIND, &isBind);