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