1/* 2 * Copyright (C) 2022 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17syntax = "proto2"; 18 19package android.app.wearservices; 20 21option java_multiple_files = true; 22option java_outer_classname = "WearServicesEnums"; 23 24// This enum depicts the state of the session. 25// Next ID: 5 26enum SessionStateEnum { 27 // Depicts unknown session state. 28 STATE_UNKNOWN = 0; 29 30 // Depicts start state of the session. 31 STATE_START = 1; 32 33 // Depicts end state of the session. 34 STATE_END = 2; 35 36 // Depicts aborted state of the session. 37 STATE_ABORTED = 3; 38 39 // Depicts failed state of the session. 40 STATE_FAILED = 4; 41} 42 43// This enum depicts the action taken. 44// Next ID: 4 45enum ActionEnum { 46 // Depicts unknown action. 47 ACTION_UNKNOWN = 0; 48 49 // Depicts an ADD action. 50 ACTION_ADD = 1; 51 52 // Depicts a REMOVE action. 53 ACTION_REMOVE = 2; 54 55 reserved 3; 56} 57 58// This enum depicts the possible result of watchface set 59// action. 60// Next ID: 4 61enum SetResultEnum { 62 // Depicts unknown result. 63 SET_UNKNOWN = 0; 64 65 // Depicts if the same WF is set. 66 SET_SAME = 1; 67 68 // Depicts if a fallback WF is set. 69 SET_FALLBACK = 2; 70 71 // Depicst if the favorite WF is set. 72 SET_FAVORITE = 3; 73} 74 75// This enum depicts the source of request. 76// Next ID: 3 77enum RequestSource { 78 // Depicts the source as unknown. 79 SOURCE_UNKNOWN = 0; 80 81 // Depicts source as Android phone. 82 SOURCE_PHONE_ANDROID = 1; 83 84 // Depicts source as iOS phone. 85 SOURCE_PHONE_IOS = 2; 86 87 // Depicts the source as watch. 88 SOURCE_WATCH = 3; 89} 90 91// This enum depicts an action taken during a backup attempt 92// Next ID: 4 93enum BackupAction { 94 // Depicts an unknown backup action 95 BACKUP_UNKNOWN_ACTION = 0; 96 97 // Depicts that a backup attempt has begun 98 BACKUP_STARTED = 1; 99 100 // Depicts that a backup attempt succeeded 101 BACKUP_SUCCEEDED = 2; 102 103 // Depicts that a backup attempt did not succeed 104 BACKUP_FAILED = 3; 105} 106 107// This enum depicts an action taken during a restore attempt 108// Next ID: 4 109enum RestoreAction { 110 // Depicts an unknown restore action 111 RESTORE_UNKNOWN_ACTION = 0; 112 113 // Depicts that a restore attempt has begun 114 RESTORE_STARTED = 1; 115 116 // Depicts that a restore attempt succeeded 117 RESTORE_SUCCEEDED = 2; 118 119 // Depicts that a restore attempt did not succeed 120 RESTORE_FAILED = 3; 121} 122 123// Describes an action triggered by a notification update. 124// Next ID: 4 125enum NotificationUpdateAction { 126 // Unknown notification action 127 NOTIFICATION_ACTION_UNKNOWN = 0; 128 129 // Notification posted 130 NOTIFICATION_ACTION_POST = 1; 131 132 // Notification dismissed by the user 133 NOTIFICATION_ACTION_DISMISS = 2; 134 135 // Notification removed by the source 136 NOTIFICATION_ACTION_REMOVE = 3; 137} 138 139// Describes which transport channel is this notification coming from. 140// Next ID: 3 141enum NotificationTransportChannel { 142 // Unknown notification transport channel 143 NOTIFICATION_TRANSPORT_UNKNOWN = 0; 144 145 // Notification comes from wearable API 146 NOTIFICATION_TRANSPORT_WEARABLE = 1; 147 148 // Notification comes from MCU (only exists on device supported offloading) 149 NOTIFICATION_TRANSPORT_MCU = 2; 150} 151 152// Importance of the notification after this update. 153// Next ID: 8 154enum NotificationImportance { 155 // Importance not known 156 NOTIFICATION_IMPORTANCE_UNKNOWN = 0; 157 158 // Importance set as NotificationManager#IMPORTANCE_UNSPECIFIED 159 NOTIFICATION_IMPORTANCE_UNSPECIFIED = 1; 160 161 // Importance set as NotificationManager#IMPORTANCE_NONE 162 NOTIFICATION_IMPORTANCE_NONE = 2; 163 164 // Importance set as NotificationManager#IMPORTANCE_MIN 165 NOTIFICATION_IMPORTANCE_MIN = 3; 166 167 // Importance set as NotificationManager#IMPORTANCE_LOW 168 NOTIFICATION_IMPORTANCE_LOW = 4; 169 170 // Importance set as NotificationManager#IMPORTANCE_DEFAULT 171 NOTIFICATION_IMPORTANCE_DEFAULT = 5; 172 173 // Importance set as NotificationManager#IMPORTANCE_HIGH 174 NOTIFICATION_IMPORTANCE_HIGH = 6; 175 176 // Importance set as NotificationManager#IMPORTANCE_MAX 177 NOTIFICATION_IMPORTANCE_MAX = 7; 178} 179 180// The alerting effect of the notification. 181// Next ID: 5 182enum NotificationAlertingEffect { 183 // Unknown value. 184 NOTIFICATION_ALERTING_EFFECT_UNKNOWN = 0; 185 186 // No alerting effect. 187 NOTIFICATION_ALERTING_EFFECT_NONE = 1; 188 189 // Alerting effect is HAPTICS. 190 NOTIFICATION_ALERTING_EFFECT_HAPTICS = 2; 191 192 // Alerting effect is SOUND. 193 NOTIFICATION_ALERTING_EFFECT_SOUND = 3; 194 195 // Alerting effect is HAPTICS together with SOUND. 196 NOTIFICATION_ALERTING_EFFECT_HAPTICS_AND_SOUND = 4; 197} 198 199// The group alert behavior of the notification. 200// 201// Note: In the Wear SysUI. Alerts will always happen on the child, for example, 202// 1). If summary is set to alert, but the first child is muted, the alert will 203// happen on the child item. 204// 2). If summary and first child both set to alert, there will be only 1 alerts 205// happening on the first child. 206// Therefore, we will overcount if we count alerting summary items, and we will 207// undercount if we skip alerting summary items. And unfortunately we can not 208// avoid this inaccuracy in the metrics. 209// Next ID: 4 210enum NotificationGroupAlertBehavior { 211 // Unknown value. 212 NOTIFICATION_GROUP_ALERT_BEHAVIOR_UNKNOWN = 0; 213 214 // The alert behavior set to ALL, or notification is not grouped, or the group 215 // type matches the alert behavior (e.g. group child, while the alert behavior 216 // is also set to child.) 217 // We collapsed these non-critical cases to reduce cardinality. 218 NOTIFICATION_GROUP_ALERT_BEHAVIOR_ALERT_ALLOWED = 1; 219 220 // The alert behavior is set to ALERT_SUMMARY, but the current notification is 221 // a child. 222 NOTIFICATION_GROUP_ALERT_BEHAVIOR_DELEGATED_TO_SUMMARY = 2; 223 224 // The alert behavior is set to ALERT_CHILD, but the current notification is a 225 // summary. 226 NOTIFICATION_GROUP_ALERT_BEHAVIOR_DELEGATED_TO_CHILD = 3; 227} 228 229// The alert behavior controlled by the ALERT_ONLY_ONCE flag. 230// Next ID: 4 231enum NotificationAlertOnlyOnce { 232 // Unknown value. 233 NOTIFICATION_ALERT_ONLY_ONCE_UNKNOWN = 0; 234 235 // The flag not set. 236 NOTIFICATION_ALERT_ONLY_ONCE_NOT_SET = 1; 237 238 // The flag set, and current item is the first update. 239 NOTIFICATION_ALERT_ONLY_ONCE_ALERT_ON_FIRST = 2; 240 241 // The flag set, and current item is not the first update. 242 NOTIFICATION_ALERT_ONLY_ONCE_MUTE_ON_UPDATES = 3; 243} 244 245// The group type of the notification. 246// Next ID: 4 247enum NotificationGroupType { 248 // Unknown value. 249 NOTIFICATION_GROUP_TYPE_UNKNOWN = 0; 250 251 // No group assigneed 252 NOTIFICATION_GROUP_TYPE_NO_GROUP = 1; 253 254 // This notification is a group summary 255 NOTIFICATION_GROUP_TYPE_GROUP_SUMMARY = 2; 256 257 // This notification is a group child 258 NOTIFICATION_GROUP_TYPE_GROUP_CHILD = 3; 259} 260 261// The style of the notification. 262// Next ID: 9 263enum NotificationStyle { 264 // Unknown value. 265 NOTIFICATION_STYLE_UNKNOWN = 0; 266 267 // The notification has not specific any style. 268 NOTIFICATION_STYLE_UNSPECIFIED = 1; 269 270 // All other notification styles not listed by this enum. 271 NOTIFICATION_STYLE_OTHER = 8; 272 273 // The notification is InboxStyle. 274 NOTIFICATION_STYLE_INBOX = 2; 275 276 // The notification is BigTextStyle. 277 NOTIFICATION_STYLE_BIG_TEXT = 3; 278 279 // The notification is BigPictureStyle. 280 NOTIFICATION_STYLE_BIG_PICTURE = 4; 281 282 // The notification is MessagingStyle. 283 NOTIFICATION_STYLE_MESSAGING = 5; 284 285 // The notification is MediaStyle. 286 NOTIFICATION_STYLE_MEDIA = 6; 287 288 // The notification is ProgressStyle. 289 NOTIFICATION_STYLE_PROGRESS = 7; 290} 291 292// The categories for the notification. 293// Next ID: 7 294enum NotificationCategory { 295 // Unknown value. 296 NOTIFICATION_CATEGORY_UNKNOWN = 0; 297 298 // No category set for the notificatioin. 299 NOTIFICATION_CATEGORY_NONE = 1; 300 301 // Notification set with other categories 302 NOTIFICATION_CATEGORY_OTHERS = 2; 303 304 // Notification set with CATEGORY_CALL. 305 NOTIFICATION_CATEGORY_CALL = 3; 306 307 // Notification set with CATEGORY_ALARM. 308 NOTIFICATION_CATEGORY_ALARM = 4; 309 310 // Notification set with CATEGORY_REMINDER. 311 NOTIFICATION_CATEGORY_REMINDER = 5; 312 313 // Notification set with CATEGORY_EVENT. 314 NOTIFICATION_CATEGORY_EVENT = 6; 315} 316 317// The ongoing type for the notification. 318// Next ID: 7 319enum NotificationHiddenReason { 320 // Unknown value. 321 NOTIFICATION_HIDDEN_REASON_UNKNOWN = 0; 322 323 // The notification is not hidden. 324 NOTIFICATION_HIDDEN_REASON_NONE = 1; 325 326 // The notification hidden with other reasons. 327 NOTIFICATION_HIDDEN_REASON_OTHERS = 2; 328 329 // The notification has set with ongoing activity. Which means it is hidden. 330 NOTIFICATION_HIDDEN_REASON_ONGOING_ACTIVITY = 3; 331 332 // The notification is media style. 333 NOTIFICATION_HIDDEN_REASON_MEDIA_STYLE = 4; 334 335 // The notification is bound with foreground service. 336 NOTIFICATION_HIDDEN_REASON_FOREGROUND_SERVICE = 5; 337 338 // The notification is hidden by dismissal id flow. 339 NOTIFICATION_HIDDEN_REASON_MANAGED_DISMISSAL = 6; 340} 341 342// The content intent button settings for the notification. 343// Next ID: 5 344enum NotificationContentIntent { 345 // Unknown value. 346 NOTIFICATION_CONTENT_INTENT_UNKNOWN = 0; 347 348 // No content intent set. 349 NOTIFICATION_CONTENT_INTENT_NONE = 1; 350 351 // Content intent set with OPEN_ON_WATCH. 352 NOTIFICATION_CONTENT_INTENT_OPEN_ON_WATCH = 2; 353 354 // Content intent set with OPEN_ON_PHONE. 355 NOTIFICATION_CONTENT_INTENT_OPEN_ON_PHONE = 3; 356 357 // Content intent set with BOTH actions. 358 NOTIFICATION_CONTENT_INTENT_BOTH = 4; 359} 360 361// Defines on which device the notification blocked state is changed for an application. 362// Next ID: 4 363enum DeviceLocation { 364 // Unknown value. 365 DEVICE_LOCATION_UNKNOWN = 0; 366 367 // The notification is blocked on the watch. 368 DEVICE_LOCATION_WATCH = 1; 369 370 // The notification is blocked on the phone. 371 DEVICE_LOCATION_PHONE = 2; 372 373 // The notification is blocked both on the watch and the phone. 374 DEVICE_LOCATION_WATCH_AND_PHONE = 3; 375} 376 377// Defines in which profile the application is installed. 378// Next ID: 3 379enum Profile { 380 // Unknown value. 381 PROFILE_UNKNOWN = 0; 382 383 // The application is installed in the personal profile. 384 PROFILE_PERSONAL = 1; 385 386 // The application is installed in the work profile. 387 PROFILE_WORK = 2; 388} 389 390// Defines the blocking status of the application for notifications. 391// Next ID: 3 392enum NotificationBlockingStatus { 393 // Unknown value. 394 NOTIFICATION_BLOCKING_STATUS_UNKNOWN = 0; 395 396 // The notifications for the applications are blocked on the device. 397 NOTIFICATION_BLOCKING_STATUS_BLOCKED = 1; 398 399 // The notifications for the applications are unblocked on the device. 400 NOTIFICATION_BLOCKING_STATUS_UNBLOCKED = 2; 401} 402 403// Defines the bridge configuration type. 404// Next ID: 3 405enum BridgeConfig { 406 // Unknown value 407 BRIDGE_CONFIG_UNKNOWN = 0; 408 409 // The bridge configuration type is defined as static. 410 BRIDGE_CONFIG_STATIC = 1; 411 412 // The bridge configuration type is defined as dynamic. 413 BRIDGE_CONFIG_DYNAMIC = 2; 414} 415 416// Represents the number of excluded tags added. 417// Next ID: 7 418enum ExcludedTagsCount { 419 // Unknown value 420 EXCLUDED_TAGS_COUNT_UNKNOWN = 0; 421 422 // The count of excluded tags added is one. 423 EXCLUDED_TAGS_COUNT_ONE = 1; 424 425 // The count of excluded tags added is two. 426 EXCLUDED_TAGS_COUNT_TWO= 2; 427 428 // The count of excluded tags added is three. 429 EXCLUDED_TAGS_COUNT_THREE= 3; 430 431 // The count of excluded tags added is four. 432 EXCLUDED_TAGS_COUNT_FOUR= 4; 433 434 // The count of excluded tags added is five and above. 435 EXCLUDED_TAGS_COUNT_FIVE_AND_ABOVE = 5; 436 437 // The count of excluded tags added is ten and above. 438 EXCLUDED_TAGS_COUNT_TEN_AND_ABOVE= 6; 439} 440 441// Representing string for the notification action title for the action pressed. 442// Next ID: 21 443enum NotificationActionTitle { 444 // Unknown value 445 NOTIFICATION_ACTION_TITLE_UNKNOWN = 0; 446 447 // The performed action title is any other than the above specified action titles. 448 NOTIFICATION_ACTION_TITLE_OTHERS= 1; 449 450 // The performed action title is Archive. 451 NOTIFICATION_ACTION_TITLE_ARCHIVE = 2; 452 453 // The performed action title is Call. 454 NOTIFICATION_ACTION_TITLE_CALL = 3; 455 456 // The performed action title is Delete. 457 NOTIFICATION_ACTION_TITLE_DELETE = 4; 458 459 // The performed action title is Smart Reply. 460 NOTIFICATION_ACTION_TITLE_SMART_REPLY = 5; 461 462 // The performed action title is Like This. 463 NOTIFICATION_ACTION_TITLE_FEWER_LIKE_THIS = 6; 464 465 // The performed action title is Join. 466 NOTIFICATION_ACTION_TITLE_JOIN = 7; 467 468 // The performed action title is Like. 469 NOTIFICATION_ACTION_TITLE_LIKE = 8; 470 471 // The performed action title is Map. 472 NOTIFICATION_ACTION_TITLE_MAP = 9; 473 474 // The performed action title is Mark As Read. 475 NOTIFICATION_ACTION_TITLE_MARK_AS_READ = 10; 476 477 // The performed action title is Message. 478 NOTIFICATION_ACTION_TITLE_MESSAGE = 11; 479 480 // The performed action title is Reply. 481 NOTIFICATION_ACTION_TITLE_REPLY = 12; 482 483 // The performed action title is Save. 484 NOTIFICATION_ACTION_TITLE_SAVE = 13; 485 486 // The performed action title is Share. 487 NOTIFICATION_ACTION_TITLE_SHARE = 14; 488 489 // The performed action title is Snooze. 490 NOTIFICATION_ACTION_TITLE_SNOOZE = 15; 491 492 // The performed action title is View Pass. 493 NOTIFICATION_ACTION_TITLE_VIEW_PASS= 16; 494 495 // The performed action title is Mute Chat. 496 NOTIFICATION_ACTION_TITLE_MUTE_CHAT= 17; 497 498 // The performed action title is Open. 499 NOTIFICATION_ACTION_TITLE_OPEN= 18; 500 501 // The performed action title is Open. 502 NOTIFICATION_ACTION_TITLE_OPEN_ON_PHONE= 19; 503 504 // The performed action title is Open. 505 NOTIFICATION_ACTION_TITLE_OPEN_ON_WATCH= 20; 506} 507 508// Defining the actions for notification to be dismissed. 509// Next ID: 6 510enum NotificationDismissAction { 511 // Unknown value. 512 NOTIFICATION_DISMISS_ACTION_UNKNOWN = 0; 513 514 // Notification in the stream is dismissed. 515 NOTIFICATION_DISMISS_ACTION_STREAM_DISMISS = 1; 516 517 // ALl notifications in the stream are dismissed. 518 NOTIFICATION_DISMISS_ACTION_STREAM_DISMISS_ALL = 2; 519 520 // Multiple notifications in the stream are dismissed. 521 NOTIFICATION_DISMISS_ACTION_STREAM_DISMISS_MULTIPLE = 3; 522 523 // Notification in the stream is dismissed by swipe. 524 NOTIFICATION_DISMISS_ACTION_STREAM_DISMISS_FROM_SWIPE = 4; 525 526 // Notification in the stream is dismissed from MCU UI. 527 NOTIFICATION_DISMISS_ACTION_STREAM_DISMISS_FROM_MCU_UI = 5; 528} 529 530// Supported notification cancellation reasons for which the notification is being dismissed. 531// Next ID: 4 532enum NotificationCancelReason { 533 // Unknown value. 534 NOTIFICATION_CANCEL_REASON_UNKNOWN = 0; 535 536 // Notification was cancelled by the status bar reporting a notification click. 537 NOTIFICATION_CANCEL_REASON_CLICK = 1; 538 539 // Notification was cancelled by the status bar reporting a user dismissal. 540 NOTIFICATION_CANCEL_REASON_CANCEL = 2; 541 542 // Notification was cancelled by the status bar reporting a user dismiss all. 543 NOTIFICATION_CANCEL_REASON_CANCEL_ALL = 3; 544} 545 546// Defines the action for a particular update. 547// Next ID: 4 548enum NotificationActionType { 549 // Unknown value. 550 NOTIFICATION_ACTION_TYPE_UNKNOWN = 0; 551 552 // Notification action for open on watch. 553 NOTIFICATION_ACTION_TYPE_OPEN_ON_WATCH = 1; 554 555 // Notification action for open on phone. 556 NOTIFICATION_ACTION_TYPE_OPEN_ON_PHONE= 2; 557 558 // Notification action for other actions. 559 NOTIFICATION_ACTION_TYPE_OTHERS = 3; 560} 561 562// Defines the notification flow component for which the latency is to be calculated. 563// Next ID: 4 564enum NotificationFlowComponent { 565 // Unknown value. 566 NOTIFICATION_FLOW_COMPONENT_UNKNOWN = 0; 567 568 // Notification flow representing flow when a notification is posted. 569 NOTIFICATION_FLOW_COMPONENT_POST_NOTIFICATION = 1; 570 571 // Notification flow representing flow when a notification is dismissed. 572 NOTIFICATION_FLOW_COMPONENT_DISMISS_NOTIFICATION = 2; 573 574 // Notification flow representing flow when an action was executed. 575 NOTIFICATION_FLOW_COMPONENT_ACTION_EXECUTION = 3; 576} 577 578/** Defines the name for Notification API usage reported. 579 * 580 * API names are based on: 581 * vendor/google_clockwork_partners/packages/WearServices/src/com/google/wear/services/notification/api/NotificationApiImpl.java 582 * 583 * Next ID: 18 584 */ 585enum NotificationApiName { 586 // Unknown value for backward compatibility 587 NOTIFICATION_API_NAME_UNKNOWN = 0; 588 589 NOTIFICATION_API_NAME_REGISTER_NOTIFICATION_EVENT_LISTENER = 1; 590 NOTIFICATION_API_NAME_UNREGISTER_NOTIFICATION_EVENT_LISTENER = 2; 591 592 NOTIFICATION_API_NAME_GET_ACTIVE_NOTIFICATIONS = 3; 593 NOTIFICATION_API_NAME_GET_ACTIVE_NOTIFICATIONS_BY_IDS = 4; 594 595 NOTIFICATION_API_NAME_GET_CURRENT_INTERRUPTION_FILTER = 5; 596 NOTIFICATION_API_NAME_REQUEST_INTERRUPTION_FILTER_UPDATE = 6; 597 598 NOTIFICATION_API_NAME_GET_CURRENT_LISTENER_HINTS = 7; 599 NOTIFICATION_API_NAME_REQUEST_LISTENER_HINTS_UPDATE = 8; 600 601 NOTIFICATION_API_NAME_GET_CURRENT_RANKING = 9; 602 603 NOTIFICATION_API_NAME_GET_NOTIFICATION_COUNT_DATA = 10; 604 605 NOTIFICATION_API_NAME_DISMISS_ALL = 11; 606 NOTIFICATION_API_NAME_DISMISS_MULTIPLE_FROM_UI = 12; 607 608 NOTIFICATION_API_NAME_IS_APP_MUTED = 13; 609 NOTIFICATION_API_NAME_GET_MUTED_APPS = 14; 610 NOTIFICATION_API_NAME_MUTE_APP = 15; 611 NOTIFICATION_API_NAME_UNMUTE_APP = 16; 612 NOTIFICATION_API_NAME_CAN_MUTE_APP = 17; 613} 614 615 616// Defines the notification api status for api usage reported. 617// Next ID: 3 618enum NotificationApiStatus { 619 // Unknown value for backward compatibility 620 NOTIFICATION_API_STATUS_UNKNOWN = 0; 621 622 // Notification status when API call is invoked 623 NOTIFICATION_API_STATUS_START = 1; 624 625 // Notification status when API call completes successfully 626 NOTIFICATION_API_STATUS_SUCCESS = 2; 627} 628 629 630// Defines which component the latency is being calculated for. 631// Next ID: 7 632enum ComponentName { 633 // Unknown value. 634 COMPONENT_NAME_UNKNOWN = 0; 635 636 // The component is WearServices. 637 COMPONENT_NAME_WEAR_SERVICES = 1; 638 639 // The component is Companion. 640 COMPONENT_NAME_COMPANION = 2; 641 642 // The component is SysUI. 643 COMPONENT_NAME_SYSUI = 3; 644 645 // The component is Framework. 646 COMPONENT_NAME_FRAMEWORK = 4; 647 648 // Components in one way RPC transfer. 649 COMPONENT_NAME_TRANSFER_ONE_WAY = 5; 650 651 // Components in a roundtrip RPC transfer. 652 COMPONENT_NAME_TRANSFER_ROUNDTRIP = 6; 653} 654 655// This enum depicts an action taken on a call 656// Next ID: 4 657enum CallAction { 658 // Depicts an unknown call action 659 CALL_ACTION_UNKNOWN = 0; 660 661 // Depicts an accept call action 662 CALL_ACTION_ACCEPTED = 1; 663 664 // Depicts a reject call action 665 CALL_ACTION_REJECTED = 2; 666 667 // Depicts a silence call action 668 CALL_ACTION_SILENCED = 3; 669} 670 671// This enum depicts the different type of calls 672// Next ID: 3 673enum CallType { 674 // Depicts an unknown call type 675 CALL_TYPE_UNKNOWN = 0; 676 677 // Depicts an incoming call 678 CALL_TYPE_INCOMING = 1; 679 680 // Depicts an outgoing call 681 CALL_TYPE_OUTGOING = 2; 682} 683 684// This enum depicts the original source of the call 685// Next ID: 4 686enum CallSource { 687 // Depicts an unknown call source 688 CALL_SOURCE_UNKNOWN = 0; 689 690 // Depicts a call originating on the watch 691 CALL_SOURCE_WATCH = 1; 692 693 // Depicts a call originating on the phone and bridged using HFP 694 CALL_SOURCE_PHONE_HFP = 2; 695 696 // Depicts a call originating on the phone and bridged using the companion 697 CALL_SOURCE_PHONE_COMPANION = 3; 698} 699 700// This enum depicts the initial user interaction with the call 701// Next ID: 4 702enum CallResult { 703 // Depicts an unknown interaction 704 CALL_RESULT_UNKNOWN = 0; 705 706 // Depicts no interaction with the watch 707 CALL_RESULT_NO_INTERACTION_ON_WATCH = 1; 708 709 // Depicts that the call was accepted using the watch 710 CALL_RESULT_ACCEPTED_ON_WATCH = 2; 711 712 // Depicts that the call was rejected using the watch 713 CALL_RESULT_REJECTED_ON_WATCH = 3; 714} 715 716// This enum depicts a user interaction during the call 717// Next ID: 4 718enum CallInteraction { 719 // Depicts an unknown interaction 720 CALL_INTERACTION_UNKNOWN = 0; 721 722 // Depicts an increase in volume 723 CALL_INTERACTION_VOLUME_INCREASE = 1; 724 725 // Depicts a decrease in volume 726 CALL_INTERACTION_VOLUME_DECREASE = 2; 727 728 // Depicts a mute action 729 CALL_INTERACTION_MUTE = 3; 730} 731 732// This enum depicts the different stages of call where latency should be 733// measured. 734// Next ID: 5 735enum LatencyAction { 736 // Depicts an unknown latency measurement 737 LATENCY_ACTION_UNKNOWN = 0; 738 739 // Depicts the latency for creating a call 740 LATENCY_ACTION_CALL_CREATION = 1; 741 742 // Depicts the latency to ring for the call 743 LATENCY_ACTION_RING = 2; 744 745 // Depicts the latency for answering the call 746 LATENCY_ACTION_PICKED_CALL = 3; 747 748 // Depicts the latency for changing the audio output for the call 749 LATENCY_ACTION_AUDIO_OUTPUT_SWITCH = 4; 750} 751 752// This enum depicts all the reasons that can cause a call to be disconnected. 753// Please see 754// https://developer.android.com/reference/android/telecom/DisconnectCause. 755// Next ID: 13 756enum DisconnectionReason { 757 // Disconnected because of an unknown or unspecified reason. 758 DISCONNECT_REASON_UNKNOWN = 0; 759 760 // Disconnected because there was an error, such as a problem with the 761 // network. 762 DISCONNECT_REASON_ERROR = 1; 763 764 // Disconnected because of a local user-initiated action, such as hanging up. 765 DISCONNECT_REASON_LOCAL = 2; 766 767 // Disconnected because of a remote user-initiated action, such as the other 768 // party hanging up up. 769 DISCONNECT_REASON_REMOTE = 3; 770 771 // Disconnected because it has been canceled. 772 DISCONNECT_REASON_CANCELLED = 4; 773 774 // Disconnected because there was no response to an incoming call. 775 DISCONNECT_REASON_MISSED = 5; 776 777 // Disconnected because the user rejected an incoming call. 778 DISCONNECT_REASON_REJECTED = 6; 779 780 // Disconnected because the other party was busy. 781 DISCONNECT_REASON_BUSY = 7; 782 783 // Disconnected because of a restriction on placing the call, such as dialing 784 // in airplane mode. 785 DISCONNECT_REASON_RESTRICTED = 8; 786 787 // Disconnected for reason not described by other disconnect codes. 788 DISCONNECT_REASON_OTHER = 9; 789 790 // Disconnected because the connection manager did not support the call. 791 DISCONNECT_REASON_CONNECTION_MANAGER_NOT_SUPPORTED = 10; 792 793 // Disconnected because the user did not locally answer the incoming call, but 794 // it was answered on another device where the call was ringing. 795 DISCONNECT_REASON_ANSWERED_ELSEWHERE = 11; 796 797 // Disconnected because the call was pulled from the current device to another 798 // device. 799 DISCONNECT_REASON_CALL_PULLED = 12; 800} 801 802// This enum depicts the error code where a disconnection happened due to an 803// error. 804// Next ID: 6 805enum DisconnectionErrorCode { 806 // Depicts an unknown error code 807 DISCONNECTION_ERROR_CODE_UNKNOWN = 0; 808 809 // Depicts no error 810 DISCONNECTION_ERROR_CODE_NONE = 1; 811 812 // Depicts an error from the phone 813 DISCONNECTION_ERROR_CODE_PHONE = 2; 814 815 // Depicts an error from dialer 816 DISCONNECTION_ERROR_CODE_DIALER = 3; 817 818 // Depicts an error from a disconnect where this was a bridged call 819 DISCONNECTION_ERROR_CODE_PHONE_DISCONNECTED = 4; 820 821 // Depicts an error where creating an outgoing call failed 822 DISCONNECTION_ERROR_CODE_OUTGOING_CALL_FAILURE = 5; 823} 824 825// This enum depicts the tether mode of certain watches, they are corresponding 826// to vendor/google_clockwork/sdk/lib/src/com/google/wear/tether/TetherConfigurationClient.java 827// Next ID: 4 828enum TetherConfigurationStatus { 829 // Depicts an unknown tether status 830 TETHER_CONFIGURATION_UNKNOWN = 0; 831 832 // Depicts the watch is in standalone mode 833 TETHER_CONFIGURATION_STANDALONE = 1; 834 835 // Depicts the watch is in tethered mode 836 TETHER_CONFIGURATION_TETHERED = 2; 837 838 // Depicts the watch is in restricted connection mode 839 TETHER_CONFIGURATION_RESTRICTED = 3; 840} 841 842// This enum represents if watch is worn: is it on body, off body or state is unknown 843enum OnBodyState { 844 ON_BODY_STATE_UNKNOWN = 0; 845 ON_BODY_STATE_ON = 1; 846 ON_BODY_STATE_OFF = 2; 847} 848 849// Describes the watch face type. 850// Next ID: 4 851enum WatchFaceType { 852 // Unknown type. 853 WATCH_FACE_TYPE_UNKNOWN = 0; 854 855 // Wear support library compiled watch face type. 856 WATCH_FACE_TYPE_WSL = 1; 857 858 // Androidx compiled watch face type. 859 WATCH_FACE_TYPE_ANDROIDX = 2; 860 861 // Declarative watch face type. 862 WATCH_FACE_TYPE_DWF = 3; 863} 864 865// Contains types for photo selection for the photos watch face feature. 866enum PhotoSelectionType { 867 // Unknown value, maps to MULTIPLE in Companion if not specified 868 PHOTO_SELECTION_NOT_SPECIFIED = 0; 869 870 // Single image supported 871 PHOTO_SELECTION_SELECT_SINGLE = 1; 872 873 // Multiple images supported 874 PHOTO_SELECTION_SELECT_MULTIPLE = 2; 875} 876 877// This enum represents the type of remote event that is being reported, they 878// are corresponding to 879// vendor/google_clockwork/libs/contract/companion/remoteevent/remoteeventtype.proto 880// Next ID: 8 881enum RemoteEventType { 882 EVENT_TYPE_UNKNOWN = 0; 883 EVENT_TYPE_ACCOUNT_DEEPLINK = 1; 884 EVENT_TYPE_OTA_NOTIFICATION = 2; 885 EVENT_TYPE_PHOTO_PICKER_DEEPLINK = 3; 886 EVENT_TYPE_BATTERY_FULLY_CHARGED = 4; 887 EVENT_TYPE_WATCH_OFF_CHARGER = 5; 888 EVENT_TYPE_SEND_SMS = 6; 889 EVENT_TYPE_LOCALE_SETTINGS_DEEPLINK = 7; 890} 891 892// This enum depicts the state of the remote event. 893// Next ID: 13 894enum RemoteEventState { 895 // Depicts an unknown remote event state. 896 REMOTE_EVENT_STATE_UNKNOWN = 0; 897 898 // Depicts total number of times remote event API is invoked. 899 REMOTE_EVENT_API_INVOKED = 1; 900 901 // Depicts a successful remote event response. 902 REMOTE_EVENT_RESPONSE_SUCCESS = 2; 903 904 // Remote event with generic failure condition response which doesn't fall into any other 905 // condition. 906 REMOTE_EVENT_RESPONSE_FAILURE = 3; 907 908 // Remote event with failure response caused by caused by exceeding max message size. 909 REMOTE_EVENT_RESPONSE_MAX_SIZE_EXCEEDED = 4; 910 911 // Remote event with response caused by WearServices not being able to communicate with 912 // the Companion. 913 REMOTE_EVENT_RESPONSE_REMOTE_NOT_REACHABLE = 5; 914 915 // Remote event with response not being received within the timeout period. 916 REMOTE_EVENT_RESPONSE_TIMEOUT = 6; 917 918 // Remote event with response caused by a caller not having necessary permissions or signature 919 // to trigger this remote event. 920 REMOTE_EVENT_RESPONSE_SECURITY_EXCEPTION = 7; 921 922 // The RemoteEvent triggered by the caller is not recognized/supported by the Companion. 923 REMOTE_EVENT_RESPONSE_INVALID_REMOTE_EVENT_TYPE = 8; 924 925 // Failure when trying to execute the RemoteEvent on the phone. 926 REMOTE_EVENT_RESPONSE_REMOTE_EXECUTION_EXCEPTION = 9; 927 928 // Calling app exceeded the maximum number of allowed triggers for this remote event type. 929 REMOTE_EVENT_RESPONSE_MAX_REMOTE_EVENT_TRIGGERS_EXCEEDED = 10; 930 931 // Companion failed to deserialize the RemoteEvent object. 932 REMOTE_EVENT_RESPONSE_DESERIALIZATION_EXCEPTION = 11; 933 934 // Remote event with no connected Companion supports RemoteEvents response. 935 REMOTE_EVENT_RESPONSE_REMOTE_NOT_SUPPORTED = 12; 936} 937 938// This enum depicts the state of the remote interactions. 939enum RemoteInteractionsState { 940 // Depicts an unknown remote interactions state. 941 REMOTE_INTERACTIONS_RESPONSE_UNKNOWN = 0; 942 943 // Depicts total number of times remote interactions API is invoked. 944 REMOTE_INTERACTIONS_API_INVOKED = 1; 945 946 // Depicts a successful remote interactions response. 947 REMOTE_INTERACTIONS_RESPONSE_SUCCESS = 2; 948 949 // Remote interactions coming from a background service are disallowed. 950 REMOTE_INTERACTIONS_RESPONSE_BACKGROUND_REQUEST_DISALLOWED = 3; 951 952 // Remote interactions with response not being received within the timeout period. 953 REMOTE_INTERACTIONS_RESPONSE_TIMEOUT = 4; 954 955 // Remote interactions with generic failure condition response which doesn't fall into any other 956 // condition. 957 REMOTE_INTERACTIONS_RESPONSE_FAILURE = 5; 958} 959 960// This enum depicts different components of the bugreport flow 961// Next ID: 5 962enum BugreportComponent { 963 // Depicts an unknown component 964 BUGREPORT_COMPONENT_UNKNOWN = 0; 965 966 // Depicts the companion app 967 BUGREPORT_COMPONENT_COMPANION_APP = 1; 968 969 // Depicts the watch UI 970 BUGREPORT_COMPONENT_WATCH_UI = 2; 971 972 // Depicts when the component is not set 973 BUGREPORT_COMPONENT_UNSET = 3; 974 975 // Atoms created by WCS auto upload feature 976 BUGREPORT_COMPONENT_WCS_AUTO_UPLOAD = 4; 977} 978 979// This enum depicts the result of the bugreport 980// Next ID: 4 981enum BugreportResult { 982 // Depicts an unknown bugreport result 983 BUGREPORT_RESULT_UNKNOWN = 0; 984 985 // Depicts a successful bugreport result 986 BUGREPORT_RESULT_SUCCESS = 1; 987 988 // Depicts a failure bugreport result 989 BUGREPORT_RESULT_FAILURE = 2; 990 991 // Depicts an empty bugreport result 992 BUGREPORT_RESULT_UNSET = 3; 993} 994 995// This enum depicts a bugreport event 996// Next ID: 5 997enum BugreportEvent { 998 EVENT_BUGREPORT_UNKNOWN = 0; 999 EVENT_BUGREPORT_REQUESTED = 1; 1000 EVENT_BUGREPORT_TRIGGERED = 2; 1001 EVENT_BUGREPORT_FINISHED = 3; 1002 EVENT_BUGREPORT_RESULT_RECEIVED = 4; 1003 // User consent is requested to upload a bug report. 1004 // Only logged by WCS_AUTO_UPLOAD component. 1005 EVENT_BUGREPORT_UPLOAD_CONSENT_REQUESTED = 5; 1006 // Result of the user consent request is received. 1007 // Only logged by WCS_AUTO_UPLOAD component. 1008 EVENT_BUGREPORT_UPLOAD_CONSENT_RESULT_RECEIVED = 6; 1009 // Bug report upload started. 1010 // Only logged by WCS_AUTO_UPLOAD component. 1011 EVENT_BUGREPORT_UPLOAD_STARTED = 7; 1012 // Bug report upload finished. 1013 // Only logged by WCS_AUTO_UPLOAD component. 1014 EVENT_BUGREPORT_UPLOAD_FINISHED = 8; 1015 // A stale bug report file is discarded without being uploaded. 1016 // Only logged by WCS_AUTO_UPLOAD component. 1017 EVENT_BUGREPORT_DISCARDED = 9; 1018} 1019 1020// This enum depicts a bugreport failure reason 1021// Only logged by WCS_AUTO_UPLOAD component. 1022// Next ID: 13 1023enum BugreportFailureReason { 1024 // The failure reason is not specified. 1025 BUGREPORT_FAILURE_REASON_UNKNOWN = 0; 1026 // The event does not contain any failure. 1027 BUGREPORT_FAILURE_REASON_EMPTY = 1; 1028 // The request is rejected due to rate limiting. 1029 BUGREPORT_FAILURE_REASON_TOO_MANY_REQUESTS = 2; 1030 // The event failed because it is not possible to create an authentication 1031 // token. 1032 BUGREPORT_FAILURE_REASON_AUTHENTICATION_FAILED = 3; 1033 // The event failed because the app does not have the required permission to 1034 // use BugreportManager APIs. 1035 BUGREPORT_FAILURE_REASON_PERMISSION_ERROR = 4; 1036 // BugreportManager APIs failed while generating the bug report. 1037 BUGREPORT_FAILURE_REASON_REPORT_GENERATION_ERROR = 5; 1038 // BugreportManager APIs failed to generate or retrieve the bug report as 1039 // another report generation is in progress. 1040 BUGREPORT_FAILURE_REASON_ANOTHER_REPORT_GENERATION_IN_PROGRESS = 6; 1041 // The user denied the consent to upload the bug report. 1042 BUGREPORT_FAILURE_REASON_USER_DENIED_CONSENT = 7; 1043 // The user didn't respond to the consent request in time. 1044 BUGREPORT_FAILURE_REASON_USER_CONSENT_TIMED_OUT = 8; 1045 // Bug report file to retrieve was not found. 1046 BUGREPORT_FAILURE_REASON_FILE_NOT_FOUND = 9; 1047 // Creating a Buganizer issue failed. 1048 BUGREPORT_FAILURE_REASON_BUG_CREATION_FAILED = 10; 1049 // Attaching the bug report file to Buganizer failed. 1050 BUGREPORT_FAILURE_REASON_ATTACHMENT_UPLOAD_FAILED = 11; 1051 // The bug report upload was canceled before it finished. 1052 BUGREPORT_FAILURE_REASON_CANCELED = 12; 1053} 1054