• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 "session_manager/include/hidump_controller.h"
17 #include "session_helper.h"
18 #include "wm_single_instance.h"
19 
20 namespace OHOS {
21 namespace Rosen {
22 constexpr int STRING_MAX_WIDTH = 21;
23 
WM_IMPLEMENT_SINGLE_INSTANCE(HidumpController)24 WM_IMPLEMENT_SINGLE_INSTANCE(HidumpController)
25 
26 void HidumpController::GetAllSessionDumpDetailedInfo(std::ostringstream& oss,
27     const std::vector<sptr<SceneSession>>& allSession, const std::vector<sptr<SceneSession>>& backgroundSession)
28 {
29     oss << std::endl
30         << "----------------------------------SessionDetailedInfo"
31         << "-----------------------------------" << std::endl;
32     if ((allSession.size() - backgroundSession.size()) < 0) {
33         oss << std::endl
34         << "sessionList Error" << std::endl;
35         return;
36     }
37     DumpSceneSessionParamList(oss);
38     uint32_t count = 0;
39     for (const auto& session : allSession) {
40         if (session == nullptr) {
41             continue;
42         }
43         if (count >= static_cast<uint32_t>(allSession.size() - backgroundSession.size())) {
44             break;
45         }
46         DumpSceneSessionParam(oss, session);
47         count++;
48     }
49 }
50 
DumpSceneSessionParamList(std::ostringstream & oss)51 void HidumpController::DumpSceneSessionParamList(std::ostringstream& oss)
52 {
53     DumpSessionParamList(oss);
54     DumpLayoutRectParamList(oss);
55     DumpLayoutParamList(oss);
56     DumpAbilityParamList(oss);
57     DumpKeyboardParamList(oss);
58     DumpSysconfigParamList(oss);
59     DumpLifeParamList(oss);
60     DumpDisplayParamList(oss);
61     DumpFocusParamList(oss);
62     DumpInputParamList(oss);
63     DumpLakeParamList(oss);
64     DumpCOMParamList(oss);
65     DumpVisibleParamList(oss);
66 }
67 
DumpSceneSessionParam(std::ostringstream & oss,sptr<SceneSession> session)68 void HidumpController::DumpSceneSessionParam(std::ostringstream& oss, sptr<SceneSession> session)
69 {
70     std::string sName = session->GetWindowNameAllType();
71     const std::string& windowName = sName.size() <= STRING_MAX_WIDTH ?
72         sName : sName.substr(0, STRING_MAX_WIDTH);
73     oss << "----------------------------------"
74         << windowName << "|"
75         << session->GetPersistentId()
76         << "----------------------------------" << std::endl;
77     sptr<WindowSessionProperty> property = session->GetSessionProperty();
78     if (property == nullptr) {
79         oss << "property is nullptr" << std::endl << std::endl;
80         return;
81     }
82     DumpSessionParam(oss, session, property);
83     DumpLayoutRectParam(oss, session, property);
84     DumpLayoutParam(oss, session, property);
85     DumpAbilityParam(oss, session, property);
86     DumpKeyboardParam(oss, session, property);
87     DumpSysconfigParam(oss, session);
88     DumpLifeParam(oss, session);
89     DumpDisplayParam(oss, session, property);
90     DumpFocusParam(oss, session, property);
91     DumpInputParam(oss, session, property);
92     DumpLakeParam(oss, session);
93     DumpCOMParam(oss, session);
94     DumpVisibleParam(oss, session);
95     oss << std::endl;
96 }
97 
DumpSessionParamList(std::ostringstream & oss)98 void HidumpController::DumpSessionParamList(std::ostringstream& oss)
99 {
100     oss << "Session:"
101         << std::endl
102         << "callingPid callingUid isSystem reuse lockedState time type isSystemCalling topmost"
103         << std::endl
104         << "isPrivacyMode isSystemPrivacyMode parentId flag parentPersistentId mode "
105         << "state windowModeSupportType animationFlag"
106         << std::endl
107         << "isFloatingAppType isNonSystemFloating forceHide isNeedUpdateMode "
108         << "meedDefaultAnimationFlag shouldHideNonSecure forceHideState"
109         << std::endl;
110 }
111 
DumpSessionParam(std::ostringstream & oss,sptr<SceneSession> session,sptr<WindowSessionProperty> property)112 void HidumpController::DumpSessionParam(
113     std::ostringstream& oss, sptr<SceneSession> session, sptr<WindowSessionProperty> property)
114 {
115     oss << "Session:"
116         << std::endl
117         << session->GetCallingPid() << "|"
118         << session->GetCallingUid() << "|"
119         << session->IsSystemSession() << "|"
120         << session->sessionInfo_.reuse << "|"
121         << session->sessionInfo_.lockedState << "|"
122         << session->sessionInfo_.time << "|"
123         << static_cast<uint32_t>(property->GetWindowType()) << "|"
124         << property->GetSystemCalling() << "|"
125         << property->IsTopmost() << "|"
126         << std::endl
127         << property->GetPrivacyMode() << "|"
128         << property->GetSystemPrivacyMode() << "|"
129         << property->GetParentId() << "|"
130         << property->GetWindowFlags() << "|"
131         << property->GetParentPersistentId() << "|"
132         << static_cast<uint32_t>(property->GetWindowMode()) << "|"
133         << static_cast<uint32_t>(property->GetWindowState()) << "|"
134         << property->GetWindowModeSupportType() << "|"
135         << property->GetAnimationFlag() << "|"
136         << std::endl
137         << property->IsFloatingWindowAppType() << "|"
138         << property->GetHideNonSystemFloatingWindows() << "|"
139         << property->GetForceHide() << "|"
140         << property->GetIsNeedUpdateWindowMode() << "|"
141         << session->IsNeedDefaultAnimation() << "|"
142         << session->shouldHideNonSecureWindows_.load() << "|"
143         << static_cast<uint32_t>(session->GetForceHideState()) << "|"
144         << std::endl;
145 }
146 
DumpLayoutRectParamList(std::ostringstream & oss)147 void HidumpController::DumpLayoutRectParamList(std::ostringstream& oss)
148 {
149     oss << "LayoutRect:"
150         << std::endl
151         << "bounds requestRect windowRect"
152         << std::endl
153         << "limits userLimits configLimitsVP"
154         << std::endl
155         << "trans"
156         << std::endl;
157 }
158 
DumpLayoutRectParam(std::ostringstream & oss,sptr<SceneSession> session,sptr<WindowSessionProperty> property)159 void HidumpController::DumpLayoutRectParam(
160     std::ostringstream& oss, sptr<SceneSession> session, sptr<WindowSessionProperty> property)
161 {
162     constexpr int precision = 1;
163     WSRectF bounds = session->GetBounds();
164     Rect requestRect = property->GetRequestRect();
165     Rect windowRect = property->GetWindowRect();
166     WindowLimits limits = property->GetWindowLimits();
167     WindowLimits userLimits = property->GetUserWindowLimits();
168     WindowLimits configLimitsVP = property->GetConfigWindowLimitsVP();
169     Transform trans = property->GetTransform();
170     oss << "LayoutRect:" << std::endl
171         << "[" << std::setprecision(precision) << bounds.posX_ << " "
172         << std::setprecision(precision) << bounds.posY_ << " "
173         << std::setprecision(precision) << bounds.width_ << " "
174         << std::setprecision(precision) << bounds.height_ << "]|"
175         << "[" << requestRect.posX_ << " " << requestRect.posY_ << " "
176         << requestRect.width_ << " " << requestRect.height_ << "]|"
177         << "[" << windowRect.posX_ << windowRect.posY_ << " "
178         << windowRect.width_ << " " << windowRect.height_ << "]|"
179         << std::endl
180         << "[" << limits.maxWidth_ << " " << limits.maxHeight_ << " "
181         << limits.minWidth_ << " " << limits.minHeight_ << " "
182         << std::setprecision(precision) << limits.maxRatio_ << " "
183         << std::setprecision(precision) << limits.minRatio_ << " "
184         << std::setprecision(precision) << limits.vpRatio_ << "]|"
185         << "[" << userLimits.maxWidth_ << " " << userLimits.maxHeight_ << " "
186         << userLimits.minWidth_ << " " << userLimits.minHeight_ << "]|"
187         << std::endl
188         << "[" << configLimitsVP.maxWidth_ << " " << configLimitsVP.maxHeight_ << " "
189         << configLimitsVP.minWidth_ << " " << configLimitsVP.minHeight_ << "]|"
190         << std::endl
191         << "[" << std::setprecision(precision) << trans.pivotX_ << " "
192         << std::setprecision(precision) << trans.pivotY_ << " "
193         << std::setprecision(precision) << trans.scaleX_ << " "
194         << std::setprecision(precision) << trans.scaleY_ << " "
195         << std::setprecision(precision) << trans.scaleZ_ << " "
196         << std::setprecision(precision) << trans.rotationX_ << " "
197         << std::setprecision(precision) << trans.rotationY_ << " "
198         << std::setprecision(precision) << trans.rotationZ_ << " "
199         << std::setprecision(precision) << trans.translateX_ << " "
200         << std::setprecision(precision) << trans.translateY_ << " "
201         << std::setprecision(precision) << trans.translateZ_ << "]|"
202         << std::endl;
203 }
204 
DumpLayoutParamList(std::ostringstream & oss)205 void HidumpController::DumpLayoutParamList(std::ostringstream& oss)
206 {
207     oss << "Layout:"
208         << std::endl
209         << "rotation reason zOrder aspectRatio floatingScale isDirty dragEnabled raiseEnabled"
210         << std::endl
211         << "requestedOrientation maximizeMode lastVpr isDecorEnable isLayoutFullScreen "
212         << "isDisplayStatusTemp customDecorHeight isTempShowWhenLocked"
213         << std::endl;
214 }
215 
DumpLayoutParam(std::ostringstream & oss,sptr<SceneSession> session,sptr<WindowSessionProperty> property)216 void HidumpController::DumpLayoutParam(
217     std::ostringstream& oss, sptr<SceneSession> session, sptr<WindowSessionProperty> property)
218 {
219     constexpr int precision = 1;
220     oss << "Layout:"
221         << std::endl
222         << static_cast<uint32_t>(session->GetRotation()) << "|"
223         << static_cast<uint32_t>(session->reason_) << "|"
224         << session->GetZOrder() << "|"
225         << std::setprecision(precision) << session->GetAspectRatio() << "|"
226         << std::setprecision(precision) << session->GetFloatingScale() << "|"
227         << session->IsDirtyWindow() << "|"
228         << session->IsDragAccessible() << "|"
229         << property->GetDragEnabled() << "|"
230         << property->GetRaiseEnabled() << "|"
231         << std::endl
232         << static_cast<uint32_t>(property->GetRequestedOrientation()) << "|"
233         << static_cast<uint32_t>(property->GetMaximizeMode()) << "|"
234         << std::setprecision(precision) << property->GetLastLimitsVpr() << "|"
235         << property->IsDecorEnable() << "|"
236         << property->IsLayoutFullScreen() << "|"
237         << session->GetIsDisplayStatusBarTemporarily() << "|"
238         << session->GetCustomDecorHeight() << "|"
239         << session->IsTemporarilyShowWhenLocked() << "|"
240         << std::endl;
241 }
242 
DumpAbilityParamList(std::ostringstream & oss)243 void HidumpController::DumpAbilityParamList(std::ostringstream& oss)
244 {
245     oss << "Ability:"
246         << std::endl
247         << "callingBundleName bundleName moduleName abilityName"
248         << std::endl
249         << "errorCode errorReason callerPersistentId callerBundleName callerAbilityName clientIdentityToken"
250         << std::endl
251         << "appIndex resultCode requestCode callState callingTokenId "
252         << "continueState uiAbilityId tokenState accessTokenId callingSessionId"
253         << std::endl;
254 }
255 
DumpAbilityParam(std::ostringstream & oss,sptr<SceneSession> session,sptr<WindowSessionProperty> property)256 void HidumpController::DumpAbilityParam(
257     std::ostringstream& oss, sptr<SceneSession> session, sptr<WindowSessionProperty> property)
258 {
259     oss << "Ability:"
260         << std::endl
261         << session->callingBundleName_ << "|"
262         << session->sessionInfo_.bundleName_ << "|"
263         << session->sessionInfo_.moduleName_ << "|"
264         << session->sessionInfo_.abilityName_ << "|"
265         << std::endl
266         << session->sessionInfo_.errorCode << "|"
267         << session->sessionInfo_.errorReason << "|"
268         << session->sessionInfo_.callerPersistentId_ << "|"
269         << session->sessionInfo_.callerBundleName_ << "|"
270         << session->sessionInfo_.callerAbilityName_ << "|"
271         << session->GetClientIdentityToken() << "|"
272         << std::endl
273         << session->sessionInfo_.appIndex_ << "|"
274         << session->sessionInfo_.resultCode << "|"
275         << session->sessionInfo_.requestCode << "|"
276         << session->sessionInfo_.callState_ << "|"
277         << session->sessionInfo_.callingTokenId_ << "|"
278         << static_cast<uint32_t>(session->sessionInfo_.continueState) << "|"
279         << session->sessionInfo_.uiAbilityId_ << "|"
280         << property->GetTokenState() << "|"
281         << property->GetAccessTokenId() << "|"
282         << property->GetCallingSessionId() << "|"
283         << std::endl;
284 }
285 
DumpKeyboardParamList(std::ostringstream & oss)286 void HidumpController::DumpKeyboardParamList(std::ostringstream& oss)
287 {
288     oss << "Keyboard:"
289         << std::endl
290         << "scbKeepKeyboardFlag isSystemInput sessionGravity gravitySizePercent "
291         << "keepKeyboardFlag textFieldPositionY textFieldHeight"
292         << std::endl
293         << "keyboardLayoutParams"
294         << std::endl
295         << "lastSafeRect oriPosYBeforeRaisedByKeyboard_"
296         << std::endl;
297 }
298 
DumpKeyboardParam(std::ostringstream & oss,sptr<SceneSession> session,sptr<WindowSessionProperty> property)299 void HidumpController::DumpKeyboardParam(
300     std::ostringstream& oss, sptr<SceneSession> session, sptr<WindowSessionProperty> property)
301 {
302     constexpr int precision = 1;
303     WSRect lastSafeRect = session->GetLastSafeRect();
304     int32_t oriPosYBeforeRaisedByKeyboard = session->GetOriPosYBeforeRaisedByKeyboard();
305     KeyboardLayoutParams keyboardLayoutParams = property->GetKeyboardLayoutParams();
306     Rect LandscapeKeyboardRect = keyboardLayoutParams.LandscapeKeyboardRect_;
307     Rect PortraitKeyboardRect = keyboardLayoutParams.PortraitKeyboardRect_;
308     Rect LandscapePanelRect = keyboardLayoutParams.LandscapePanelRect_;
309     Rect PortraitPanelRect = keyboardLayoutParams.PortraitPanelRect_;
310     oss << "Keyboard:"
311         << std::endl
312         << session->GetSCBKeepKeyboardFlag() << "|"
313         << session->IsSystemInput() << "|"
314         << property->GetKeepKeyboardFlag() << "|"
315         << std::setprecision(precision) << property->GetTextFieldPositionY() << "|"
316         << std::setprecision(precision) << property->GetTextFieldHeight() << "|"
317         << std::endl
318         << "{" << static_cast<uint32_t>(keyboardLayoutParams.gravity_) << "|"
319         << keyboardLayoutParams.landscapeAvoidHeight_ << "|"
320         << keyboardLayoutParams.portraitAvoidHeight_ << "|"
321         << "[" << LandscapeKeyboardRect.posX_ << " "
322         << LandscapeKeyboardRect.posY_ << " "
323         << LandscapeKeyboardRect.width_ << " "
324         << LandscapeKeyboardRect.height_ << "]|"
325         << "[" << PortraitKeyboardRect.posX_ << " "
326         << PortraitKeyboardRect.posY_ << " "
327         << PortraitKeyboardRect.width_ << " "
328         << PortraitKeyboardRect.height_ << "]|"
329         << "[" << LandscapePanelRect.posX_ << " "
330         << LandscapePanelRect.posY_ << " "
331         << LandscapePanelRect.width_ << " "
332         << LandscapePanelRect.height_ << "]|"
333         << "[" << PortraitPanelRect.posX_ << " "
334         << PortraitPanelRect.posY_ << " "
335         << PortraitPanelRect.width_ << " "
336         << PortraitPanelRect.height_ << "]}"
337         << std::endl
338         << "[" << lastSafeRect.posX_ << " "
339         << lastSafeRect.posY_ << " "
340         << lastSafeRect.width_ << " "
341         << lastSafeRect.height_ << "]|"
342         << "[" << oriPosYBeforeRaisedByKeyboard << "]|"
343         << std::endl;
344 }
345 
DumpSysconfigParamList(std::ostringstream & oss)346 void HidumpController::DumpSysconfigParamList(std::ostringstream& oss)
347 {
348     oss << "Sysconfig:"
349         << std::endl
350         << "isSystemDecorEnable decorWindowModeSupportType isStretchable defaultWindowMode "
351         << "keyboardAnimationConfig maxFloatingWindowSize windowUIType"
352         << std::endl
353         << "miniWidthOfMainWindow miniHeightOfMainWindow miniWidthOfSubWindow miniHeightOfSubWindow backgroundswitch "
354         << "freeMultiWindowEnable freeMultiWindowSupport supportTypeFloatWindow freeMultiWindowConfig_"
355         << std::endl;
356 }
357 
DumpSysconfigParam(std::ostringstream & oss,sptr<SceneSession> session)358 void HidumpController::DumpSysconfigParam(std::ostringstream& oss, sptr<SceneSession> session)
359 {
360     SystemSessionConfig systemConfig = session->GetSystemConfig();
361     FreeMultiWindowConfig freeMultiWindowConfig = systemConfig.freeMultiWindowConfig_;
362     oss << "Sysconfig:"
363         << std::endl
364         << systemConfig.isSystemDecorEnable_ << "|"
365         << systemConfig.decorWindowModeSupportType_ << "|"
366         << systemConfig.isStretchable_ << "|"
367         << static_cast<uint32_t>(systemConfig.defaultWindowMode_) << "|"
368         << "[" << systemConfig.animationIn_.curveType_ << " "
369         << systemConfig.animationIn_.duration_ << "]|"
370         << "[" << systemConfig.animationOut_.curveType_ << " "
371         << systemConfig.animationOut_.duration_ << "]|"
372         << systemConfig.maxFloatingWindowSize_ << "|"
373         << static_cast<uint8_t>(systemConfig.windowUIType_) << "|"
374         << std::endl
375         << systemConfig.miniWidthOfMainWindow_ << "|"
376         << systemConfig.miniHeightOfMainWindow_ << "|"
377         << systemConfig.miniWidthOfSubWindow_ << "|"
378         << systemConfig.miniHeightOfSubWindow_ << "|"
379         << systemConfig.miniWidthOfDialogWindow_ << "|"
380         << systemConfig.miniHeightOfDialogWindow_ << "|"
381         << systemConfig.backgroundswitch << "|"
382         << systemConfig.freeMultiWindowEnable_ << "|"
383         << systemConfig.freeMultiWindowSupport_ << "|"
384         << systemConfig.supportTypeFloatWindow_ << "|"
385         <<  "[" << freeMultiWindowConfig.isSystemDecorEnable_ << " "
386         << freeMultiWindowConfig.decorWindowModeSupportType_ << " "
387         << static_cast<uint32_t>(freeMultiWindowConfig.defaultWindowMode_) << " "
388         << freeMultiWindowConfig.maxMainFloatingWindowNumber_<< "]|"
389         << std::endl;
390 }
391 
DumpLifeParamList(std::ostringstream & oss)392 void HidumpController::DumpLifeParamList(std::ostringstream& oss)
393 {
394     oss << "Life: "
395         << "state isActive isSystemActive isVisible uiNodeId showRecent bufferAvailable "
396         << "foregroundInteractiveStatus isAttach isPersistentRecover"
397         << std::endl;
398 }
399 
DumpLifeParam(std::ostringstream & oss,sptr<SceneSession> session)400 void HidumpController::DumpLifeParam(std::ostringstream& oss, sptr<SceneSession> session)
401 {
402     oss << "Life: "
403         << static_cast<uint32_t>(session->GetSessionState()) << "|"
404         << session->IsActive() << "|"
405         << session->IsSystemActive() << "|"
406         << session->IsVisible() << "|"
407         << session->GetUINodeId() << "|"
408         << session->GetShowRecent() << "|"
409         << session->GetBufferAvailable() << "|"
410         << session->GetForegroundInteractiveStatus() << "|"
411         << session->GetAttachState() << "|"
412         << session->sessionInfo_.isPersistentRecover_ << "|"
413         << std::endl;
414 }
415 
DumpDisplayParamList(std::ostringstream & oss)416 void HidumpController::DumpDisplayParamList(std::ostringstream& oss)
417 {
418     oss << "Display: "
419         << "snapshotScale vpr screenId brightness displayId"
420         << std::endl;
421 }
422 
DumpDisplayParam(std::ostringstream & oss,sptr<SceneSession> session,sptr<WindowSessionProperty> property)423 void HidumpController::DumpDisplayParam(
424     std::ostringstream& oss, sptr<SceneSession> session, sptr<WindowSessionProperty> property)
425 {
426     constexpr int precision = 1;
427     oss << "Display: "
428         << std::setprecision(precision) << session->snapshotScale_ << "|"
429         << std::setprecision(precision) << session->vpr_ << "|"
430         << session->sessionInfo_.screenId_ << "|"
431         << std::setprecision(precision) << property->GetBrightness() << "|"
432         << property->GetDisplayId() << "|"
433         << std::endl;
434 }
435 
DumpFocusParamList(std::ostringstream & oss)436 void HidumpController::DumpFocusParamList(std::ostringstream& oss)
437 {
438     oss << "Focus: "
439         << "isFocused blockingFocus focusedOnShow focusable"
440         << std::endl;
441 }
442 
DumpFocusParam(std::ostringstream & oss,sptr<SceneSession> session,sptr<WindowSessionProperty> property)443 void HidumpController::DumpFocusParam(
444     std::ostringstream& oss, sptr<SceneSession> session, sptr<WindowSessionProperty> property)
445 {
446     oss << "Focus: "
447         << session->IsFocused() << "|"
448         << session->GetBlockingFocus() << "|"
449         << session->IsFocusedOnShow() << "|"
450         << property->GetFocusable() << "|"
451         << std::endl;
452 }
453 
DumpInputParamList(std::ostringstream & oss)454 void HidumpController::DumpInputParamList(std::ostringstream& oss)
455 {
456     oss << "Input: "
457         << "forceTouchable systemTouchable isSetPointerAreas touchable"
458         << std::endl;
459 }
460 
DumpInputParam(std::ostringstream & oss,sptr<SceneSession> session,sptr<WindowSessionProperty> property)461 void HidumpController::DumpInputParam(
462     std::ostringstream& oss, sptr<SceneSession> session, sptr<WindowSessionProperty> property)
463 {
464     oss << "Input: "
465         << session->forceTouchable_ << "|"
466         << session->systemTouchable_ << "|"
467         << session->sessionInfo_.isSetPointerAreas_ << "|"
468         << property->GetTouchable() << "|"
469         << std::endl;
470 }
471 
DumpLakeParamList(std::ostringstream & oss)472 void HidumpController::DumpLakeParamList(std::ostringstream& oss)
473 {
474     oss << "Lake: "
475         << "sessionAffinity collaboratorType"
476         << std::endl;
477 }
478 
DumpLakeParam(std::ostringstream & oss,sptr<SceneSession> session)479 void HidumpController::DumpLakeParam(std::ostringstream& oss, sptr<SceneSession> session)
480 {
481     oss << "Lake: "
482         << session->sessionInfo_.sessionAffinity << "|"
483         << session->sessionInfo_.collaboratorType_ << "|"
484         << std::endl;
485 }
486 
DumpCOMParamList(std::ostringstream & oss)487 void HidumpController::DumpCOMParamList(std::ostringstream& oss)
488 {
489     oss << "COM: "
490         << "isRSDrawing"
491         << std::endl;
492 }
493 
DumpCOMParam(std::ostringstream & oss,sptr<SceneSession> session)494 void HidumpController::DumpCOMParam(std::ostringstream& oss, sptr<SceneSession> session)
495 {
496     oss << "COM: "
497         << session->GetDrawingContentState() << "|"
498         << std::endl;
499 }
500 
DumpVisibleParamList(std::ostringstream & oss)501 void HidumpController::DumpVisibleParamList(std::ostringstream& oss)
502 {
503     oss << "Visible: "
504         << "isRSVisible visibilityState"
505         << std::endl;
506 }
507 
DumpVisibleParam(std::ostringstream & oss,sptr<SceneSession> session)508 void HidumpController::DumpVisibleParam(std::ostringstream& oss, sptr<SceneSession> session)
509 {
510     oss << "Visible: "
511         << session->GetRSVisible() << "|"
512         << static_cast<uint32_t>(session->GetVisibilityState()) << "|"
513         << std::endl;
514 }
515 }
516 } // namespace OHOS::Rosen
517