blob: 60892557891b51a5ac475ba19ab847ca24177e25 [file] [log] [blame]
Steven Timotiusaf03df62017-07-18 16:56:43 -07001/*
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
Yi Jinc7f93072017-09-29 15:29:38 -070017syntax = "proto2";
Yi Jinbe6de302017-10-24 12:30:24 -070018
Vishnu Nair9a3e4062018-01-11 08:42:54 -080019import "frameworks/base/core/proto/android/app/statusbarmanager.proto";
20import "frameworks/base/core/proto/android/content/activityinfo.proto";
Wale Ogunwale0d5609b2017-09-13 05:55:07 -070021import "frameworks/base/core/proto/android/content/configuration.proto";
Steven Timotiusaf03df62017-07-18 16:56:43 -070022import "frameworks/base/core/proto/android/graphics/rect.proto";
lumarkbc0032a2019-11-01 21:38:13 +080023import "frameworks/base/core/proto/android/server/windowcontainerthumbnail.proto";
Vishnu Nair04ab4392018-01-10 11:00:06 -080024import "frameworks/base/core/proto/android/server/surfaceanimator.proto";
Vishnu Nair1d0fa072018-01-04 07:53:00 -080025import "frameworks/base/core/proto/android/view/displaycutout.proto";
Steven Timotiusaf03df62017-07-18 16:56:43 -070026import "frameworks/base/core/proto/android/view/displayinfo.proto";
Kweku Adamsffc19c02018-07-31 17:00:17 -070027import "frameworks/base/core/proto/android/view/enums.proto";
Vishnu Nair9a3e4062018-01-11 08:42:54 -080028import "frameworks/base/core/proto/android/view/surface.proto";
Steven Timotiusaf03df62017-07-18 16:56:43 -070029import "frameworks/base/core/proto/android/view/windowlayoutparams.proto";
Joe Onorato99598ee2019-02-11 15:55:13 +000030import "frameworks/base/core/proto/android/privacy.proto";
Steven Timotiusaf03df62017-07-18 16:56:43 -070031
Yi Jin6c6e9ca2018-03-20 16:53:35 -070032package com.android.server.wm;
Steven Timotiusaf03df62017-07-18 16:56:43 -070033
34option java_multiple_files = true;
35
Yi Jin2b30f322018-02-20 15:41:47 -080036message WindowManagerServiceDumpProto {
Kweku Adams21b8d262018-03-30 12:19:58 -070037 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
Yi Jin0d7bc2d12018-01-23 17:35:19 -080038
Kweku Adams21b8d262018-03-30 12:19:58 -070039 optional WindowManagerPolicyProto policy = 1;
40 /* window hierarchy root */
41 optional RootWindowContainerProto root_window_container = 2;
42 optional IdentifierProto focused_window = 3;
43 optional string focused_app = 4;
44 optional IdentifierProto input_method_window = 5;
45 optional bool display_frozen = 6;
46 optional int32 rotation = 7;
47 optional int32 last_orientation = 8;
wilsonshih6164e012019-05-06 09:31:02 +080048 optional int32 focused_display_id = 9;
Wale Ogunwale0d5609b2017-09-13 05:55:07 -070049}
50
Kweku Adams87c60a02018-06-13 12:13:52 -070051/* represents RootWindowContainer object */
Wale Ogunwale0d5609b2017-09-13 05:55:07 -070052message RootWindowContainerProto {
Kweku Adams21b8d262018-03-30 12:19:58 -070053 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
Yi Jin0d7bc2d12018-01-23 17:35:19 -080054
Kweku Adams21b8d262018-03-30 12:19:58 -070055 optional WindowContainerProto window_container = 1;
Vishnu Nairdddc9f52020-03-09 09:37:27 -070056 repeated DisplayContentProto displays = 2 [deprecated=true];
Wale Ogunwalef342f062020-01-27 07:34:13 -080057 reserved 3; // IdentifierProto windows
Kweku Adams21b8d262018-03-30 12:19:58 -070058 /* window references in top down z order */
Vishnu Nairdddc9f52020-03-09 09:37:27 -070059 repeated WindowStateProto windows = 4 [deprecated=true];
Wale Ogunwalef342f062020-01-27 07:34:13 -080060 optional KeyguardControllerProto keyguard_controller = 5;
61 // Whether or not the home activity is the recents activity. This is needed for the CTS tests to
62 // know what activity types to check for when invoking splitscreen multi-window.
63 optional bool is_home_recents_component = 6;
64 repeated IdentifierProto pending_activities = 7;
Steven Timotiusaf03df62017-07-18 16:56:43 -070065}
66
Vishnu Nair9a3e4062018-01-11 08:42:54 -080067message BarControllerProto {
Kweku Adams21b8d262018-03-30 12:19:58 -070068 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
Yi Jin0d7bc2d12018-01-23 17:35:19 -080069
Kweku Adams21b8d262018-03-30 12:19:58 -070070 optional .android.app.StatusBarManagerProto.WindowState state = 1;
71 optional .android.app.StatusBarManagerProto.TransientWindowState transient_state = 2;
Vishnu Nair9a3e4062018-01-11 08:42:54 -080072}
73
74message WindowOrientationListenerProto {
Kweku Adams21b8d262018-03-30 12:19:58 -070075 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
Yi Jin0d7bc2d12018-01-23 17:35:19 -080076
Kweku Adams21b8d262018-03-30 12:19:58 -070077 optional bool enabled = 1;
78 optional .android.view.SurfaceProto.Rotation rotation = 2;
Vishnu Nair9a3e4062018-01-11 08:42:54 -080079}
80
81message KeyguardServiceDelegateProto {
Kweku Adams21b8d262018-03-30 12:19:58 -070082 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
Yi Jin0d7bc2d12018-01-23 17:35:19 -080083
Kweku Adams21b8d262018-03-30 12:19:58 -070084 optional bool showing = 1;
85 optional bool occluded = 2;
86 optional bool secure = 3;
87 enum ScreenState {
88 SCREEN_STATE_OFF = 0;
89 SCREEN_STATE_TURNING_ON = 1;
90 SCREEN_STATE_ON = 2;
91 SCREEN_STATE_TURNING_OFF = 3;
92 }
93 optional ScreenState screen_state = 4;
94 enum InteractiveState {
95 INTERACTIVE_STATE_SLEEP = 0;
96 INTERACTIVE_STATE_WAKING = 1;
97 INTERACTIVE_STATE_AWAKE = 2;
98 INTERACTIVE_STATE_GOING_TO_SLEEP = 3;
99 }
100 optional InteractiveState interactive_state = 5;
Vishnu Nair9a3e4062018-01-11 08:42:54 -0800101}
102
Wale Ogunwalef342f062020-01-27 07:34:13 -0800103message KeyguardControllerProto {
104 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
105
106 optional bool keyguard_showing = 1;
107 repeated KeyguardOccludedProto keyguard_occluded_states = 2;
108 optional bool aod_showing = 3;
109}
110
111message KeyguardOccludedProto {
112 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
113
114 optional int32 display_id = 1;
115 optional bool keyguard_occluded = 2;
116}
117
Steven Timotiusaf03df62017-07-18 16:56:43 -0700118/* represents PhoneWindowManager */
119message WindowManagerPolicyProto {
Kweku Adams21b8d262018-03-30 12:19:58 -0700120 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
Yi Jin0d7bc2d12018-01-23 17:35:19 -0800121
Tiger Huang7c610aa2018-10-27 00:01:01 +0800122 optional int32 last_system_ui_flags = 1 [deprecated=true];
Kweku Adams21b8d262018-03-30 12:19:58 -0700123 enum UserRotationMode {
124 USER_ROTATION_FREE = 0;
125 USER_ROTATION_LOCKED = 1;
126 }
127 optional UserRotationMode rotation_mode = 2;
128 optional .android.view.SurfaceProto.Rotation rotation = 3;
129 optional .android.content.ActivityInfoProto.ScreenOrientation orientation = 4;
130 optional bool screen_on_fully = 5;
131 optional bool keyguard_draw_complete = 6;
132 optional bool window_manager_draw_complete = 7;
Tiger Huang7c610aa2018-10-27 00:01:01 +0800133 optional string focused_app_token = 8 [deprecated=true];
134 optional IdentifierProto focused_window = 9 [deprecated=true];
135 optional IdentifierProto top_fullscreen_opaque_window = 10 [deprecated=true];
136 optional IdentifierProto top_fullscreen_opaque_or_dimming_window = 11 [deprecated=true];
Kweku Adams21b8d262018-03-30 12:19:58 -0700137 optional bool keyguard_occluded = 12;
138 optional bool keyguard_occluded_changed = 13;
139 optional bool keyguard_occluded_pending = 14;
Tiger Huang7c610aa2018-10-27 00:01:01 +0800140 optional bool force_status_bar = 15 [deprecated=true];
141 optional bool force_status_bar_from_keyguard = 16 [deprecated=true];
142 optional BarControllerProto status_bar = 17 [deprecated=true];
143 optional BarControllerProto navigation_bar = 18 [deprecated=true];
144 optional WindowOrientationListenerProto orientation_listener = 19 [deprecated=true];
Kweku Adams21b8d262018-03-30 12:19:58 -0700145 optional KeyguardServiceDelegateProto keyguard_delegate = 20;
Steven Timotiusaf03df62017-07-18 16:56:43 -0700146}
147
148/* represents AppTransition */
149message AppTransitionProto {
Kweku Adams21b8d262018-03-30 12:19:58 -0700150 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
Yi Jin0d7bc2d12018-01-23 17:35:19 -0800151
Kweku Adams21b8d262018-03-30 12:19:58 -0700152 enum AppState {
153 APP_STATE_IDLE = 0;
154 APP_STATE_READY = 1;
155 APP_STATE_RUNNING = 2;
156 APP_STATE_TIMEOUT = 3;
157 }
158 optional AppState app_transition_state = 1;
Kweku Adamsffc19c02018-07-31 17:00:17 -0700159
160 optional .android.view.TransitionTypeEnum last_used_app_transition = 2;
Steven Timotiusaf03df62017-07-18 16:56:43 -0700161}
162
Kweku Adams87c60a02018-06-13 12:13:52 -0700163/* represents DisplayContent object */
164message DisplayContentProto {
Kweku Adams21b8d262018-03-30 12:19:58 -0700165 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
Yi Jin0d7bc2d12018-01-23 17:35:19 -0800166
Kweku Adams21b8d262018-03-30 12:19:58 -0700167 optional WindowContainerProto window_container = 1;
168 optional int32 id = 2;
Wale Ogunwalef342f062020-01-27 07:34:13 -0800169 reserved 3; // stacks
Evan Rosky73a7fe92019-11-18 18:28:01 -0800170 optional DockedStackDividerControllerProto docked_stack_divider_controller = 4 [deprecated=true];
Hongwei Wang35d59142020-01-27 10:01:32 -0800171 // Will be removed soon.
172 optional PinnedStackControllerProto pinned_stack_controller = 5 [deprecated=true];
Kweku Adams21b8d262018-03-30 12:19:58 -0700173 /* non app windows */
Adrian Roos22a20a82019-10-23 19:05:33 +0200174 repeated WindowTokenProto above_app_windows = 6 [deprecated=true];
175 repeated WindowTokenProto below_app_windows = 7 [deprecated=true];
176 repeated WindowTokenProto ime_windows = 8 [deprecated=true];
Kweku Adams21b8d262018-03-30 12:19:58 -0700177 optional int32 dpi = 9;
178 optional .android.view.DisplayInfoProto display_info = 10;
179 optional int32 rotation = 11;
180 optional ScreenRotationAnimationProto screen_rotation_animation = 12;
181 optional DisplayFramesProto display_frames = 13;
Vishnu Naire86bd982018-11-28 13:23:17 -0800182 optional int32 surface_size = 14 [deprecated=true];
Tiger Huang1e5b10a2018-07-30 20:19:51 +0800183 optional string focused_app = 15;
lumark588a3e82018-07-20 18:53:54 +0800184 optional AppTransitionProto app_transition = 16;
Jorim Jaggi1112fed2019-04-15 13:32:14 +0200185 repeated IdentifierProto opening_apps = 17;
186 repeated IdentifierProto closing_apps = 18;
187 repeated IdentifierProto changing_apps = 19;
chaviw8065f442019-11-18 13:20:58 -0800188 repeated WindowTokenProto overlay_windows = 20;
Adrian Roos22a20a82019-10-23 19:05:33 +0200189 optional DisplayAreaProto root_display_area = 21;
Wale Ogunwalef342f062020-01-27 07:34:13 -0800190
191
192 optional bool single_task_instance = 22;
193 optional int32 focused_root_task_id = 23;
194 optional .com.android.server.wm.IdentifierProto resumed_activity = 24;
Vishnu Nairdddc9f52020-03-09 09:37:27 -0700195 repeated TaskProto tasks = 25 [deprecated=true];
196 optional bool display_ready = 26;
Steven Timotiusaf03df62017-07-18 16:56:43 -0700197}
198
Adrian Roos22a20a82019-10-23 19:05:33 +0200199/* represents DisplayArea object */
200message DisplayAreaProto {
201 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
202
203 optional WindowContainerProto window_container = 1;
204 optional string name = 2 [ (.android.privacy).dest = DEST_EXPLICIT ];
Vishnu Nairdddc9f52020-03-09 09:37:27 -0700205 repeated DisplayAreaChildProto children = 3 [deprecated=true];
Adrian Roos22a20a82019-10-23 19:05:33 +0200206}
207
208/* represents a generic child of a DisplayArea */
209message DisplayAreaChildProto {
210 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
211
212 /* At most one of the following should be present: */
213
214 /* represents a DisplayArea child */
215 optional DisplayAreaProto display_area = 1;
216 /* represents a WindowToken child */
217 optional WindowTokenProto window = 2;
218 /* represents an unknown child - the class name is recorded */
219 repeated string unknown = 3;
220}
221
Wale Ogunwale828ff7e2017-11-14 01:01:29 +0000222/* represents DisplayFrames */
223message DisplayFramesProto {
Kweku Adams21b8d262018-03-30 12:19:58 -0700224 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
Yi Jin0d7bc2d12018-01-23 17:35:19 -0800225
Kweku Adams21b8d262018-03-30 12:19:58 -0700226 optional .android.graphics.RectProto stable_bounds = 1;
Wale Ogunwale828ff7e2017-11-14 01:01:29 +0000227}
Steven Timotiusaf03df62017-07-18 16:56:43 -0700228
229/* represents DockedStackDividerController */
230message DockedStackDividerControllerProto {
Kweku Adams21b8d262018-03-30 12:19:58 -0700231 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
Yi Jin0d7bc2d12018-01-23 17:35:19 -0800232
Evan Rosky73a7fe92019-11-18 18:28:01 -0800233 optional bool minimized_dock = 1 [deprecated=true];
Steven Timotiusaf03df62017-07-18 16:56:43 -0700234}
235
236/* represents PinnedStackController */
237message PinnedStackControllerProto {
Kweku Adams21b8d262018-03-30 12:19:58 -0700238 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
Yi Jin0d7bc2d12018-01-23 17:35:19 -0800239
Hongwei Wang35d59142020-01-27 10:01:32 -0800240 optional .android.graphics.RectProto default_bounds = 1 [deprecated=true];
241 optional .android.graphics.RectProto movement_bounds = 2 [deprecated=true];
Steven Timotiusaf03df62017-07-18 16:56:43 -0700242}
243
Steven Timotiusaf03df62017-07-18 16:56:43 -0700244/* represents Task */
245message TaskProto {
Kweku Adams21b8d262018-03-30 12:19:58 -0700246 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
Yi Jin0d7bc2d12018-01-23 17:35:19 -0800247
Kweku Adams21b8d262018-03-30 12:19:58 -0700248 optional WindowContainerProto window_container = 1;
249 optional int32 id = 2;
Wale Ogunwalef342f062020-01-27 07:34:13 -0800250 reserved 3; // activity
Kweku Adams21b8d262018-03-30 12:19:58 -0700251 optional bool fills_parent = 4;
252 optional .android.graphics.RectProto bounds = 5;
Evan Roskyed6767f2018-10-26 17:21:06 -0700253 optional .android.graphics.RectProto displayed_bounds = 6;
Wale Ogunwalef342f062020-01-27 07:34:13 -0800254 optional bool defer_removal = 7;
Louis Chang7501e332018-08-20 13:08:39 +0800255 optional int32 surface_width = 8;
256 optional int32 surface_height = 9;
Wale Ogunwalef342f062020-01-27 07:34:13 -0800257
Vishnu Nairdddc9f52020-03-09 09:37:27 -0700258 repeated TaskProto tasks = 10 [deprecated=true];
259 repeated ActivityRecordProto activities = 11 [deprecated=true];
Wale Ogunwalef342f062020-01-27 07:34:13 -0800260
261 optional .com.android.server.wm.IdentifierProto resumed_activity = 12;
262 optional string real_activity = 13;
263 optional string orig_activity = 14;
264
265 optional int32 display_id = 15;
266 optional int32 root_task_id = 16;
267 optional int32 activity_type = 17;
268 optional int32 resize_mode = 18;
269 optional int32 min_width = 19;
270 optional int32 min_height = 20;
271
272 optional .android.graphics.RectProto adjusted_bounds = 21;
273 optional .android.graphics.RectProto last_non_fullscreen_bounds = 22;
274 optional bool adjusted_for_ime = 23;
275 optional float adjust_ime_amount = 24;
276 optional float adjust_divider_amount = 25;
277 optional bool animating_bounds = 26;
278 optional float minimize_amount = 27;
Evan Roskyaf9f27c2020-02-18 18:58:35 +0000279 optional bool created_by_organizer = 28;
Steven Timotiusaf03df62017-07-18 16:56:43 -0700280}
281
Jeff Changacc340d2019-11-22 14:23:08 +0800282/* represents ActivityRecordProto */
283message ActivityRecordProto {
Kweku Adams21b8d262018-03-30 12:19:58 -0700284 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
Yi Jin0d7bc2d12018-01-23 17:35:19 -0800285
Kweku Adams21b8d262018-03-30 12:19:58 -0700286 optional string name = 1 [ (.android.privacy).dest = DEST_EXPLICIT ];
Jeff Changacc340d2019-11-22 14:23:08 +0800287
Kweku Adams21b8d262018-03-30 12:19:58 -0700288 optional WindowTokenProto window_token = 2;
289 optional bool last_surface_showing = 3;
290 optional bool is_waiting_for_transition_start = 4;
lumark9bca6b42019-10-17 18:35:22 +0800291 optional bool is_animating = 5;
lumarkbc0032a2019-11-01 21:38:13 +0800292 optional WindowContainerThumbnailProto thumbnail = 6;
Kweku Adams21b8d262018-03-30 12:19:58 -0700293 optional bool fills_parent = 7;
294 optional bool app_stopped = 8;
Issei Suzuki1669ea42019-11-06 14:20:59 +0100295 optional bool visible_requested = 9;
Issei Suzukid4ee1cc2019-11-08 13:20:14 +0100296 optional bool client_visible = 10;
Kweku Adams21b8d262018-03-30 12:19:58 -0700297 optional bool defer_hiding_client = 11;
298 optional bool reported_drawn = 12;
299 optional bool reported_visible = 13;
300 optional int32 num_interesting_windows = 14;
301 optional int32 num_drawn_windows = 15;
302 optional bool all_drawn = 16;
303 optional bool last_all_drawn = 17;
Wale Ogunwalef342f062020-01-27 07:34:13 -0800304 reserved 18; // removed
Kweku Adams21b8d262018-03-30 12:19:58 -0700305 optional IdentifierProto starting_window = 19;
306 optional bool starting_displayed = 20;
Wale Ogunwalef342f062020-01-27 07:34:13 -0800307 optional bool starting_moved = 201;
Issei Suzukif2f6c912019-11-08 11:24:18 +0100308 optional bool visible_set_from_transferred_starting_window = 22;
Kweku Adams21b8d262018-03-30 12:19:58 -0700309 repeated .android.graphics.RectProto frozen_bounds = 23;
Issei Suzukif2f6c912019-11-08 11:24:18 +0100310 optional bool visible = 24;
Wale Ogunwalef342f062020-01-27 07:34:13 -0800311 reserved 25; // configuration_container
312 optional IdentifierProto identifier = 26;
Jeff Changacc340d2019-11-22 14:23:08 +0800313 optional string state = 27;
314 optional bool front_of_task = 28;
315 optional int32 proc_id = 29;
316 optional bool translucent = 30;
Steven Timotiusaf03df62017-07-18 16:56:43 -0700317}
318
319/* represents WindowToken */
320message WindowTokenProto {
Kweku Adams21b8d262018-03-30 12:19:58 -0700321 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
Yi Jin0d7bc2d12018-01-23 17:35:19 -0800322
Kweku Adams21b8d262018-03-30 12:19:58 -0700323 optional WindowContainerProto window_container = 1;
324 optional int32 hash_code = 2;
Vishnu Nairdddc9f52020-03-09 09:37:27 -0700325 repeated WindowStateProto windows = 3 [deprecated=true];
Kweku Adams21b8d262018-03-30 12:19:58 -0700326 optional bool waiting_to_show = 5;
327 optional bool paused = 6;
Steven Timotiusaf03df62017-07-18 16:56:43 -0700328}
329
330/* represents WindowState */
331message WindowStateProto {
Kweku Adams21b8d262018-03-30 12:19:58 -0700332 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
Yi Jin0d7bc2d12018-01-23 17:35:19 -0800333
Kweku Adams21b8d262018-03-30 12:19:58 -0700334 optional WindowContainerProto window_container = 1;
335 optional IdentifierProto identifier = 2;
Kweku Adams87c60a02018-06-13 12:13:52 -0700336 // Unique identifier of a DisplayContent stack.
Kweku Adams21b8d262018-03-30 12:19:58 -0700337 optional int32 display_id = 3;
Kweku Adams87c60a02018-06-13 12:13:52 -0700338 // Unique identifier for the task stack.
Kweku Adams21b8d262018-03-30 12:19:58 -0700339 optional int32 stack_id = 4;
340 optional .android.view.WindowLayoutParamsProto attributes = 5;
341 optional .android.graphics.RectProto given_content_insets = 6;
chaviw4eecaa12018-08-08 17:18:45 -0700342 optional .android.graphics.RectProto frame = 7 [deprecated=true];
343 optional .android.graphics.RectProto containing_frame = 8 [deprecated=true];
344 optional .android.graphics.RectProto parent_frame = 9 [deprecated=true];
345 optional .android.graphics.RectProto content_frame = 10 [deprecated=true];
chaviw9c81e632018-07-31 11:17:52 -0700346 optional .android.graphics.RectProto content_insets = 11 [deprecated=true];
Kweku Adams21b8d262018-03-30 12:19:58 -0700347 optional .android.graphics.RectProto surface_insets = 12;
348 optional WindowStateAnimatorProto animator = 13;
349 optional bool animating_exit = 14;
Vishnu Nairdddc9f52020-03-09 09:37:27 -0700350 repeated WindowStateProto child_windows = 15 [deprecated=true];
Kweku Adams21b8d262018-03-30 12:19:58 -0700351 optional .android.graphics.RectProto surface_position = 16;
352 optional int32 requested_width = 18;
353 optional int32 requested_height = 19;
354 optional int32 view_visibility = 20;
355 optional int32 system_ui_visibility = 21;
356 optional bool has_surface = 22;
357 optional bool is_ready_for_display = 23;
chaviw4eecaa12018-08-08 17:18:45 -0700358 optional .android.graphics.RectProto display_frame = 24 [deprecated=true];
359 optional .android.graphics.RectProto overscan_frame = 25 [deprecated=true];
360 optional .android.graphics.RectProto visible_frame = 26 [deprecated=true];
361 optional .android.graphics.RectProto decor_frame = 27 [deprecated=true];
362 optional .android.graphics.RectProto outset_frame = 28 [deprecated=true];
chaviw9c81e632018-07-31 11:17:52 -0700363 optional .android.graphics.RectProto overscan_insets = 29 [deprecated=true];
364 optional .android.graphics.RectProto visible_insets = 30 [deprecated=true];
365 optional .android.graphics.RectProto stable_insets = 31 [deprecated=true];
366 optional .android.graphics.RectProto outsets = 32 [deprecated=true];
chaviw4eecaa12018-08-08 17:18:45 -0700367 optional .android.view.DisplayCutoutProto cutout = 33 [deprecated=true];
Kweku Adams21b8d262018-03-30 12:19:58 -0700368 optional bool remove_on_exit = 34;
369 optional bool destroying = 35;
370 optional bool removed = 36;
371 optional bool is_on_screen = 37;
372 optional bool is_visible = 38;
Vishnu Nairddd80742018-08-21 14:12:46 -0700373 optional bool pending_seamless_rotation = 39;
374 optional int64 finished_seamless_rotation_frame = 40;
chaviw553b0212018-07-12 13:37:01 -0700375 optional WindowFramesProto window_frames = 41;
Vishnu Nairddd80742018-08-21 14:12:46 -0700376 optional bool force_seamless_rotation = 42;
Steven Timotiusaf03df62017-07-18 16:56:43 -0700377}
378
379message IdentifierProto {
Kweku Adams21b8d262018-03-30 12:19:58 -0700380 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
Yi Jin0d7bc2d12018-01-23 17:35:19 -0800381
Kweku Adams21b8d262018-03-30 12:19:58 -0700382 optional int32 hash_code = 1;
383 optional int32 user_id = 2;
Kweku Adams87c60a02018-06-13 12:13:52 -0700384 // Either a component name/string (eg: "com.android.settings/.FallbackHome")
385 // or a window title ("NavigationBar").
Kweku Adams21b8d262018-03-30 12:19:58 -0700386 optional string title = 3 [ (.android.privacy).dest = DEST_EXPLICIT ];
Steven Timotiusaf03df62017-07-18 16:56:43 -0700387}
388
389/* represents WindowStateAnimator */
390message WindowStateAnimatorProto {
Kweku Adams21b8d262018-03-30 12:19:58 -0700391 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
Yi Jin0d7bc2d12018-01-23 17:35:19 -0800392
Kweku Adams21b8d262018-03-30 12:19:58 -0700393 optional .android.graphics.RectProto last_clip_rect = 1;
394 optional WindowSurfaceControllerProto surface = 2;
395 enum DrawState {
396 NO_SURFACE = 0;
397 DRAW_PENDING = 1;
398 COMMIT_DRAW_PENDING = 2;
399 READY_TO_SHOW = 3;
400 HAS_DRAWN = 4;
401 }
402 optional DrawState draw_state = 3;
403 optional .android.graphics.RectProto system_decor_rect = 4;
Steven Timotiusaf03df62017-07-18 16:56:43 -0700404}
405
406/* represents WindowSurfaceController */
407message WindowSurfaceControllerProto {
Kweku Adams21b8d262018-03-30 12:19:58 -0700408 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
Yi Jin0d7bc2d12018-01-23 17:35:19 -0800409
Kweku Adams21b8d262018-03-30 12:19:58 -0700410 optional bool shown = 1;
411 optional int32 layer = 2;
Steven Timotiusf2d68892017-08-28 17:00:01 -0700412}
413
414/* represents ScreenRotationAnimation */
415message ScreenRotationAnimationProto {
Kweku Adams21b8d262018-03-30 12:19:58 -0700416 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
Yi Jin0d7bc2d12018-01-23 17:35:19 -0800417
Kweku Adams21b8d262018-03-30 12:19:58 -0700418 optional bool started = 1;
419 optional bool animation_running = 2;
Wale Ogunwale0d5609b2017-09-13 05:55:07 -0700420}
421
422/* represents WindowContainer */
423message WindowContainerProto {
Kweku Adams21b8d262018-03-30 12:19:58 -0700424 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
Yi Jin0d7bc2d12018-01-23 17:35:19 -0800425
Kweku Adams21b8d262018-03-30 12:19:58 -0700426 optional ConfigurationContainerProto configuration_container = 1;
427 optional int32 orientation = 2;
428 optional bool visible = 3;
429 optional SurfaceAnimatorProto surface_animator = 4;
Vishnu Nairdddc9f52020-03-09 09:37:27 -0700430 repeated WindowContainerChildProto children = 5;
431}
432
433/* represents a generic child of a WindowContainer */
434message WindowContainerChildProto {
435 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
436
437 /* A window container can have multiple children of different types stored as
438 * a WindowContainerChildProto but each instance of WindowContainerChildProto
439 * can only contain a single type.
440 */
441 /* We do not know the derived typ and the class is dumped
442 * as a WindowContainer */
443 optional WindowContainerProto window_container = 2;
444 /* represents a DisplayContent child */
445 optional DisplayContentProto display_content = 3;
446 /* represents a DisplayArea child */
447 optional DisplayAreaProto display_area = 4;
448 /* represents a Task child */
449 optional TaskProto task = 5;
450 /* represents an ActivityRecord child */
451 optional ActivityRecordProto activity = 6;
452 /* represents a WindowToken child */
453 optional WindowTokenProto window_token = 7;
454 /* represents a WindowState child */
455 optional WindowStateProto window = 8;
Wale Ogunwale0d5609b2017-09-13 05:55:07 -0700456}
457
458/* represents ConfigurationContainer */
459message ConfigurationContainerProto {
Kweku Adams21b8d262018-03-30 12:19:58 -0700460 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
Yi Jin0d7bc2d12018-01-23 17:35:19 -0800461
Kweku Adams21b8d262018-03-30 12:19:58 -0700462 optional .android.content.ConfigurationProto override_configuration = 1;
463 optional .android.content.ConfigurationProto full_configuration = 2;
464 optional .android.content.ConfigurationProto merged_override_configuration = 3;
Wale Ogunwale0d5609b2017-09-13 05:55:07 -0700465}
chaviw553b0212018-07-12 13:37:01 -0700466
467/* represents WindowFrames */
468message WindowFramesProto {
469 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
470
471 optional .android.graphics.RectProto containing_frame = 1;
472 optional .android.graphics.RectProto content_frame = 2;
473 optional .android.graphics.RectProto decor_frame = 3;
474 optional .android.graphics.RectProto display_frame = 4;
chaviw492139a2018-07-16 16:07:35 -0700475 optional .android.graphics.RectProto frame = 5;
476 optional .android.graphics.RectProto outset_frame = 6;
Jorim Jaggif081f062019-10-24 16:24:54 +0200477 optional .android.graphics.RectProto overscan_frame = 7 [deprecated=true];
chaviw492139a2018-07-16 16:07:35 -0700478 optional .android.graphics.RectProto parent_frame = 8;
479 optional .android.graphics.RectProto visible_frame = 9;
chaviwcdba9a42018-07-19 11:36:42 -0700480 optional .android.view.DisplayCutoutProto cutout = 10;
chaviw9c81e632018-07-31 11:17:52 -0700481 optional .android.graphics.RectProto content_insets = 11;
Jorim Jaggif081f062019-10-24 16:24:54 +0200482 optional .android.graphics.RectProto overscan_insets = 12 [deprecated=true];
chaviw9c81e632018-07-31 11:17:52 -0700483 optional .android.graphics.RectProto visible_insets = 13;
484 optional .android.graphics.RectProto stable_insets = 14;
485 optional .android.graphics.RectProto outsets = 15;
chaviw553b0212018-07-12 13:37:01 -0700486}