• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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