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