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}