• 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: 7
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  // The notification is InboxStyle.
271  NOTIFICATION_STYLE_INBOX = 2;
272
273  // The notification is BigTextStyle.
274  NOTIFICATION_STYLE_BIG_TEXT = 3;
275
276  // The notification is BigPictureStyle.
277  NOTIFICATION_STYLE_BIG_PICTURE = 4;
278
279  // The notification is MessagingStyle.
280  NOTIFICATION_STYLE_MESSAGING = 5;
281
282  // The notification is MediaStyle.
283  NOTIFICATION_STYLE_MEDIA = 6;
284}
285
286// The categories for the notification.
287// Next ID: 7
288enum NotificationCategory {
289  // Unknown value.
290  NOTIFICATION_CATEGORY_UNKNOWN = 0;
291
292  // No category set for the notificatioin.
293  NOTIFICATION_CATEGORY_NONE = 1;
294
295  // Notification set with other categories
296  NOTIFICATION_CATEGORY_OTHERS = 2;
297
298  // Notification set with CATEGORY_CALL.
299  NOTIFICATION_CATEGORY_CALL = 3;
300
301  // Notification set with CATEGORY_ALARM.
302  NOTIFICATION_CATEGORY_ALARM = 4;
303
304  // Notification set with CATEGORY_REMINDER.
305  NOTIFICATION_CATEGORY_REMINDER = 5;
306
307  // Notification set with CATEGORY_EVENT.
308  NOTIFICATION_CATEGORY_EVENT = 6;
309}
310
311// The ongoing type for the notification.
312// Next ID: 7
313enum NotificationHiddenReason {
314  // Unknown value.
315  NOTIFICATION_HIDDEN_REASON_UNKNOWN = 0;
316
317  // The notification is not hidden.
318  NOTIFICATION_HIDDEN_REASON_NONE = 1;
319
320  // The notification hidden with other reasons.
321  NOTIFICATION_HIDDEN_REASON_OTHERS = 2;
322
323  // The notification has set with ongoing activity. Which means it is hidden.
324  NOTIFICATION_HIDDEN_REASON_ONGOING_ACTIVITY = 3;
325
326  // The notification is media style.
327  NOTIFICATION_HIDDEN_REASON_MEDIA_STYLE = 4;
328
329  // The notification is bound with foreground service.
330  NOTIFICATION_HIDDEN_REASON_FOREGROUND_SERVICE = 5;
331
332  // The notification is hidden by dismissal id flow.
333  NOTIFICATION_HIDDEN_REASON_MANAGED_DISMISSAL = 6;
334}
335
336// The content intent button settings for the notification.
337// Next ID: 5
338enum NotificationContentIntent {
339  // Unknown value.
340  NOTIFICATION_CONTENT_INTENT_UNKNOWN = 0;
341
342  // No content intent set.
343  NOTIFICATION_CONTENT_INTENT_NONE = 1;
344
345  // Content intent set with OPEN_ON_WATCH.
346  NOTIFICATION_CONTENT_INTENT_OPEN_ON_WATCH = 2;
347
348  // Content intent set with OPEN_ON_PHONE.
349  NOTIFICATION_CONTENT_INTENT_OPEN_ON_PHONE = 3;
350
351  // Content intent set with BOTH actions.
352  NOTIFICATION_CONTENT_INTENT_BOTH = 4;
353}
354
355// Defines on which device the notification blocked state is changed for an application.
356// Next ID: 4
357enum DeviceLocation {
358  // Unknown value.
359  DEVICE_LOCATION_UNKNOWN = 0;
360
361  // The notification is blocked on the watch.
362  DEVICE_LOCATION_WATCH = 1;
363
364  // The notification is blocked on the phone.
365  DEVICE_LOCATION_PHONE = 2;
366
367  // The notification is blocked both on the watch and the phone.
368  DEVICE_LOCATION_WATCH_AND_PHONE = 3;
369}
370
371// Defines in which profile the application is installed.
372// Next ID: 3
373enum Profile {
374  // Unknown value.
375  PROFILE_UNKNOWN = 0;
376
377  // The application is installed in the personal profile.
378  PROFILE_PERSONAL = 1;
379
380  // The application is installed in the work profile.
381  PROFILE_WORK = 2;
382}
383
384// Defines the blocking status of the application for notifications.
385// Next ID: 3
386enum NotificationBlockingStatus {
387  // Unknown value.
388  NOTIFICATION_BLOCKING_STATUS_UNKNOWN = 0;
389
390  // The notifications for the applications are blocked on the device.
391  NOTIFICATION_BLOCKING_STATUS_BLOCKED = 1;
392
393  // The notifications for the applications are unblocked on the device.
394  NOTIFICATION_BLOCKING_STATUS_UNBLOCKED = 2;
395}
396
397// Defines the bridge configuration type.
398// Next ID: 3
399enum BridgeConfig {
400  // Unknown value
401  BRIDGE_CONFIG_UNKNOWN = 0;
402
403  // The bridge configuration type is defined as static.
404  BRIDGE_CONFIG_STATIC = 1;
405
406  // The bridge configuration type is defined as dynamic.
407  BRIDGE_CONFIG_DYNAMIC = 2;
408}
409
410// Represents the number of excluded tags added.
411// Next ID: 7
412enum ExcludedTagsCount {
413  // Unknown value
414  EXCLUDED_TAGS_COUNT_UNKNOWN = 0;
415
416  // The count of excluded tags added is one.
417  EXCLUDED_TAGS_COUNT_ONE = 1;
418
419  // The count of excluded tags added is two.
420  EXCLUDED_TAGS_COUNT_TWO= 2;
421
422  // The count of excluded tags added is three.
423  EXCLUDED_TAGS_COUNT_THREE= 3;
424
425  // The count of excluded tags added is four.
426  EXCLUDED_TAGS_COUNT_FOUR= 4;
427
428  // The count of excluded tags added is five and above.
429  EXCLUDED_TAGS_COUNT_FIVE_AND_ABOVE = 5;
430
431  // The count of excluded tags added is ten and above.
432  EXCLUDED_TAGS_COUNT_TEN_AND_ABOVE= 6;
433}
434
435// Representing string for the notification action title for the action pressed.
436// Next ID: 21
437enum NotificationActionTitle {
438  // Unknown value
439  NOTIFICATION_ACTION_TITLE_UNKNOWN = 0;
440
441  // The performed action title is any other than the above specified action titles.
442  NOTIFICATION_ACTION_TITLE_OTHERS= 1;
443
444  // The performed action title is Archive.
445  NOTIFICATION_ACTION_TITLE_ARCHIVE = 2;
446
447  // The performed action title is Call.
448  NOTIFICATION_ACTION_TITLE_CALL = 3;
449
450  // The performed action title is Delete.
451  NOTIFICATION_ACTION_TITLE_DELETE = 4;
452
453  // The performed action title is Smart Reply.
454  NOTIFICATION_ACTION_TITLE_SMART_REPLY = 5;
455
456  // The performed action title is Like This.
457  NOTIFICATION_ACTION_TITLE_FEWER_LIKE_THIS = 6;
458
459  // The performed action title is Join.
460  NOTIFICATION_ACTION_TITLE_JOIN = 7;
461
462  // The performed action title is Like.
463  NOTIFICATION_ACTION_TITLE_LIKE = 8;
464
465  // The performed action title is Map.
466  NOTIFICATION_ACTION_TITLE_MAP = 9;
467
468  // The performed action title is Mark As Read.
469  NOTIFICATION_ACTION_TITLE_MARK_AS_READ = 10;
470
471  // The performed action title is Message.
472  NOTIFICATION_ACTION_TITLE_MESSAGE = 11;
473
474  // The performed action title is Reply.
475  NOTIFICATION_ACTION_TITLE_REPLY = 12;
476
477  // The performed action title is Save.
478  NOTIFICATION_ACTION_TITLE_SAVE = 13;
479
480  // The performed action title is Share.
481  NOTIFICATION_ACTION_TITLE_SHARE = 14;
482
483  // The performed action title is Snooze.
484  NOTIFICATION_ACTION_TITLE_SNOOZE = 15;
485
486  // The performed action title is View Pass.
487  NOTIFICATION_ACTION_TITLE_VIEW_PASS= 16;
488
489  // The performed action title is Mute Chat.
490  NOTIFICATION_ACTION_TITLE_MUTE_CHAT= 17;
491
492  // The performed action title is Open.
493  NOTIFICATION_ACTION_TITLE_OPEN= 18;
494
495  // The performed action title is Open.
496  NOTIFICATION_ACTION_TITLE_OPEN_ON_PHONE= 19;
497
498  // The performed action title is Open.
499  NOTIFICATION_ACTION_TITLE_OPEN_ON_WATCH= 20;
500}
501
502// Defining the actions for notification to be dismissed.
503// Next ID: 6
504enum NotificationDismissAction {
505  // Unknown value.
506  NOTIFICATION_DISMISS_ACTION_UNKNOWN = 0;
507
508  // Notification in the stream is dismissed.
509  NOTIFICATION_DISMISS_ACTION_STREAM_DISMISS = 1;
510
511  // ALl notifications in the stream are dismissed.
512  NOTIFICATION_DISMISS_ACTION_STREAM_DISMISS_ALL = 2;
513
514  // Multiple notifications in the stream are dismissed.
515  NOTIFICATION_DISMISS_ACTION_STREAM_DISMISS_MULTIPLE = 3;
516
517  // Notification in the stream is dismissed by swipe.
518  NOTIFICATION_DISMISS_ACTION_STREAM_DISMISS_FROM_SWIPE = 4;
519
520  // Notification in the stream is dismissed from MCU UI.
521  NOTIFICATION_DISMISS_ACTION_STREAM_DISMISS_FROM_MCU_UI = 5;
522}
523
524// Supported notification cancellation reasons for which the notification is being dismissed.
525// Next ID: 4
526enum NotificationCancelReason {
527  // Unknown value.
528  NOTIFICATION_CANCEL_REASON_UNKNOWN = 0;
529
530  // Notification was cancelled by the status bar reporting a notification click.
531  NOTIFICATION_CANCEL_REASON_CLICK = 1;
532
533  // Notification was cancelled by the status bar reporting a user dismissal.
534  NOTIFICATION_CANCEL_REASON_CANCEL = 2;
535
536  // Notification was cancelled by the status bar reporting a user dismiss all.
537  NOTIFICATION_CANCEL_REASON_CANCEL_ALL = 3;
538}
539
540// Defines the action for a particular update.
541// Next ID: 4
542enum NotificationActionType {
543  // Unknown value.
544  NOTIFICATION_ACTION_TYPE_UNKNOWN = 0;
545
546  // Notification action for open on watch.
547  NOTIFICATION_ACTION_TYPE_OPEN_ON_WATCH = 1;
548
549  // Notification action for open on phone.
550  NOTIFICATION_ACTION_TYPE_OPEN_ON_PHONE= 2;
551
552  // Notification action for other actions.
553  NOTIFICATION_ACTION_TYPE_OTHERS = 3;
554}
555
556// Defines the notification flow component for which the latency is to be calculated.
557// Next ID: 3
558enum NotificationFlowComponent {
559  // Unknown value.
560  NOTIFICATION_FLOW_COMPONENT_UNKNOWN = 0;
561
562  // Notification flow representing flow when a notification is posted.
563  NOTIFICATION_FLOW_COMPONENT_POST_NOTIFICATION = 1;
564
565  // Notification flow representing flow when a notification is dismissed.
566  NOTIFICATION_FLOW_COMPONENT_DISMISS_NOTIFICATION = 2;
567}
568
569// Defines which component the latency is being calculated for.
570// Next ID: 4
571enum ComponentName {
572  // Unknown value.
573  COMPONENT_NAME_UNKNOWN = 0;
574
575  // The component is WearServices.
576  COMPONENT_NAME_WEAR_SERVICES = 1;
577
578  // The component is Companion.
579  COMPONENT_NAME_COMPANION = 2;
580
581  // The component is SysUI.
582  COMPONENT_NAME_SYSUI = 3;
583}
584
585// This enum depicts an action taken on a call
586// Next ID: 4
587enum CallAction {
588  // Depicts an unknown call action
589  CALL_ACTION_UNKNOWN = 0;
590
591  // Depicts an accept call action
592  CALL_ACTION_ACCEPTED = 1;
593
594  // Depicts a reject call action
595  CALL_ACTION_REJECTED = 2;
596
597  // Depicts a silence call action
598  CALL_ACTION_SILENCED = 3;
599}
600
601// This enum depicts the different type of calls
602// Next ID: 3
603enum CallType {
604  // Depicts an unknown call type
605  CALL_TYPE_UNKNOWN = 0;
606
607  // Depicts an incoming call
608  CALL_TYPE_INCOMING = 1;
609
610  // Depicts an outgoing call
611  CALL_TYPE_OUTGOING = 2;
612}
613
614// This enum depicts the original source of the call
615// Next ID: 4
616enum CallSource {
617  // Depicts an unknown call source
618  CALL_SOURCE_UNKNOWN = 0;
619
620  // Depicts a call originating on the watch
621  CALL_SOURCE_WATCH = 1;
622
623  // Depicts a call originating on the phone and bridged using HFP
624  CALL_SOURCE_PHONE_HFP = 2;
625
626  // Depicts a call originating on the phone and bridged using the companion
627  CALL_SOURCE_PHONE_COMPANION = 3;
628}
629
630// This enum depicts the initial user interaction with the call
631// Next ID: 4
632enum CallResult {
633  // Depicts an unknown interaction
634  CALL_RESULT_UNKNOWN = 0;
635
636  // Depicts no interaction with the watch
637  CALL_RESULT_NO_INTERACTION_ON_WATCH = 1;
638
639  // Depicts that the call was accepted using the watch
640  CALL_RESULT_ACCEPTED_ON_WATCH = 2;
641
642  // Depicts that the call was rejected using the watch
643  CALL_RESULT_REJECTED_ON_WATCH = 3;
644}
645
646// This enum depicts a user interaction during the call
647// Next ID: 4
648enum CallInteraction {
649  // Depicts an unknown interaction
650  CALL_INTERACTION_UNKNOWN = 0;
651
652  // Depicts an increase in volume
653  CALL_INTERACTION_VOLUME_INCREASE = 1;
654
655  // Depicts a decrease in volume
656  CALL_INTERACTION_VOLUME_DECREASE = 2;
657
658  // Depicts a mute action
659  CALL_INTERACTION_MUTE = 3;
660}
661
662// This enum depicts the different stages of call where latency should be
663// measured.
664// Next ID: 5
665enum LatencyAction {
666  // Depicts an unknown latency measurement
667  LATENCY_ACTION_UNKNOWN = 0;
668
669  // Depicts the latency for creating a call
670  LATENCY_ACTION_CALL_CREATION = 1;
671
672  // Depicts the latency to ring for the call
673  LATENCY_ACTION_RING = 2;
674
675  // Depicts the latency for answering the call
676  LATENCY_ACTION_PICKED_CALL = 3;
677
678  // Depicts the latency for changing the audio output for the call
679  LATENCY_ACTION_AUDIO_OUTPUT_SWITCH = 4;
680}
681
682// This enum depicts all the reasons that can cause a call to be disconnected.
683// Please see
684// https://developer.android.com/reference/android/telecom/DisconnectCause.
685// Next ID: 13
686enum DisconnectionReason {
687  // Disconnected because of an unknown or unspecified reason.
688  DISCONNECT_REASON_UNKNOWN = 0;
689
690  // Disconnected because there was an error, such as a problem with the
691  // network.
692  DISCONNECT_REASON_ERROR = 1;
693
694  // Disconnected because of a local user-initiated action, such as hanging up.
695  DISCONNECT_REASON_LOCAL = 2;
696
697  // Disconnected because of a remote user-initiated action, such as the other
698  // party hanging up up.
699  DISCONNECT_REASON_REMOTE = 3;
700
701  // Disconnected because it has been canceled.
702  DISCONNECT_REASON_CANCELLED = 4;
703
704  // Disconnected because there was no response to an incoming call.
705  DISCONNECT_REASON_MISSED = 5;
706
707  // Disconnected because the user rejected an incoming call.
708  DISCONNECT_REASON_REJECTED = 6;
709
710  // Disconnected because the other party was busy.
711  DISCONNECT_REASON_BUSY = 7;
712
713  // Disconnected because of a restriction on placing the call, such as dialing
714  // in airplane mode.
715  DISCONNECT_REASON_RESTRICTED = 8;
716
717  // Disconnected for reason not described by other disconnect codes.
718  DISCONNECT_REASON_OTHER = 9;
719
720  // Disconnected because the connection manager did not support the call.
721  DISCONNECT_REASON_CONNECTION_MANAGER_NOT_SUPPORTED = 10;
722
723  // Disconnected because the user did not locally answer the incoming call, but
724  // it was answered on another device where the call was ringing.
725  DISCONNECT_REASON_ANSWERED_ELSEWHERE = 11;
726
727  // Disconnected because the call was pulled from the current device to another
728  // device.
729  DISCONNECT_REASON_CALL_PULLED = 12;
730}
731
732// This enum depicts the error code where a disconnection happened due to an
733// error.
734// Next ID: 6
735enum DisconnectionErrorCode {
736  // Depicts an unknown error code
737  DISCONNECTION_ERROR_CODE_UNKNOWN = 0;
738
739  // Depicts no error
740  DISCONNECTION_ERROR_CODE_NONE = 1;
741
742  // Depicts an error from the phone
743  DISCONNECTION_ERROR_CODE_PHONE = 2;
744
745  // Depicts an error from dialer
746  DISCONNECTION_ERROR_CODE_DIALER = 3;
747
748  // Depicts an error from a disconnect where this was a bridged call
749  DISCONNECTION_ERROR_CODE_PHONE_DISCONNECTED = 4;
750
751  // Depicts an error where creating an outgoing call failed
752  DISCONNECTION_ERROR_CODE_OUTGOING_CALL_FAILURE = 5;
753}
754
755// This enum depicts the tether mode of certain watches, they are corresponding
756// to vendor/google_clockwork/sdk/lib/src/com/google/wear/tether/TetherConfigurationClient.java
757// Next ID: 4
758enum TetherConfigurationStatus {
759  // Depicts an unknown tether status
760  TETHER_CONFIGURATION_UNKNOWN = 0;
761
762  // Depicts the watch is in standalone mode
763  TETHER_CONFIGURATION_STANDALONE = 1;
764
765  // Depicts the watch is in tethered mode
766  TETHER_CONFIGURATION_TETHERED = 2;
767
768  // Depicts the watch is in restricted connection mode
769  TETHER_CONFIGURATION_RESTRICTED = 3;
770}
771
772// This enum represents if watch is worn: is it on body, off body or state is unknown
773enum OnBodyState {
774  ON_BODY_STATE_UNKNOWN = 0;
775  ON_BODY_STATE_ON = 1;
776  ON_BODY_STATE_OFF = 2;
777}
778
779// Describes the watch face type.
780// Next ID: 4
781enum WatchFaceType {
782  // Unknown type.
783  WATCH_FACE_TYPE_UNKNOWN = 0;
784
785  // Wear support library compiled watch face type.
786  WATCH_FACE_TYPE_WSL = 1;
787
788  // Androidx compiled watch face type.
789  WATCH_FACE_TYPE_ANDROIDX = 2;
790
791  // Declarative watch face type.
792  WATCH_FACE_TYPE_DWF = 3;
793}
794