• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
17syntax = "proto2";
18
19import "frameworks/base/core/proto/android/app/statusbarmanager.proto";
20import "frameworks/base/core/proto/android/content/activityinfo.proto";
21import "frameworks/base/core/proto/android/content/configuration.proto";
22import "frameworks/base/core/proto/android/graphics/rect.proto";
23import "frameworks/base/core/proto/android/server/windowcontainerthumbnail.proto";
24import "frameworks/base/core/proto/android/server/surfaceanimator.proto";
25import "frameworks/base/core/proto/android/view/displaycutout.proto";
26import "frameworks/base/core/proto/android/view/displayinfo.proto";
27import "frameworks/base/core/proto/android/view/surface.proto";
28import "frameworks/base/core/proto/android/view/windowlayoutparams.proto";
29import "frameworks/base/core/proto/android/privacy.proto";
30import "frameworks/base/core/proto/android/typedef.proto";
31
32import "frameworks/base/core/proto/android/view/surfacecontrol.proto";
33import "frameworks/base/core/proto/android/view/insetssource.proto";
34import "frameworks/base/core/proto/android/view/insetssourcecontrol.proto";
35
36import "frameworks/proto_logging/stats/enums/view/enums.proto";
37
38package com.android.server.wm;
39
40option java_multiple_files = true;
41
42message WindowManagerServiceDumpProto {
43    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
44
45    optional WindowManagerPolicyProto policy = 1;
46    /* window hierarchy root */
47    optional RootWindowContainerProto root_window_container = 2;
48    optional IdentifierProto focused_window = 3;
49    optional string focused_app = 4;
50    optional IdentifierProto input_method_window = 5;
51    optional bool display_frozen = 6;
52    optional int32 rotation = 7 [(.android.typedef) = "android.view.Surface.Rotation", deprecated=true];
53    optional int32 last_orientation = 8 [(.android.typedef) = "android.content.pm.ActivityInfo.ScreenOrientation", deprecated=true];
54    optional int32 focused_display_id = 9;
55    optional bool hard_keyboard_available = 10;
56    optional bool window_frames_valid = 11;
57}
58
59/* represents RootWindowContainer object */
60message RootWindowContainerProto {
61    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
62
63    optional WindowContainerProto window_container = 1;
64    repeated DisplayContentProto displays = 2 [deprecated=true];
65    reserved 3; // IdentifierProto windows
66    /* window references in top down z order */
67    repeated WindowStateProto windows = 4 [deprecated=true];
68    optional KeyguardControllerProto keyguard_controller = 5;
69    // Whether or not the home activity is the recents activity. This is needed for the CTS tests to
70    // know what activity types to check for when invoking splitscreen multi-window.
71    optional bool is_home_recents_component = 6;
72    repeated IdentifierProto pending_activities = 7 [deprecated=true];
73    optional int32 default_min_size_resizable_task = 8 [deprecated=true];
74}
75
76message BarControllerProto {
77    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
78
79    optional .android.app.StatusBarManagerProto.WindowState state = 1;
80    optional .android.app.StatusBarManagerProto.TransientWindowState transient_state = 2;
81}
82
83message WindowOrientationListenerProto {
84    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
85
86    optional bool enabled = 1;
87    optional .android.view.SurfaceProto.Rotation rotation = 2;
88}
89
90message KeyguardServiceDelegateProto {
91    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
92
93    optional bool showing = 1;
94    optional bool occluded = 2;
95    optional bool secure = 3;
96    enum ScreenState {
97        SCREEN_STATE_OFF = 0;
98        SCREEN_STATE_TURNING_ON = 1;
99        SCREEN_STATE_ON = 2;
100        SCREEN_STATE_TURNING_OFF = 3;
101    }
102    optional ScreenState screen_state = 4;
103    enum InteractiveState {
104        INTERACTIVE_STATE_SLEEP = 0;
105        INTERACTIVE_STATE_WAKING = 1;
106        INTERACTIVE_STATE_AWAKE = 2;
107        INTERACTIVE_STATE_GOING_TO_SLEEP = 3;
108    }
109    optional InteractiveState interactive_state = 5;
110}
111
112message KeyguardControllerProto {
113    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
114
115    optional bool keyguard_showing = 1;
116    repeated KeyguardOccludedProto keyguard_occluded_states = 2 [deprecated=true];
117    optional bool aod_showing = 3;
118    repeated KeyguardPerDisplayProto keyguard_per_display = 4;
119    optional bool keyguard_going_away = 5;
120}
121
122message KeyguardOccludedProto {
123    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
124
125    optional int32 display_id = 1;
126    optional bool keyguard_occluded = 2;
127}
128
129message KeyguardPerDisplayProto {
130    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
131
132    optional int32 display_id = 1;
133    optional bool keyguard_showing = 2;
134    optional bool aod_showing = 3;
135    optional bool keyguard_occluded = 4;
136    optional bool keyguard_going_away = 5;
137}
138
139/* represents PhoneWindowManager */
140message WindowManagerPolicyProto {
141    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
142
143    optional int32 last_system_ui_flags = 1 [deprecated=true];
144    enum UserRotationMode {
145        USER_ROTATION_FREE = 0;
146        USER_ROTATION_LOCKED = 1;
147    }
148    optional UserRotationMode rotation_mode = 2;
149    optional .android.view.SurfaceProto.Rotation rotation = 3;
150    optional .android.content.ActivityInfoProto.ScreenOrientation orientation = 4;
151    optional bool screen_on_fully = 5;
152    optional bool keyguard_draw_complete = 6;
153    optional bool window_manager_draw_complete = 7;
154    optional string focused_app_token = 8 [deprecated=true];
155    optional IdentifierProto focused_window = 9 [deprecated=true];
156    optional IdentifierProto top_fullscreen_opaque_window = 10 [deprecated=true];
157    optional IdentifierProto top_fullscreen_opaque_or_dimming_window = 11 [deprecated=true];
158    optional bool keyguard_occluded = 12;
159    optional bool keyguard_occluded_changed = 13;
160    optional bool keyguard_occluded_pending = 14;
161    optional bool force_status_bar = 15 [deprecated=true];
162    optional bool force_status_bar_from_keyguard = 16 [deprecated=true];
163    optional BarControllerProto status_bar = 17 [deprecated=true];
164    optional BarControllerProto navigation_bar = 18 [deprecated=true];
165    optional WindowOrientationListenerProto orientation_listener = 19 [deprecated=true];
166    optional KeyguardServiceDelegateProto keyguard_delegate = 20;
167}
168
169/* represents AppTransition */
170message AppTransitionProto {
171    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
172
173    enum AppState {
174        APP_STATE_IDLE = 0;
175        APP_STATE_READY = 1;
176        APP_STATE_RUNNING = 2;
177        APP_STATE_TIMEOUT = 3;
178    }
179    optional AppState app_transition_state = 1;
180
181    optional .android.view.TransitionTypeEnum last_used_app_transition = 2;
182}
183
184/* represents DisplayContent object */
185message DisplayContentProto {
186    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
187
188    // Use root_display_area instead
189    optional WindowContainerProto window_container = 1 [deprecated=true];
190    optional int32 id = 2;
191    reserved 3; // RootTasks
192    optional DockedTaskDividerControllerProto docked_task_divider_controller = 4 [deprecated=true];
193    // Will be removed soon.
194    optional PinnedTaskControllerProto pinned_task_controller = 5 [deprecated=true];
195    /* non app windows */
196    repeated WindowTokenProto above_app_windows = 6 [deprecated=true];
197    repeated WindowTokenProto below_app_windows = 7 [deprecated=true];
198    repeated WindowTokenProto ime_windows = 8 [deprecated=true];
199    optional int32 dpi = 9;
200    optional .android.view.DisplayInfoProto display_info = 10;
201    optional int32 rotation = 11 [(.android.typedef) = "android.view.Surface.Rotation", deprecated=true];
202    optional ScreenRotationAnimationProto screen_rotation_animation = 12;
203    optional DisplayFramesProto display_frames = 13;
204    optional int32 surface_size = 14 [deprecated=true];
205    optional string focused_app = 15;
206    optional AppTransitionProto app_transition = 16;
207    repeated IdentifierProto opening_apps = 17;
208    repeated IdentifierProto closing_apps = 18;
209    repeated IdentifierProto changing_apps = 19;
210    repeated WindowTokenProto overlay_windows = 20 [deprecated=true];
211    optional DisplayAreaProto root_display_area = 21;
212
213    optional bool single_task_instance = 22 [deprecated=true];
214    optional int32 focused_root_task_id = 23;
215    optional .com.android.server.wm.IdentifierProto resumed_activity = 24;
216    repeated TaskProto tasks = 25 [deprecated=true];
217    optional bool display_ready = 26;
218    optional WindowStateProto input_method_target = 27;
219    optional WindowStateProto input_method_input_target = 28;
220    optional WindowStateProto input_method_control_target = 29;
221    optional WindowStateProto current_focus = 30;
222    optional ImeInsetsSourceProviderProto ime_insets_source_provider = 31;
223    optional bool can_show_ime = 32 [deprecated=true];
224
225    optional DisplayRotationProto display_rotation = 33;
226    optional int32 ime_policy = 34;
227
228    repeated InsetsSourceProviderProto insets_source_providers = 35;
229    optional bool is_sleeping = 36;
230    repeated string sleep_tokens = 37;
231    repeated .android.graphics.RectProto keep_clear_areas = 38;
232    optional int32 min_size_of_resizeable_task_dp = 39;
233}
234
235/* represents DisplayArea object */
236message DisplayAreaProto {
237    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
238
239    optional WindowContainerProto window_container = 1;
240    optional string name = 2 [ (.android.privacy).dest = DEST_EXPLICIT ];
241    repeated DisplayAreaChildProto children = 3 [deprecated=true];
242    optional bool is_task_display_area = 4;
243    optional bool is_root_display_area = 5;
244    optional int32 feature_id = 6;
245    optional bool is_organized = 7;
246}
247
248/* represents a generic child of a DisplayArea */
249message DisplayAreaChildProto {
250    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
251
252    /* At most one of the following should be present: */
253
254    /* represents a DisplayArea child */
255    optional DisplayAreaProto display_area = 1;
256    /* represents a WindowToken child */
257    optional WindowTokenProto window = 2;
258    /* represents an unknown child - the class name is recorded */
259    repeated string unknown = 3;
260}
261
262/* represents DisplayFrames */
263message DisplayFramesProto {
264    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
265
266    optional .android.graphics.RectProto stable_bounds = 1 [deprecated=true];
267    optional .android.graphics.RectProto dock = 2 [deprecated=true];
268    optional .android.graphics.RectProto current = 3 [deprecated=true];
269}
270
271message DisplayRotationProto {
272    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
273
274    optional int32 rotation = 1 [(.android.typedef) = "android.view.Surface.Rotation"];
275    optional bool frozen_to_user_rotation = 2;
276    optional int32 user_rotation = 3 [(.android.typedef) = "android.view.Surface.Rotation"];
277    optional int32 fixed_to_user_rotation_mode = 4;
278    optional int32 last_orientation = 5 [(.android.typedef) = "android.content.pm.ActivityInfo.ScreenOrientation"];
279    optional bool is_fixed_to_user_rotation = 6;
280}
281
282/* represents DockedTaskDividerController */
283message DockedTaskDividerControllerProto {
284    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
285
286    optional bool minimized_dock = 1 [deprecated=true];
287}
288
289/* represents PinnedTaskController */
290message PinnedTaskControllerProto {
291    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
292
293    optional .android.graphics.RectProto default_bounds = 1 [deprecated=true];
294    optional .android.graphics.RectProto movement_bounds = 2 [deprecated=true];
295}
296
297/* represents Task */
298message TaskProto {
299    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
300
301    optional WindowContainerProto window_container = 1 [deprecated=true];
302    optional int32 id = 2;
303    reserved 3; // activity
304    optional bool fills_parent = 4;
305    optional .android.graphics.RectProto bounds = 5;
306    optional .android.graphics.RectProto displayed_bounds = 6 [deprecated=true];
307    optional bool defer_removal = 7;
308    optional int32 surface_width = 8;
309    optional int32 surface_height = 9;
310
311    repeated TaskProto tasks = 10 [deprecated=true];
312    repeated ActivityRecordProto activities = 11 [deprecated=true];
313
314    optional .com.android.server.wm.IdentifierProto resumed_activity = 12;
315    optional string real_activity = 13;
316    optional string orig_activity = 14;
317
318    optional int32 display_id = 15 [deprecated=true];
319    optional int32 root_task_id = 16;
320    optional int32 activity_type = 17 [(.android.typedef) = "android.app.WindowConfiguration.ActivityType", deprecated=true] ;
321    optional int32 resize_mode = 18 [(.android.typedef) = "android.appwidget.AppWidgetProviderInfo.ResizeModeFlags"];
322    optional int32 min_width = 19 [deprecated=true];
323    optional int32 min_height = 20 [deprecated=true];
324
325    optional .android.graphics.RectProto adjusted_bounds = 21;
326    optional .android.graphics.RectProto last_non_fullscreen_bounds = 22;
327    optional bool adjusted_for_ime = 23;
328    optional float adjust_ime_amount = 24;
329    optional float adjust_divider_amount = 25;
330    optional bool animating_bounds = 26 [deprecated = true];
331    optional float minimize_amount = 27;
332    optional bool created_by_organizer = 28;
333    optional string affinity = 29;
334    optional bool has_child_pip_activity = 30;
335    optional TaskFragmentProto task_fragment = 31;
336}
337
338/* represents TaskFragment */
339message TaskFragmentProto {
340    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
341
342    optional WindowContainerProto window_container = 1;
343    optional int32 display_id = 2;
344    optional int32 activity_type = 3 [(.android.typedef) = "android.app.WindowConfiguration.ActivityType"];
345    optional int32 min_width = 4;
346    optional int32 min_height = 5;
347}
348
349/* represents ActivityRecordProto */
350message ActivityRecordProto {
351    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
352
353    optional string name = 1 [ (.android.privacy).dest = DEST_EXPLICIT ];
354
355    optional WindowTokenProto window_token = 2;
356    optional bool last_surface_showing = 3;
357    optional bool is_waiting_for_transition_start = 4;
358    optional bool is_animating = 5;
359    optional WindowContainerThumbnailProto thumbnail = 6;
360    optional bool fills_parent = 7;
361    optional bool app_stopped = 8;
362    optional bool visible_requested = 9;
363    optional bool client_visible = 10;
364    optional bool defer_hiding_client = 11;
365    optional bool reported_drawn = 12;
366    optional bool reported_visible = 13;
367    optional int32 num_interesting_windows = 14;
368    optional int32 num_drawn_windows = 15;
369    optional bool all_drawn = 16;
370    optional bool last_all_drawn = 17;
371    reserved 18; // removed
372    optional IdentifierProto starting_window = 19;
373    optional bool starting_displayed = 20;
374    optional bool starting_moved = 201;
375    optional bool visible_set_from_transferred_starting_window = 22;
376    repeated .android.graphics.RectProto frozen_bounds = 23 [deprecated=true];
377    optional bool visible = 24;
378    reserved 25; // configuration_container
379    optional IdentifierProto identifier = 26 [deprecated=true];
380    optional string state = 27 [(.android.privacy).dest = DEST_EXPLICIT];
381    optional bool front_of_task = 28;
382    optional int32 proc_id = 29;
383    optional bool translucent = 30;
384    optional bool pip_auto_enter_enabled = 31;
385    optional bool in_size_compat_mode = 32;
386    optional float min_aspect_ratio = 33;
387    optional bool provides_max_bounds = 34;
388    optional bool enable_recents_screenshot = 35;
389    optional int32 last_drop_input_mode = 36;
390}
391
392/* represents WindowToken */
393message WindowTokenProto {
394    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
395
396    optional WindowContainerProto window_container = 1;
397    optional int32 hash_code = 2;
398    repeated WindowStateProto windows = 3 [deprecated=true];
399    optional bool waiting_to_show = 5;
400    optional bool paused = 6;
401}
402
403/* represents WindowState */
404message WindowStateProto {
405    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
406
407    optional WindowContainerProto window_container = 1;
408    optional IdentifierProto identifier = 2 [deprecated=true];
409    // Unique identifier of a DisplayContent stack.
410    optional int32 display_id = 3;
411    // Unique identifier for the task stack.
412    optional int32 stack_id = 4;
413    optional .android.view.WindowLayoutParamsProto attributes = 5;
414    optional .android.graphics.RectProto given_content_insets = 6;
415    optional .android.graphics.RectProto frame = 7 [deprecated=true];
416    optional .android.graphics.RectProto containing_frame = 8 [deprecated=true];
417    optional .android.graphics.RectProto parent_frame = 9 [deprecated=true];
418    optional .android.graphics.RectProto content_frame = 10 [deprecated=true];
419    optional .android.graphics.RectProto content_insets = 11 [deprecated=true];
420    optional .android.graphics.RectProto surface_insets = 12;
421    optional WindowStateAnimatorProto animator = 13;
422    optional bool animating_exit = 14;
423    repeated WindowStateProto child_windows = 15 [deprecated=true];
424    optional .android.graphics.RectProto surface_position = 16;
425    optional int32 requested_width = 18;
426    optional int32 requested_height = 19;
427    optional int32 view_visibility = 20 [(.android.typedef) = "android.view.View.Visibility"];
428    optional int32 system_ui_visibility = 21 [deprecated=true];
429    optional bool has_surface = 22;
430    optional bool is_ready_for_display = 23;
431    optional .android.graphics.RectProto display_frame = 24 [deprecated=true];
432    optional .android.graphics.RectProto overscan_frame = 25 [deprecated=true];
433    optional .android.graphics.RectProto visible_frame = 26 [deprecated=true];
434    optional .android.graphics.RectProto decor_frame = 27 [deprecated=true];
435    optional .android.graphics.RectProto outset_frame = 28 [deprecated=true];
436    optional .android.graphics.RectProto overscan_insets = 29 [deprecated=true];
437    optional .android.graphics.RectProto visible_insets = 30 [deprecated=true];
438    optional .android.graphics.RectProto stable_insets = 31 [deprecated=true];
439    optional .android.graphics.RectProto outsets = 32 [deprecated=true];
440    optional .android.view.DisplayCutoutProto cutout = 33 [deprecated=true];
441    optional bool remove_on_exit = 34;
442    optional bool destroying = 35;
443    optional bool removed = 36;
444    optional bool is_on_screen = 37;
445    optional bool is_visible = 38;
446    optional bool pending_seamless_rotation = 39;
447    optional int64 finished_seamless_rotation_frame = 40 [deprecated=true];
448    optional WindowFramesProto window_frames = 41;
449    optional bool force_seamless_rotation = 42;
450    optional bool has_compat_scale = 43;
451    optional float global_scale = 44;
452    repeated .android.graphics.RectProto keep_clear_areas = 45;
453    repeated .android.graphics.RectProto unrestricted_keep_clear_areas = 46;
454}
455
456message IdentifierProto {
457    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
458
459    optional int32 hash_code = 1;
460    optional int32 user_id = 2;
461    // Either a component name/string (eg: "com.android.settings/.FallbackHome")
462    // or a window title ("NavigationBar").
463    optional string title = 3 [ (.android.privacy).dest = DEST_EXPLICIT ];
464}
465
466/* represents WindowStateAnimator */
467message WindowStateAnimatorProto {
468    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
469
470    optional .android.graphics.RectProto last_clip_rect = 1;
471    optional WindowSurfaceControllerProto surface = 2;
472    enum DrawState {
473        NO_SURFACE = 0;
474        DRAW_PENDING = 1;
475        COMMIT_DRAW_PENDING = 2;
476        READY_TO_SHOW = 3;
477        HAS_DRAWN = 4;
478    }
479    optional DrawState draw_state = 3;
480    optional .android.graphics.RectProto system_decor_rect = 4;
481}
482
483/* represents WindowSurfaceController */
484message WindowSurfaceControllerProto {
485    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
486
487    optional bool shown = 1;
488    optional int32 layer = 2;
489}
490
491/* represents ScreenRotationAnimation */
492message ScreenRotationAnimationProto {
493    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
494
495    optional bool started = 1;
496    optional bool animation_running = 2;
497}
498
499/* represents WindowContainer */
500message WindowContainerProto {
501    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
502
503    optional ConfigurationContainerProto configuration_container = 1;
504    optional int32 orientation = 2 [(.android.typedef) = "android.content.pm.ActivityInfo.ScreenOrientation"];
505    optional bool visible = 3;
506    optional SurfaceAnimatorProto surface_animator = 4;
507    repeated WindowContainerChildProto children = 5;
508    optional IdentifierProto identifier = 6;
509    optional .android.view.SurfaceControlProto surface_control = 7;
510}
511
512/* represents a generic child of a WindowContainer */
513message WindowContainerChildProto {
514    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
515
516    /* A window container can have multiple children of different types stored as
517     * a WindowContainerChildProto but each instance of WindowContainerChildProto
518     * can only contain a single type.
519     */
520    /* We do not know the derived typ and the class is dumped
521     * as a WindowContainer */
522    optional WindowContainerProto window_container = 2;
523    /* represents a DisplayContent child */
524    optional DisplayContentProto display_content = 3;
525    /* represents a DisplayArea child */
526    optional DisplayAreaProto display_area = 4;
527    /* represents a Task child */
528    optional TaskProto task = 5;
529    /* represents an ActivityRecord child */
530    optional ActivityRecordProto activity = 6;
531    /* represents a WindowToken child */
532    optional WindowTokenProto window_token = 7;
533    /* represents a WindowState child */
534    optional WindowStateProto window = 8;
535    /* represents a WindowState child */
536    optional TaskFragmentProto task_fragment = 9;
537}
538
539/* represents ConfigurationContainer */
540message ConfigurationContainerProto {
541    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
542
543    optional .android.content.ConfigurationProto override_configuration = 1;
544    optional .android.content.ConfigurationProto full_configuration = 2;
545    optional .android.content.ConfigurationProto merged_override_configuration = 3;
546}
547
548/* represents WindowFrames */
549message WindowFramesProto {
550    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
551
552    optional .android.graphics.RectProto containing_frame = 1 [deprecated=true];
553    optional .android.graphics.RectProto content_frame = 2 [deprecated=true];
554    optional .android.graphics.RectProto decor_frame = 3 [deprecated=true];
555    optional .android.graphics.RectProto display_frame = 4;
556    optional .android.graphics.RectProto frame = 5;
557    optional .android.graphics.RectProto outset_frame = 6;
558    optional .android.graphics.RectProto overscan_frame = 7 [deprecated=true];
559    optional .android.graphics.RectProto parent_frame = 8;
560    optional .android.graphics.RectProto visible_frame = 9 [deprecated=true];
561    optional .android.view.DisplayCutoutProto cutout = 10 [deprecated=true];
562    optional .android.graphics.RectProto content_insets = 11 [deprecated=true];
563    optional .android.graphics.RectProto overscan_insets = 12 [deprecated=true];
564    optional .android.graphics.RectProto visible_insets = 13 [deprecated=true];
565    optional .android.graphics.RectProto stable_insets = 14 [deprecated=true];
566    optional .android.graphics.RectProto outsets = 15;
567    optional .android.graphics.RectProto compat_frame = 16;
568}
569
570message InsetsSourceProviderProto {
571    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
572
573    optional .android.view.InsetsSourceProto source = 1;
574    optional .android.graphics.RectProto frame = 2;
575    optional .android.view.InsetsSourceControlProto fake_control = 3;
576    optional .android.view.InsetsSourceControlProto control = 4;
577    optional WindowStateProto control_target = 5;
578    optional WindowStateProto pending_control_target = 6;
579    optional WindowStateProto fake_control_target = 7;
580    optional .android.view.SurfaceControlProto captured_leash = 8;
581    optional .android.graphics.RectProto ime_overridden_frame = 9 [deprecated=true];
582    optional bool is_leash_ready_for_dispatching = 10;
583    optional bool client_visible = 11;
584    optional bool server_visible = 12;
585    optional bool seamless_rotating = 13;
586    optional int64 finish_seamless_rotate_frame_number = 14;
587    optional bool controllable = 15;
588}
589
590message ImeInsetsSourceProviderProto {
591    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
592
593    optional InsetsSourceProviderProto insets_source_provider = 1;
594    optional WindowStateProto ime_target_from_ime = 2;
595    optional bool is_ime_layout_drawn = 3;
596}
597