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