179a732c7Sopenharmony_ci/*
279a732c7Sopenharmony_ci * Copyright (c) 2023-2024 Huawei Device Co., Ltd.
379a732c7Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
479a732c7Sopenharmony_ci * you may not use this file except in compliance with the License.
579a732c7Sopenharmony_ci * You may obtain a copy of the License at
679a732c7Sopenharmony_ci *
779a732c7Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
879a732c7Sopenharmony_ci *
979a732c7Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1079a732c7Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
1179a732c7Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1279a732c7Sopenharmony_ci * See the License for the specific language governing permissions and
1379a732c7Sopenharmony_ci * limitations under the License.
1479a732c7Sopenharmony_ci */
1579a732c7Sopenharmony_ci
1679a732c7Sopenharmony_ci#include "dm_radar_helper.h"
1779a732c7Sopenharmony_ci
1879a732c7Sopenharmony_ci#include <algorithm>
1979a732c7Sopenharmony_ci#include <cmath>
2079a732c7Sopenharmony_ci#include <sstream>
2179a732c7Sopenharmony_ci#include <iomanip>
2279a732c7Sopenharmony_ci#include <cJSON.h>
2379a732c7Sopenharmony_ci#include <errors.h>
2479a732c7Sopenharmony_ci#include "hisysevent.h"
2579a732c7Sopenharmony_ci#include "dm_constants.h"
2679a732c7Sopenharmony_ci#include "dm_log.h"
2779a732c7Sopenharmony_ci#include "parameter.h"
2879a732c7Sopenharmony_ci#include "accesstoken_kit.h"
2979a732c7Sopenharmony_ci#include "access_token.h"
3079a732c7Sopenharmony_ci#include "hap_token_info.h"
3179a732c7Sopenharmony_ci#include "ipc_skeleton.h"
3279a732c7Sopenharmony_ci#include "native_token_info.h"
3379a732c7Sopenharmony_ci#include "tokenid_kit.h"
3479a732c7Sopenharmony_ciusing namespace OHOS::Security::AccessToken;
3579a732c7Sopenharmony_cinamespace OHOS {
3679a732c7Sopenharmony_cinamespace DistributedHardware {
3779a732c7Sopenharmony_ciDM_IMPLEMENT_SINGLE_INSTANCE(DmRadarHelper);
3879a732c7Sopenharmony_cibool DmRadarHelper::ReportDiscoverRegCallback(struct RadarInfo &info)
3979a732c7Sopenharmony_ci{
4079a732c7Sopenharmony_ci    int32_t res = DM_OK;
4179a732c7Sopenharmony_ci    if (info.stageRes == static_cast<int32_t>(StageRes::STAGE_IDLE)) {
4279a732c7Sopenharmony_ci        res = HiSysEventWrite(
4379a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
4479a732c7Sopenharmony_ci            DM_DISCOVER_BEHAVIOR,
4579a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
4679a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
4779a732c7Sopenharmony_ci            "HOST_PKG", info.hostName,
4879a732c7Sopenharmony_ci            "FUNC", info.funcName,
4979a732c7Sopenharmony_ci            "API_TYPE", GetApiType(),
5079a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(DiscoverScene::DM_DISCOVER),
5179a732c7Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(DisCoverStage::DISCOVER_REGISTER_CALLBACK),
5279a732c7Sopenharmony_ci            "STAGE_RES", info.stageRes,
5379a732c7Sopenharmony_ci            "BIZ_STATE", info.bizState,
5479a732c7Sopenharmony_ci            "TO_CALL_PKG", info.toCallPkg,
5579a732c7Sopenharmony_ci            "COMM_SERV", info.commServ);
5679a732c7Sopenharmony_ci    } else {
5779a732c7Sopenharmony_ci        res = HiSysEventWrite(
5879a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
5979a732c7Sopenharmony_ci            DM_DISCOVER_BEHAVIOR,
6079a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
6179a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
6279a732c7Sopenharmony_ci            "FUNC", info.funcName,
6379a732c7Sopenharmony_ci            "API_TYPE", GetApiType(),
6479a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(DiscoverScene::DM_DISCOVER),
6579a732c7Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(DisCoverStage::DISCOVER_REGISTER_CALLBACK),
6679a732c7Sopenharmony_ci            "STAGE_RES", info.stageRes,
6779a732c7Sopenharmony_ci            "BIZ_STATE", info.bizState,
6879a732c7Sopenharmony_ci            "TO_CALL_PKG", info.toCallPkg,
6979a732c7Sopenharmony_ci            "COMM_SERV", info.commServ,
7079a732c7Sopenharmony_ci            "ERROR_CODE", info.errCode);
7179a732c7Sopenharmony_ci    }
7279a732c7Sopenharmony_ci    if (res != DM_OK) {
7379a732c7Sopenharmony_ci        LOGE("ReportDiscoverRegCallback error, res:%{public}d", res);
7479a732c7Sopenharmony_ci        return false;
7579a732c7Sopenharmony_ci    }
7679a732c7Sopenharmony_ci    return true;
7779a732c7Sopenharmony_ci}
7879a732c7Sopenharmony_ci
7979a732c7Sopenharmony_cibool DmRadarHelper::ReportDiscoverResCallback(struct RadarInfo &info)
8079a732c7Sopenharmony_ci{
8179a732c7Sopenharmony_ci    int32_t res = DM_OK;
8279a732c7Sopenharmony_ci    if (info.stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
8379a732c7Sopenharmony_ci        res = HiSysEventWrite(
8479a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
8579a732c7Sopenharmony_ci            DM_DISCOVER_BEHAVIOR,
8679a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
8779a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
8879a732c7Sopenharmony_ci            "HOST_PKG", SOFTBUSNAME,
8979a732c7Sopenharmony_ci            "FUNC", info.funcName,
9079a732c7Sopenharmony_ci            "API_TYPE", GetApiType(),
9179a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(DiscoverScene::DM_DISCOVER),
9279a732c7Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(DisCoverStage::DISCOVER_REGISTER_CALLBACK),
9379a732c7Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
9479a732c7Sopenharmony_ci            "PEER_UDID", GetAnonyUdid(info.peerUdid),
9579a732c7Sopenharmony_ci            "LOCAL_UDID", GetAnonyLocalUdid(),
9679a732c7Sopenharmony_ci            "COMM_SERV", static_cast<int32_t>(CommServ::USE_SOFTBUS),
9779a732c7Sopenharmony_ci            "PEER_NET_ID", GetAnonyUdid(info.peerNetId));
9879a732c7Sopenharmony_ci    } else {
9979a732c7Sopenharmony_ci        res = HiSysEventWrite(
10079a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
10179a732c7Sopenharmony_ci            DM_DISCOVER_BEHAVIOR,
10279a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
10379a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
10479a732c7Sopenharmony_ci            "HOST_PKG", SOFTBUSNAME,
10579a732c7Sopenharmony_ci            "FUNC", info.funcName,
10679a732c7Sopenharmony_ci            "API_TYPE", GetApiType(),
10779a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(DiscoverScene::DM_DISCOVER),
10879a732c7Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(DisCoverStage::DISCOVER_REGISTER_CALLBACK),
10979a732c7Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
11079a732c7Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
11179a732c7Sopenharmony_ci            "PEER_UDID", GetAnonyUdid(info.peerUdid),
11279a732c7Sopenharmony_ci            "LOCAL_UDID", GetAnonyLocalUdid(),
11379a732c7Sopenharmony_ci            "COMM_SERV", static_cast<int32_t>(CommServ::USE_SOFTBUS),
11479a732c7Sopenharmony_ci            "ERROR_CODE", info.errCode);
11579a732c7Sopenharmony_ci    }
11679a732c7Sopenharmony_ci
11779a732c7Sopenharmony_ci    if (res != DM_OK) {
11879a732c7Sopenharmony_ci        LOGE("ReportDiscoverResCallback error, res:%{public}d", res);
11979a732c7Sopenharmony_ci        return false;
12079a732c7Sopenharmony_ci    }
12179a732c7Sopenharmony_ci    return true;
12279a732c7Sopenharmony_ci}
12379a732c7Sopenharmony_ci
12479a732c7Sopenharmony_cibool DmRadarHelper::ReportDiscoverUserRes(struct RadarInfo &info)
12579a732c7Sopenharmony_ci{
12679a732c7Sopenharmony_ci    int32_t res = DM_OK;
12779a732c7Sopenharmony_ci    if (info.stageRes == static_cast<int32_t>(StageRes::STAGE_CANCEL)) {
12879a732c7Sopenharmony_ci        res = HiSysEventWrite(
12979a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
13079a732c7Sopenharmony_ci            DM_DISCOVER_BEHAVIOR,
13179a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
13279a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
13379a732c7Sopenharmony_ci            "HOST_PKG", info.hostName,
13479a732c7Sopenharmony_ci            "FUNC", info.funcName,
13579a732c7Sopenharmony_ci            "API_TYPE", GetApiType(),
13679a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(DiscoverScene::DM_DISCOVER),
13779a732c7Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(DisCoverStage::DISCOVER_USER_DEAL_RES),
13879a732c7Sopenharmony_ci            "STAGE_RES", info.stageRes,
13979a732c7Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
14079a732c7Sopenharmony_ci            "COMM_SERV", static_cast<int32_t>(CommServ::USE_SOFTBUS));
14179a732c7Sopenharmony_ci    } else if (info.stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
14279a732c7Sopenharmony_ci        res = HiSysEventWrite(
14379a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
14479a732c7Sopenharmony_ci            DM_DISCOVER_BEHAVIOR,
14579a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
14679a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
14779a732c7Sopenharmony_ci            "FUNC", info.funcName,
14879a732c7Sopenharmony_ci            "API_TYPE", GetApiType(),
14979a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(DiscoverScene::DM_DISCOVER),
15079a732c7Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(DisCoverStage::DISCOVER_USER_DEAL_RES),
15179a732c7Sopenharmony_ci            "STAGE_RES", info.stageRes,
15279a732c7Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END));
15379a732c7Sopenharmony_ci    } else {
15479a732c7Sopenharmony_ci        res = HiSysEventWrite(
15579a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
15679a732c7Sopenharmony_ci            DM_DISCOVER_BEHAVIOR,
15779a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
15879a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
15979a732c7Sopenharmony_ci            "HOST_PKG", info.hostName,
16079a732c7Sopenharmony_ci            "FUNC", info.funcName,
16179a732c7Sopenharmony_ci            "API_TYPE", GetApiType(),
16279a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(DiscoverScene::DM_DISCOVER),
16379a732c7Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(DisCoverStage::DISCOVER_USER_DEAL_RES),
16479a732c7Sopenharmony_ci            "STAGE_RES", info.stageRes,
16579a732c7Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
16679a732c7Sopenharmony_ci            "COMM_SERV", static_cast<int32_t>(CommServ::USE_SOFTBUS),
16779a732c7Sopenharmony_ci            "ERROR_CODE", info.errCode);
16879a732c7Sopenharmony_ci    }
16979a732c7Sopenharmony_ci    if (res != DM_OK) {
17079a732c7Sopenharmony_ci        LOGE("ReportDiscoverUserRes error, res:%{public}d", res);
17179a732c7Sopenharmony_ci        return false;
17279a732c7Sopenharmony_ci    }
17379a732c7Sopenharmony_ci    return true;
17479a732c7Sopenharmony_ci}
17579a732c7Sopenharmony_ci
17679a732c7Sopenharmony_cibool DmRadarHelper::ReportAuthStart(const std::string &peerUdid, const std::string &pkgName)
17779a732c7Sopenharmony_ci{
17879a732c7Sopenharmony_ci    int32_t res = HiSysEventWrite(
17979a732c7Sopenharmony_ci        OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
18079a732c7Sopenharmony_ci        DM_AUTHCATION_BEHAVIOR,
18179a732c7Sopenharmony_ci        HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
18279a732c7Sopenharmony_ci        "ORG_PKG", ORGPKGNAME,
18379a732c7Sopenharmony_ci        "FUNC", "AuthenticateDevice",
18479a732c7Sopenharmony_ci        "HOST_PKG", pkgName,
18579a732c7Sopenharmony_ci        "API_TYPE", GetApiType(),
18679a732c7Sopenharmony_ci        "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_AUTHCATION),
18779a732c7Sopenharmony_ci        "BIZ_STAGE", static_cast<int32_t>(AuthStage::AUTH_START),
18879a732c7Sopenharmony_ci        "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
18979a732c7Sopenharmony_ci        "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_START),
19079a732c7Sopenharmony_ci        "IS_TRUST", static_cast<int32_t>(TrustStatus::NOT_TRUST),
19179a732c7Sopenharmony_ci        "PEER_UDID", GetAnonyUdid(peerUdid),
19279a732c7Sopenharmony_ci        "LOCAL_UDID", GetAnonyLocalUdid());
19379a732c7Sopenharmony_ci    if (res != DM_OK) {
19479a732c7Sopenharmony_ci        LOGE("ReportAuthStart error, res:%{public}d", res);
19579a732c7Sopenharmony_ci        return false;
19679a732c7Sopenharmony_ci    }
19779a732c7Sopenharmony_ci    return true;
19879a732c7Sopenharmony_ci}
19979a732c7Sopenharmony_ci
20079a732c7Sopenharmony_cibool DmRadarHelper::ReportAuthOpenSession(struct RadarInfo &info)
20179a732c7Sopenharmony_ci{
20279a732c7Sopenharmony_ci    int32_t res = DM_OK;
20379a732c7Sopenharmony_ci    if (info.stageRes == static_cast<int32_t>(StageRes::STAGE_IDLE)) {
20479a732c7Sopenharmony_ci        res = HiSysEventWrite(
20579a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
20679a732c7Sopenharmony_ci            DM_AUTHCATION_BEHAVIOR,
20779a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
20879a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
20979a732c7Sopenharmony_ci            "FUNC", info.funcName,
21079a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_AUTHCATION),
21179a732c7Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(AuthStage::AUTH_OPEN_SESSION),
21279a732c7Sopenharmony_ci            "STAGE_RES", info.stageRes,
21379a732c7Sopenharmony_ci            "PEER_UDID", GetAnonyUdid(info.peerUdid),
21479a732c7Sopenharmony_ci            "LOCAL_UDID", GetAnonyLocalUdid(),
21579a732c7Sopenharmony_ci            "CH_ID", info.channelId,
21679a732c7Sopenharmony_ci            "IS_TRUST", info.isTrust,
21779a732c7Sopenharmony_ci            "COMM_SERV", info.commServ,
21879a732c7Sopenharmony_ci            "LOCAL_SESS_NAME", info.localSessName,
21979a732c7Sopenharmony_ci            "PEER_SESS_NAME", info.peerSessName);
22079a732c7Sopenharmony_ci    } else {
22179a732c7Sopenharmony_ci        res = HiSysEventWrite(
22279a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
22379a732c7Sopenharmony_ci            DM_AUTHCATION_BEHAVIOR,
22479a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
22579a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
22679a732c7Sopenharmony_ci            "FUNC", info.funcName,
22779a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_AUTHCATION),
22879a732c7Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(AuthStage::AUTH_OPEN_SESSION),
22979a732c7Sopenharmony_ci            "BIZ_STATE", info.bizState,
23079a732c7Sopenharmony_ci            "STAGE_RES", info.stageRes,
23179a732c7Sopenharmony_ci            "PEER_UDID", GetAnonyUdid(info.peerUdid),
23279a732c7Sopenharmony_ci            "LOCAL_UDID", GetAnonyLocalUdid(),
23379a732c7Sopenharmony_ci            "CH_ID", info.channelId,
23479a732c7Sopenharmony_ci            "IS_TRUST", info.isTrust,
23579a732c7Sopenharmony_ci            "COMM_SERV", info.commServ,
23679a732c7Sopenharmony_ci            "LOCAL_SESS_NAME", info.localSessName,
23779a732c7Sopenharmony_ci            "PEER_SESS_NAME", info.peerSessName,
23879a732c7Sopenharmony_ci            "ERROR_CODE", info.errCode);
23979a732c7Sopenharmony_ci    }
24079a732c7Sopenharmony_ci    if (res != DM_OK) {
24179a732c7Sopenharmony_ci        LOGE("ReportAuthOpenSession error, res:%{public}d", res);
24279a732c7Sopenharmony_ci        return false;
24379a732c7Sopenharmony_ci    }
24479a732c7Sopenharmony_ci    return true;
24579a732c7Sopenharmony_ci}
24679a732c7Sopenharmony_ci
24779a732c7Sopenharmony_cibool DmRadarHelper::ReportAuthSessionOpenCb(struct RadarInfo &info)
24879a732c7Sopenharmony_ci{
24979a732c7Sopenharmony_ci    int32_t res = HiSysEventWrite(
25079a732c7Sopenharmony_ci        OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
25179a732c7Sopenharmony_ci        DM_AUTHCATION_BEHAVIOR,
25279a732c7Sopenharmony_ci        HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
25379a732c7Sopenharmony_ci        "ORG_PKG", ORGPKGNAME,
25479a732c7Sopenharmony_ci        "FUNC", info.funcName,
25579a732c7Sopenharmony_ci        "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_AUTHCATION),
25679a732c7Sopenharmony_ci        "BIZ_STAGE", static_cast<int32_t>(AuthStage::AUTH_OPEN_SESSION),
25779a732c7Sopenharmony_ci        "STAGE_RES", info.stageRes,
25879a732c7Sopenharmony_ci        "PEER_UDID", GetAnonyUdid(info.peerUdid),
25979a732c7Sopenharmony_ci        "LOCAL_UDID", GetAnonyLocalUdid(),
26079a732c7Sopenharmony_ci        "CH_ID", info.channelId);
26179a732c7Sopenharmony_ci    if (res != DM_OK) {
26279a732c7Sopenharmony_ci        LOGE("ReportAuthSessionOpenCb error, res:%{public}d", res);
26379a732c7Sopenharmony_ci        return false;
26479a732c7Sopenharmony_ci    }
26579a732c7Sopenharmony_ci    return true;
26679a732c7Sopenharmony_ci}
26779a732c7Sopenharmony_ci
26879a732c7Sopenharmony_cibool DmRadarHelper::ReportAuthSendRequest(struct RadarInfo &info)
26979a732c7Sopenharmony_ci{
27079a732c7Sopenharmony_ci    int32_t res = HiSysEventWrite(
27179a732c7Sopenharmony_ci        OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
27279a732c7Sopenharmony_ci        DM_AUTHCATION_BEHAVIOR,
27379a732c7Sopenharmony_ci        HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
27479a732c7Sopenharmony_ci        "ORG_PKG", ORGPKGNAME,
27579a732c7Sopenharmony_ci        "FUNC", info.funcName,
27679a732c7Sopenharmony_ci        "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_AUTHCATION),
27779a732c7Sopenharmony_ci        "BIZ_STAGE", static_cast<int32_t>(AuthStage::AUTH_SEND_REQUEST),
27879a732c7Sopenharmony_ci        "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
27979a732c7Sopenharmony_ci        "TO_CALL_PKG", SOFTBUSNAME,
28079a732c7Sopenharmony_ci        "LOCAL_SESS_NAME", DM_SESSION_NAME,
28179a732c7Sopenharmony_ci        "IS_TRUST", static_cast<int32_t>(TrustStatus::NOT_TRUST),
28279a732c7Sopenharmony_ci        "COMM_SERV", static_cast<int32_t>(CommServ::USE_SOFTBUS));
28379a732c7Sopenharmony_ci    if (res != DM_OK) {
28479a732c7Sopenharmony_ci        LOGE("ReportAuthSessionOpenCb error, res:%{public}d", res);
28579a732c7Sopenharmony_ci        return false;
28679a732c7Sopenharmony_ci    }
28779a732c7Sopenharmony_ci    return true;
28879a732c7Sopenharmony_ci}
28979a732c7Sopenharmony_ci
29079a732c7Sopenharmony_cibool DmRadarHelper::ReportAuthPullAuthBox(struct RadarInfo &info)
29179a732c7Sopenharmony_ci{
29279a732c7Sopenharmony_ci    int32_t res = HiSysEventWrite(
29379a732c7Sopenharmony_ci        OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
29479a732c7Sopenharmony_ci        DM_AUTHCATION_BEHAVIOR,
29579a732c7Sopenharmony_ci        HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
29679a732c7Sopenharmony_ci        "ORG_PKG", ORGPKGNAME,
29779a732c7Sopenharmony_ci        "FUNC", info.funcName,
29879a732c7Sopenharmony_ci        "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_AUTHCATION),
29979a732c7Sopenharmony_ci        "BIZ_STAGE", static_cast<int32_t>(AuthStage::AUTH_PULL_AUTH_BOX),
30079a732c7Sopenharmony_ci        "STAGE_RES", info.stageRes);
30179a732c7Sopenharmony_ci    if (res != DM_OK) {
30279a732c7Sopenharmony_ci        LOGE("ReportAuthPullAuthBox error, res:%{public}d", res);
30379a732c7Sopenharmony_ci        return false;
30479a732c7Sopenharmony_ci    }
30579a732c7Sopenharmony_ci    return true;
30679a732c7Sopenharmony_ci}
30779a732c7Sopenharmony_ci
30879a732c7Sopenharmony_cibool DmRadarHelper::ReportAuthConfirmBox(struct RadarInfo &info)
30979a732c7Sopenharmony_ci{
31079a732c7Sopenharmony_ci    int32_t res = DM_OK;
31179a732c7Sopenharmony_ci    if (info.stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
31279a732c7Sopenharmony_ci        res = HiSysEventWrite(
31379a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
31479a732c7Sopenharmony_ci            DM_AUTHCATION_BEHAVIOR,
31579a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
31679a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
31779a732c7Sopenharmony_ci            "FUNC", info.funcName,
31879a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_AUTHCATION),
31979a732c7Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(AuthStage::AUTH_PULL_AUTH_BOX),
32079a732c7Sopenharmony_ci            "STAGE_RES", info.stageRes);
32179a732c7Sopenharmony_ci    } else {
32279a732c7Sopenharmony_ci        res = HiSysEventWrite(
32379a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
32479a732c7Sopenharmony_ci            DM_AUTHCATION_BEHAVIOR,
32579a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
32679a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
32779a732c7Sopenharmony_ci            "FUNC", info.funcName,
32879a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_AUTHCATION),
32979a732c7Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(AuthStage::AUTH_PULL_AUTH_BOX),
33079a732c7Sopenharmony_ci            "STAGE_RES", info.stageRes,
33179a732c7Sopenharmony_ci            "BIZ_STATE", info.bizState,
33279a732c7Sopenharmony_ci            "ERROR_CODE", info.errCode);
33379a732c7Sopenharmony_ci    }
33479a732c7Sopenharmony_ci    if (res != DM_OK) {
33579a732c7Sopenharmony_ci        LOGE("ReportAuthConfirmBox error, res:%{public}d", res);
33679a732c7Sopenharmony_ci        return false;
33779a732c7Sopenharmony_ci    }
33879a732c7Sopenharmony_ci    return true;
33979a732c7Sopenharmony_ci}
34079a732c7Sopenharmony_ci
34179a732c7Sopenharmony_cibool DmRadarHelper::ReportAuthCreateGroup(struct RadarInfo &info)
34279a732c7Sopenharmony_ci{
34379a732c7Sopenharmony_ci    int32_t res = DM_OK;
34479a732c7Sopenharmony_ci    if (info.stageRes == static_cast<int32_t>(StageRes::STAGE_IDLE)) {
34579a732c7Sopenharmony_ci        res = HiSysEventWrite(
34679a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
34779a732c7Sopenharmony_ci            DM_AUTHCATION_BEHAVIOR,
34879a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
34979a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
35079a732c7Sopenharmony_ci            "FUNC", info.funcName,
35179a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_AUTHCATION),
35279a732c7Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(AuthStage::AUTH_CREATE_HICHAIN_GROUP),
35379a732c7Sopenharmony_ci            "STAGE_RES", info.stageRes,
35479a732c7Sopenharmony_ci            "LOCAL_UDID", GetAnonyLocalUdid(),
35579a732c7Sopenharmony_ci            "TO_CALL_PKG", info.toCallPkg);
35679a732c7Sopenharmony_ci    } else {
35779a732c7Sopenharmony_ci        res = HiSysEventWrite(
35879a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
35979a732c7Sopenharmony_ci            DM_AUTHCATION_BEHAVIOR,
36079a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
36179a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
36279a732c7Sopenharmony_ci            "FUNC", info.funcName,
36379a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_AUTHCATION),
36479a732c7Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(AuthStage::AUTH_CREATE_HICHAIN_GROUP),
36579a732c7Sopenharmony_ci            "STAGE_RES", info.stageRes,
36679a732c7Sopenharmony_ci            "BIZ_STATE", info.bizState,
36779a732c7Sopenharmony_ci            "TO_CALL_PKG", info.toCallPkg,
36879a732c7Sopenharmony_ci            "LOCAL_UDID", GetAnonyLocalUdid(),
36979a732c7Sopenharmony_ci            "ERROR_CODE", info.errCode);
37079a732c7Sopenharmony_ci    }
37179a732c7Sopenharmony_ci    if (res != DM_OK) {
37279a732c7Sopenharmony_ci        LOGE("ReportAuthCreateGroup error, res:%{public}d", res);
37379a732c7Sopenharmony_ci        return false;
37479a732c7Sopenharmony_ci    }
37579a732c7Sopenharmony_ci    return true;
37679a732c7Sopenharmony_ci}
37779a732c7Sopenharmony_ci
37879a732c7Sopenharmony_cibool DmRadarHelper::ReportAuthCreateGroupCb(std::string funcName, int32_t stageRes)
37979a732c7Sopenharmony_ci{
38079a732c7Sopenharmony_ci    int32_t res = DM_OK;
38179a732c7Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
38279a732c7Sopenharmony_ci        res = HiSysEventWrite(
38379a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
38479a732c7Sopenharmony_ci            DM_AUTHCATION_BEHAVIOR,
38579a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
38679a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
38779a732c7Sopenharmony_ci            "FUNC", funcName,
38879a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_AUTHCATION),
38979a732c7Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(AuthStage::AUTH_CREATE_HICHAIN_GROUP),
39079a732c7Sopenharmony_ci            "STAGE_RES", stageRes,
39179a732c7Sopenharmony_ci            "HOST_PKG", HICHAINNAME);
39279a732c7Sopenharmony_ci    } else {
39379a732c7Sopenharmony_ci        res = HiSysEventWrite(
39479a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
39579a732c7Sopenharmony_ci            DM_AUTHCATION_BEHAVIOR,
39679a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
39779a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
39879a732c7Sopenharmony_ci            "FUNC", funcName,
39979a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_AUTHCATION),
40079a732c7Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(AuthStage::AUTH_CREATE_HICHAIN_GROUP),
40179a732c7Sopenharmony_ci            "STAGE_RES", stageRes,
40279a732c7Sopenharmony_ci            "HOST_PKG", HICHAINNAME,
40379a732c7Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
40479a732c7Sopenharmony_ci            "ERROR_CODE", GetErrCode(ERR_DM_CREATE_GROUP_FAILED));
40579a732c7Sopenharmony_ci    }
40679a732c7Sopenharmony_ci    if (res != DM_OK) {
40779a732c7Sopenharmony_ci        LOGE("ReportAuthCreateGroupCb error, res:%{public}d", res);
40879a732c7Sopenharmony_ci        return false;
40979a732c7Sopenharmony_ci    }
41079a732c7Sopenharmony_ci    return true;
41179a732c7Sopenharmony_ci}
41279a732c7Sopenharmony_ci
41379a732c7Sopenharmony_cibool DmRadarHelper::ReportAuthPullPinBox(struct RadarInfo &info)
41479a732c7Sopenharmony_ci{
41579a732c7Sopenharmony_ci    int32_t res = HiSysEventWrite(
41679a732c7Sopenharmony_ci        OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
41779a732c7Sopenharmony_ci        DM_AUTHCATION_BEHAVIOR,
41879a732c7Sopenharmony_ci        HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
41979a732c7Sopenharmony_ci        "ORG_PKG", ORGPKGNAME,
42079a732c7Sopenharmony_ci        "FUNC", info.funcName,
42179a732c7Sopenharmony_ci        "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_AUTHCATION),
42279a732c7Sopenharmony_ci        "BIZ_STAGE", static_cast<int32_t>(AuthStage::AUTH_PULL_PIN_BOX_START),
42379a732c7Sopenharmony_ci        "STAGE_RES", info.stageRes);
42479a732c7Sopenharmony_ci    if (res != DM_OK) {
42579a732c7Sopenharmony_ci        LOGE("ReportAuthPullPinBox error, res:%{public}d", res);
42679a732c7Sopenharmony_ci        return false;
42779a732c7Sopenharmony_ci    }
42879a732c7Sopenharmony_ci    return true;
42979a732c7Sopenharmony_ci}
43079a732c7Sopenharmony_ci
43179a732c7Sopenharmony_cibool DmRadarHelper::ReportAuthInputPinBox(struct RadarInfo &info)
43279a732c7Sopenharmony_ci{
43379a732c7Sopenharmony_ci    int32_t res = DM_OK;
43479a732c7Sopenharmony_ci    if (info.stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
43579a732c7Sopenharmony_ci        res = HiSysEventWrite(
43679a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
43779a732c7Sopenharmony_ci            DM_AUTHCATION_BEHAVIOR,
43879a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
43979a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
44079a732c7Sopenharmony_ci            "FUNC", info.funcName,
44179a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_AUTHCATION),
44279a732c7Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(AuthStage::AUTH_PULL_PIN_INPUT_BOX_END),
44379a732c7Sopenharmony_ci            "STAGE_RES", info.stageRes);
44479a732c7Sopenharmony_ci    } else {
44579a732c7Sopenharmony_ci        res = HiSysEventWrite(
44679a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
44779a732c7Sopenharmony_ci            DM_AUTHCATION_BEHAVIOR,
44879a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
44979a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
45079a732c7Sopenharmony_ci            "FUNC", info.funcName,
45179a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_AUTHCATION),
45279a732c7Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(AuthStage::AUTH_PULL_PIN_INPUT_BOX_END),
45379a732c7Sopenharmony_ci            "STAGE_RES", info.stageRes,
45479a732c7Sopenharmony_ci            "BIZ_STATE", info.bizState,
45579a732c7Sopenharmony_ci            "ERROR_CODE", info.errCode);
45679a732c7Sopenharmony_ci    }
45779a732c7Sopenharmony_ci    if (res != DM_OK) {
45879a732c7Sopenharmony_ci        LOGE("ReportAuthInputPinBox error, res:%{public}d", res);
45979a732c7Sopenharmony_ci        return false;
46079a732c7Sopenharmony_ci    }
46179a732c7Sopenharmony_ci    return true;
46279a732c7Sopenharmony_ci}
46379a732c7Sopenharmony_ci
46479a732c7Sopenharmony_cibool DmRadarHelper::ReportAuthAddGroup(struct RadarInfo &info)
46579a732c7Sopenharmony_ci{
46679a732c7Sopenharmony_ci    int32_t res = DM_OK;
46779a732c7Sopenharmony_ci    if (info.stageRes == static_cast<int32_t>(StageRes::STAGE_IDLE)) {
46879a732c7Sopenharmony_ci        res = HiSysEventWrite(
46979a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
47079a732c7Sopenharmony_ci            DM_AUTHCATION_BEHAVIOR,
47179a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
47279a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
47379a732c7Sopenharmony_ci            "FUNC", info.funcName,
47479a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_AUTHCATION),
47579a732c7Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(AuthStage::AUTH_ADD_HICHAIN_GROUP),
47679a732c7Sopenharmony_ci            "STAGE_RES", info.stageRes,
47779a732c7Sopenharmony_ci            "LOCAL_UDID", GetAnonyLocalUdid(),
47879a732c7Sopenharmony_ci            "PEER_UDID", GetAnonyUdid(info.peerUdid),
47979a732c7Sopenharmony_ci            "TO_CALL_PKG", HICHAINNAME);
48079a732c7Sopenharmony_ci    } else {
48179a732c7Sopenharmony_ci        res = HiSysEventWrite(
48279a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
48379a732c7Sopenharmony_ci            DM_AUTHCATION_BEHAVIOR,
48479a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
48579a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
48679a732c7Sopenharmony_ci            "FUNC", info.funcName,
48779a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_AUTHCATION),
48879a732c7Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(AuthStage::AUTH_ADD_HICHAIN_GROUP),
48979a732c7Sopenharmony_ci            "STAGE_RES", info.stageRes,
49079a732c7Sopenharmony_ci            "LOCAL_UDID", GetAnonyLocalUdid(),
49179a732c7Sopenharmony_ci            "PEER_UDID", GetAnonyUdid(info.peerUdid),
49279a732c7Sopenharmony_ci            "TO_CALL_PKG", HICHAINNAME,
49379a732c7Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
49479a732c7Sopenharmony_ci            "ERROR_CODE", info.errCode);
49579a732c7Sopenharmony_ci    }
49679a732c7Sopenharmony_ci    if (res != DM_OK) {
49779a732c7Sopenharmony_ci        LOGE("ReportAuthAddGroup error, res:%{public}d", res);
49879a732c7Sopenharmony_ci        return false;
49979a732c7Sopenharmony_ci    }
50079a732c7Sopenharmony_ci    return true;
50179a732c7Sopenharmony_ci}
50279a732c7Sopenharmony_ci
50379a732c7Sopenharmony_cibool DmRadarHelper::ReportAuthAddGroupCb(std::string funcName, int32_t stageRes)
50479a732c7Sopenharmony_ci{
50579a732c7Sopenharmony_ci    int32_t res = DM_OK;
50679a732c7Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
50779a732c7Sopenharmony_ci        res = HiSysEventWrite(
50879a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
50979a732c7Sopenharmony_ci            DM_AUTHCATION_BEHAVIOR,
51079a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
51179a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
51279a732c7Sopenharmony_ci            "FUNC", funcName,
51379a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_AUTHCATION),
51479a732c7Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(AuthStage::AUTH_ADD_HICHAIN_GROUP),
51579a732c7Sopenharmony_ci            "STAGE_RES", stageRes,
51679a732c7Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
51779a732c7Sopenharmony_ci            "HOST_PKG", HICHAINNAME);
51879a732c7Sopenharmony_ci    } else {
51979a732c7Sopenharmony_ci        res = HiSysEventWrite(
52079a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
52179a732c7Sopenharmony_ci            DM_AUTHCATION_BEHAVIOR,
52279a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
52379a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
52479a732c7Sopenharmony_ci            "FUNC", funcName,
52579a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_AUTHCATION),
52679a732c7Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(AuthStage::AUTH_ADD_HICHAIN_GROUP),
52779a732c7Sopenharmony_ci            "STAGE_RES", stageRes,
52879a732c7Sopenharmony_ci            "HOST_PKG", HICHAINNAME,
52979a732c7Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
53079a732c7Sopenharmony_ci            "ERROR_CODE", GetErrCode(ERR_DM_ADD_GROUP_FAILED));
53179a732c7Sopenharmony_ci    }
53279a732c7Sopenharmony_ci    if (res != DM_OK) {
53379a732c7Sopenharmony_ci        LOGE("ReportAuthAddGroupCb error, res:%{public}d", res);
53479a732c7Sopenharmony_ci        return false;
53579a732c7Sopenharmony_ci    }
53679a732c7Sopenharmony_ci    return true;
53779a732c7Sopenharmony_ci}
53879a732c7Sopenharmony_ci
53979a732c7Sopenharmony_cibool DmRadarHelper::ReportNetworkOnline(struct RadarInfo &info)
54079a732c7Sopenharmony_ci{
54179a732c7Sopenharmony_ci    int32_t res = HiSysEventWrite(
54279a732c7Sopenharmony_ci        OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
54379a732c7Sopenharmony_ci        DM_AUTHCATION_BEHAVIOR,
54479a732c7Sopenharmony_ci        HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
54579a732c7Sopenharmony_ci        "ORG_PKG", ORGPKGNAME,
54679a732c7Sopenharmony_ci        "FUNC", info.funcName,
54779a732c7Sopenharmony_ci        "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_NETWORK),
54879a732c7Sopenharmony_ci        "BIZ_STAGE", static_cast<int32_t>(NetworkStage::NETWORK_ONLINE),
54979a732c7Sopenharmony_ci        "STAGE_RES", info.stageRes,
55079a732c7Sopenharmony_ci        "BIZ_STATE", info.bizState,
55179a732c7Sopenharmony_ci        "LOCAL_UDID", GetAnonyLocalUdid(),
55279a732c7Sopenharmony_ci        "PEER_UDID", GetAnonyUdid(info.peerUdid),
55379a732c7Sopenharmony_ci        "PEER_NET_ID", GetAnonyUdid(info.peerNetId),
55479a732c7Sopenharmony_ci        "IS_TRUST", info.isTrust);
55579a732c7Sopenharmony_ci    if (res != DM_OK) {
55679a732c7Sopenharmony_ci        LOGE("ReportNetworkOnline error, res:%{public}d", res);
55779a732c7Sopenharmony_ci        return false;
55879a732c7Sopenharmony_ci    }
55979a732c7Sopenharmony_ci    return true;
56079a732c7Sopenharmony_ci}
56179a732c7Sopenharmony_ci
56279a732c7Sopenharmony_cibool DmRadarHelper::ReportNetworkOffline(struct RadarInfo &info)
56379a732c7Sopenharmony_ci{
56479a732c7Sopenharmony_ci    int32_t res = HiSysEventWrite(
56579a732c7Sopenharmony_ci        OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
56679a732c7Sopenharmony_ci        DM_AUTHCATION_BEHAVIOR,
56779a732c7Sopenharmony_ci        HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
56879a732c7Sopenharmony_ci        "ORG_PKG", ORGPKGNAME,
56979a732c7Sopenharmony_ci        "FUNC", info.funcName,
57079a732c7Sopenharmony_ci        "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_NETWORK),
57179a732c7Sopenharmony_ci        "BIZ_STAGE", static_cast<int32_t>(NetworkStage::NETWORK_OFFLINE),
57279a732c7Sopenharmony_ci        "STAGE_RES", info.stageRes,
57379a732c7Sopenharmony_ci        "BIZ_STATE", info.bizState,
57479a732c7Sopenharmony_ci        "LOCAL_UDID", GetAnonyLocalUdid(),
57579a732c7Sopenharmony_ci        "PEER_UDID", GetAnonyUdid(info.peerUdid),
57679a732c7Sopenharmony_ci        "PEER_NET_ID", GetAnonyUdid(info.peerNetId));
57779a732c7Sopenharmony_ci    if (res != DM_OK) {
57879a732c7Sopenharmony_ci        LOGE("ReportNetworkOffline error, res:%{public}d", res);
57979a732c7Sopenharmony_ci        return false;
58079a732c7Sopenharmony_ci    }
58179a732c7Sopenharmony_ci    return true;
58279a732c7Sopenharmony_ci}
58379a732c7Sopenharmony_ci
58479a732c7Sopenharmony_cibool DmRadarHelper::ReportDeleteTrustRelation(struct RadarInfo &info)
58579a732c7Sopenharmony_ci{
58679a732c7Sopenharmony_ci    int32_t res = HiSysEventWrite(
58779a732c7Sopenharmony_ci        OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
58879a732c7Sopenharmony_ci        DM_AUTHCATION_BEHAVIOR,
58979a732c7Sopenharmony_ci        HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
59079a732c7Sopenharmony_ci        "ORG_PKG", ORGPKGNAME,
59179a732c7Sopenharmony_ci        "HOST_PKG", info.hostName,
59279a732c7Sopenharmony_ci        "FUNC", info.funcName,
59379a732c7Sopenharmony_ci        "API_TYPE", GetApiType(),
59479a732c7Sopenharmony_ci        "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_DELET_TRUST_RELATION),
59579a732c7Sopenharmony_ci        "BIZ_STAGE", static_cast<int32_t>(DeleteTrust::DELETE_TRUST),
59679a732c7Sopenharmony_ci        "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
59779a732c7Sopenharmony_ci        "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
59879a732c7Sopenharmony_ci        "LOCAL_UDID", GetAnonyLocalUdid(),
59979a732c7Sopenharmony_ci        "PEER_UDID", GetAnonyUdid(info.peerUdid),
60079a732c7Sopenharmony_ci        "PEER_NET_ID", GetAnonyUdid(info.peerNetId),
60179a732c7Sopenharmony_ci        "TO_CALL_PKG", info.toCallPkg);
60279a732c7Sopenharmony_ci    if (res != DM_OK) {
60379a732c7Sopenharmony_ci        LOGE("ReportDeleteTrustRelation error, res:%{public}d", res);
60479a732c7Sopenharmony_ci        return false;
60579a732c7Sopenharmony_ci    }
60679a732c7Sopenharmony_ci    return true;
60779a732c7Sopenharmony_ci}
60879a732c7Sopenharmony_ci
60979a732c7Sopenharmony_civoid DmRadarHelper::ReportCreatePinHolder(std::string hostName,
61079a732c7Sopenharmony_ci    int32_t channelId, std::string peerUdid, int32_t errCode, int32_t stageRes)
61179a732c7Sopenharmony_ci{
61279a732c7Sopenharmony_ci    int32_t res = DM_OK;
61379a732c7Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
61479a732c7Sopenharmony_ci        res = HiSysEventWrite(
61579a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
61679a732c7Sopenharmony_ci            DM_AUTHCATION_BEHAVIOR,
61779a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
61879a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
61979a732c7Sopenharmony_ci            "HOST_PKG", hostName,
62079a732c7Sopenharmony_ci            "FUNC", "CreatePinHolder",
62179a732c7Sopenharmony_ci            "API_TYPE", GetApiType(),
62279a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_PIN_HOLDER),
62379a732c7Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(PinHolderStage::CREATE_PIN_HOLDER),
62479a732c7Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
62579a732c7Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_START),
62679a732c7Sopenharmony_ci            "CH_ID", channelId,
62779a732c7Sopenharmony_ci            "LOCAL_UDID", GetAnonyLocalUdid(),
62879a732c7Sopenharmony_ci            "PEER_UDID", GetAnonyUdid(peerUdid),
62979a732c7Sopenharmony_ci            "TO_CALL_PKG", SOFTBUSNAME);
63079a732c7Sopenharmony_ci        if (res != DM_OK) {
63179a732c7Sopenharmony_ci            LOGE("ReportDeleteTrustRelation error, res:%{public}d", res);
63279a732c7Sopenharmony_ci            return;
63379a732c7Sopenharmony_ci        }
63479a732c7Sopenharmony_ci    } else {
63579a732c7Sopenharmony_ci        res = HiSysEventWrite(
63679a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
63779a732c7Sopenharmony_ci            DM_AUTHCATION_BEHAVIOR,
63879a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
63979a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
64079a732c7Sopenharmony_ci            "HOST_PKG", hostName,
64179a732c7Sopenharmony_ci            "FUNC", "CreatePinHolder",
64279a732c7Sopenharmony_ci            "API_TYPE", GetApiType(),
64379a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_PIN_HOLDER),
64479a732c7Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(PinHolderStage::CREATE_PIN_HOLDER),
64579a732c7Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
64679a732c7Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
64779a732c7Sopenharmony_ci            "CH_ID", channelId,
64879a732c7Sopenharmony_ci            "LOCAL_UDID", GetAnonyLocalUdid(),
64979a732c7Sopenharmony_ci            "PEER_UDID", GetAnonyUdid(peerUdid),
65079a732c7Sopenharmony_ci            "TO_CALL_PKG", SOFTBUSNAME,
65179a732c7Sopenharmony_ci            "ERROR_CODE", errCode);
65279a732c7Sopenharmony_ci        if (res != DM_OK) {
65379a732c7Sopenharmony_ci            LOGE("ReportDeleteTrustRelation error, res:%{public}d", res);
65479a732c7Sopenharmony_ci            return;
65579a732c7Sopenharmony_ci        }
65679a732c7Sopenharmony_ci    }
65779a732c7Sopenharmony_ci    return;
65879a732c7Sopenharmony_ci}
65979a732c7Sopenharmony_ci
66079a732c7Sopenharmony_civoid DmRadarHelper::ReportDestroyPinHolder(std::string hostName,
66179a732c7Sopenharmony_ci    std::string peerUdid, int32_t errCode, int32_t stageRes)
66279a732c7Sopenharmony_ci{
66379a732c7Sopenharmony_ci    int32_t res = DM_OK;
66479a732c7Sopenharmony_ci    if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
66579a732c7Sopenharmony_ci        res = HiSysEventWrite(
66679a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
66779a732c7Sopenharmony_ci            DM_AUTHCATION_BEHAVIOR,
66879a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
66979a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
67079a732c7Sopenharmony_ci            "HOST_PKG", hostName,
67179a732c7Sopenharmony_ci            "FUNC", "DestroyPinHolder",
67279a732c7Sopenharmony_ci            "API_TYPE", GetApiType(),
67379a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_PIN_HOLDER),
67479a732c7Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(PinHolderStage::DESTROY_PIN_HOLDER),
67579a732c7Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
67679a732c7Sopenharmony_ci            "LOCAL_UDID", GetAnonyLocalUdid(),
67779a732c7Sopenharmony_ci            "PEER_UDID", GetAnonyUdid(peerUdid),
67879a732c7Sopenharmony_ci            "TO_CALL_PKG", SOFTBUSNAME);
67979a732c7Sopenharmony_ci        if (res != DM_OK) {
68079a732c7Sopenharmony_ci            LOGE("ReportDeleteTrustRelation error, res:%{public}d", res);
68179a732c7Sopenharmony_ci            return;
68279a732c7Sopenharmony_ci        }
68379a732c7Sopenharmony_ci    } else {
68479a732c7Sopenharmony_ci        res = HiSysEventWrite(
68579a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
68679a732c7Sopenharmony_ci            DM_AUTHCATION_BEHAVIOR,
68779a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
68879a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
68979a732c7Sopenharmony_ci            "HOST_PKG", hostName,
69079a732c7Sopenharmony_ci            "FUNC", "DestroyPinHolder",
69179a732c7Sopenharmony_ci            "API_TYPE", GetApiType(),
69279a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_PIN_HOLDER),
69379a732c7Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(PinHolderStage::DESTROY_PIN_HOLDER),
69479a732c7Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
69579a732c7Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
69679a732c7Sopenharmony_ci            "LOCAL_UDID", GetAnonyLocalUdid(),
69779a732c7Sopenharmony_ci            "PEER_UDID", GetAnonyUdid(peerUdid),
69879a732c7Sopenharmony_ci            "TO_CALL_PKG", SOFTBUSNAME,
69979a732c7Sopenharmony_ci            "ERROR_CODE", errCode);
70079a732c7Sopenharmony_ci        if (res != DM_OK) {
70179a732c7Sopenharmony_ci            LOGE("ReportDeleteTrustRelation error, res:%{public}d", res);
70279a732c7Sopenharmony_ci            return;
70379a732c7Sopenharmony_ci        }
70479a732c7Sopenharmony_ci    }
70579a732c7Sopenharmony_ci    return;
70679a732c7Sopenharmony_ci}
70779a732c7Sopenharmony_ci
70879a732c7Sopenharmony_civoid DmRadarHelper::ReportSendOrReceiveHolderMsg(int32_t bizStage, std::string funcName, std::string peerUdid)
70979a732c7Sopenharmony_ci{
71079a732c7Sopenharmony_ci    int32_t res = DM_OK;
71179a732c7Sopenharmony_ci    if (bizStage == static_cast<int32_t>(PinHolderStage::RECEIVE_DESTROY_PIN_HOLDER_MSG)) {
71279a732c7Sopenharmony_ci        res = HiSysEventWrite(
71379a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
71479a732c7Sopenharmony_ci            DM_AUTHCATION_BEHAVIOR,
71579a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
71679a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
71779a732c7Sopenharmony_ci            "FUNC", funcName,
71879a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_PIN_HOLDER),
71979a732c7Sopenharmony_ci            "BIZ_STAGE", bizStage,
72079a732c7Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
72179a732c7Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
72279a732c7Sopenharmony_ci            "LOCAL_UDID", GetAnonyLocalUdid(),
72379a732c7Sopenharmony_ci            "PEER_UDID", GetAnonyUdid(peerUdid),
72479a732c7Sopenharmony_ci            "TO_CALL_PKG", SOFTBUSNAME);
72579a732c7Sopenharmony_ci        if (res != DM_OK) {
72679a732c7Sopenharmony_ci            LOGE("ReportSendOrReceiveHolderMsg error, res:%{public}d", res);
72779a732c7Sopenharmony_ci            return;
72879a732c7Sopenharmony_ci        }
72979a732c7Sopenharmony_ci    } else {
73079a732c7Sopenharmony_ci        res = HiSysEventWrite(
73179a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
73279a732c7Sopenharmony_ci            DM_AUTHCATION_BEHAVIOR,
73379a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
73479a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
73579a732c7Sopenharmony_ci            "FUNC", funcName,
73679a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(AuthScene::DM_PIN_HOLDER),
73779a732c7Sopenharmony_ci            "BIZ_STAGE", bizStage,
73879a732c7Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
73979a732c7Sopenharmony_ci            "LOCAL_UDID", GetAnonyLocalUdid(),
74079a732c7Sopenharmony_ci            "PEER_UDID", GetAnonyUdid(peerUdid),
74179a732c7Sopenharmony_ci            "TO_CALL_PKG", SOFTBUSNAME);
74279a732c7Sopenharmony_ci        if (res != DM_OK) {
74379a732c7Sopenharmony_ci            LOGE("ReportSendOrReceiveHolderMsg error, res:%{public}d", res);
74479a732c7Sopenharmony_ci            return;
74579a732c7Sopenharmony_ci        }
74679a732c7Sopenharmony_ci    }
74779a732c7Sopenharmony_ci    return;
74879a732c7Sopenharmony_ci}
74979a732c7Sopenharmony_ci
75079a732c7Sopenharmony_civoid DmRadarHelper::ReportGetTrustDeviceList(std::string hostName,
75179a732c7Sopenharmony_ci    std::string funcName, std::vector<DmDeviceInfo> &deviceInfoList, int32_t errCode)
75279a732c7Sopenharmony_ci{
75379a732c7Sopenharmony_ci    int32_t res = DM_OK;
75479a732c7Sopenharmony_ci    std::string discoverDevList = GetDeviceInfoList(deviceInfoList);
75579a732c7Sopenharmony_ci    if (errCode == DM_OK) {
75679a732c7Sopenharmony_ci        int32_t deviceCount = static_cast<int32_t>(deviceInfoList.size());
75779a732c7Sopenharmony_ci        static std::string TrustCallerName = "";
75879a732c7Sopenharmony_ci        if (deviceCount > 0 && TrustCallerName != hostName) {
75979a732c7Sopenharmony_ci            TrustCallerName = hostName;
76079a732c7Sopenharmony_ci            res = HiSysEventWrite(
76179a732c7Sopenharmony_ci                OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
76279a732c7Sopenharmony_ci                DM_DISCOVER_BEHAVIOR,
76379a732c7Sopenharmony_ci                HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
76479a732c7Sopenharmony_ci                "ORG_PKG", ORGPKGNAME,
76579a732c7Sopenharmony_ci                "HOST_PKG", hostName,
76679a732c7Sopenharmony_ci                "FUNC", funcName,
76779a732c7Sopenharmony_ci                "API_TYPE", GetApiType(),
76879a732c7Sopenharmony_ci                "BIZ_SCENE", static_cast<int32_t>(DiscoverScene::DM_GET_TRUST_DEVICE_LIST),
76979a732c7Sopenharmony_ci                "BIZ_STAGE", static_cast<int32_t>(GetTrustDeviceList::GET_TRUST_DEVICE_LIST),
77079a732c7Sopenharmony_ci                "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
77179a732c7Sopenharmony_ci                "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
77279a732c7Sopenharmony_ci                "LOCAL_UDID", GetAnonyLocalUdid(),
77379a732c7Sopenharmony_ci                "DISCOVERY_DEVICE_LIST", discoverDevList);
77479a732c7Sopenharmony_ci        }
77579a732c7Sopenharmony_ci    } else {
77679a732c7Sopenharmony_ci        res = HiSysEventWrite(
77779a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
77879a732c7Sopenharmony_ci            DM_DISCOVER_BEHAVIOR,
77979a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
78079a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
78179a732c7Sopenharmony_ci            "HOST_PKG", hostName,
78279a732c7Sopenharmony_ci            "FUNC", funcName,
78379a732c7Sopenharmony_ci            "API_TYPE", GetApiType(),
78479a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(DiscoverScene::DM_GET_TRUST_DEVICE_LIST),
78579a732c7Sopenharmony_ci            "BIZ_STAGE", static_cast<int32_t>(GetTrustDeviceList::GET_TRUST_DEVICE_LIST),
78679a732c7Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
78779a732c7Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
78879a732c7Sopenharmony_ci            "LOCAL_UDID", GetAnonyLocalUdid(),
78979a732c7Sopenharmony_ci            "DISCOVERY_DEVICE_LIST", discoverDevList,
79079a732c7Sopenharmony_ci            "ERROR_CODE", GetErrCode(errCode));
79179a732c7Sopenharmony_ci    }
79279a732c7Sopenharmony_ci    if (res != DM_OK) {
79379a732c7Sopenharmony_ci        LOGE("ReportGetTrustDeviceList error, res:%{public}d", res);
79479a732c7Sopenharmony_ci        return;
79579a732c7Sopenharmony_ci    }
79679a732c7Sopenharmony_ci}
79779a732c7Sopenharmony_ci
79879a732c7Sopenharmony_civoid DmRadarHelper::ReportDmBehavior(std::string hostName, std::string funcName, int32_t errCode)
79979a732c7Sopenharmony_ci{
80079a732c7Sopenharmony_ci    int32_t res = DM_OK;
80179a732c7Sopenharmony_ci    if (errCode == DM_OK) {
80279a732c7Sopenharmony_ci        res = HiSysEventWrite(
80379a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
80479a732c7Sopenharmony_ci            DM_DISCOVER_BEHAVIOR,
80579a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
80679a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
80779a732c7Sopenharmony_ci            "HOST_PKG", hostName,
80879a732c7Sopenharmony_ci            "FUNC", funcName,
80979a732c7Sopenharmony_ci            "API_TYPE", GetApiType(),
81079a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(DiscoverScene::DM_BEHAVIOR),
81179a732c7Sopenharmony_ci            "BIZ_STAGE", DEFAULT_STAGE,
81279a732c7Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
81379a732c7Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
81479a732c7Sopenharmony_ci            "LOCAL_UDID", GetAnonyLocalUdid());
81579a732c7Sopenharmony_ci    } else {
81679a732c7Sopenharmony_ci        res = HiSysEventWrite(
81779a732c7Sopenharmony_ci            OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
81879a732c7Sopenharmony_ci            DM_DISCOVER_BEHAVIOR,
81979a732c7Sopenharmony_ci            HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
82079a732c7Sopenharmony_ci            "ORG_PKG", ORGPKGNAME,
82179a732c7Sopenharmony_ci            "HOST_PKG", hostName,
82279a732c7Sopenharmony_ci            "FUNC", funcName,
82379a732c7Sopenharmony_ci            "API_TYPE", GetApiType(),
82479a732c7Sopenharmony_ci            "BIZ_SCENE", static_cast<int32_t>(DiscoverScene::DM_BEHAVIOR),
82579a732c7Sopenharmony_ci            "BIZ_STAGE", DEFAULT_STAGE,
82679a732c7Sopenharmony_ci            "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
82779a732c7Sopenharmony_ci            "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
82879a732c7Sopenharmony_ci            "LOCAL_UDID", GetAnonyLocalUdid(),
82979a732c7Sopenharmony_ci            "ERROR_CODE", GetErrCode(errCode));
83079a732c7Sopenharmony_ci    }
83179a732c7Sopenharmony_ci    if (res != DM_OK) {
83279a732c7Sopenharmony_ci        LOGE("ReportDmBehavior error, res:%{public}d", res);
83379a732c7Sopenharmony_ci        return;
83479a732c7Sopenharmony_ci    }
83579a732c7Sopenharmony_ci}
83679a732c7Sopenharmony_ci
83779a732c7Sopenharmony_civoid DmRadarHelper::ReportGetLocalDevInfo(std::string hostName,
83879a732c7Sopenharmony_ci    std::string funcName, DmDeviceInfo &info, int32_t errCode)
83979a732c7Sopenharmony_ci{
84079a732c7Sopenharmony_ci    int32_t res = DM_OK;
84179a732c7Sopenharmony_ci    static std::string localCallerName = "";
84279a732c7Sopenharmony_ci    if (localCallerName != hostName) {
84379a732c7Sopenharmony_ci        localCallerName = hostName;
84479a732c7Sopenharmony_ci        if (errCode == DM_OK) {
84579a732c7Sopenharmony_ci            res = HiSysEventWrite(
84679a732c7Sopenharmony_ci                OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
84779a732c7Sopenharmony_ci                DM_DISCOVER_BEHAVIOR,
84879a732c7Sopenharmony_ci                HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
84979a732c7Sopenharmony_ci                "ORG_PKG", ORGPKGNAME,
85079a732c7Sopenharmony_ci                "HOST_PKG", hostName,
85179a732c7Sopenharmony_ci                "FUNC", funcName,
85279a732c7Sopenharmony_ci                "API_TYPE", GetApiType(),
85379a732c7Sopenharmony_ci                "BIZ_SCENE", static_cast<int32_t>(DiscoverScene::DM_GET_LOCAL_DEVICE_INFO),
85479a732c7Sopenharmony_ci                "BIZ_STAGE", DEFAULT_STAGE,
85579a732c7Sopenharmony_ci                "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
85679a732c7Sopenharmony_ci                "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
85779a732c7Sopenharmony_ci                "DEV_TYPE", ConvertHexToString(info.deviceTypeId),
85879a732c7Sopenharmony_ci                "LOCAL_UDID", GetAnonyLocalUdid(),
85979a732c7Sopenharmony_ci                "LOCAL_NET_ID", GetAnonyUdid(info.networkId));
86079a732c7Sopenharmony_ci        } else {
86179a732c7Sopenharmony_ci            res = HiSysEventWrite(
86279a732c7Sopenharmony_ci                OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
86379a732c7Sopenharmony_ci                DM_DISCOVER_BEHAVIOR,
86479a732c7Sopenharmony_ci                HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
86579a732c7Sopenharmony_ci                "ORG_PKG", ORGPKGNAME,
86679a732c7Sopenharmony_ci                "HOST_PKG", hostName,
86779a732c7Sopenharmony_ci                "FUNC", funcName,
86879a732c7Sopenharmony_ci                "API_TYPE", GetApiType(),
86979a732c7Sopenharmony_ci                "BIZ_SCENE", static_cast<int32_t>(DiscoverScene::DM_GET_LOCAL_DEVICE_INFO),
87079a732c7Sopenharmony_ci                "BIZ_STAGE", DEFAULT_STAGE,
87179a732c7Sopenharmony_ci                "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
87279a732c7Sopenharmony_ci                "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
87379a732c7Sopenharmony_ci                "DEV_TYPE", ConvertHexToString(info.deviceTypeId),
87479a732c7Sopenharmony_ci                "LOCAL_UDID", GetAnonyLocalUdid(),
87579a732c7Sopenharmony_ci                "LOCAL_NET_ID", GetAnonyUdid(info.networkId),
87679a732c7Sopenharmony_ci                "ERROR_CODE", GetErrCode(errCode));
87779a732c7Sopenharmony_ci        }
87879a732c7Sopenharmony_ci    }
87979a732c7Sopenharmony_ci    if (res != DM_OK) {
88079a732c7Sopenharmony_ci        LOGE("ReportGetLocalDevInfo error, res:%{public}d", res);
88179a732c7Sopenharmony_ci        return;
88279a732c7Sopenharmony_ci    }
88379a732c7Sopenharmony_ci}
88479a732c7Sopenharmony_ci
88579a732c7Sopenharmony_civoid DmRadarHelper::ReportGetDeviceInfo(std::string hostName,
88679a732c7Sopenharmony_ci    std::string funcName, DmDeviceInfo &info, int32_t errCode)
88779a732c7Sopenharmony_ci{
88879a732c7Sopenharmony_ci    int32_t res = DM_OK;
88979a732c7Sopenharmony_ci    static std::string callerName = "";
89079a732c7Sopenharmony_ci    if (callerName != hostName) {
89179a732c7Sopenharmony_ci        callerName = hostName;
89279a732c7Sopenharmony_ci        if (errCode == DM_OK) {
89379a732c7Sopenharmony_ci            res = HiSysEventWrite(
89479a732c7Sopenharmony_ci                OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
89579a732c7Sopenharmony_ci                DM_DISCOVER_BEHAVIOR,
89679a732c7Sopenharmony_ci                HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
89779a732c7Sopenharmony_ci                "ORG_PKG", ORGPKGNAME,
89879a732c7Sopenharmony_ci                "HOST_PKG", hostName,
89979a732c7Sopenharmony_ci                "FUNC", funcName,
90079a732c7Sopenharmony_ci                "API_TYPE", GetApiType(),
90179a732c7Sopenharmony_ci                "BIZ_SCENE", static_cast<int32_t>(DiscoverScene::DM_GET_DEVICE_INFO),
90279a732c7Sopenharmony_ci                "BIZ_STAGE", DEFAULT_STAGE,
90379a732c7Sopenharmony_ci                "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
90479a732c7Sopenharmony_ci                "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
90579a732c7Sopenharmony_ci                "LOCAL_UDID", GetAnonyLocalUdid(),
90679a732c7Sopenharmony_ci                "DEV_TYPE", ConvertHexToString(info.deviceTypeId),
90779a732c7Sopenharmony_ci                "PEER_UDID", GetAnonyUdid(info.deviceId),
90879a732c7Sopenharmony_ci                "PEER_NET_ID", GetAnonyUdid(info.networkId));
90979a732c7Sopenharmony_ci        } else {
91079a732c7Sopenharmony_ci            res = HiSysEventWrite(
91179a732c7Sopenharmony_ci                OHOS::HiviewDFX::HiSysEvent::Domain::DISTRIBUTED_DEVICE_MANAGER,
91279a732c7Sopenharmony_ci                DM_DISCOVER_BEHAVIOR,
91379a732c7Sopenharmony_ci                HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
91479a732c7Sopenharmony_ci                "ORG_PKG", ORGPKGNAME,
91579a732c7Sopenharmony_ci                "HOST_PKG", hostName,
91679a732c7Sopenharmony_ci                "FUNC", funcName,
91779a732c7Sopenharmony_ci                "API_TYPE", GetApiType(),
91879a732c7Sopenharmony_ci                "BIZ_SCENE", static_cast<int32_t>(DiscoverScene::DM_GET_DEVICE_INFO),
91979a732c7Sopenharmony_ci                "BIZ_STAGE", DEFAULT_STAGE,
92079a732c7Sopenharmony_ci                "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
92179a732c7Sopenharmony_ci                "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
92279a732c7Sopenharmony_ci                "LOCAL_UDID", GetAnonyLocalUdid(),
92379a732c7Sopenharmony_ci                "DEV_TYPE", ConvertHexToString(info.deviceTypeId),
92479a732c7Sopenharmony_ci                "PEER_UDID", GetAnonyUdid(info.deviceId),
92579a732c7Sopenharmony_ci                "PEER_NET_ID", GetAnonyUdid(info.networkId),
92679a732c7Sopenharmony_ci                "ERROR_CODE", GetErrCode(errCode));
92779a732c7Sopenharmony_ci        }
92879a732c7Sopenharmony_ci    }
92979a732c7Sopenharmony_ci    if (res != DM_OK) {
93079a732c7Sopenharmony_ci        LOGE("ReportGetDeviceInfo error, res:%{public}d", res);
93179a732c7Sopenharmony_ci        return;
93279a732c7Sopenharmony_ci    }
93379a732c7Sopenharmony_ci}
93479a732c7Sopenharmony_ci
93579a732c7Sopenharmony_cistd::string DmRadarHelper::ConvertHexToString(uint16_t hex)
93679a732c7Sopenharmony_ci{
93779a732c7Sopenharmony_ci    std::stringstream str;
93879a732c7Sopenharmony_ci    int32_t with = 3;
93979a732c7Sopenharmony_ci    str << std::hex << std::setw(with) << std::setfill('0') << hex;
94079a732c7Sopenharmony_ci    std::string hexStr = str.str();
94179a732c7Sopenharmony_ci    transform(hexStr.begin(), hexStr.end(), hexStr.begin(), ::toupper);
94279a732c7Sopenharmony_ci    return hexStr;
94379a732c7Sopenharmony_ci}
94479a732c7Sopenharmony_ci
94579a732c7Sopenharmony_cistd::string DmRadarHelper::GetDeviceInfoList(std::vector<DmDeviceInfo> &deviceInfoList)
94679a732c7Sopenharmony_ci{
94779a732c7Sopenharmony_ci    cJSON *deviceInfoJson = cJSON_CreateArray();
94879a732c7Sopenharmony_ci    if (deviceInfoJson == nullptr) {
94979a732c7Sopenharmony_ci        LOGE("deviceInfoJson is nullptr.");
95079a732c7Sopenharmony_ci        return "";
95179a732c7Sopenharmony_ci    }
95279a732c7Sopenharmony_ci    for (size_t i = 0; i < deviceInfoList.size(); i++) {
95379a732c7Sopenharmony_ci        cJSON *object = cJSON_CreateObject();
95479a732c7Sopenharmony_ci        if (object == nullptr) {
95579a732c7Sopenharmony_ci            LOGE("object is nullptr.");
95679a732c7Sopenharmony_ci            cJSON_Delete(deviceInfoJson);
95779a732c7Sopenharmony_ci            return "";
95879a732c7Sopenharmony_ci        }
95979a732c7Sopenharmony_ci        std::string devType = ConvertHexToString(deviceInfoList[i].deviceTypeId);
96079a732c7Sopenharmony_ci        cJSON_AddStringToObject(object, "PEER_DEV_TYPE", devType.c_str());
96179a732c7Sopenharmony_ci        cJSON_AddItemToArray(deviceInfoJson, object);
96279a732c7Sopenharmony_ci    }
96379a732c7Sopenharmony_ci    char *deviceInfoStr = cJSON_PrintUnformatted(deviceInfoJson);
96479a732c7Sopenharmony_ci    if (deviceInfoStr == nullptr) {
96579a732c7Sopenharmony_ci        LOGE("deviceInfoStr is nullptr.");
96679a732c7Sopenharmony_ci        cJSON_Delete(deviceInfoJson);
96779a732c7Sopenharmony_ci        return "";
96879a732c7Sopenharmony_ci    }
96979a732c7Sopenharmony_ci    std::string devInfoStr = std::string(deviceInfoStr);
97079a732c7Sopenharmony_ci    cJSON_Delete(deviceInfoJson);
97179a732c7Sopenharmony_ci    cJSON_free(deviceInfoStr);
97279a732c7Sopenharmony_ci    return devInfoStr;
97379a732c7Sopenharmony_ci}
97479a732c7Sopenharmony_ci
97579a732c7Sopenharmony_cistd::string DmRadarHelper::GetAnonyUdid(std::string udid)
97679a732c7Sopenharmony_ci{
97779a732c7Sopenharmony_ci    if (udid.empty() || udid.length() < INVALID_UDID_LENGTH) {
97879a732c7Sopenharmony_ci        return "unknown";
97979a732c7Sopenharmony_ci    }
98079a732c7Sopenharmony_ci    return udid.substr(0, SUBSTR_UDID_LENGTH) + "**" + udid.substr(udid.length() - SUBSTR_UDID_LENGTH);
98179a732c7Sopenharmony_ci}
98279a732c7Sopenharmony_ci
98379a732c7Sopenharmony_cistd::string DmRadarHelper::GetAnonyLocalUdid()
98479a732c7Sopenharmony_ci{
98579a732c7Sopenharmony_ci    char localDeviceId[DEVICE_UUID_LENGTH] = {0};
98679a732c7Sopenharmony_ci    GetDevUdid(localDeviceId, DEVICE_UUID_LENGTH);
98779a732c7Sopenharmony_ci    return GetAnonyUdid(std::string(localDeviceId));
98879a732c7Sopenharmony_ci}
98979a732c7Sopenharmony_ci
99079a732c7Sopenharmony_ciint32_t DmRadarHelper::GetErrCode(int32_t errCode)
99179a732c7Sopenharmony_ci{
99279a732c7Sopenharmony_ci    auto flag = MAP_ERROR_CODE.find(errCode);
99379a732c7Sopenharmony_ci    if (flag == MAP_ERROR_CODE.end()) {
99479a732c7Sopenharmony_ci        return errCode;
99579a732c7Sopenharmony_ci    }
99679a732c7Sopenharmony_ci    return flag->second;
99779a732c7Sopenharmony_ci}
99879a732c7Sopenharmony_ci
99979a732c7Sopenharmony_ciint32_t DmRadarHelper::GetApiType()
100079a732c7Sopenharmony_ci{
100179a732c7Sopenharmony_ci    AccessTokenID tokenCaller = IPCSkeleton::GetCallingTokenID();
100279a732c7Sopenharmony_ci    if (tokenCaller == 0) {
100379a732c7Sopenharmony_ci        LOGE("GetApiType GetCallingTokenID error.");
100479a732c7Sopenharmony_ci        return static_cast<int32_t>(ApiType::API_UNKNOW);
100579a732c7Sopenharmony_ci    }
100679a732c7Sopenharmony_ci    ATokenTypeEnum tokenTypeFlag = AccessTokenKit::GetTokenTypeFlag(tokenCaller);
100779a732c7Sopenharmony_ci    if (tokenTypeFlag == ATokenTypeEnum::TOKEN_HAP) {
100879a732c7Sopenharmony_ci        return static_cast<int32_t>(ApiType::API_JS);
100979a732c7Sopenharmony_ci    } else if (tokenTypeFlag == ATokenTypeEnum::TOKEN_NATIVE) {
101079a732c7Sopenharmony_ci        return static_cast<int32_t>(ApiType::API_NATIVE);
101179a732c7Sopenharmony_ci    }
101279a732c7Sopenharmony_ci    return static_cast<int32_t>(ApiType::API_UNKNOW);
101379a732c7Sopenharmony_ci}
101479a732c7Sopenharmony_ci
101579a732c7Sopenharmony_ciIDmRadarHelper *CreateDmRadarInstance()
101679a732c7Sopenharmony_ci{
101779a732c7Sopenharmony_ci    return &DmRadarHelper::GetInstance();
101879a732c7Sopenharmony_ci}
101979a732c7Sopenharmony_ci} // namespace DistributedHardware
102079a732c7Sopenharmony_ci} // namespace OHOS