1 /*
2  * Copyright (c) 2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include "dp_radar_helper.h"
17 
18 #include <cJSON.h>
19 #include <errors.h>
20 #include "hisysevent.h"
21 #include "content_sensor_manager_utils.h"
22 #include "distributed_device_profile_errors.h"
23 #include "distributed_device_profile_log.h"
24 #include "profile_utils.h"
25 
26 namespace OHOS {
27 namespace DistributedDeviceProfile {
28 IMPLEMENT_SINGLE_INSTANCE(DpRadarHelper);
29 namespace {
30 const std::string TAG = "DpRadarHelper";
31 }
ReportCheckDpSa(int32_t stageRes)32 void DpRadarHelper::ReportCheckDpSa(int32_t stageRes)
33 {
34     int32_t res = ERR_OK;
35     if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
36         res = HiSysEventWrite(
37             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
38             DP_DATA_OPERATE_BEHAVIOR,
39             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
40             "ORG_PKG", ORGPKG_NAME,
41             "FUNC", "GetDeviceProfileService",
42             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_SA),
43             "BIZ_STAGE", static_cast<int32_t>(GetSaStage::DP_CHECK_SA),
44             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
45             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_START),
46             "TO_CALL_PKG", SA_MAGR_NAME);
47     } else {
48         res = HiSysEventWrite(
49             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
50             DP_DATA_OPERATE_BEHAVIOR,
51             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
52             "ORG_PKG", ORGPKG_NAME,
53             "FUNC", "GetDeviceProfileService",
54             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_SA),
55             "BIZ_STAGE", static_cast<int32_t>(GetSaStage::DP_CHECK_SA),
56             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
57             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_START),
58             "TO_CALL_PKG", SA_MAGR_NAME,
59             "ERROR_CODE", DP_LOAD_SERVICE_ERR);
60     }
61     if (res != ERR_OK) {
62         HILOGE("failed");
63     }
64     return;
65 }
66 
ReportLoadDpSa(int32_t stageRes)67 void DpRadarHelper::ReportLoadDpSa(int32_t stageRes)
68 {
69     int32_t res = ERR_OK;
70     if (stageRes == static_cast<int32_t>(StageRes::STAGE_IDLE)) {
71         res = HiSysEventWrite(
72             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
73             DP_DATA_OPERATE_BEHAVIOR,
74             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
75             "ORG_PKG", ORGPKG_NAME,
76             "FUNC", "LoadDeviceProfileService",
77             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_SA),
78             "BIZ_STAGE", static_cast<int32_t>(GetSaStage::DP_LOAD_SA),
79             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
80             "TO_CALL_PKG", SA_MAGR_NAME);
81     } else {
82         res = HiSysEventWrite(
83             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
84             DP_DATA_OPERATE_BEHAVIOR,
85             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
86             "ORG_PKG", ORGPKG_NAME,
87             "FUNC", "LoadDeviceProfileService",
88             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_SA),
89             "BIZ_STAGE", static_cast<int32_t>(GetSaStage::DP_LOAD_SA),
90             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
91             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
92             "TO_CALL_PKG", SA_MAGR_NAME,
93             "ERROR_CODE", DP_LOAD_SERVICE_ERR);
94     }
95     if (res != ERR_OK) {
96         HILOGE("failed");
97     }
98     return;
99 }
100 
ReportLoadDpSaCb(int32_t stageRes)101 void DpRadarHelper::ReportLoadDpSaCb(int32_t stageRes)
102 {
103     int32_t res = ERR_OK;
104     if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
105         res = HiSysEventWrite(
106             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
107             DP_DATA_OPERATE_BEHAVIOR,
108             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
109             "ORG_PKG", ORGPKG_NAME,
110             "FUNC", "LoadSystemAbilitySuccess",
111             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_SA),
112             "BIZ_STAGE", static_cast<int32_t>(GetSaStage::DP_LOAD_SA),
113             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
114             "HOST_NAME", SA_MAGR_NAME);
115     } else {
116         res = HiSysEventWrite(
117             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
118             DP_DATA_OPERATE_BEHAVIOR,
119             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
120             "ORG_PKG", ORGPKG_NAME,
121             "FUNC", "LoadSystemAbilityFail",
122             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_SA),
123             "BIZ_STAGE", static_cast<int32_t>(GetSaStage::DP_LOAD_SA),
124             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
125             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
126             "HOST_NAME", SA_MAGR_NAME,
127             "ERROR_CODE", DP_LOAD_SERVICE_ERR);
128     }
129     if (res != ERR_OK) {
130         HILOGE("failed");
131     }
132     return;
133 }
134 
ReportSaCheckAuth(int32_t stageRes)135 void DpRadarHelper::ReportSaCheckAuth(int32_t stageRes)
136 {
137     int res = ERR_OK;
138     if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
139         res = HiSysEventWrite(
140             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
141             DP_DATA_OPERATE_BEHAVIOR,
142             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
143             "ORG_PKG", ORGPKG_NAME,
144             "FUNC", "IsCallerTrust",
145             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_SA),
146             "BIZ_STAGE", static_cast<int32_t>(GetSaStage::DP_SA_CHACK_AUTH),
147             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
148             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END));
149     } else {
150         res = HiSysEventWrite(
151             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
152             DP_DATA_OPERATE_BEHAVIOR,
153             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
154             "ORG_PKG", ORGPKG_NAME,
155             "FUNC", "IsCallerTrust",
156             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_SA),
157             "BIZ_STAGE", static_cast<int32_t>(GetSaStage::DP_SA_CHACK_AUTH),
158             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
159             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
160             "ERROR_CODE", ERR_PERMISSION_DENIED);
161     }
162     if (res != ERR_OK) {
163         HILOGE("failed");
164     }
165     return;
166 }
167 
ReportPutAclProfile(int32_t errCode,const AccessControlProfile & accessControlProfile)168 void DpRadarHelper::ReportPutAclProfile(int32_t errCode, const AccessControlProfile& accessControlProfile)
169 {
170     int res = DP_SUCCESS;
171     int32_t stageRes = (errCode == DP_SUCCESS) ?
172         static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
173     if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
174         res = HiSysEventWrite(
175             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
176             DP_DATA_OPERATE_BEHAVIOR,
177             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
178             "ORG_PKG", ORGPKG_NAME,
179             "FUNC", "PutAccessControlProfile",
180             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_PUT_ACL_PROFILE),
181             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
182             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
183             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
184             "LOCAL_UDID", GetLocalUdid(),
185             "PEER_UDID", GetPeerUdid(accessControlProfile.GetAccessee().GetAccesseeDeviceId()),
186             "TO_CALL_PKG", RDB_NAME,
187             "EXTRA_INFO", accessControlProfile.dump());
188     } else {
189         res = HiSysEventWrite(
190             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
191             DP_DATA_OPERATE_BEHAVIOR,
192             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
193             "ORG_PKG", ORGPKG_NAME,
194             "FUNC", "PutAccessControlProfile",
195             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_PUT_ACL_PROFILE),
196             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
197             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
198             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
199             "LOCAL_UDID", GetLocalUdid(),
200             "PEER_UDID", GetPeerUdid(accessControlProfile.GetAccessee().GetAccesseeDeviceId()),
201             "TO_CALL_PKG", RDB_NAME,
202             "ERROR_CODE", errCode,
203             "EXTRA_INFO", accessControlProfile.dump());
204     }
205     if (res != DP_SUCCESS) {
206         HILOGE("failed");
207     }
208     return;
209 }
210 
ReportUpdateAclProfile(int32_t errCode,const AccessControlProfile & accessControlProfile)211 void DpRadarHelper::ReportUpdateAclProfile(int32_t errCode, const AccessControlProfile& accessControlProfile)
212 {
213     int res = DP_SUCCESS;
214     int32_t stageRes = (errCode == DP_SUCCESS) ?
215         static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
216     if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
217         res = HiSysEventWrite(
218             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
219             DP_DATA_OPERATE_BEHAVIOR,
220             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
221             "ORG_PKG", ORGPKG_NAME,
222             "FUNC", "UpdateAccessControlProfile",
223             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_UPDATE_ACL_PROFILE),
224             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
225             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
226             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
227             "LOCAL_UDID", GetLocalUdid(),
228             "PEER_UDID", GetPeerUdid(accessControlProfile.GetAccessee().GetAccesseeDeviceId()),
229             "TO_CALL_PKG", RDB_NAME,
230             "EXTRA_INFO", accessControlProfile.dump());
231     } else {
232         res = HiSysEventWrite(
233             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
234             DP_DATA_OPERATE_BEHAVIOR,
235             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
236             "ORG_PKG", ORGPKG_NAME,
237             "FUNC", "UpdateAccessControlProfile",
238             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_UPDATE_ACL_PROFILE),
239             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
240             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
241             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
242             "LOCAL_UDID", GetLocalUdid(),
243             "PEER_UDID", GetPeerUdid(accessControlProfile.GetAccessee().GetAccesseeDeviceId()),
244             "TO_CALL_PKG", RDB_NAME,
245             "ERROR_CODE", errCode,
246             "EXTRA_INFO", accessControlProfile.dump());
247     }
248     if (res != DP_SUCCESS) {
249         HILOGE("failed");
250     }
251     return;
252 }
253 
ReportGetTrustProfile(int32_t errCode,const std::string & deviceId,const TrustDeviceProfile & trustDeviceProfile)254 void DpRadarHelper::ReportGetTrustProfile(int32_t errCode, const std::string& deviceId,
255     const TrustDeviceProfile& trustDeviceProfile)
256 {
257     int res = DP_SUCCESS;
258     int32_t stageRes = (errCode == DP_SUCCESS) ?
259         static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
260     if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
261         res = HiSysEventWrite(
262             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
263             DP_DATA_OPERATE_BEHAVIOR,
264             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
265             "ORG_PKG", ORGPKG_NAME,
266             "FUNC", "GetTrustDeviceProfile",
267             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_TRUST_PROFILE),
268             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
269             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
270             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
271             "LOCAL_UDID", GetLocalUdid(),
272             "PEER_UDID", GetPeerUdid(deviceId),
273             "TO_CALL_PKG", RDB_NAME,
274             "EXTRA_INFO", trustDeviceProfile.dump());
275     } else {
276         res = HiSysEventWrite(
277             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
278             DP_DATA_OPERATE_BEHAVIOR,
279             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
280             "ORG_PKG", ORGPKG_NAME,
281             "FUNC", "GetTrustDeviceProfile",
282             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_TRUST_PROFILE),
283             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
284             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
285             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
286             "LOCAL_UDID", GetLocalUdid(),
287             "PEER_UDID", GetPeerUdid(deviceId),
288             "TO_CALL_PKG", RDB_NAME,
289             "ERROR_CODE", errCode,
290             "EXTRA_INFO", trustDeviceProfile.dump());
291     }
292     if (res != DP_SUCCESS) {
293         HILOGE("failed");
294     }
295     return;
296 }
297 
ReportGetAllTrustProfile(int32_t errCode,std::vector<TrustDeviceProfile> & trustDeviceProfiles)298 void DpRadarHelper::ReportGetAllTrustProfile(int32_t errCode, std::vector<TrustDeviceProfile>& trustDeviceProfiles)
299 {
300     int res = DP_SUCCESS;
301     int32_t stageRes = (errCode == DP_SUCCESS) ?
302         static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
303     std::string extraInfo = "";
304     size_t size = trustDeviceProfiles.size() > 0 ? (trustDeviceProfiles.size() - 1) : 0;
305     for (size_t i = 0; i < trustDeviceProfiles.size(); i++) {
306         extraInfo += trustDeviceProfiles[i].dump();
307         if (i != size) {
308             extraInfo += ",";
309         }
310     }
311     if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
312         res = HiSysEventWrite(
313             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
314             DP_DATA_OPERATE_BEHAVIOR,
315             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
316             "ORG_PKG", ORGPKG_NAME,
317             "FUNC", "GetAllTrustDeviceProfile",
318             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_ALL_TRUST_PROFILE),
319             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
320             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
321             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
322             "LOCAL_UDID", GetLocalUdid(),
323             "PEER_UDID_LIST", GetPeerUdidList(trustDeviceProfiles),
324             "TO_CALL_PKG", RDB_NAME,
325             "EXTRA_INFO", extraInfo);
326     } else {
327         res = HiSysEventWrite(
328             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
329             DP_DATA_OPERATE_BEHAVIOR,
330             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
331             "ORG_PKG", ORGPKG_NAME,
332             "FUNC", "GetAllTrustDeviceProfile",
333             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_ALL_TRUST_PROFILE),
334             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
335             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
336             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
337             "LOCAL_UDID", GetLocalUdid(),
338             "PEER_UDID_LIST", GetPeerUdidList(trustDeviceProfiles),
339             "TO_CALL_PKG", RDB_NAME,
340             "ERROR_CODE", errCode,
341             "EXTRA_INFO", extraInfo);
342     }
343     if (res != DP_SUCCESS) {
344         HILOGE("failed");
345     }
346     return;
347 }
348 
ReportGetAclProfile(int32_t errCode,std::vector<AccessControlProfile> & accessControlProfiles)349 void DpRadarHelper::ReportGetAclProfile(int32_t errCode, std::vector<AccessControlProfile>& accessControlProfiles)
350 {
351     int res = DP_SUCCESS;
352     int32_t stageRes = (errCode == DP_SUCCESS) ?
353         static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
354     std::string extraInfo = "";
355     size_t size = accessControlProfiles.size() > 0 ? (accessControlProfiles.size() - 1) : 0;
356     for (size_t i = 0; i < accessControlProfiles.size(); i++) {
357         extraInfo += accessControlProfiles[i].dump();
358         if (i != size) {
359             extraInfo += ",";
360         }
361     }
362     if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
363         res = HiSysEventWrite(
364             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
365             DP_DATA_OPERATE_BEHAVIOR,
366             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
367             "ORG_PKG", ORGPKG_NAME,
368             "FUNC", "GetAccessControlProfile",
369             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_ACL_PROFILE),
370             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
371             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
372             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
373             "LOCAL_UDID", GetLocalUdid(),
374             "PEER_UDID_LIST", GetPeerUdidList(accessControlProfiles),
375             "TO_CALL_PKG", RDB_NAME,
376             "EXTRA_INFO", extraInfo);
377     } else {
378         res = HiSysEventWrite(
379             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
380             DP_DATA_OPERATE_BEHAVIOR,
381             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
382             "ORG_PKG", ORGPKG_NAME,
383             "FUNC", "GetAccessControlProfile",
384             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_ACL_PROFILE),
385             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
386             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
387             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
388             "LOCAL_UDID", GetLocalUdid(),
389             "PEER_UDID_LIST", GetPeerUdidList(accessControlProfiles),
390             "TO_CALL_PKG", RDB_NAME,
391             "ERROR_CODE", errCode,
392             "EXTRA_INFO", extraInfo);
393     }
394     if (res != DP_SUCCESS) {
395         HILOGE("failed");
396     }
397     return;
398 }
399 
ReportGetAllAclProfile(int32_t errCode,std::vector<AccessControlProfile> & accessControlProfiles)400 void DpRadarHelper::ReportGetAllAclProfile(int32_t errCode, std::vector<AccessControlProfile>& accessControlProfiles)
401 {
402     int res = DP_SUCCESS;
403     int32_t stageRes = (errCode == DP_SUCCESS) ?
404         static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
405     std::string extraInfo = "";
406     size_t size = accessControlProfiles.size() > 0 ? (accessControlProfiles.size() - 1) : 0;
407     for (size_t i = 0; i < accessControlProfiles.size(); i++) {
408         extraInfo += accessControlProfiles[i].dump();
409         if (i != size) {
410             extraInfo += ",";
411         }
412     }
413     if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
414         res = HiSysEventWrite(
415             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
416             DP_DATA_OPERATE_BEHAVIOR,
417             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
418             "ORG_PKG", ORGPKG_NAME,
419             "FUNC", "GetAllAccessControlProfile",
420             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_ALL_ACL_PROFILE),
421             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
422             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
423             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
424             "LOCAL_UDID", GetLocalUdid(),
425             "PEER_UDID_LIST", GetPeerUdidList(accessControlProfiles),
426             "TO_CALL_PKG", RDB_NAME,
427             "EXTRA_INFO", extraInfo);
428     } else {
429         res = HiSysEventWrite(
430             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
431             DP_DATA_OPERATE_BEHAVIOR,
432             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
433             "ORG_PKG", ORGPKG_NAME,
434             "FUNC", "GetAllAccessControlProfile",
435             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_ALL_ACL_PROFILE),
436             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
437             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
438             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
439             "LOCAL_UDID", GetLocalUdid(),
440             "PEER_UDID_LIST", GetPeerUdidList(accessControlProfiles),
441             "TO_CALL_PKG", RDB_NAME,
442             "ERROR_CODE", errCode,
443             "EXTRA_INFO", extraInfo);
444     }
445     if (res != DP_SUCCESS) {
446         HILOGE("failed");
447     }
448     return;
449 }
450 
ReportDeleteAclProfile(int32_t errCode)451 void DpRadarHelper::ReportDeleteAclProfile(int32_t errCode)
452 {
453     int res = DP_SUCCESS;
454     int32_t stageRes = (errCode == DP_SUCCESS) ?
455         static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
456     if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
457         res = HiSysEventWrite(
458             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
459             DP_DATA_OPERATE_BEHAVIOR,
460             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
461             "ORG_PKG", ORGPKG_NAME,
462             "FUNC", "DeleteAccessControlProfile",
463             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_DELETE_ACL_PROFILE),
464             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
465             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
466             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
467             "LOCAL_UDID", GetLocalUdid(),
468             "TO_CALL_PKG", RDB_NAME);
469     } else {
470         res = HiSysEventWrite(
471             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
472             DP_DATA_OPERATE_BEHAVIOR,
473             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
474             "ORG_PKG", ORGPKG_NAME,
475             "FUNC", "DeleteAccessControlProfile",
476             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_DELETE_ACL_PROFILE),
477             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
478             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
479             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
480             "LOCAL_UDID", GetLocalUdid(),
481             "TO_CALL_PKG", RDB_NAME,
482             "ERROR_CODE", errCode);
483     }
484     if (res != DP_SUCCESS) {
485         HILOGE("failed");
486     }
487     return;
488 }
489 
ReportPutServiceProfile(int32_t errCode,const ServiceProfile & serviceProfile)490 void DpRadarHelper::ReportPutServiceProfile(int32_t errCode, const ServiceProfile& serviceProfile)
491 {
492     int res = DP_SUCCESS;
493     int32_t stageRes = (errCode == DP_SUCCESS) ?
494         static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
495     if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
496         res = HiSysEventWrite(
497             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
498             DP_DATA_OPERATE_BEHAVIOR,
499             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
500             "ORG_PKG", ORGPKG_NAME,
501             "FUNC", "PutServiceProfile",
502             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_PUT_SERVICE_PROFILE),
503             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
504             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_IDLE),
505             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_START),
506             "LOCAL_UDID", GetLocalUdid(),
507             "PEER_UDID", GetPeerUdid(serviceProfile.GetDeviceId()),
508             "TO_CALL_PKG", RDB_NAME,
509             "EXTRA_INFO", serviceProfile.dump());
510     } else {
511         res = HiSysEventWrite(
512             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
513             DP_DATA_OPERATE_BEHAVIOR,
514             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
515             "ORG_PKG", ORGPKG_NAME,
516             "FUNC", "PutServiceProfile",
517             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_PUT_SERVICE_PROFILE),
518             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
519             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
520             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
521             "LOCAL_UDID", GetLocalUdid(),
522             "PEER_UDID", GetPeerUdid(serviceProfile.GetDeviceId()),
523             "TO_CALL_PKG", RDB_NAME,
524             "ERROR_CODE", errCode,
525             "EXTRA_INFO", serviceProfile.dump());
526     }
527     if (res != DP_SUCCESS) {
528         HILOGE("failed");
529     }
530     return;
531 }
532 
ReportPutServiceProfileBatch(int32_t errCode,const std::vector<ServiceProfile> & serviceProfiles)533 void DpRadarHelper::ReportPutServiceProfileBatch(int32_t errCode, const std::vector<ServiceProfile>& serviceProfiles)
534 {
535     int res = DP_SUCCESS;
536     int32_t stageRes = (errCode == DP_SUCCESS) ?
537         static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
538     std::string extraInfo = "";
539     size_t size = serviceProfiles.size() > 0 ? (serviceProfiles.size() - 1) : 0;
540     for (size_t i = 0; i < serviceProfiles.size(); i++) {
541         extraInfo += serviceProfiles[i].dump();
542         if (i != size) {
543             extraInfo += ",";
544         }
545     }
546     if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
547         res = HiSysEventWrite(
548             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
549             DP_DATA_OPERATE_BEHAVIOR,
550             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
551             "ORG_PKG", ORGPKG_NAME,
552             "FUNC", "PutServiceProfileBatch",
553             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_PUT_SERVICE_PROFILE),
554             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
555             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_IDLE),
556             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_START),
557             "LOCAL_UDID", GetLocalUdid(),
558             "PEER_UDID_LIST", GetPeerUdidList(serviceProfiles),
559             "TO_CALL_PKG", RDB_NAME,
560             "EXTRA_INFO", extraInfo);
561     } else {
562         res = HiSysEventWrite(
563             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
564             DP_DATA_OPERATE_BEHAVIOR,
565             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
566             "ORG_PKG", ORGPKG_NAME,
567             "FUNC", "PutServiceProfileBatch",
568             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_PUT_SERVICE_PROFILE),
569             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
570             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
571             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
572             "LOCAL_UDID", GetLocalUdid(),
573             "PEER_UDID_LIST", GetPeerUdidList(serviceProfiles),
574             "TO_CALL_PKG", RDB_NAME,
575             "ERROR_CODE", errCode,
576             "EXTRA_INFO", extraInfo);
577     }
578     if (res != DP_SUCCESS) {
579         HILOGE("failed");
580     }
581     return;
582 }
583 
ReportPutCharProfile(int32_t errCode,const CharacteristicProfile & characteristicProfile)584 void DpRadarHelper::ReportPutCharProfile(int32_t errCode, const CharacteristicProfile& characteristicProfile)
585 {
586     int res = DP_SUCCESS;
587     int32_t stageRes = (errCode == DP_SUCCESS) ?
588         static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
589     if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
590         res = HiSysEventWrite(
591             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
592             DP_DATA_OPERATE_BEHAVIOR,
593             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
594             "ORG_PKG", ORGPKG_NAME,
595             "FUNC", "PutCharacteristicProfile",
596             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_PUT_CHAR_PROFILE),
597             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
598             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_IDLE),
599             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_START),
600             "LOCAL_UDID", GetLocalUdid(),
601             "PEER_UDID", GetPeerUdid(characteristicProfile.GetDeviceId()),
602             "TO_CALL_PKG", RDB_NAME,
603             "EXTRA_INFO", characteristicProfile.dump());
604     } else {
605         res = HiSysEventWrite(
606             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
607             DP_DATA_OPERATE_BEHAVIOR,
608             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
609             "ORG_PKG", ORGPKG_NAME,
610             "FUNC", "PutCharacteristicProfile",
611             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_PUT_CHAR_PROFILE),
612             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
613             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
614             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
615             "LOCAL_UDID", GetLocalUdid(),
616             "PEER_UDID", GetPeerUdid(characteristicProfile.GetDeviceId()),
617             "TO_CALL_PKG", RDB_NAME,
618             "ERROR_CODE", errCode,
619             "EXTRA_INFO", characteristicProfile.dump());
620     }
621     if (res != DP_SUCCESS) {
622         HILOGE("failed");
623     }
624     return;
625 }
626 
ReportPutCharProfileBatch(int32_t errCode,const std::vector<CharacteristicProfile> & characteristicProfiles)627 void DpRadarHelper::ReportPutCharProfileBatch(int32_t errCode,
628     const std::vector<CharacteristicProfile>& characteristicProfiles)
629 {
630     int res = DP_SUCCESS;
631     int32_t stageRes = (errCode == DP_SUCCESS) ?
632         static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
633     std::string extraInfo = "";
634     size_t size = characteristicProfiles.size() > 0 ? (characteristicProfiles.size() - 1) : 0;
635     for (size_t i = 0; i < characteristicProfiles.size(); i++) {
636         extraInfo += characteristicProfiles[i].dump();
637         if (i != size) {
638             extraInfo += ",";
639         }
640     }
641     if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
642         res = HiSysEventWrite(
643             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
644             DP_DATA_OPERATE_BEHAVIOR,
645             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
646             "ORG_PKG", ORGPKG_NAME,
647             "FUNC", "PutCharacteristicProfileBatch",
648             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_PUT_CHAR_PROFILE),
649             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
650             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_IDLE),
651             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_START),
652             "LOCAL_UDID", GetLocalUdid(),
653             "PEER_UDID_LIST", GetPeerUdidList(characteristicProfiles),
654             "TO_CALL_PKG", RDB_NAME,
655             "EXTRA_INFO", extraInfo);
656     } else {
657         res = HiSysEventWrite(
658             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
659             DP_DATA_OPERATE_BEHAVIOR,
660             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
661             "ORG_PKG", ORGPKG_NAME,
662             "FUNC", "PutCharacteristicProfileBatch",
663             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_PUT_CHAR_PROFILE),
664             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
665             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
666             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
667             "LOCAL_UDID", GetLocalUdid(),
668             "PEER_UDID_LIST", GetPeerUdidList(characteristicProfiles),
669             "TO_CALL_PKG", RDB_NAME,
670             "ERROR_CODE", errCode,
671             "EXTRA_INFO", extraInfo);
672     }
673     if (res != DP_SUCCESS) {
674         HILOGE("failed");
675     }
676     return;
677 }
678 
ReportGetDeviceProfile(int32_t errCode,const std::string & deviceId,DeviceProfile & deviceProfile)679 void DpRadarHelper::ReportGetDeviceProfile(int32_t errCode, const std::string& deviceId, DeviceProfile& deviceProfile)
680 {
681     int res = DP_SUCCESS;
682     int32_t stageRes = (errCode == DP_SUCCESS) ?
683         static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
684     if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
685         res = HiSysEventWrite(
686             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
687             DP_DATA_OPERATE_BEHAVIOR,
688             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
689             "ORG_PKG", ORGPKG_NAME,
690             "FUNC", "GetDeviceProfile",
691             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_DEVICE_PROFILE),
692             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
693             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
694             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
695             "LOCAL_UDID", GetLocalUdid(),
696             "PEER_UDID", GetPeerUdid(deviceId),
697             "TO_CALL_PKG", RDB_NAME,
698             "EXTRA_INFO", deviceProfile.dump());
699     } else {
700         res = HiSysEventWrite(
701             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
702             DP_DATA_OPERATE_BEHAVIOR,
703             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
704             "ORG_PKG", ORGPKG_NAME,
705             "FUNC", "GetDeviceProfile",
706             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_DEVICE_PROFILE),
707             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
708             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
709             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
710             "LOCAL_UDID", GetLocalUdid(),
711             "PEER_UDID", GetPeerUdid(deviceId),
712             "TO_CALL_PKG", RDB_NAME,
713             "ERROR_CODE", errCode,
714             "EXTRA_INFO", deviceProfile.dump());
715     }
716     if (res != DP_SUCCESS) {
717         HILOGE("failed");
718     }
719     return;
720 }
721 
ReportGetServiceProfile(int32_t errCode,const std::string & deviceId,ServiceProfile & serviceProfile)722 void DpRadarHelper::ReportGetServiceProfile(int32_t errCode,
723     const std::string& deviceId, ServiceProfile& serviceProfile)
724 {
725     int res = DP_SUCCESS;
726     int32_t stageRes = (errCode == DP_SUCCESS) ?
727         static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
728     if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
729         res = HiSysEventWrite(
730             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
731             DP_DATA_OPERATE_BEHAVIOR,
732             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
733             "ORG_PKG", ORGPKG_NAME,
734             "FUNC", "GetServiceProfile",
735             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_SERVICE_PROFILE),
736             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
737             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
738             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
739             "LOCAL_UDID", GetLocalUdid(),
740             "PEER_UDID", GetPeerUdid(deviceId),
741             "TO_CALL_PKG", RDB_NAME,
742             "EXTRA_INFO", serviceProfile.dump());
743     } else {
744         res = HiSysEventWrite(
745             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
746             DP_DATA_OPERATE_BEHAVIOR,
747             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
748             "ORG_PKG", ORGPKG_NAME,
749             "FUNC", "GetServiceProfile",
750             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_SERVICE_PROFILE),
751             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
752             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
753             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
754             "LOCAL_UDID", GetLocalUdid(),
755             "PEER_UDID", GetPeerUdid(deviceId),
756             "TO_CALL_PKG", RDB_NAME,
757             "ERROR_CODE", errCode,
758             "EXTRA_INFO", serviceProfile.dump());
759     }
760     if (res != DP_SUCCESS) {
761         HILOGE("failed");
762     }
763     return;
764 }
765 
ReportGetCharProfile(int32_t errCode,const std::string & deviceId,CharacteristicProfile & characteristicProfile)766 void DpRadarHelper::ReportGetCharProfile(int32_t errCode,
767     const std::string& deviceId, CharacteristicProfile& characteristicProfile)
768 {
769     int res = DP_SUCCESS;
770     int32_t stageRes = (errCode == DP_SUCCESS) ?
771         static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
772     if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
773         res = HiSysEventWrite(
774             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
775             DP_DATA_OPERATE_BEHAVIOR,
776             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
777             "ORG_PKG", ORGPKG_NAME,
778             "FUNC", "GetCharacteristicProfile",
779             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_CHAR_PROFILE),
780             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
781             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
782             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
783             "LOCAL_UDID", GetLocalUdid(),
784             "PEER_UDID", GetPeerUdid(deviceId),
785             "TO_CALL_PKG", RDB_NAME,
786             "EXTRA_INFO", characteristicProfile.dump());
787     } else {
788         res = HiSysEventWrite(
789             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
790             DP_DATA_OPERATE_BEHAVIOR,
791             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
792             "ORG_PKG", ORGPKG_NAME,
793             "FUNC", "GetCharacteristicProfile",
794             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_GET_CHAR_PROFILE),
795             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
796             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
797             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
798             "LOCAL_UDID", GetLocalUdid(),
799             "PEER_UDID", GetPeerUdid(deviceId),
800             "TO_CALL_PKG", RDB_NAME,
801             "ERROR_CODE", errCode,
802             "EXTRA_INFO", characteristicProfile.dump());
803     }
804     if (res != DP_SUCCESS) {
805         HILOGE("failed");
806     }
807     return;
808 }
809 
ReportDeleteServiceProfile(int32_t errCode,const std::string & deviceId)810 void DpRadarHelper::ReportDeleteServiceProfile(int32_t errCode, const std::string& deviceId)
811 {
812     int res = DP_SUCCESS;
813     int32_t stageRes = (errCode == DP_SUCCESS) ?
814         static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
815     if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
816         res = HiSysEventWrite(
817             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
818             DP_DATA_OPERATE_BEHAVIOR,
819             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
820             "ORG_PKG", ORGPKG_NAME,
821             "FUNC", "DeleteServiceProfile",
822             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_DELETE_SERVICE_PROFILE),
823             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
824             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_IDLE),
825             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_START),
826             "LOCAL_UDID", GetLocalUdid(),
827             "PEER_UDID", GetPeerUdid(deviceId),
828             "TO_CALL_PKG", RDB_NAME);
829     } else {
830         res = HiSysEventWrite(
831             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
832             DP_DATA_OPERATE_BEHAVIOR,
833             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
834             "ORG_PKG", ORGPKG_NAME,
835             "FUNC", "DeleteServiceProfile",
836             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_DELETE_SERVICE_PROFILE),
837             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
838             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
839             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
840             "LOCAL_UDID", GetLocalUdid(),
841             "PEER_UDID", GetPeerUdid(deviceId),
842             "TO_CALL_PKG", RDB_NAME,
843             "ERROR_CODE", errCode);
844     }
845     if (res != DP_SUCCESS) {
846         HILOGE("failed");
847     }
848     return;
849 }
850 
ReportDeleteCharProfile(int32_t errCode,const std::string & deviceId)851 void DpRadarHelper::ReportDeleteCharProfile(int32_t errCode, const std::string& deviceId)
852 {
853     int res = DP_SUCCESS;
854     int32_t stageRes = (errCode == DP_SUCCESS) ?
855         static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
856     if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
857         res = HiSysEventWrite(
858             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
859             DP_DATA_OPERATE_BEHAVIOR,
860             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
861             "ORG_PKG", ORGPKG_NAME,
862             "FUNC", "DeleteCharacteristicProfile",
863             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_DELETE_CHAR_PROFILE),
864             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
865             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_IDLE),
866             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_START),
867             "LOCAL_UDID", GetLocalUdid(),
868             "PEER_UDID", GetPeerUdid(deviceId),
869             "TO_CALL_PKG", RDB_NAME);
870     } else {
871         res = HiSysEventWrite(
872             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
873             DP_DATA_OPERATE_BEHAVIOR,
874             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
875             "ORG_PKG", ORGPKG_NAME,
876             "FUNC", "DeleteCharacteristicProfile",
877             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_DELETE_CHAR_PROFILE),
878             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
879             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
880             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
881             "LOCAL_UDID", GetLocalUdid(),
882             "PEER_UDID", GetPeerUdid(deviceId),
883             "TO_CALL_PKG", RDB_NAME,
884             "ERROR_CODE", errCode);
885     }
886     if (res != DP_SUCCESS) {
887         HILOGE("failed");
888     }
889     return;
890 }
891 
ReportSubscribeDeviceProfile(int32_t errCode,const SubscribeInfo & subscribeInfo)892 void DpRadarHelper::ReportSubscribeDeviceProfile(int32_t errCode, const SubscribeInfo& subscribeInfo)
893 {
894     int res = DP_SUCCESS;
895     int32_t stageRes = (errCode == DP_SUCCESS) ?
896         static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
897     if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
898         res = HiSysEventWrite(
899             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
900             DP_DATA_OPERATE_BEHAVIOR,
901             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
902             "ORG_PKG", ORGPKG_NAME,
903             "FUNC", "SubscribeDeviceProfile",
904             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_SUBSCRIBE_DEVICE_PROFILE),
905             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
906             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
907             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
908             "LOCAL_UDID", GetLocalUdid(),
909             "TO_CALL_PKG", RDB_NAME,
910             "EXTRA_INFO", subscribeInfo.dump());
911     } else {
912         res = HiSysEventWrite(
913             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
914             DP_DATA_OPERATE_BEHAVIOR,
915             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
916             "ORG_PKG", ORGPKG_NAME,
917             "FUNC", "SubscribeDeviceProfile",
918             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_SUBSCRIBE_DEVICE_PROFILE),
919             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
920             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
921             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
922             "LOCAL_UDID", GetLocalUdid(),
923             "TO_CALL_PKG", RDB_NAME,
924             "ERROR_CODE", errCode,
925             "EXTRA_INFO", subscribeInfo.dump());
926     }
927     if (res != DP_SUCCESS) {
928         HILOGE("failed");
929     }
930     return;
931 }
932 
ReportUnSubscribeDeviceProfile(int32_t errCode,const SubscribeInfo & subscribeInfo)933 void DpRadarHelper::ReportUnSubscribeDeviceProfile(int32_t errCode, const SubscribeInfo& subscribeInfo)
934 {
935     int res = DP_SUCCESS;
936     int32_t stageRes = (errCode == DP_SUCCESS) ?
937         static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
938     if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
939         res = HiSysEventWrite(
940             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
941             DP_DATA_OPERATE_BEHAVIOR,
942             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
943             "ORG_PKG", ORGPKG_NAME,
944             "FUNC", "UnSubscribeDeviceProfile",
945             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_UNSUNBSCRIBE_DEVICE_PROFILE),
946             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
947             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
948             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
949             "LOCAL_UDID", GetLocalUdid(),
950             "TO_CALL_PKG", RDB_NAME,
951             "EXTRA_INFO", subscribeInfo.dump());
952     } else {
953         res = HiSysEventWrite(
954             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
955             DP_DATA_OPERATE_BEHAVIOR,
956             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
957             "ORG_PKG", ORGPKG_NAME,
958             "FUNC", "UnSubscribeDeviceProfile",
959             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_UNSUNBSCRIBE_DEVICE_PROFILE),
960             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
961             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
962             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
963             "LOCAL_UDID", GetLocalUdid(),
964             "TO_CALL_PKG", RDB_NAME,
965             "ERROR_CODE", errCode,
966             "EXTRA_INFO", subscribeInfo.dump());
967     }
968     if (res != DP_SUCCESS) {
969         HILOGE("failed");
970     }
971     return;
972 }
973 
ReportSyncDeviceProfile(int32_t errCode)974 void DpRadarHelper::ReportSyncDeviceProfile(int32_t errCode)
975 {
976     int res = DP_SUCCESS;
977     int32_t stageRes = (errCode == DP_SUCCESS) ?
978         static_cast<int32_t>(StageRes::STAGE_SUCC) : static_cast<int32_t>(StageRes::STAGE_FAIL);
979     if (stageRes == static_cast<int32_t>(StageRes::STAGE_SUCC)) {
980         res = HiSysEventWrite(
981             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
982             DP_DATA_OPERATE_BEHAVIOR,
983             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
984             "ORG_PKG", ORGPKG_NAME,
985             "FUNC", "SyncDeviceProfile",
986             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_SYNC_DEVICE_PROFILE),
987             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
988             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
989             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
990             "HOST_PKG", RDB_NAME,
991             "LOCAL_UDID", GetLocalUdid(),
992             "TO_CALL_PKG", RDB_NAME);
993     } else {
994         res = HiSysEventWrite(
995             OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
996             DP_DATA_OPERATE_BEHAVIOR,
997             HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
998             "ORG_PKG", ORGPKG_NAME,
999             "FUNC", "SyncDeviceProfile",
1000             "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_SYNC_DEVICE_PROFILE),
1001             "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_PROFILE_OPERATE),
1002             "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_FAIL),
1003             "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
1004             "HOST_PKG", RDB_NAME,
1005             "LOCAL_UDID", GetLocalUdid(),
1006             "TO_CALL_PKG", RDB_NAME,
1007             "ERROR_CODE", errCode);
1008     }
1009     if (res != DP_SUCCESS) {
1010         HILOGE("failed");
1011     }
1012     return;
1013 }
1014 
ReportNotifyProfileChange(int32_t code)1015 void DpRadarHelper::ReportNotifyProfileChange(int32_t code)
1016 {
1017     std::string funcName = "";
1018     switch (code) {
1019         case ProfileType::DEVICE_PROFILE * ChangeType::ADD:
1020             funcName = "NotifyDeviceProfileAdd";
1021             break;
1022         case ProfileType::DEVICE_PROFILE * ChangeType::UPDATE:
1023             funcName = "NotifyDeviceProfileUpdate";
1024             break;
1025         case ProfileType::DEVICE_PROFILE * ChangeType::DELETE:
1026             funcName = "NotifyDeviceProfileDelete";
1027             break;
1028         case ProfileType::SERVICE_PROFILE * ChangeType::ADD:
1029             funcName = "NotifyServiceProfileAdd";
1030             break;
1031         case ProfileType::SERVICE_PROFILE * ChangeType::UPDATE:
1032             funcName = "NotifyServiceProfileUpdate";
1033             break;
1034         case ProfileType::SERVICE_PROFILE * ChangeType::DELETE:
1035             funcName = "NotifyServiceProfileDelete";
1036             break;
1037         case ProfileType::CHAR_PROFILE * ChangeType::ADD:
1038             funcName = "NotifyCharProfileAdd";
1039             break;
1040         case ProfileType::CHAR_PROFILE * ChangeType::UPDATE:
1041             funcName = "NotifyCharProfileUpdate";
1042             break;
1043         case ProfileType::CHAR_PROFILE * ChangeType::DELETE:
1044             funcName = "NotifyCharProfileDelete";
1045             break;
1046     }
1047     int res = HiSysEventWrite(
1048         OHOS::HiviewDFX::HiSysEvent::Domain::DEVICE_PROFILE,
1049         DP_DATA_OPERATE_BEHAVIOR,
1050         HiviewDFX::HiSysEvent::EventType::BEHAVIOR,
1051         "ORG_PKG", ORGPKG_NAME,
1052         "FUNC", funcName,
1053         "BIZ_SCENE", static_cast<int32_t>(BizScene::DP_SYNC_DEVICE_PROFILE),
1054         "BIZ_STAGE", static_cast<int32_t>(ProfileOperateStage::DP_NOTIFY_PROFILE_CHANGE),
1055         "STAGE_RES", static_cast<int32_t>(StageRes::STAGE_SUCC),
1056         "BIZ_STATE", static_cast<int32_t>(BizState::BIZ_STATE_END),
1057         "HOST_PKG", RDB_NAME,
1058         "LOCAL_UDID", GetLocalUdid(),
1059         "TO_CALL_PKG", RDB_NAME);
1060     if (res != DP_SUCCESS) {
1061         HILOGE("failed");
1062     }
1063     return;
1064 }
1065 
GetPeerUdidList(const std::vector<TrustDeviceProfile> & trustDeviceProfiles)1066 std::string DpRadarHelper::GetPeerUdidList(const std::vector<TrustDeviceProfile>& trustDeviceProfiles)
1067 {
1068     if (trustDeviceProfiles.size() == 0) {
1069         return "";
1070     }
1071     cJSON* deviceInfoJson = cJSON_CreateObject();
1072     if (deviceInfoJson == nullptr) {
1073         return "";
1074     }
1075     cJSON* peerUdidList = cJSON_CreateArray();
1076     if (peerUdidList == nullptr) {
1077         cJSON_Delete(deviceInfoJson);
1078         return "";
1079     }
1080     if (!cJSON_AddItemToObject(deviceInfoJson, "PEER_UDID_LIST", peerUdidList)) {
1081         cJSON_Delete(peerUdidList);
1082         cJSON_Delete(deviceInfoJson);
1083         return "";
1084     }
1085     for (size_t i = 0; i < trustDeviceProfiles.size(); i++) {
1086         std::string udid = GetPeerUdid(trustDeviceProfiles[i].GetDeviceId());
1087         cJSON* object = cJSON_CreateString(udid.c_str());
1088         if (object == nullptr) {
1089             cJSON_Delete(deviceInfoJson);
1090             return "";
1091         }
1092         if (!cJSON_AddItemToArray(peerUdidList, object)) {
1093             cJSON_Delete(object);
1094             cJSON_Delete(deviceInfoJson);
1095             return "";
1096         }
1097     }
1098     char *peerDevUdidStr = cJSON_PrintUnformatted(deviceInfoJson);
1099     if (peerDevUdidStr == nullptr) {
1100         cJSON_Delete(deviceInfoJson);
1101         return "";
1102     }
1103     std::string peerUdidStr = std::string(peerDevUdidStr);
1104     cJSON_Delete(deviceInfoJson);
1105     cJSON_free(peerDevUdidStr);
1106     return peerUdidStr;
1107 }
1108 
GetPeerUdidList(const std::vector<AccessControlProfile> & accessControlProfiles)1109 std::string DpRadarHelper::GetPeerUdidList(const std::vector<AccessControlProfile>& accessControlProfiles)
1110 {
1111     if (accessControlProfiles.size() == 0) {
1112         return "";
1113     }
1114     cJSON* deviceInfoJson = cJSON_CreateObject();
1115     if (deviceInfoJson == nullptr) {
1116         return "";
1117     }
1118     cJSON* peerUdidList = cJSON_CreateArray();
1119     if (peerUdidList == nullptr) {
1120         cJSON_Delete(deviceInfoJson);
1121         return "";
1122     }
1123     if (!cJSON_AddItemToObject(deviceInfoJson, "PEER_UDID_LIST", peerUdidList)) {
1124         cJSON_Delete(peerUdidList);
1125         cJSON_Delete(deviceInfoJson);
1126         return "";
1127     }
1128     for (size_t i = 0; i < accessControlProfiles.size(); i++) {
1129         std::string udid = GetPeerUdid(accessControlProfiles[i].GetAccessee().GetAccesseeDeviceId());
1130         cJSON* object = cJSON_CreateString(udid.c_str());
1131         if (object == nullptr) {
1132             cJSON_Delete(deviceInfoJson);
1133             return "";
1134         }
1135         if (!cJSON_AddItemToArray(peerUdidList, object)) {
1136             cJSON_Delete(object);
1137             cJSON_Delete(deviceInfoJson);
1138             return "";
1139         }
1140     }
1141     char *peerDevUdidStr = cJSON_PrintUnformatted(deviceInfoJson);
1142     if (peerDevUdidStr == nullptr) {
1143         cJSON_Delete(deviceInfoJson);
1144         return "";
1145     }
1146     std::string peerUdidStr = std::string(peerDevUdidStr);
1147     cJSON_Delete(deviceInfoJson);
1148     cJSON_free(peerDevUdidStr);
1149     return peerUdidStr;
1150 }
1151 
GetPeerUdidList(const std::vector<ServiceProfile> & serviceProfiles)1152 std::string DpRadarHelper::GetPeerUdidList(const std::vector<ServiceProfile>& serviceProfiles)
1153 {
1154     if (serviceProfiles.size() == 0) {
1155         return "";
1156     }
1157     cJSON* deviceInfoJson = cJSON_CreateObject();
1158     if (deviceInfoJson == nullptr) {
1159         return "";
1160     }
1161     cJSON* peerUdidList = cJSON_CreateArray();
1162     if (peerUdidList == nullptr) {
1163         cJSON_Delete(deviceInfoJson);
1164         return "";
1165     }
1166     if (!cJSON_AddItemToObject(deviceInfoJson, "PEER_UDID_LIST", peerUdidList)) {
1167         cJSON_Delete(peerUdidList);
1168         cJSON_Delete(deviceInfoJson);
1169         return "";
1170     }
1171     for (size_t i = 0; i < serviceProfiles.size(); i++) {
1172         std::string udid = GetPeerUdid(serviceProfiles[i].GetDeviceId());
1173         cJSON* object = cJSON_CreateString(udid.c_str());
1174         if (object == nullptr) {
1175             cJSON_Delete(deviceInfoJson);
1176             return "";
1177         }
1178         if (!cJSON_AddItemToArray(peerUdidList, object)) {
1179             cJSON_Delete(object);
1180             cJSON_Delete(deviceInfoJson);
1181             return "";
1182         }
1183     }
1184     char *peerDevUdidStr = cJSON_PrintUnformatted(deviceInfoJson);
1185     if (peerDevUdidStr == nullptr) {
1186         cJSON_Delete(deviceInfoJson);
1187         return "";
1188     }
1189     std::string peerUdidStr = std::string(peerDevUdidStr);
1190     cJSON_Delete(deviceInfoJson);
1191     cJSON_free(peerDevUdidStr);
1192     return peerUdidStr;
1193 }
1194 
GetPeerUdidList(const std::vector<CharacteristicProfile> & characteristicProfiles)1195 std::string DpRadarHelper::GetPeerUdidList(const std::vector<CharacteristicProfile>& characteristicProfiles)
1196 {
1197     if (characteristicProfiles.size() == 0) {
1198         return "";
1199     }
1200     cJSON* deviceInfoJson = cJSON_CreateObject();
1201     if (deviceInfoJson == nullptr) {
1202         return "";
1203     }
1204     cJSON* peerUdidList = cJSON_CreateArray();
1205     if (peerUdidList == nullptr) {
1206         cJSON_Delete(deviceInfoJson);
1207         return "";
1208     }
1209     if (!cJSON_AddItemToObject(deviceInfoJson, "PEER_UDID_LIST", peerUdidList)) {
1210         cJSON_Delete(peerUdidList);
1211         cJSON_Delete(deviceInfoJson);
1212         return "";
1213     }
1214     for (size_t i = 0; i < characteristicProfiles.size(); i++) {
1215         std::string udid = GetPeerUdid(characteristicProfiles[i].GetDeviceId());
1216         cJSON* object = cJSON_CreateString(udid.c_str());
1217         if (object == nullptr) {
1218             cJSON_Delete(deviceInfoJson);
1219             return "";
1220         }
1221         if (!cJSON_AddItemToArray(peerUdidList, object)) {
1222             cJSON_Delete(object);
1223             cJSON_Delete(deviceInfoJson);
1224             return "";
1225         }
1226     }
1227     char *peerDevUdidStr = cJSON_PrintUnformatted(deviceInfoJson);
1228     if (peerDevUdidStr == nullptr) {
1229         cJSON_Delete(deviceInfoJson);
1230         return "";
1231     }
1232     std::string peerUdidStr = std::string(peerDevUdidStr);
1233     cJSON_Delete(deviceInfoJson);
1234     cJSON_free(peerDevUdidStr);
1235     return peerUdidStr;
1236 }
1237 
GetAnonyUdid(std::string udid)1238 std::string DpRadarHelper::GetAnonyUdid(std::string udid)
1239 {
1240     if (udid.empty() || udid.length() < INVALID_UDID_LENGTH) {
1241         return "";
1242     }
1243     return udid.substr(0, SUBSTR_UDID_LENGTH) + "**" + udid.substr(udid.length() - SUBSTR_UDID_LENGTH);
1244 }
1245 
GetLocalUdid()1246 std::string DpRadarHelper::GetLocalUdid()
1247 {
1248     return GetAnonyUdid(ContentSensorManagerUtils::GetInstance().ObtainLocalUdid());
1249 }
1250 
GetPeerUdid(std::string udid)1251 std::string DpRadarHelper::GetPeerUdid(std::string udid)
1252 {
1253     std::string localUdid = ContentSensorManagerUtils::GetInstance().ObtainLocalUdid();
1254     return udid.compare(localUdid) == 0 ? "" : GetAnonyUdid(udid);
1255 }
1256 
IsDeviceProfileInit()1257 bool DpRadarHelper::IsDeviceProfileInit()
1258 {
1259     return isInit_;
1260 }
1261 
SetDeviceProfileInit(bool isInit)1262 void DpRadarHelper::SetDeviceProfileInit(bool isInit)
1263 {
1264     isInit_ = isInit;
1265 }
1266 } // namespace DistributedDeviceProfile
1267 } // namespace OHOS