1 /* 2 * Copyright (c) 2022-2023 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 #ifndef RESSCHED_INTERFACES_INNERKITS_RESSCHED_CLIENT_INCLUDE_RES_TYPE_H 17 #define RESSCHED_INTERFACES_INNERKITS_RESSCHED_CLIENT_INCLUDE_RES_TYPE_H 18 19 #include <cstdint> 20 #include <map> 21 #include <string> 22 23 namespace OHOS { 24 namespace ResourceSchedule { 25 namespace ResType { 26 enum : uint32_t { 27 // screen status, value 0 means screen off, value 1 means screen on, else are invalid. 28 RES_TYPE_SCREEN_STATUS = 0, 29 // app state change event; value means app state; payload:pid,uid,bundleName 30 RES_TYPE_APP_STATE_CHANGE = 1, 31 // ability state change event; value means ability state; payload:pid,uid,bundleName 32 RES_TYPE_ABILITY_STATE_CHANGE = 2, 33 // extension state change event; value means extension state; payload:pid,uid,bundleName 34 RES_TYPE_EXTENSION_STATE_CHANGE = 3, 35 // process state event; value 0:created, 1:died; payload:pid,uid,bundleName 36 RES_TYPE_PROCESS_STATE_CHANGE = 4, 37 // window focused event; value 0:focused, 1:unfocused; payload:pid,uid,bundleName,windowId,windowType,displayId 38 RES_TYPE_WINDOW_FOCUS = 5, 39 // transient task event; value 0:start, 1:finish; payload:pid,uid,bundleName 40 RES_TYPE_TRANSIENT_TASK = 6, 41 // continuous task event; value 0:start, 1:finish; payload:pid,uid,abilityName 42 RES_TYPE_CONTINUOUS_TASK = 7, 43 /* cgroup change event; 44 * value 0:set thread group sched; 1:set thread sched 45 * payload: pid,uid,name,oldGroup,newGroup 46 */ 47 RES_TYPE_CGROUP_ADJUSTER = 8, 48 // ace gestures click_recognizer; value 1 touch event, value 2 click event 49 RES_TYPE_CLICK_RECOGNIZE = 9, 50 // ace pipeline_context.cpp::PushPage(); value 0: push_page_start, 1: push_page_complete 51 RES_TYPE_PUSH_PAGE = 10, 52 // ace slide event recognize; value 1: list fling on; 0: list fling off; 3: slide normal begin, 4: slide normal end. 53 RES_TYPE_SLIDE_RECOGNIZE = 11, 54 // window visibility change, value 1: isVisible, 0: not isVisible, payload:pid,uid,windowId,windowType 55 RES_TYPE_WINDOW_VISIBILITY_CHANGE = 12, 56 // report mmi_service service; value mmi_service tid; payload:uid,pid 57 RES_TYPE_REPORT_MMI_PROCESS = 13, 58 // report render thread; value render tid; payload:uid,pid 59 RES_TYPE_REPORT_RENDER_THREAD = 14, 60 // app install and uninstall event; value 0: uninstall, 1: install; payload:uid,bundleName 61 RES_TYPE_APP_INSTALL_UNINSTALL = 15, 62 // net connect state; value 0:unknow, 1:idle, 2:connecting, 3:connected, 4:disconnecting, 5:disconnected 63 RES_TYPE_WIFI_CONNECT_STATE_CHANGE = 16, 64 // user switch, value means the userId which switch to. 65 RES_TYPE_USER_SWITCH = 17, 66 // user remove, value means the userId which is removed. 67 RES_TYPE_USER_REMOVE = 18, 68 // screen unlock, value 0 means unlock, value 1 means locked. 69 RES_TYPE_SCREEN_LOCK = 19, 70 // bluetooth a2dp connect state, value 1: connected, 3: disconnected. 71 RES_TYPE_BLUETOOTH_A2DP_CONNECT_STATE_CHANGE = 20, 72 // network latency request, value 0: low latency, 1: normal latency, payload: identity 73 RES_TYPE_NETWORK_LATENCY_REQUEST = 21, 74 // call state update; value 0 : active, value 1 : holding, value 2 : dialing, value 3 : alerting, 75 // value 4 : incoming, value 5 : waiting, value 6 : disconnected, value 7 : disconnecting, value 8 : idle 76 RES_TYPE_CALL_STATE_UPDATE = 22, 77 // Other process modify the thread Qos, value for client name id, payload: tid : qos , clientpid, pid 78 RES_TYPE_THREAD_QOS_CHANGE = 23, 79 // audio render state change; value -1 : RENDERER_INVALID, value 0 : RENDERER_NEW, value 1 : RENDERER_PREPARED, 80 // value 2 : RENDERER_RUNNING, value 3 : RENDERER_STOPPED, value 4 : RENDERER_RELEASED, value 5 : RENDERER_PAUSED 81 // payload:uid,sessionId 82 RES_TYPE_AUDIO_RENDER_STATE_CHANGE = 24, 83 // audio ring mode change; value 0 : RINGER_MODE_NORMAL, value 1 : RINGER_MODE_SILENT 84 // value 2 : RINGER_MODE_VIBRATE 85 RES_TYPE_AUDIO_RING_MODE_CHANGE = 25, 86 // audio volume key change; value volume, payload volumeType eg. 87 // type -1 : STREAM_DEFAULT, type 0 : STREAM_VOICE_CALL, type 1 : STREAM_MUSIC, type 2 : STREAM_RING, 88 // type 3 : STREAM_MEDIA, type 4 : STREAM_VOICE_ASSISTANT, type 5 : STREAM_SYSTEM, type 6 : STREAM_ALARM, 89 // type 7 : STREAM_NOTIFICATION, type 8 : STREAM_BLUETOOTH_SCO, type 9 : STREAM_ENFORCED_AUDIBLE, 90 // type 10 : STREAM_DTMF, type 11 : STREAM_TTS, type 12 : STREAM_ACCESSIBILITY, type 13 : STREAM_RECORDING 91 RES_TYPE_AUDIO_VOLUME_KEY_CHANGE = 26, 92 // app_ability_start_event : a very early app startup stub, when the app process has not been pulled up. 93 // stub position : ability_runtime ability_manager_service.cpp::StartAbilityInner(). 94 // specifically : ability type is PAGE and ability launchMode is not SPECIFIED. 95 RES_TYPE_APP_ABILITY_START = 27, 96 // ace pipeline_context.cpp::PopPage(); value means nothing 97 RES_TYPE_POP_PAGE = 28, 98 // ace web gesture event recognize; value means nothing 99 RES_TYPE_WEB_GESTURE = 29, 100 // info from msdp, means device still state change(enter or exit) 101 RES_TYPE_DEVICE_STILL_STATE_CHANGE = 30, 102 // window resize event; value 0: resize window , value 1: stop resizing window. 103 RES_TYPE_RESIZE_WINDOW = 31, 104 // window move event; value 0: move window, value 1: stop moving window. 105 RES_TYPE_MOVE_WINDOW = 32, 106 // animation transition event; value 0: animation begin, value 1: animation end. 107 RES_TYPE_SHOW_REMOTE_ANIMATION = 33, 108 // load page; value 0: load page begin, value 1: load page end. 109 RES_TYPE_LOAD_PAGE = 34, 110 // drag status bar event; value 0: start drag, value 1: stop drag. 111 RES_TYPE_DRAG_STATUS_BAR = 37, 112 // report SceneBoard service, value pid; payload:uid, main_tid, bundleName 113 RES_TYPE_REPORT_SCENE_BOARD = 38, 114 // report key thread for render, value 0 add key Thread, 1 remove key thread, payload: uid, pid, tid, role 115 RES_TYPE_REPORT_KEY_THREAD = 39, 116 // report window state, value 0 add 1 remove, payload: uid, pid, windowId, serialNum state: 0 active 1 inactive 117 RES_TYPE_REPORT_WINDOW_STATE = 40, 118 // report scene sched, value 0 scene on 1 scene off, payload: uid, sceneId 119 RES_TYPE_REPORT_SCENE_SCHED = 41, 120 }; 121 122 inline const std::map<uint32_t, std::string> resTypeToStr = { 123 { RES_TYPE_SCREEN_STATUS, "SCREEN_STATUS" }, 124 { RES_TYPE_APP_STATE_CHANGE, "APP_STATE_CHANGE" }, 125 { RES_TYPE_ABILITY_STATE_CHANGE, "ABILITY_STATE_CHANGE" }, 126 { RES_TYPE_EXTENSION_STATE_CHANGE, "EXTENSION_STATE_CHANGE" }, 127 { RES_TYPE_PROCESS_STATE_CHANGE, "PROCESS_STATE_CHANGE" }, 128 { RES_TYPE_WINDOW_FOCUS, "WINDOW_FOCUS" }, 129 { RES_TYPE_TRANSIENT_TASK, "TRANSIENT_TASK" }, 130 { RES_TYPE_CONTINUOUS_TASK, "CONTINUOUS_TASK" }, 131 { RES_TYPE_CGROUP_ADJUSTER, "CGROUP_ADJUSTER" }, 132 { RES_TYPE_CLICK_RECOGNIZE, "CLICK_RECOGNIZE" }, 133 { RES_TYPE_PUSH_PAGE, "PUSH_PAGE" }, 134 { RES_TYPE_SLIDE_RECOGNIZE, "SLIDE_RECOGNIZE" }, 135 { RES_TYPE_WINDOW_VISIBILITY_CHANGE, "WINDOW_VISIBILITY_CHANGE" }, 136 { RES_TYPE_REPORT_MMI_PROCESS, "REPORT_MMI_PROCESS" }, 137 { RES_TYPE_REPORT_RENDER_THREAD, "REPORT_RENDER_THREAD" }, 138 { RES_TYPE_APP_INSTALL_UNINSTALL, "APP_INSTALL_UNINSTALL" }, 139 { RES_TYPE_WIFI_CONNECT_STATE_CHANGE, "WIFI_CONNECT_STATE_CHANGE" }, 140 { RES_TYPE_USER_SWITCH, "USER_SWITCH" }, 141 { RES_TYPE_USER_REMOVE, "USER_REMOVE" }, 142 { RES_TYPE_SCREEN_LOCK, "SCREEN_LOCK" }, 143 { RES_TYPE_BLUETOOTH_A2DP_CONNECT_STATE_CHANGE, "BLUETOOTH_A2DP_CONNECT_STATE_CHANGE" }, 144 { RES_TYPE_NETWORK_LATENCY_REQUEST, "NETWORK_LATENCY_REQUEST" }, 145 { RES_TYPE_CALL_STATE_UPDATE, "CALL_STATE_UPDATE" }, 146 { RES_TYPE_THREAD_QOS_CHANGE, "THREAD_QOS_CHANGE" }, 147 { RES_TYPE_AUDIO_RENDER_STATE_CHANGE, "AUDIO_RENDER_STATE_CHANGE" }, 148 { RES_TYPE_AUDIO_RING_MODE_CHANGE, "AUDIO_RING_MODE_CHANGE" }, 149 { RES_TYPE_AUDIO_VOLUME_KEY_CHANGE, "AUDIO_VOLUME_KEY_CHANGE" }, 150 { RES_TYPE_APP_ABILITY_START, "APP_ABILITY_START" }, 151 { RES_TYPE_POP_PAGE, "POP_PAGE" }, 152 { RES_TYPE_WEB_GESTURE, "WEB_GESTURE" }, 153 { RES_TYPE_DEVICE_STILL_STATE_CHANGE, "DEVICE_STILL_STATE_CHANGE" }, 154 { RES_TYPE_RESIZE_WINDOW, "RES_TYPE_RESIZE_WINDOW" }, 155 { RES_TYPE_MOVE_WINDOW, "RES_TYPE_MOVE_WINDOW" }, 156 { RES_TYPE_SHOW_REMOTE_ANIMATION, "RES_TYPE_SHOW_REMOTE_ANIMATION" }, 157 { RES_TYPE_LOAD_PAGE, "RES_TYPE_LOAD_PAGE" }, 158 { RES_TYPE_DRAG_STATUS_BAR, "RES_TYPE_DRAG_STATUS_BAR" }, 159 { RES_TYPE_REPORT_SCENE_BOARD, "RES_TYPE_REPORT_SCENE_BOARD" }, 160 { RES_TYPE_REPORT_KEY_THREAD, "RES_TYPE_REPORT_KEY_THREAD" }, 161 { RES_TYPE_REPORT_WINDOW_STATE, "RES_TYPE_REPORT_WINDOW_STATE" }, 162 { RES_TYPE_REPORT_SCENE_SCHED, "RES_TYPE_REPORT_SCENE_SCHED" } 163 }; 164 165 /** 166 * @brief Screen status 167 */ 168 enum ScreenStatus : int64_t { 169 SCREEN_OFF = 0, 170 SCREEN_ON = 1, 171 }; 172 173 /** 174 * @brief App install status 175 */ 176 enum AppInstallStatus : int64_t { 177 APP_UNINSTALL = 0, 178 APP_INSTALL = 1, 179 APP_CHANGED = 2, 180 APP_REPLACED = 3, 181 }; 182 183 /** 184 * @brief Screen lock status 185 */ 186 enum ScreenLockStatus : int64_t { 187 SCREEN_UNLOCK = 0, 188 SCREEN_LOCK = 1, 189 }; 190 191 /** 192 * @brief Process status 193 */ 194 enum ProcessStatus : int64_t { 195 PROCESS_CREATED = 0, 196 PROCESS_DIED = 1, 197 }; 198 199 /** 200 * @brief Transient task status 201 */ 202 enum TransientTaskStatus : int64_t { 203 TRANSIENT_TASK_START = 0, 204 TRANSIENT_TASK_END = 1, 205 }; 206 207 /** 208 * @brief Continuous task status 209 */ 210 enum ContinuousTaskStatus : int64_t { 211 CONTINUOUS_TASK_START = 0, 212 CONTINUOUS_TASK_END = 1, 213 }; 214 215 /** 216 * @brief Window focus status 217 */ 218 enum WindowFocusStatus : int64_t { 219 WINDOW_FOCUS = 0, 220 WINDOW_UNFOCUS = 1, 221 }; 222 223 /** 224 * @brief Window visibility status 225 */ 226 enum WindowVisibilityStatus : int64_t { 227 INVISIBLE = 0, 228 VISIBLE = 1, 229 }; 230 231 /** 232 * @brief Slide event status 233 */ 234 enum SlideEventStatus : int64_t { 235 SLIDE_EVENT_OFF = 0, 236 SLIDE_EVENT_ON = 1, 237 SLIDE_NORMAL_BEGIN = 3, 238 SLIDE_NORMAL_END = 4, 239 }; 240 241 /** 242 * @brief Click event type 243 */ 244 enum ClickEventType : int64_t { 245 INVALID_EVENT = 0, 246 TOUCH_EVENT = 1, 247 CLICK_EVENT = 2, 248 }; 249 250 /** 251 * @brief PushPage event type 252 */ 253 enum PushPageType : int64_t { 254 PUSH_PAGE_START = 0, 255 PUSH_PAGE_COMPLETE = 1, 256 }; 257 258 /** 259 * @brief App Start type 260 */ 261 enum AppStartType : int64_t { 262 APP_WARM_START = 0, 263 APP_COLD_START = 1, 264 }; 265 266 /** 267 * @brief Window resize type 268 */ 269 enum WindowResizeType : int64_t { 270 WINDOW_RESIZING = 0, 271 WINDOW_RESIZE_STOP = 1, 272 }; 273 274 /** 275 * @brief Window move type 276 */ 277 enum WindowMoveType : int64_t { 278 WINDOW_MOVING = 0, 279 WINDOW_MOVE_STOP = 1, 280 }; 281 282 /** 283 * @brief Animation Change Status 284 */ 285 enum ShowRemoteAnimationStatus : int64_t { 286 ANIMATION_BEGIN = 0, 287 ANIMATION_END = 1, 288 }; 289 290 /** 291 * @brief LoadPage event type 292 */ 293 enum LoadPageType : int64_t { 294 LOAD_PAGE_START = 0, 295 LOAD_PAGE_COMPLETE = 1, 296 }; 297 298 /** 299 * @brief Animation change status 300 */ 301 enum StatusBarDragStatus : int64_t { 302 DRAG_START = 0, 303 DRAG_END = 1, 304 }; 305 306 /** 307 * @brief Report change status 308 */ 309 enum ReportChangeStatus : int64_t { 310 CREATE = 0, 311 REMOVE = 1, 312 }; 313 314 /** 315 * @brief Window State 316 */ 317 enum WindowStates : int64_t { 318 ACTIVE = 0, 319 INACTIVE = 1, 320 }; 321 322 /** 323 * @brief Thread role 324 */ 325 enum ThreadRole : int64_t { 326 USER_INTERACT = 0, 327 NORMAL_DISPLAY = 1, 328 IMPORTANT_DISPLAY = 2, 329 NORMAL_AUDIO = 3, 330 IMPORTANT_AUDIO = 4, 331 }; 332 333 /** 334 * @brief scene control 335 */ 336 enum SceneControl : int64_t { 337 SCENE_IN = 0, 338 SCENE_OUT = 1, 339 }; 340 341 /** 342 * @brief web scene 343 */ 344 enum WebScene : int64_t { 345 WEB_SCENE_LOAD_URL = 1001, 346 WEB_SCENE_CLICK = 1002, 347 WEB_SCENE_SLIDE = 1003, 348 WEB_SCENE_RESIZE = 1004, 349 WEB_SCENE_VISIBLE = 1005, 350 }; 351 } // namespace ResType 352 } // namespace ResourceSchedule 353 } // namespace OHOS 354 355 #endif // RESSCHED_INTERFACES_INNERKITS_RESSCHED_CLIENT_INCLUDE_RES_TYPE_H 356