• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (C) 2023 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.os.statsd.wearservices;
20
21import "frameworks/proto_logging/stats/atom_field_options.proto";
22import "frameworks/proto_logging/stats/enums/app/wearservices/wearservices_enums.proto";
23
24option java_package = "com.android.os.wearservices";
25option java_multiple_files = true;
26
27/**
28 * Logged during a backup session in Wear Services.
29 *
30 * Logged from :
31 * vendor/google_clockwork_partners/packages/WearServices/src/com/google/wear/services/backup/WearServicesBackupAgent.java
32 */
33message WsBackupActionReported {
34  // Depicts the action being performed for backup.
35  // Values : (BACKUP_STARTED, BACKUP_SUCCEEDED, BACKUP_FAILED)
36  optional android.app.wearservices.BackupAction action = 1;
37}
38
39/**
40 * Logged during a restore session in Wear Services.
41 *
42 * Logged from package :
43 * vendor/google_clockwork_partners/packages/WearServices
44 */
45message WsRestoreActionReported {
46  // Depicts the action being performed for restore.
47  // Values : (RESTORE_STARTED, RESTORE_SUCCEEDED, RESTORE_FAILED)
48  optional android.app.wearservices.RestoreAction action = 1;
49}
50
51/** Logged when a notification is updated in the WearServices application. */
52message WsNotificationUpdated {
53  // Package name of the application that created the notification event.
54  optional string package_name = 1;
55
56  // Notification action that this event represents.
57  optional android.app.wearservices.NotificationUpdateAction update_action = 2;
58
59  // Device on which the notification event was created.
60  optional android.app.wearservices.RequestSource source_device = 3;
61
62  // Importance of the notification after this update.
63  optional android.app.wearservices.NotificationImportance importance = 4;
64
65  // The transport channel this notification is coming from.
66  optional android.app.wearservices.NotificationTransportChannel
67      transport_channel = 5;
68
69  // The alerting effect of the notification.
70  optional android.app.wearservices.NotificationAlertingEffect alerting_effect =
71      6;
72
73  // The group alert behavior of the notification.
74  optional android.app.wearservices.NotificationGroupAlertBehavior
75      group_alert_behavior = 7;
76
77  // The alert behavior controlled by the ALERT_ONLY_ONCE flag.
78  optional android.app.wearservices.NotificationAlertOnlyOnce alert_only_once =
79      8;
80
81  // The group type of the notification.
82  optional android.app.wearservices.NotificationGroupType group_type = 9;
83
84  // The style of the notification.
85  optional android.app.wearservices.NotificationStyle style = 10;
86
87  // The hidden reason of the notification.
88  optional android.app.wearservices.NotificationHiddenReason hidden_reason = 11;
89
90  // The categories for the notification.
91  optional android.app.wearservices.NotificationCategory category = 12;
92
93  // Whether this notification has set FLAG_ONGOING_EVENT. Which means there may
94  // be many updates for this notification. (eg. app download progress updates).
95  optional bool is_ongoing_notification = 13;
96
97  // Whether this notification is an emergency cell broadcast message.
98  optional bool is_emergency = 14;
99
100  // Whether this notification comes from apps running in the work profile.
101  optional bool is_work_profile = 15;
102
103  // The content intent actions for the notification.
104  optional android.app.wearservices.NotificationContentIntent content_intent =
105      16;
106
107  // Whether actions contain remote input (e.g. Reply).
108  optional bool has_remote_input = 17;
109
110  // Number value for all actions, including actions with remote input. Count
111  // wearable actions if they exist, otherwise counting the standard actions.
112  // Can be 0 or above, cap to 10 as we have this same limit in SysUI.
113  optional int32 action_count = 18;
114
115  // Whether this notification contains bigPicture image, largeIcon image, or
116  // message images.
117  optional bool has_big_images = 19;
118
119  // Whether this notification has set a dismissal-id.
120  optional bool has_dismissal_id = 20;
121
122  // Whether this notification has set FLAG_FOREGROUND_SERVICE. Which means the
123  // notification may be frequently updated.
124  optional bool is_foreground_service = 21;
125}
126
127/** Logged when a notification is updated in the WearServices application. */
128message WsNotificationDismissalActioned {
129  // Package name of the application that created the notification event.
130  optional string package_name = 1;
131
132  // Defining the actions for notification to be dismissed.
133  optional android.app.wearservices.NotificationDismissAction dismiss_action = 2;
134
135  // Device on which the notification event was created.
136  optional android.app.wearservices.RequestSource source_device = 3;
137
138  // Importance of the notification after this update.
139  optional android.app.wearservices.NotificationImportance importance = 4;
140
141  // The style of the notification.
142  optional android.app.wearservices.NotificationStyle style = 5;
143
144  // The categories for the notification.
145  optional android.app.wearservices.NotificationCategory category = 6;
146
147  // Whether this notification comes from apps running in the work profile.
148  optional bool is_work_profile = 7;
149
150  // Supported notification cancellation reasons for which the notification is being dismissed.
151  optional android.app.wearservices.NotificationCancelReason cancel_reason = 8;
152
153  // The group type of the notification.
154  optional android.app.wearservices.NotificationGroupType group_type = 9;
155}
156
157/** Logged when a notification is updated in the WearServices application. */
158message WsNotificationActioned {
159  // Package name of the application that created the notification event.
160  optional string package_name = 1;
161
162  // Defines the action for a particular update.
163  optional android.app.wearservices.NotificationActionType action_type = 2;
164
165  // Device on which the notification event was created.
166  optional android.app.wearservices.RequestSource source_device = 3;
167
168  // Importance of the notification after this update.
169  optional android.app.wearservices.NotificationImportance importance = 4;
170
171  // The style of the notification.
172  optional android.app.wearservices.NotificationStyle style = 5;
173
174  // The categories for the notification.
175  optional android.app.wearservices.NotificationCategory category = 6;
176
177  // Whether this notification comes from apps running in the work profile.
178  optional bool is_work_profile = 7;
179
180  // Representing string for the notification action title for the action pressed.
181  optional android.app.wearservices.NotificationActionTitle action_title = 8;
182}
183
184/** Logged when bridge mode configuration of notifications for an applications are updated. */
185message WsNotificationBridgemodeUpdated {
186  // Package name of the application that created the notification event.
187  optional string package_name = 1;
188
189  // Represents whether notification bridging is enabled in the configuration.
190  optional bool is_bridging_enabled = 2;
191
192  // Defines the bridge configuration type.
193  optional android.app.wearservices.BridgeConfig bridge_config = 3;
194
195  // Represents the number of excluded tags added.
196  optional android.app.wearservices.ExcludedTagsCount excluded_tags_count= 4;
197}
198
199/** Logged when a notification is blocked/unblocked in the WearServices application. */
200message WsNotificationBlocking {
201  // Package name of the application that created the notification event.
202  optional string package_name = 1;
203
204  // Device on which the notification event was created.
205  optional android.app.wearservices.RequestSource source_device = 2;
206
207  // Defines on which device the blocked state is changed.
208  optional android.app.wearservices.DeviceLocation device_location = 3;
209
210  // Defines in which profile the application is installed.
211  optional android.app.wearservices.Profile profile= 4;
212
213  // Blocking status of the notifications for the application.
214  optional android.app.wearservices.NotificationBlockingStatus notification_blocking_status = 5;
215}
216
217/** Logged for estimating the latency of a specific notification in a component. */
218message WsNotificationLatency {
219  // Package name of the application that created the notification event.
220  optional string package_name = 1;
221
222  // Device on which the notification event was created.
223  optional android.app.wearservices.RequestSource source_device = 2;
224
225  // Defines the notification flow component for which the latency is to be calculated.
226  optional android.app.wearservices.NotificationFlowComponent component_flow = 3;
227
228  // Defines which component the latency is being calculated for.
229  optional android.app.wearservices.ComponentName component_name= 4;
230
231  // The latency in milliseconds for the specific notification flow.
232  optional int64 duration_millis = 5;
233}
234
235/** Logged when a complication is tapped by the user. */
236message WsComplicationTapped {
237  // UID of the package name hosting the complication, calculated by
238  // PackageManager#getPackageUid.
239  optional int32 wf_component_package_uid = 1 [(is_uid) = true];
240
241  // Package uid for the provider component for complication.
242  optional int32 provider_component_package_uid = 2 [(is_uid) = true];
243
244  // Class name for the provider component.
245  optional string provider_class_name = 3;
246
247  // Type of the complication. Valid values are listed in
248  // androidx.wear.watchface.complications.data.ComplicationType.
249  optional int32 type = 4;
250}
251