1 /*
2 * Copyright (c) 2022 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 #include "bytrace_adapter.h"
16
17 #include "hitrace_meter.h"
18 #include "mmi_log.h"
19
20 #undef MMI_LOG_TAG
21 #define MMI_LOG_TAG "BytraceAdapter"
22
23 namespace OHOS {
24 namespace MMI {
25 namespace {
26 const char* ON_KEY_EVENT { "OnKeyEvent" };
27 const char* ON_TOUCH_EVENT { "OnTouchEvent" };
28 const char* ON_POINTER_EVENT { "OnPointerEvent" };
29 const char* KEY_EVENT_DISPATCH { "KeyEventDispatch" };
30 const char* TOUCH_EVENT_DISPATCH { "touchEventDispatch" };
31 const char* POINTER_EVENT_DISPATCH { "PointerEventDispatch" };
32 const char* KEY_EVENT_SUBSCRIBE { "KeyEventSubscribe" };
33 const char* POINTER_EVENT_INTERCEPT { "PointerEventIntercept" };
34 const char* TOUCH_EVENT_INTERCEPT { "TouchEventIntercept" };
35 const char* KEY_EVENT_INTERCEPT { "KeyEventIntercept" };
36 const char* ON_START_EVENT { "StartEvent" };
37 const char* ON_LAUNCH_EVENT { "LaunchEvent" };
38 const char* ON_STOP_EVENT { "StopEvent" };
39 constexpr int32_t START_ID { 1 };
40 constexpr int32_t LAUNCH_ID { 2 };
41 constexpr int32_t STOP_ID { 3 };
42 } // namespace
43
StartBytrace(std::shared_ptr<KeyEvent> keyEvent)44 void BytraceAdapter::StartBytrace(std::shared_ptr<KeyEvent> keyEvent)
45 {
46 CHKPV(keyEvent);
47 int32_t keyId = keyEvent->GetId();
48 StartAsyncTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, ON_KEY_EVENT, keyId, "", nullptr);
49 HITRACE_METER_NAME(HITRACE_TAG_MULTIMODALINPUT, "service report keyId=" + std::to_string(keyId));
50 }
51
GetKeyTraceString(std::shared_ptr<KeyEvent> keyEvent)52 std::string BytraceAdapter::GetKeyTraceString(std::shared_ptr<KeyEvent> keyEvent)
53 {
54 CHKPS(keyEvent);
55 return KeyEvent::ActionToString(keyEvent->GetKeyAction());
56 }
57
GetPointerTraceString(std::shared_ptr<PointerEvent> pointerEvent)58 std::string BytraceAdapter::GetPointerTraceString(std::shared_ptr<PointerEvent> pointerEvent)
59 {
60 CHKPS(pointerEvent);
61 std::vector<PointerEvent::PointerItem> pointerItems;
62 std::vector<int32_t> pointerIds{ pointerEvent->GetPointerIds() };
63 for (const auto &pointerId : pointerIds) {
64 PointerEvent::PointerItem item;
65 if (!pointerEvent->GetPointerItem(pointerId, item)) {
66 MMI_HILOGE("Invalid pointer:%{public}d", pointerId);
67 return "";
68 }
69 pointerItems.emplace_back(item);
70 }
71 std::string traceStr;
72 for (const auto &item : pointerItems) {
73 auto id = item.GetPointerId();
74 auto displayX = item.GetDisplayX();
75 auto displayY = item.GetDisplayY();
76 traceStr += " [";
77 traceStr += "id: " + std::to_string(id);
78 traceStr += ", x:" + std::to_string(displayX);
79 traceStr += ", y:" + std::to_string(displayY);
80 traceStr += "]";
81 }
82 return traceStr;
83 }
84
StartBytrace(std::shared_ptr<PointerEvent> pointerEvent,TraceBtn traceBtn)85 void BytraceAdapter::StartBytrace(std::shared_ptr<PointerEvent> pointerEvent, TraceBtn traceBtn)
86 {
87 CHKPV(pointerEvent);
88 int32_t eventId = pointerEvent->GetId();
89 if (traceBtn == TRACE_START) {
90 if (pointerEvent->GetSourceType() == PointerEvent::SOURCE_TYPE_MOUSE) {
91 StartAsyncTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, ON_POINTER_EVENT, eventId,
92 "", nullptr);
93 HITRACE_METER_NAME(HITRACE_TAG_MULTIMODALINPUT, "service report pointerId:" + std::to_string(eventId) +
94 + ", type: " + pointerEvent->DumpPointerAction());
95 } else {
96 StartAsyncTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, ON_TOUCH_EVENT, eventId,
97 "", nullptr);
98 HITRACE_METER_NAME(HITRACE_TAG_MULTIMODALINPUT, "service report touchId:" + std::to_string(eventId) +
99 + ", type: " + pointerEvent->DumpPointerAction());
100 }
101 } else {
102 if (pointerEvent->GetSourceType() == PointerEvent::SOURCE_TYPE_MOUSE) {
103 FinishAsyncTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, ON_POINTER_EVENT, eventId);
104 } else {
105 FinishAsyncTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, ON_TOUCH_EVENT, eventId);
106 }
107 }
108 }
109
StartBytrace(std::shared_ptr<KeyEvent> key,HandlerType handlerType)110 void BytraceAdapter::StartBytrace(std::shared_ptr<KeyEvent> key, HandlerType handlerType)
111 {
112 CHKPV(key);
113 std::string checkKeyCode;
114 switch (handlerType) {
115 case KEY_INTERCEPT_EVENT: {
116 checkKeyCode = "Intercept keyCode";
117 break;
118 }
119 case KEY_LAUNCH_EVENT: {
120 checkKeyCode = "Launch keyCode";
121 break;
122 }
123 case KEY_SUBSCRIBE_EVENT: {
124 checkKeyCode = "Subscribe keyCode";
125 break;
126 }
127 case KEY_DISPATCH_EVENT: {
128 checkKeyCode = "Dispatch keyCode";
129 break;
130 }
131 default: {
132 checkKeyCode = "Unknown keyCode";
133 break;
134 }
135 }
136 HITRACE_METER_NAME(HITRACE_TAG_MULTIMODALINPUT, checkKeyCode);
137 int32_t keyId = key->GetId();
138 FinishAsyncTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, ON_KEY_EVENT, keyId);
139 }
140
StartBytrace(std::shared_ptr<KeyEvent> keyEvent,TraceBtn traceBtn,HandlerType handlerType)141 void BytraceAdapter::StartBytrace(std::shared_ptr<KeyEvent> keyEvent, TraceBtn traceBtn, HandlerType handlerType)
142 {
143 CHKPV(keyEvent);
144 int32_t keyId = keyEvent->GetId();
145 if (traceBtn == TRACE_START) {
146 switch (handlerType) {
147 case KEY_INTERCEPT_EVENT: {
148 StartAsyncTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, KEY_EVENT_INTERCEPT, keyId,
149 "", nullptr);
150 HITRACE_METER_NAME(HITRACE_TAG_MULTIMODALINPUT, "client Intercept keyCode");
151 break;
152 }
153 case KEY_SUBSCRIBE_EVENT: {
154 StartAsyncTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, KEY_EVENT_SUBSCRIBE, keyId,
155 "", nullptr);
156 HITRACE_METER_NAME(HITRACE_TAG_MULTIMODALINPUT, "client subscribe keyCode");
157 break;
158 }
159 case KEY_DISPATCH_EVENT: {
160 StartAsyncTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, KEY_EVENT_DISPATCH, keyId,
161 "", nullptr);
162 HITRACE_METER_NAME(HITRACE_TAG_MULTIMODALINPUT, "client dispatch keyCode");
163 break;
164 }
165 default: {
166 HITRACE_METER_NAME(HITRACE_TAG_MULTIMODALINPUT, "Unknown keyCode");
167 break;
168 }
169 }
170 } else {
171 switch (handlerType) {
172 case KEY_INTERCEPT_EVENT: {
173 FinishAsyncTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, KEY_EVENT_INTERCEPT, keyId);
174 break;
175 }
176 case KEY_SUBSCRIBE_EVENT: {
177 FinishAsyncTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, KEY_EVENT_SUBSCRIBE, keyId);
178 break;
179 }
180 case KEY_DISPATCH_EVENT: {
181 FinishAsyncTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, KEY_EVENT_DISPATCH, keyId);
182 break;
183 }
184 default: {
185 HITRACE_METER_NAME(HITRACE_TAG_MULTIMODALINPUT, "Unknown keyCode");
186 break;
187 }
188 }
189 }
190 }
191
StartBytrace(std::shared_ptr<PointerEvent> pointerEvent,TraceBtn traceBtn,HandlerType handlerType)192 void BytraceAdapter::StartBytrace(
193 std::shared_ptr<PointerEvent> pointerEvent, TraceBtn traceBtn, HandlerType handlerType)
194 {
195 CHKPV(pointerEvent);
196 int32_t eventId = pointerEvent->GetId();
197 if (traceBtn == TRACE_START) {
198 if (handlerType == POINT_DISPATCH_EVENT) {
199 if (pointerEvent->GetSourceType() == PointerEvent::SOURCE_TYPE_MOUSE) {
200 StartAsyncTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, POINTER_EVENT_DISPATCH, eventId,
201 "", nullptr);
202 HITRACE_METER_NAME(HITRACE_TAG_MULTIMODALINPUT, "client dispatch pointerId:" + std::to_string(eventId));
203 } else {
204 StartAsyncTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, TOUCH_EVENT_DISPATCH, eventId,
205 "", nullptr);
206 HITRACE_METER_NAME(HITRACE_TAG_MULTIMODALINPUT, "client dispatch touchId:" + std::to_string(eventId));
207 }
208 } else {
209 if (pointerEvent->GetSourceType() == PointerEvent::SOURCE_TYPE_MOUSE) {
210 StartAsyncTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, POINTER_EVENT_INTERCEPT, eventId,
211 "", nullptr);
212 HITRACE_METER_NAME(HITRACE_TAG_MULTIMODALINPUT,
213 "client Intercept pointerId:" + std::to_string(eventId));
214 } else {
215 StartAsyncTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, TOUCH_EVENT_INTERCEPT, eventId,
216 "", nullptr);
217 HITRACE_METER_NAME(HITRACE_TAG_MULTIMODALINPUT, "client Intercept touchId:" + std::to_string(eventId));
218 }
219 }
220 } else {
221 if (handlerType == POINT_DISPATCH_EVENT) {
222 if (pointerEvent->GetSourceType() == PointerEvent::SOURCE_TYPE_MOUSE) {
223 FinishAsyncTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, POINTER_EVENT_DISPATCH, eventId);
224 } else {
225 FinishAsyncTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, TOUCH_EVENT_DISPATCH, eventId);
226 }
227 }
228 if (handlerType == POINT_INTERCEPT_EVENT) {
229 if (pointerEvent->GetSourceType() == PointerEvent::SOURCE_TYPE_MOUSE) {
230 FinishAsyncTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, POINTER_EVENT_INTERCEPT, eventId);
231 } else {
232 FinishAsyncTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, TOUCH_EVENT_INTERCEPT, eventId);
233 }
234 }
235 }
236 }
237
StartBytrace(TraceBtn traceBtn,EventType eventType)238 void BytraceAdapter::StartBytrace(TraceBtn traceBtn, EventType eventType)
239 {
240 std::string checkKeyCode;
241 if (traceBtn == TRACE_START) {
242 switch (eventType) {
243 case START_EVENT: {
244 StartAsyncTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, ON_START_EVENT, START_ID,
245 "", nullptr);
246 checkKeyCode = "crossing startId:" + std::to_string(START_ID);
247 HITRACE_METER_NAME(HITRACE_TAG_MULTIMODALINPUT, checkKeyCode);
248 break;
249 }
250 case LAUNCH_EVENT: {
251 StartAsyncTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, ON_LAUNCH_EVENT, LAUNCH_ID,
252 "", nullptr);
253 checkKeyCode = "crossing launchId:" + std::to_string(LAUNCH_ID);
254 HITRACE_METER_NAME(HITRACE_TAG_MULTIMODALINPUT, checkKeyCode);
255 break;
256 }
257 case STOP_EVENT: {
258 StartAsyncTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, ON_STOP_EVENT, STOP_ID,
259 "", nullptr);
260 checkKeyCode = "crossing stopId:" + std::to_string(STOP_ID);
261 HITRACE_METER_NAME(HITRACE_TAG_MULTIMODALINPUT, checkKeyCode);
262 break;
263 }
264 }
265 } else {
266 switch (eventType) {
267 case START_EVENT: {
268 FinishAsyncTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, ON_START_EVENT, START_ID);
269 break;
270 }
271 case LAUNCH_EVENT: {
272 FinishAsyncTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, ON_LAUNCH_EVENT, LAUNCH_ID);
273 break;
274 }
275 case STOP_EVENT: {
276 FinishAsyncTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, ON_STOP_EVENT, STOP_ID);
277 break;
278 }
279 }
280 }
281 }
282
StartIpcServer(uint32_t code)283 void BytraceAdapter::StartIpcServer(uint32_t code)
284 {
285 std::string traceInfo = "ipcServerHandle code:" + std::to_string(code);
286 StartTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, traceInfo.c_str(), "");
287 }
288
StopIpcServer()289 void BytraceAdapter::StopIpcServer()
290 {
291 FinishTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT);
292 }
293
StartPackageEvent(const std::string & msg)294 void BytraceAdapter::StartPackageEvent(const std::string& msg)
295 {
296 StartTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, msg.c_str(), "");
297 }
298
StopPackageEvent()299 void BytraceAdapter::StopPackageEvent()
300 {
301 FinishTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT);
302 }
303
StartHandleInput(int32_t code)304 void BytraceAdapter::StartHandleInput(int32_t code)
305 {
306 std::string traceInfo = "originEventHandle code:" + std::to_string(code);
307 StartTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, traceInfo.c_str(), "");
308 }
309
StopHandleInput()310 void BytraceAdapter::StopHandleInput()
311 {
312 FinishTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT);
313 }
314
StartHandleTracker(int32_t pointerId)315 void BytraceAdapter::StartHandleTracker(int32_t pointerId)
316 {
317 std::string traceInfo = "pointerId:" + std::to_string(pointerId);
318 StartTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, traceInfo.c_str(), "");
319 }
320
StopHandleTracker()321 void BytraceAdapter::StopHandleTracker()
322 {
323 FinishTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT);
324 }
325
StartConsumer(std::shared_ptr<PointerEvent> pointerEvent)326 void BytraceAdapter::StartConsumer(std::shared_ptr<PointerEvent> pointerEvent)
327 {
328 CHKPV(pointerEvent);
329 std::string traceInfo = "eventConsume pointerEventId:" + std::to_string(pointerEvent->GetId());
330 StartTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, traceInfo.c_str(), "");
331 }
332
StopConsumer()333 void BytraceAdapter::StopConsumer()
334 {
335 FinishTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT);
336 }
337
StartConsumer(std::shared_ptr<KeyEvent> keyEvent)338 void BytraceAdapter::StartConsumer(std::shared_ptr<KeyEvent> keyEvent)
339 {
340 CHKPV(keyEvent);
341 std::string traceInfo = "eventConsume keyEventId:" + std::to_string(keyEvent->GetId());
342 StartTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, traceInfo.c_str(), "");
343 }
344
StartPostTaskEvent(std::shared_ptr<PointerEvent> pointerEvent)345 void BytraceAdapter::StartPostTaskEvent(std::shared_ptr<PointerEvent> pointerEvent)
346 {
347 CHKPV(pointerEvent);
348 std::string traceInfo = "startpostEvent pointerEventId:" + std::to_string(pointerEvent->GetId());
349 StartTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, traceInfo.c_str(), "");
350 }
351
StartPostTaskEvent(std::shared_ptr<KeyEvent> keyEvent)352 void BytraceAdapter::StartPostTaskEvent(std::shared_ptr<KeyEvent> keyEvent)
353 {
354 CHKPV(keyEvent);
355 std::string traceInfo = "startpostEvent keyEventId:" + std::to_string(keyEvent->GetId());
356 StartTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, traceInfo.c_str(), "");
357 }
358
StopPostTaskEvent()359 void BytraceAdapter::StopPostTaskEvent()
360 {
361 FinishTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT);
362 }
363
StartSocketHandle(int32_t msgId)364 void BytraceAdapter::StartSocketHandle(int32_t msgId)
365 {
366 std::string traceInfo = "socketMsgHandle msgId:" + std::to_string(msgId);
367 StartTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, traceInfo.c_str(), "");
368 }
369
StopSocketHandle()370 void BytraceAdapter::StopSocketHandle()
371 {
372 FinishTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT);
373 }
374
StartDevListener(const std::string & type,int32_t deviceId)375 void BytraceAdapter::StartDevListener(const std::string& type, int32_t deviceId)
376 {
377 std::string traceInfo = "device listener type:" + type + ", deviceid:" + std::to_string(deviceId);
378 StartTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, traceInfo.c_str(), "");
379 }
380
StopDevListener()381 void BytraceAdapter::StopDevListener()
382 {
383 FinishTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT);
384 }
385
StartLaunchAbility(int32_t type,const std::string & bundleName)386 void BytraceAdapter::StartLaunchAbility(int32_t type, const std::string& bundleName)
387 {
388 std::string traceInfo = "launchAbility type:" + std::to_string(type) + ", bundleName:" + bundleName;
389 StartTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, traceInfo.c_str(), "");
390 }
391
StopLaunchAbility()392 void BytraceAdapter::StopLaunchAbility()
393 {
394 FinishTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT);
395 }
396
StartMarkedTracker(int32_t eventId)397 void BytraceAdapter::StartMarkedTracker(int32_t eventId)
398 {
399 std::string traceInfo = "markProcessed eventId:" + std::to_string(eventId);
400 StartTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, traceInfo.c_str(), "");
401 }
402
StopMarkedTracker()403 void BytraceAdapter::StopMarkedTracker()
404 {
405 FinishTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT);
406 }
407
StartTouchEvent(int32_t pointerId)408 void BytraceAdapter::StartTouchEvent(int32_t pointerId)
409 {
410 std::string traceInfo = "startTouchEvent pointerId:" + std::to_string(pointerId);
411 StartTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, traceInfo.c_str(), "");
412 }
413
StopTouchEvent()414 void BytraceAdapter::StopTouchEvent()
415 {
416 FinishTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT);
417 }
418
StartToolType(int32_t toolType)419 void BytraceAdapter::StartToolType(int32_t toolType)
420 {
421 std::string traceInfo = "current ToolType:" + std::to_string(toolType);
422 StartTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, traceInfo.c_str(), "");
423 }
424
StopToolType()425 void BytraceAdapter::StopToolType()
426 {
427 FinishTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT);
428 }
429
StartTouchUp(int32_t pointerId)430 void BytraceAdapter::StartTouchUp(int32_t pointerId)
431 {
432 std::string traceInfo = "startTouchUp pointerId:" + std::to_string(pointerId);
433 StartTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, traceInfo.c_str(), "");
434 }
435
StopTouchUp()436 void BytraceAdapter::StopTouchUp()
437 {
438 FinishTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT);
439 }
440
StartUpdateDisplayMode(const std::string & modeMsg)441 void BytraceAdapter::StartUpdateDisplayMode(const std::string &modeMsg)
442 {
443 StartTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, modeMsg.c_str(), "");
444 }
445
StopUpdateDisplayMode()446 void BytraceAdapter::StopUpdateDisplayMode()
447 {
448 FinishTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT);
449 }
450
StartDataShare(const std::string & key)451 void BytraceAdapter::StartDataShare(const std::string &key)
452 {
453 StartTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, key.c_str(), "");
454 }
455
StopDataShare()456 void BytraceAdapter::StopDataShare()
457 {
458 FinishTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT);
459 }
460
StartRsSurfaceNode(uint64_t rsId)461 void BytraceAdapter::StartRsSurfaceNode(uint64_t rsId)
462 {
463 std::string traceInfo = "pointerWindow rsId:" + std::to_string(rsId);
464 StartTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, traceInfo.c_str(), "");
465 }
466
StopRsSurfaceNode()467 void BytraceAdapter::StopRsSurfaceNode()
468 {
469 FinishTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT);
470 }
471
StartFoldState(bool state)472 void BytraceAdapter::StartFoldState(bool state)
473 {
474 std::string traceInfo = state ? "true" : "false";
475 StartTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, traceInfo.c_str(), "");
476 }
477
StopFoldState()478 void BytraceAdapter::StopFoldState()
479 {
480 FinishTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT);
481 }
482
StartWindowVisible(int32_t pid)483 void BytraceAdapter::StartWindowVisible(int32_t pid)
484 {
485 std::string traceInfo = "get visibility window info:" + std::to_string(pid);
486 StartTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, traceInfo.c_str(), "");
487 }
488
StopWindowVisible()489 void BytraceAdapter::StopWindowVisible()
490 {
491 FinishTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT);
492 }
493
StartHardPointerRender(uint32_t width,uint32_t height,uint32_t bufferId,uint32_t screenId,int32_t style)494 void BytraceAdapter::StartHardPointerRender(uint32_t width, uint32_t height, uint32_t bufferId, uint32_t screenId,
495 int32_t style)
496 {
497 std::string traceInfo = "hard pointer render buffer width:" + std::to_string(width)
498 + " height:" + std::to_string(height)
499 + " bufferId:" + std::to_string(bufferId)
500 + " screenId:" + std::to_string(screenId)
501 + " style:" + std::to_string(style);
502 StartTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, traceInfo.c_str(), "");
503 }
504
StopHardPointerRender()505 void BytraceAdapter::StopHardPointerRender()
506 {
507 FinishTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT);
508 }
509
StartSoftPointerRender(uint32_t width,uint32_t height,int32_t style)510 void BytraceAdapter::StartSoftPointerRender(uint32_t width, uint32_t height, int32_t style)
511 {
512 std::string traceInfo = "soft pointer render buffer width:" + std::to_string(width)
513 + " height:" + std::to_string(height)
514 + " style:" + std::to_string(style);
515 StartTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, traceInfo.c_str(), "");
516 }
517
StopSoftPointerRender()518 void BytraceAdapter::StopSoftPointerRender()
519 {
520 FinishTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT);
521 }
522
StartHardPointerMove(uint32_t width,uint32_t height,uint32_t bufferId,uint32_t screenId)523 void BytraceAdapter::StartHardPointerMove(uint32_t width, uint32_t height, uint32_t bufferId, uint32_t screenId)
524 {
525 std::string traceInfo = "hard pointer move width:" + std::to_string(width)
526 + " height:" + std::to_string(height)
527 + " bufferId:" + std::to_string(bufferId)
528 + " screenId:" + std::to_string(screenId);
529 StartTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT, traceInfo.c_str(), "");
530 }
531
StopHardPointerMove()532 void BytraceAdapter::StopHardPointerMove()
533 {
534 FinishTraceEx(HITRACE_LEVEL_INFO, HITRACE_TAG_MULTIMODALINPUT);
535 }
536 } // namespace MMI
537 } // namespace OHOS