Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 1 | /* |
| 2 | * Copyright (C) 2017 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 | |
| 17 | syntax = "proto2"; |
| 18 | |
| 19 | import "frameworks/base/core/proto/android/app/alarmmanager.proto"; |
| 20 | import "frameworks/base/core/proto/android/app/pendingintent.proto"; |
| 21 | import "frameworks/base/core/proto/android/internal/locallog.proto"; |
| 22 | import "frameworks/base/core/proto/android/os/worksource.proto"; |
Makoto Onuki | 2206af3 | 2017-11-21 16:25:35 -0800 | [diff] [blame] | 23 | import "frameworks/base/core/proto/android/server/forceappstandbytracker.proto"; |
Kweku Adams | ce9ab2d | 2018-01-25 15:49:34 -0800 | [diff] [blame] | 24 | import "frameworks/base/libs/incident/proto/android/privacy.proto"; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 25 | |
| 26 | package com.android.server; |
| 27 | |
| 28 | option java_multiple_files = true; |
| 29 | |
Makoto Onuki | adb50d8 | 2018-01-29 16:20:30 -0800 | [diff] [blame] | 30 | // next ID: 43 |
Yi Jin | 2b30f32 | 2018-02-20 15:41:47 -0800 | [diff] [blame] | 31 | message AlarmManagerServiceDumpProto { |
Kweku Adams | ce9ab2d | 2018-01-25 15:49:34 -0800 | [diff] [blame] | 32 | option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| 33 | |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 34 | optional int64 current_time = 1; |
| 35 | optional int64 elapsed_realtime = 2; |
| 36 | optional int64 last_time_change_clock_time = 3; |
| 37 | optional int64 last_time_change_realtime = 4; |
| 38 | // Current settings |
| 39 | optional ConstantsProto settings = 5; |
Makoto Onuki | 2206af3 | 2017-11-21 16:25:35 -0800 | [diff] [blame] | 40 | |
| 41 | // Dump from ForceAppStandbyTracker. |
| 42 | optional ForceAppStandbyTrackerProto force_app_standby_tracker = 6; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 43 | |
Kweku Adams | 923ec43 | 2017-12-11 18:05:38 -0800 | [diff] [blame] | 44 | optional bool is_interactive = 7; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 45 | // Only valid if is_interactive is false. |
Kweku Adams | 923ec43 | 2017-12-11 18:05:38 -0800 | [diff] [blame] | 46 | optional int64 time_since_non_interactive_ms = 8; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 47 | // Only valid if is_interactive is false. |
Kweku Adams | 923ec43 | 2017-12-11 18:05:38 -0800 | [diff] [blame] | 48 | optional int64 max_wakeup_delay_ms = 9; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 49 | // Only valid if is_interactive is false. |
Kweku Adams | 923ec43 | 2017-12-11 18:05:38 -0800 | [diff] [blame] | 50 | optional int64 time_since_last_dispatch_ms = 10; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 51 | // Only valid if is_interactive is false. |
Kweku Adams | 923ec43 | 2017-12-11 18:05:38 -0800 | [diff] [blame] | 52 | optional int64 time_until_next_non_wakeup_delivery_ms = 11; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 53 | |
Kweku Adams | f2e67df | 2018-01-23 16:47:12 -0800 | [diff] [blame] | 54 | // Can be negative if the non-wakeup alarm time is in the past (non-wakeup |
| 55 | // alarms aren't delivered unil the next time the device wakes up). |
Kweku Adams | 923ec43 | 2017-12-11 18:05:38 -0800 | [diff] [blame] | 56 | optional int64 time_until_next_non_wakeup_alarm_ms = 12; |
| 57 | optional int64 time_until_next_wakeup_ms = 13; |
| 58 | optional int64 time_since_last_wakeup_ms = 14; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 59 | // Time since the last wakeup was set. |
Kweku Adams | 923ec43 | 2017-12-11 18:05:38 -0800 | [diff] [blame] | 60 | optional int64 time_since_last_wakeup_set_ms = 15; |
| 61 | optional int64 time_change_event_count = 16; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 62 | // The current set of user whitelisted apps for device idle mode, meaning |
| 63 | // these are allowed to freely schedule alarms. These are app IDs, not UIDs. |
Kweku Adams | 923ec43 | 2017-12-11 18:05:38 -0800 | [diff] [blame] | 64 | repeated int32 device_idle_user_whitelist_app_ids = 17; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 65 | |
Kweku Adams | 923ec43 | 2017-12-11 18:05:38 -0800 | [diff] [blame] | 66 | repeated AlarmClockMetadataProto next_alarm_clock_metadata = 18; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 67 | |
Kweku Adams | 923ec43 | 2017-12-11 18:05:38 -0800 | [diff] [blame] | 68 | repeated BatchProto pending_alarm_batches = 19; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 69 | |
| 70 | // List of alarms per uid deferred due to user applied background restrictions |
| 71 | // on the source app. |
Kweku Adams | 923ec43 | 2017-12-11 18:05:38 -0800 | [diff] [blame] | 72 | repeated AlarmProto pending_user_blocked_background_alarms = 20; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 73 | |
| 74 | // When idling mode will end. Will be empty if the device is not currently |
| 75 | // idling. |
Kweku Adams | 923ec43 | 2017-12-11 18:05:38 -0800 | [diff] [blame] | 76 | optional AlarmProto pending_idle_until = 21; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 77 | |
| 78 | // Any alarms that we don't want to run during idle mode. Will be empty if the |
| 79 | // device is not currently idling. |
Kweku Adams | 923ec43 | 2017-12-11 18:05:38 -0800 | [diff] [blame] | 80 | repeated AlarmProto pending_while_idle_alarms = 22; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 81 | |
| 82 | // This is a special alarm that will put the system into idle until it goes |
| 83 | // off. The caller has given the time they want this to happen at. |
Kweku Adams | 923ec43 | 2017-12-11 18:05:38 -0800 | [diff] [blame] | 84 | optional AlarmProto next_wake_from_idle = 23; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 85 | |
Kweku Adams | 923ec43 | 2017-12-11 18:05:38 -0800 | [diff] [blame] | 86 | repeated AlarmProto past_due_non_wakeup_alarms = 24; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 87 | |
| 88 | // Number of delayed alarms. |
Kweku Adams | 923ec43 | 2017-12-11 18:05:38 -0800 | [diff] [blame] | 89 | optional int32 delayed_alarm_count = 25; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 90 | // The total amount of time alarms had been delayed. Overlapping alarms are |
| 91 | // only counted once (ie. If two alarms were meant to trigger at the same time |
| 92 | // but were delayed by 5 seconds, the total time would be 5 seconds). |
Kweku Adams | 923ec43 | 2017-12-11 18:05:38 -0800 | [diff] [blame] | 93 | optional int64 total_delay_time_ms = 26; |
| 94 | optional int64 max_delay_duration_ms = 27; |
| 95 | optional int64 max_non_interactive_duration_ms = 28; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 96 | |
Kweku Adams | 923ec43 | 2017-12-11 18:05:38 -0800 | [diff] [blame] | 97 | optional int32 broadcast_ref_count = 29; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 98 | // Canonical count of (operation.send() - onSendFinished()) and listener |
| 99 | // send/complete/timeout invocations. |
Kweku Adams | 923ec43 | 2017-12-11 18:05:38 -0800 | [diff] [blame] | 100 | optional int32 pending_intent_send_count = 30; |
| 101 | optional int32 pending_intent_finish_count = 31; |
| 102 | optional int32 listener_send_count = 32; |
| 103 | optional int32 listener_finish_count = 33; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 104 | |
Kweku Adams | 923ec43 | 2017-12-11 18:05:38 -0800 | [diff] [blame] | 105 | repeated InFlightProto outstanding_deliveries = 34; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 106 | |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 107 | message LastAllowWhileIdleDispatch { |
Kweku Adams | ce9ab2d | 2018-01-25 15:49:34 -0800 | [diff] [blame] | 108 | option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| 109 | |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 110 | optional int32 uid = 1; |
| 111 | // In the 'elapsed' timebase. |
| 112 | optional int64 time_ms = 2; |
Makoto Onuki | adb50d8 | 2018-01-29 16:20:30 -0800 | [diff] [blame] | 113 | |
| 114 | // Time when the next while-idle is allowed, in the 'elapsed' timebase. |
| 115 | optional int64 next_allowed_ms = 3; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 116 | } |
Makoto Onuki | adb50d8 | 2018-01-29 16:20:30 -0800 | [diff] [blame] | 117 | |
| 118 | // Whether the short or long while-idle timeout should be used for each UID. |
Kweku Adams | 6f55275 | 2018-02-06 16:04:14 -0800 | [diff] [blame] | 119 | repeated int32 use_allow_while_idle_short_time = 35; |
Makoto Onuki | adb50d8 | 2018-01-29 16:20:30 -0800 | [diff] [blame] | 120 | |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 121 | // For each uid, this is the last time we dispatched an "allow while idle" |
| 122 | // alarm, used to determine the earliest we can dispatch the next such alarm. |
Kweku Adams | 923ec43 | 2017-12-11 18:05:38 -0800 | [diff] [blame] | 123 | repeated LastAllowWhileIdleDispatch last_allow_while_idle_dispatch_times = 36; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 124 | |
Kweku Adams | 923ec43 | 2017-12-11 18:05:38 -0800 | [diff] [blame] | 125 | optional com.android.internal.util.LocalLogProto recent_problems = 37; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 126 | |
| 127 | message TopAlarm { |
Kweku Adams | ce9ab2d | 2018-01-25 15:49:34 -0800 | [diff] [blame] | 128 | option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| 129 | |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 130 | optional int32 uid = 1; |
| 131 | optional string package_name = 2; |
| 132 | optional FilterStatsProto filter = 3; |
| 133 | } |
Kweku Adams | 923ec43 | 2017-12-11 18:05:38 -0800 | [diff] [blame] | 134 | repeated TopAlarm top_alarms = 38; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 135 | |
| 136 | message AlarmStat { |
Kweku Adams | ce9ab2d | 2018-01-25 15:49:34 -0800 | [diff] [blame] | 137 | option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| 138 | |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 139 | optional BroadcastStatsProto broadcast = 1; |
| 140 | repeated FilterStatsProto filters = 2; |
| 141 | } |
Kweku Adams | 923ec43 | 2017-12-11 18:05:38 -0800 | [diff] [blame] | 142 | repeated AlarmStat alarm_stats = 39; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 143 | |
Kweku Adams | 923ec43 | 2017-12-11 18:05:38 -0800 | [diff] [blame] | 144 | repeated IdleDispatchEntryProto allow_while_idle_dispatches = 40; |
| 145 | repeated WakeupEventProto recent_wakeup_history = 41; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 146 | } |
| 147 | |
| 148 | // This is a soft wrapper for alarm clock information. It is not representative |
| 149 | // of an android.app.AlarmManager.AlarmClockInfo object. |
| 150 | message AlarmClockMetadataProto { |
Kweku Adams | ce9ab2d | 2018-01-25 15:49:34 -0800 | [diff] [blame] | 151 | option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| 152 | |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 153 | optional int32 user = 1; |
| 154 | optional bool is_pending_send = 2; |
| 155 | // This value is UTC wall clock time in milliseconds, as returned by |
| 156 | // System#currentTimeMillis() for example. |
| 157 | optional int64 trigger_time_ms = 3; |
| 158 | } |
| 159 | |
| 160 | // A com.android.server.AlarmManagerService.Alarm object. |
| 161 | message AlarmProto { |
Kweku Adams | ce9ab2d | 2018-01-25 15:49:34 -0800 | [diff] [blame] | 162 | option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| 163 | |
| 164 | optional string tag = 1 [ (.android.privacy).dest = DEST_EXPLICIT ]; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 165 | optional .android.app.AlarmManagerProto.AlarmType type = 2; |
Kweku Adams | 923ec43 | 2017-12-11 18:05:38 -0800 | [diff] [blame] | 166 | // How long until the alarm goes off, in the 'elapsed' timebase. Can be |
| 167 | // negative if 'when' is in the past. |
| 168 | optional int64 time_until_when_elapsed_ms = 3; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 169 | optional int64 window_length_ms = 4; |
| 170 | optional int64 repeat_interval_ms = 5; |
| 171 | optional int32 count = 6; |
| 172 | optional int32 flags = 7; |
| 173 | optional .android.app.AlarmClockInfoProto alarm_clock = 8; |
| 174 | optional .android.app.PendingIntentProto operation = 9; |
Kweku Adams | ce9ab2d | 2018-01-25 15:49:34 -0800 | [diff] [blame] | 175 | optional string listener = 10 [ (.android.privacy).dest = DEST_EXPLICIT ]; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 176 | } |
| 177 | |
| 178 | // A com.android.server.AlarmManagerService.Batch object. |
| 179 | message BatchProto { |
Kweku Adams | ce9ab2d | 2018-01-25 15:49:34 -0800 | [diff] [blame] | 180 | option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| 181 | |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 182 | // Start time in terms of elapsed realtime. |
| 183 | optional int64 start_realtime = 1; |
| 184 | // End time in terms of elapsed realtime. |
| 185 | optional int64 end_realtime = 2; |
| 186 | optional int32 flags = 3; |
| 187 | repeated AlarmProto alarms = 4; |
| 188 | } |
| 189 | |
| 190 | // A com.android.server.AlarmManagerService.BroadcastStats object. |
| 191 | message BroadcastStatsProto { |
Kweku Adams | ce9ab2d | 2018-01-25 15:49:34 -0800 | [diff] [blame] | 192 | option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| 193 | |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 194 | optional int32 uid = 1; |
| 195 | optional string package_name = 2; |
| 196 | // The total amount of time this broadcast was in flight. |
| 197 | optional int64 total_flight_duration_ms = 3; |
| 198 | optional int32 count = 4; |
| 199 | optional int32 wakeup_count = 5; |
| 200 | // The last time this first became active (when nesting changed from 0 to 1) |
| 201 | // in terms of elapsed realtime. |
| 202 | optional int64 start_time_realtime = 6; |
| 203 | // The broadcast is active if nesting > 0. |
| 204 | optional int32 nesting = 7; |
| 205 | } |
| 206 | |
| 207 | // A com.android.server.AlarmManagerService.Constants object. |
| 208 | message ConstantsProto { |
Kweku Adams | ce9ab2d | 2018-01-25 15:49:34 -0800 | [diff] [blame] | 209 | option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| 210 | |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 211 | // Minimum futurity of a new alarm. |
| 212 | optional int64 min_futurity_duration_ms = 1; |
| 213 | // Minimum alarm recurrence interval. |
| 214 | optional int64 min_interval_duration_ms = 2; |
| 215 | // Direct alarm listener callback timeout. |
| 216 | optional int64 listener_timeout_duration_ms = 3; |
| 217 | // Minimum time between ALLOW_WHILE_IDLE alarms when system is not idle. |
| 218 | optional int64 allow_while_idle_short_duration_ms = 4; |
| 219 | // Minimum time between ALLOW_WHILE_IDLE alarms when system is idling. |
| 220 | optional int64 allow_while_idle_long_duration_ms = 5; |
| 221 | // BroadcastOptions.setTemporaryAppWhitelistDuration() to use for FLAG_ALLOW_WHILE_IDLE. |
| 222 | optional int64 allow_while_idle_whitelist_duration_ms = 6; |
Christopher Tate | 22e919d | 2018-02-16 16:16:50 -0800 | [diff] [blame] | 223 | // Maximum alarm recurrence interval. |
| 224 | optional int64 max_interval_duration_ms = 7; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 225 | } |
| 226 | |
| 227 | // A com.android.server.AlarmManagerService.FilterStats object. |
| 228 | message FilterStatsProto { |
Kweku Adams | ce9ab2d | 2018-01-25 15:49:34 -0800 | [diff] [blame] | 229 | option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| 230 | |
| 231 | optional string tag = 1 [ (.android.privacy).dest = DEST_EXPLICIT ]; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 232 | // The last time this filter when in flight, in terms of elapsed realtime. |
| 233 | optional int64 last_flight_time_realtime = 2; |
| 234 | // The total amount of time this filter was in flight. |
| 235 | optional int64 total_flight_duration_ms = 3; |
| 236 | optional int32 count = 4; |
| 237 | optional int32 wakeup_count = 5; |
| 238 | // The last time this first became active (when nesting changed from 0 to 1) |
| 239 | // in terms of elapsed realtime. |
| 240 | optional int64 start_time_realtime = 6; |
| 241 | // The filter is active if nesting > 0. |
| 242 | optional int32 nesting = 7; |
| 243 | } |
| 244 | |
| 245 | // A com.android.server.AlarmManagerService.IdleDispatchEntry object. |
| 246 | message IdleDispatchEntryProto { |
Kweku Adams | ce9ab2d | 2018-01-25 15:49:34 -0800 | [diff] [blame] | 247 | option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| 248 | |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 249 | optional int32 uid = 1; |
| 250 | optional string pkg = 2; |
Kweku Adams | ce9ab2d | 2018-01-25 15:49:34 -0800 | [diff] [blame] | 251 | optional string tag = 3 [ (.android.privacy).dest = DEST_EXPLICIT ]; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 252 | optional string op = 4; |
| 253 | // Time when this entry was created, in terms of elapsed realtime. |
| 254 | optional int64 entry_creation_realtime = 5; |
| 255 | // For a RESCHEDULED op, this is the last time we dispatched an "allow while |
| 256 | // idle" alarm for the UID. For a SET op, this is when the alarm was |
| 257 | // triggered. Times are in the 'elapsed' timebase. |
| 258 | optional int64 arg_realtime = 6; |
| 259 | } |
| 260 | |
| 261 | // A com.android.server.AlarmManagerService.InFlight object. |
| 262 | message InFlightProto { |
Kweku Adams | ce9ab2d | 2018-01-25 15:49:34 -0800 | [diff] [blame] | 263 | option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| 264 | |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 265 | optional int32 uid = 1; |
Kweku Adams | ce9ab2d | 2018-01-25 15:49:34 -0800 | [diff] [blame] | 266 | optional string tag = 2 [ (.android.privacy).dest = DEST_EXPLICIT ]; |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 267 | optional int64 when_elapsed_ms = 3; |
| 268 | optional .android.app.AlarmManagerProto.AlarmType alarm_type = 4; |
| 269 | optional .android.app.PendingIntentProto pending_intent = 5; |
| 270 | optional BroadcastStatsProto broadcast_stats = 6; |
| 271 | optional FilterStatsProto filter_stats = 7; |
| 272 | optional .android.os.WorkSourceProto work_source = 8; |
| 273 | } |
| 274 | |
| 275 | // A com.android.server.AlarmManagerService.WakeupEvent object. |
| 276 | message WakeupEventProto { |
Kweku Adams | ce9ab2d | 2018-01-25 15:49:34 -0800 | [diff] [blame] | 277 | option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| 278 | |
Kweku Adams | 61e0329 | 2017-10-19 14:27:12 -0700 | [diff] [blame] | 279 | optional int32 uid = 1; |
| 280 | optional string action = 2; |
| 281 | optional int64 when = 3; |
| 282 | } |