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}