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 16 #ifndef ACCESSIBILITY_EVENT_INFO_H 17 #define ACCESSIBILITY_EVENT_INFO_H 18 19 #include <cstdint> 20 #include <map> 21 #include <string> 22 #include <vector> 23 24 #include "accessibility_element_info.h" 25 #include "parcel.h" 26 27 namespace OHOS { 28 namespace Accessibility { 29 enum WindowUpdateType : int { 30 WINDOW_UPDATE_INVALID = 0, 31 WINDOW_UPDATE_ACCESSIBILITY_FOCUSED = 0x00000001, 32 WINDOW_UPDATE_FOCUSED = 0x00000002, 33 WINDOW_UPDATE_ACTIVE = 0x00000004, 34 WINDOW_UPDATE_ADDED = 0x00000008, 35 WINDOW_UPDATE_REMOVED = 0x00000010, 36 WINDOW_UPDATE_BOUNDS = 0x00000020, 37 WINDOW_UPDATE_TITLE = 0x00000040, 38 WINDOW_UPDATE_LAYER = 0x00000080, 39 WINDOW_UPDATE_PARENT = 0x00000100, 40 WINDOW_UPDATE_CHILDREN = 0x00000200, 41 WINDOW_UPDATE_PIP = 0x00000400, 42 }; 43 44 enum WindowsContentChangeTypes : int { 45 CONTENT_CHANGE_TYPE_INVALID = 0, 46 CONTENT_CHANGE_TYPE_SUBTREE = 0x00000001, 47 CONTENT_CHANGE_TYPE_TEXT = 0x00000002, 48 CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION = 0x00000004, 49 }; 50 51 enum EventType : uint32_t { 52 TYPE_VIEW_INVALID = 0, 53 TYPE_VIEW_CLICKED_EVENT = 0x00000001, 54 TYPE_VIEW_LONG_CLICKED_EVENT = 0x00000002, 55 TYPE_VIEW_SELECTED_EVENT = 0x00000004, 56 TYPE_VIEW_FOCUSED_EVENT = 0x00000008, 57 TYPE_VIEW_TEXT_UPDATE_EVENT = 0x00000010, 58 TYPE_PAGE_STATE_UPDATE = 0x00000020, 59 TYPE_NOTIFICATION_UPDATE_EVENT = 0x00000040, 60 TYPE_VIEW_HOVER_ENTER_EVENT = 0x00000080, 61 TYPE_VIEW_HOVER_EXIT_EVENT = 0x00000100, 62 TYPE_TOUCH_GUIDE_GESTURE_BEGIN = 0x00000200, 63 TYPE_TOUCH_GUIDE_GESTURE_END = 0x00000400, 64 TYPE_PAGE_CONTENT_UPDATE = 0x00000800, 65 TYPE_VIEW_SCROLLED_EVENT = 0x000001000, 66 TYPE_VIEW_TEXT_SELECTION_UPDATE_EVENT = 0x000002000, 67 TYPE_PUBLIC_NOTICE_EVENT = 0x00004000, 68 TYPE_VIEW_ACCESSIBILITY_FOCUSED_EVENT = 0x00008000, 69 TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED_EVENT = 0x00010000, 70 TYPE_VIEW_TEXT_MOVE_UNIT_EVENT = 0x00020000, 71 TYPE_TOUCH_GUIDE_BEGIN = 0x00040000, 72 TYPE_TOUCH_GUIDE_END = 0x00080000, 73 TYPE_TOUCH_BEGIN = 0x00100000, 74 TYPE_TOUCH_END = 0x00200000, 75 TYPE_WINDOW_UPDATE = 0x00400000, 76 TYPE_INTERRUPT_EVENT = 0x00800000, 77 TYPE_GESTURE_EVENT = 0x01000000, 78 TYPE_MAX_NUM = 0x02000000, 79 TYPES_ALL_MASK = 0xFFFFFFFF, 80 }; 81 82 enum NotificationCategory : int { 83 CATEGORY_INVALID = 0, 84 CATEGORY_CALL = 0x00000001, 85 CATEGORY_MSG = 0x00000002, 86 CATEGORY_EMAIL = 0x00000004, 87 CATEGORY_EVENT = 0x00000008, 88 CATEGORY_PROMO = 0x00000010, 89 CATEGORY_ALARM = 0x00000020, 90 CATEGORY_PROGRESS = 0x00000040, 91 CATEGORY_SOCIAL = 0x00000080, 92 CATEGORY_ERR = 0x00000100, 93 CATEGORY_TRANSPORT = 0x00000200, 94 CATEGORY_SYS = 0x00000400, 95 CATEGORY_SERVICE = 0x00000800, 96 CATEGORY_OTHERS = 0x00001000, 97 }; 98 99 // The types of swipe gestures which are performed on the touch screen. 100 enum GestureType : uint32_t { 101 GESTURE_INVALID = 0, 102 GESTURE_SWIPE_UP = 0x0001, 103 GESTURE_SWIPE_DOWN = 0x0002, 104 GESTURE_SWIPE_LEFT = 0x0003, 105 GESTURE_SWIPE_RIGHT = 0x0004, 106 GESTURE_SWIPE_LEFT_THEN_RIGHT = 0x0005, 107 GESTURE_SWIPE_RIGHT_THEN_LEFT = 0x0006, 108 GESTURE_SWIPE_UP_THEN_DOWN = 0x0007, 109 GESTURE_SWIPE_DOWN_THEN_UP = 0x0008, 110 GESTURE_SWIPE_LEFT_THEN_UP = 0x0009, 111 GESTURE_SWIPE_LEFT_THEN_DOWN = 0x000A, 112 GESTURE_SWIPE_RIGHT_THEN_UP = 0x000B, 113 GESTURE_SWIPE_RIGHT_THEN_DOWN = 0x000C, 114 GESTURE_SWIPE_UP_THEN_LEFT = 0x000D, 115 GESTURE_SWIPE_UP_THEN_RIGHT = 0x000E, 116 GESTURE_SWIPE_DOWN_THEN_LEFT = 0x000F, 117 GESTURE_SWIPE_DOWN_THEN_RIGHT = 0x0010, 118 119 GESTURE_TAP = 0x0011, 120 GESTURE_DOUBLETAP = 0x0012, 121 GESTURE_DOUBLETAP_HOLD = 0x0013, 122 GESTURE_DRAG = 0x0014, 123 GESTURE_SWIPE_SLOWLY = 0x0015, 124 GESTURE_TRIPLETAP = 0x0016, 125 GESTURE_SCALE = 0x0017, 126 GESTURE_SCROLL = 0x0018, 127 GESTURE_GESTURE_ALL = 0xFFFFFFFF 128 }; 129 130 /* 131 * The class supply the content information about the event. 132 * The SetXxx() API is almost supplied to ACE to set the information. 133 * Parts of SetXxx() API is called by AAMS, such as: SetConnectId(). 134 * The GetXxx() API is almost supplied to AA to get the information. 135 */ 136 class AccessibilityMemo : public Parcelable { 137 public: 138 /** 139 * @brief Construct 140 * @param 141 * @return 142 * @since 3 143 * @sysCap Accessibility 144 */ AccessibilityMemo()145 AccessibilityMemo() {} 146 147 /** 148 * @brief AAMS called to set the id of the IAccessibleAbilityChannel 149 * @param channelId The id of the IAccessibleAbilityChannel 150 * @return 151 * @since 3 152 * @sysCap Accessibility 153 */ 154 void SetChannelId(const int channelId); 155 156 /** 157 * @brief Get the id of the IAccessibleAbilityChannel 158 * @param - 159 * @return The id of the IAccessibleAbilityChannel 160 * @since 3 161 * @sysCap Accessibility 162 */ 163 int GetChannelId() const; 164 165 /** 166 * @brief Set the component of the event related. 167 * @param componentId The id of component. 168 * @return - 169 * @since 3 170 * @sysCap Accessibility 171 */ 172 void SetSource(const int componentId); 173 174 /** 175 * @brief Get the node information related with the event 176 * @param - 177 * @return The node information related with the event 178 * @since 3 179 * @sysCap Accessibility 180 */ 181 bool GetSource(AccessibilityElementInfo &elementInfo) const; 182 183 /** 184 * @brief Gets the view(component) ID associated with the accessibility event. 185 * @param - 186 * @return The view(component) ID associated with the accessibility event. 187 * @since 3 188 * @sysCap Accessibility 189 */ 190 int GetViewId() const; 191 192 /** 193 * @brief Gets the accessibility ID of the component. 194 * @param - 195 * @return The accessibility ID of the component. 196 * @since 3 197 * @sysCap Accessibility 198 */ 199 int GetAccessibilityId() const; 200 201 /** 202 * @brief Set the window ID associated with the accessibility event. 203 * @param windowId The window ID associated with the accessibility event. 204 * @return - 205 * @since 3 206 * @sysCap Accessibility 207 */ 208 void SetWindowId(const int windowId); 209 210 /** 211 * @brief Gets the window ID associated with the accessibility event. 212 * @param - 213 * @return The window ID associated with the accessibility event. 214 * @since 3 215 * @sysCap Accessibility 216 */ 217 218 int GetWindowId() const; 219 220 /** 221 * @brief Gets the current index of listed items or text position associated with the current event. 222 * @param - 223 * @return The current index of listed items or text position associated with the current event. 224 * @since 3 225 * @sysCap Accessibility 226 */ 227 int GetCurrentIndex() const; 228 229 /** 230 * @brief Sets the current index of listed items or text position associated with the current event. 231 * @param index The current index of listed items or text position associated with the current event. 232 * @return 233 * @since 3 234 * @sysCap Accessibility 235 */ 236 void SetCurrentIndex(const int index); 237 238 /** 239 * @brief Gets the start index of listed items on the screen. 240 * @param - 241 * @return The start index of listed items. It is unique value for the listed items. 242 * @since 3 243 * @sysCap Accessibility 244 */ 245 int GetBeginIndex() const; 246 247 /** 248 * @brief Sets the start index of listed items on the screen. 249 * @param index The start index of listed items. It is unique value for the listed items. 250 * @return 251 * @since 3 252 * @sysCap Accessibility 253 */ 254 void SetBeginIndex(const int index); 255 256 /** 257 * @brief Gets the number items on the screen. 258 * @param - 259 * @return The number of items. 260 * @since 3 261 * @sysCap Accessibility 262 */ 263 int GetItemCounts() const; 264 265 /** 266 * @brief Sets the number items on the screen. 267 * @param ItemCounts The number of items. 268 * @return 269 * @since 3 270 * @sysCap Accessibility 271 */ 272 void SetItemCounts(const int itemCounts); 273 274 /** 275 * @brief Gets the end index of listed items on the screen. 276 * @param - 277 * @return The end index of listed items on the screen. 278 * @since 3 279 * @sysCap Accessibility 280 */ 281 int GetEndIndex() const; 282 283 /** 284 * @brief Sets the end index of listed items on the screen. 285 * @param index The end index of listed items on the screen. 286 * @return - 287 * @since 3 288 * @sysCap Accessibility 289 */ 290 void SetEndIndex(const int index); 291 292 /** 293 * @brief Gets the class(component type) name. 294 * @param - 295 * @return The class(component type) name. 296 * @since 3 297 * @sysCap Accessibility 298 */ 299 std::string GetComponentType() const; 300 301 /** 302 * @brief Sets the class(component type) name. 303 * @param className The class(component type) name. 304 * @return - 305 * @since 3 306 * @sysCap Accessibility 307 */ 308 void SetComponentType(const std::string &className); 309 310 /** 311 * @brief Gets the before text changed of the component. 312 * @param - 313 * @return The before text changed of the component. 314 * @since 3 315 * @sysCap Accessibility 316 */ 317 std::string GetBeforeText() const; 318 319 /** 320 * @brief Set the before text changed of the component. 321 * @param beforeText The before text changed of the component. 322 * @return 323 * @since 3 324 * @sysCap Accessibility 325 */ 326 void SetBeforeText(const std::string &beforeText); 327 328 /** 329 * @brief Adds an text to the content list. 330 * @param content Indicates the text to add. 331 * @return - 332 * @since 3 333 * @sysCap Accessibility 334 */ 335 void AddContent(const std::string &content); 336 337 /** 338 * @brief Gets the content list in the event. 339 * @param - 340 * @return Returns the content list in the event. 341 * @since 3 342 * @sysCap Accessibility 343 */ 344 std::vector<std::string> GetContentList() const; 345 346 /** 347 * @brief Gets the last content of the component(The text of changed after). 348 * @param - 349 * @return The last content of the component(The text of changed after). 350 * @since 3 351 * @sysCap Accessibility 352 */ 353 std::string GetLatestContent() const; 354 355 /** 356 * @brief Sets the last content of the component. 357 * @param content Indicates the last content to set for the component. 358 * @return - 359 * @since 3 360 * @sysCap Accessibility 361 */ 362 void SetLatestContent(const std::string &content); 363 364 /** 365 * @brief Gets the accessibility event description. 366 * @param - 367 * @return The accessibility event description 368 * @since 3 369 * @sysCap Accessibility 370 */ 371 std::string GetDescription() const; 372 373 /** 374 * @brief Sets the accessibility event description. 375 * @param contentDescription The accessibility event description 376 * @return - 377 * @since 3 378 * @sysCap Accessibility 379 */ 380 void SetDescription(const std::string &contentDescription); 381 382 /* 383 * @brief Used for IPC communication 384 * @param parcel 385 * @return rue: Read parcel data successfully; ohterwise is not. 386 * @since 3 387 * @sysCap Accessibility 388 */ 389 bool ReadFromParcel(Parcel &parcel); 390 391 /** 392 * @brief Used for IPC communication 393 * @param parcel 394 * @return true: Write parcel data successfully; ohterwise is not. 395 * @since 3 396 * @sysCap Accessibility 397 */ 398 virtual bool Marshalling(Parcel &parcel) const override; 399 400 /** 401 * @brief 402 * @param parcel Used for IPC communication 403 * @return Read AccessibilityMemo from parcel data 404 * @since 3 405 * @sysCap Accessibility 406 */ 407 static AccessibilityMemo *Unmarshalling(Parcel &parcel); 408 409 private: 410 int channelId_ = 0; 411 int componentId_ = 0; 412 int windowId_ = 0; 413 int currentIndex_ = 0; 414 int beginIndex_ = 0; 415 int endIndex_ = 0; 416 std::vector<std::string> contents_ {}; 417 std::string componentType_ = ""; 418 std::string description_ = ""; 419 std::string beforeText_ = ""; 420 std::string latestConent_ = ""; 421 int elementId_ = 0; 422 int itemCounts_ = 0; 423 }; 424 425 /* 426 * The class define the event types and supply the api to 427 * get/set the property of event. and it triggerred by UI 428 * changed and sent to AA. According to the event property, 429 * AA can get event properties, such as: action triggerred 430 * the event and the source. 431 */ 432 class AccessibilityEventInfo : public AccessibilityMemo { 433 public: 434 /** 435 * @brief Construct 436 * @param 437 * @return 438 * @since 3 439 * @sysCap Accessibility 440 */ AccessibilityEventInfo()441 AccessibilityEventInfo() {} 442 443 /** 444 * @brief Construct 445 * @param eventType the type of event info 446 * @return 447 * @since 3 448 * @sysCap Accessibility 449 */ 450 AccessibilityEventInfo(EventType eventType); 451 452 /** 453 * @brief Construct 454 * @param windowId The id of window 455 * @param windowChangeTypes the window change type 456 * @return 457 * @since 3 458 * @sysCap Accessibility 459 */ 460 AccessibilityEventInfo(int windowId, WindowUpdateType windowChangeTypes); 461 462 /** 463 * @brief Gets the number of accessibility records. 464 * @note It is same to getCount() 465 * @param - 466 * @return The number of the records that describe the information of current event 467 * @since 3 468 * @sysCap Accessibility 469 */ 470 int GetRecordCount() const; 471 472 /** 473 * @brief Set the number of accessibility records. 474 * @note It is same to setCount(int count) 475 * @param recordCount The number of the records that describe the information of current event 476 * @return - 477 * @since 3 478 * @sysCap Accessibility 479 */ 480 void SetRecordCount(const int recordCount); 481 482 /** 483 * @brief Adds an accessibility record to describe the information of the current event. 484 * @note It is same to addRecord(AccessibilityEventInfo eventInfo) 485 * @param record The records that describe the information of current event 486 * @return - 487 * @since 3 488 * @sysCap Accessibility 489 */ 490 void AddRecord(const AccessibilityEventInfo &record); 491 492 /** 493 * @brief Get the record by index. 494 * @note Remained 495 * @param 496 * @return 497 * @since 3 498 * @sysCap Accessibility 499 */ 500 AccessibilityEventInfo GetRecord(const int index); // remained 501 502 /** 503 * @brief Gets the accessibility record list. 504 * @param 505 * @return 506 * @since 3 507 * @sysCap Accessibility 508 */ 509 std::vector<AccessibilityEventInfo> GetRecords(); 510 511 /** 512 * @brief Gets the type of an accessibility event. 513 * @note It is same to the getAccessibilityEventType() 514 * @param - 515 * @return The type of an accessibility event. 516 * @since 3 517 * @sysCap Accessibility 518 */ 519 EventType GetEventType() const; 520 521 /** 522 * @brief Get the window content changed types 523 * @param - 524 * @return The window content changed types. Refer to "WindowsContentChangeTypes" 525 * @since 3 526 * * @sysCap Accessibility 527 */ 528 WindowsContentChangeTypes GetWindowContentChangeTypes() const; 529 530 /** 531 * @brief Set the window content changed types 532 * @param changeTypes The window content changed types. Refer to "WindowsContentChangeTypes" 533 * @return - 534 * @since 3 535 * @sysCap Accessibility 536 */ 537 void SetWindowContentChangeTypes(const WindowsContentChangeTypes changeTypes); 538 539 /** 540 * @brief Get the window changed types 541 * @param - 542 * @return The window changed types.refer to WindowUpdateType 543 * @since 3 544 * @sysCap Accessibility 545 */ 546 WindowUpdateType GetWindowChangeTypes() const; 547 548 /** 549 * @brief Set the window changed types 550 * @param changeTypes The window changed types.refer to WindowUpdateType 551 * @return - 552 * @since 3 553 * @sysCap Accessibility 554 */ 555 void SetWindowChangeTypes(const WindowUpdateType changeTypes); 556 557 /** 558 * @brief Sets the type of an accessibility event. 559 * @note It is same to setAccessibilityEventType(int accessibilityEventType) 560 * @param eventType The type of an accessibility event. Refer to "EventType" 561 * @return - 562 * @since 3 563 * @sysCap Accessibility 564 */ 565 void SetEventType(const EventType eventType); 566 567 /** 568 * @brief AA get the time of accessibility event is sent from ASAC. 569 * @param - 570 * @return The time of accessibility event is sent from ASAC 571 * @since 3 572 * @sysCap Accessibility 573 */ 574 int64_t GetTimeStamp() const; 575 576 /** 577 * @brief ASAC set the time of accessibility is sent to AA 578 * @param eventTime The time of accessibility event is sent from ASAC 579 * @return - 580 * @since 3 581 * @sysCap Accessibility 582 */ 583 void SetTimeStamp(const int64_t eventTime); // remained:for send event timestamp 584 585 /** 586 * @brief Gets the bundle name of the event source, that is, the bundle name of the target application. 587 * @param - 588 * @return Returns the bundle name of the event source. 589 * @since 3 590 * @sysCap Accessibility 591 */ 592 std::string GetBundleName() const; 593 594 /** 595 * @brief Set the bundle name of the event source, that is, the bundle name of the target application. 596 * @param bundleName The bundle name of the event source. 597 * @return - 598 * @since 3 599 * @sysCap Accessibility 600 */ 601 void SetBundleName(const std::string &bundleName); 602 603 /** 604 * @brief Set the move granularity of the text 605 * @param granularity The move granularity of the text. Refer to "AccessibilityElementInfo.TextMoveUnit" 606 * @return 607 * @since 3 608 * @sysCap Accessibility 609 */ 610 void SetTextMovementStep(const TextMoveUnit granularity); 611 612 /** 613 * @brief Get the move granularity of the text 614 * @param - 615 * @return he move granularity of the text. Refer to "AccessibilityElementInfo.TextMoveUnit" 616 * @since 3 617 * @sysCap Accessibility 618 */ 619 TextMoveUnit GetTextMovementStep() const; 620 621 /** 622 * @brief Sets the action that triggers the accessibility event. 623 * @param action The operation of the event. Refer to "AccessibilityElementInfo.ActionType" 624 * @return - 625 * @since 3 626 * @sysCap Accessibility 627 */ 628 void SetTriggerAction(const ActionType action); 629 630 /** 631 * @brief Gets the action that triggers the accessibility event. 632 * @param - 633 * @return The operation of the event. Refer to "AccessibilityElementInfo.ActionType" 634 * @since 3 635 * @sysCap Accessibility 636 */ 637 ActionType GetTriggerAction() const; 638 639 /** 640 * @brief Set the information of accessibility event of [TYPE_NOTIFICATION_UPDATE_EVENT] 641 * @param category Refer to [NotificationCategory], It maybe changed from APP 642 * @return - 643 * @since 3 644 * @sysCap Accessibility 645 */ 646 void SetNotificationInfo(const NotificationCategory category); 647 648 /** 649 * @brief Get the information of accessibility event of [TYPE_NOTIFICATION_UPDATE_EVENT] 650 * @param - 651 * @return Refer to [NotificationCategory], It maybe changed from APP 652 * @since 3 653 * @sysCap Accessibility 654 */ 655 NotificationCategory GetNotificationInfo() const; 656 657 /** 658 * @brief Set the custemize gesture type of accessibility event of [TYPE_GESTURE_EVENT] 659 * @param category Refer to [GestureType], It maybe changed from APP 660 * @return - 661 * @since 3 662 * @sysCap Accessibility 663 */ 664 void SetGestureType(const GestureType gestureType); 665 666 /** 667 * @brief Get the custemize gesture type of accessibility event of [TYPE_GESTURE_EVENT] 668 * @param - 669 * @return Refer to [GestureType], It maybe changed from APP 670 * @since 3 671 * @sysCap Accessibility 672 */ 673 GestureType GetGestureType() const; 674 675 /** 676 * @brief Used for IPC comminication 677 * @param parcel 678 * @return true: Read parcel data successfully; ohterwise is not. 679 * @since 3 680 * @sysCap Accessibility 681 */ 682 bool ReadFromParcel(Parcel &parcel); 683 684 /** 685 * @brief Used for IPC comminication 686 * @param parcel 687 * @return true: Write parcel data successfully; ohterwise is not. 688 * @since 3 689 * @sysCap Accessibility 690 */ 691 virtual bool Marshalling(Parcel &parcel) const override; 692 693 /** 694 * @brief Used for IPC comminication 695 * @param parcel 696 * @return Read AccessibilityEventInfo from parcel data 697 * @since 3 698 * @sysCap Accessibility 699 */ 700 static AccessibilityEventInfo *Unmarshalling(Parcel &parcel); 701 702 /** 703 * @brief Set the page ID associated with the accessibility event. 704 * @param pageId The page ID associated with the accessibility event. 705 * @return - 706 * @since 3 707 * @sysCap Accessibility 708 */ 709 void SetPageId(const int pageId); 710 711 /** 712 * @brief Gets the page ID associated with the accessibility event. 713 * @param - 714 * @return The page ID associated with the accessibility event. 715 * @since 3 716 * @sysCap Accessibility 717 */ 718 719 int GetPageId() const; 720 721 private: 722 EventType eventType_ = TYPE_VIEW_INVALID; 723 std::string bundleName_ = ""; 724 ActionType triggerAction_ = ACCESSIBILITY_ACTION_INVALID; 725 int64_t timeStamp_ = 0; 726 TextMoveUnit textMoveStep_ = STEP_CHARACTER; 727 WindowsContentChangeTypes windowContentChangeTypes_ = CONTENT_CHANGE_TYPE_INVALID; 728 WindowUpdateType windowChangeTypes_ = WINDOW_UPDATE_INVALID; 729 GestureType gestureType_ = GESTURE_INVALID; 730 int recordsCount_ = 0; 731 std::vector<AccessibilityEventInfo> records_; 732 NotificationCategory category_ = CATEGORY_INVALID; 733 int pageId_ = 0; 734 }; 735 } // namesapce Accessibility 736 } // namespace OHOS 737 #endif