| /* |
| * Copyright (C) 2017 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| syntax = "proto2"; |
| |
| import "frameworks/base/core/proto/android/app/statusbarmanager.proto"; |
| import "frameworks/base/core/proto/android/content/activityinfo.proto"; |
| import "frameworks/base/core/proto/android/content/configuration.proto"; |
| import "frameworks/base/core/proto/android/graphics/rect.proto"; |
| import "frameworks/base/core/proto/android/server/windowcontainerthumbnail.proto"; |
| import "frameworks/base/core/proto/android/server/surfaceanimator.proto"; |
| import "frameworks/base/core/proto/android/view/displaycutout.proto"; |
| import "frameworks/base/core/proto/android/view/displayinfo.proto"; |
| import "frameworks/base/core/proto/android/view/enums.proto"; |
| import "frameworks/base/core/proto/android/view/surface.proto"; |
| import "frameworks/base/core/proto/android/view/windowlayoutparams.proto"; |
| import "frameworks/base/core/proto/android/privacy.proto"; |
| |
| package com.android.server.wm; |
| |
| option java_multiple_files = true; |
| |
| message WindowManagerServiceDumpProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional WindowManagerPolicyProto policy = 1; |
| /* window hierarchy root */ |
| optional RootWindowContainerProto root_window_container = 2; |
| optional IdentifierProto focused_window = 3; |
| optional string focused_app = 4; |
| optional IdentifierProto input_method_window = 5; |
| optional bool display_frozen = 6; |
| optional int32 rotation = 7; |
| optional int32 last_orientation = 8; |
| optional int32 focused_display_id = 9; |
| } |
| |
| /* represents RootWindowContainer object */ |
| message RootWindowContainerProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional WindowContainerProto window_container = 1; |
| repeated DisplayContentProto displays = 2; |
| reserved 3; // IdentifierProto windows |
| /* window references in top down z order */ |
| repeated WindowStateProto windows = 4; |
| optional KeyguardControllerProto keyguard_controller = 5; |
| // Whether or not the home activity is the recents activity. This is needed for the CTS tests to |
| // know what activity types to check for when invoking splitscreen multi-window. |
| optional bool is_home_recents_component = 6; |
| repeated IdentifierProto pending_activities = 7; |
| } |
| |
| message BarControllerProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional .android.app.StatusBarManagerProto.WindowState state = 1; |
| optional .android.app.StatusBarManagerProto.TransientWindowState transient_state = 2; |
| } |
| |
| message WindowOrientationListenerProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional bool enabled = 1; |
| optional .android.view.SurfaceProto.Rotation rotation = 2; |
| } |
| |
| message KeyguardServiceDelegateProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional bool showing = 1; |
| optional bool occluded = 2; |
| optional bool secure = 3; |
| enum ScreenState { |
| SCREEN_STATE_OFF = 0; |
| SCREEN_STATE_TURNING_ON = 1; |
| SCREEN_STATE_ON = 2; |
| SCREEN_STATE_TURNING_OFF = 3; |
| } |
| optional ScreenState screen_state = 4; |
| enum InteractiveState { |
| INTERACTIVE_STATE_SLEEP = 0; |
| INTERACTIVE_STATE_WAKING = 1; |
| INTERACTIVE_STATE_AWAKE = 2; |
| INTERACTIVE_STATE_GOING_TO_SLEEP = 3; |
| } |
| optional InteractiveState interactive_state = 5; |
| } |
| |
| message KeyguardControllerProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional bool keyguard_showing = 1; |
| repeated KeyguardOccludedProto keyguard_occluded_states = 2; |
| optional bool aod_showing = 3; |
| } |
| |
| message KeyguardOccludedProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional int32 display_id = 1; |
| optional bool keyguard_occluded = 2; |
| } |
| |
| /* represents PhoneWindowManager */ |
| message WindowManagerPolicyProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional int32 last_system_ui_flags = 1 [deprecated=true]; |
| enum UserRotationMode { |
| USER_ROTATION_FREE = 0; |
| USER_ROTATION_LOCKED = 1; |
| } |
| optional UserRotationMode rotation_mode = 2; |
| optional .android.view.SurfaceProto.Rotation rotation = 3; |
| optional .android.content.ActivityInfoProto.ScreenOrientation orientation = 4; |
| optional bool screen_on_fully = 5; |
| optional bool keyguard_draw_complete = 6; |
| optional bool window_manager_draw_complete = 7; |
| optional string focused_app_token = 8 [deprecated=true]; |
| optional IdentifierProto focused_window = 9 [deprecated=true]; |
| optional IdentifierProto top_fullscreen_opaque_window = 10 [deprecated=true]; |
| optional IdentifierProto top_fullscreen_opaque_or_dimming_window = 11 [deprecated=true]; |
| optional bool keyguard_occluded = 12; |
| optional bool keyguard_occluded_changed = 13; |
| optional bool keyguard_occluded_pending = 14; |
| optional bool force_status_bar = 15 [deprecated=true]; |
| optional bool force_status_bar_from_keyguard = 16 [deprecated=true]; |
| optional BarControllerProto status_bar = 17 [deprecated=true]; |
| optional BarControllerProto navigation_bar = 18 [deprecated=true]; |
| optional WindowOrientationListenerProto orientation_listener = 19 [deprecated=true]; |
| optional KeyguardServiceDelegateProto keyguard_delegate = 20; |
| } |
| |
| /* represents AppTransition */ |
| message AppTransitionProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| enum AppState { |
| APP_STATE_IDLE = 0; |
| APP_STATE_READY = 1; |
| APP_STATE_RUNNING = 2; |
| APP_STATE_TIMEOUT = 3; |
| } |
| optional AppState app_transition_state = 1; |
| |
| optional .android.view.TransitionTypeEnum last_used_app_transition = 2; |
| } |
| |
| /* represents DisplayContent object */ |
| message DisplayContentProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional WindowContainerProto window_container = 1; |
| optional int32 id = 2; |
| reserved 3; // stacks |
| optional DockedStackDividerControllerProto docked_stack_divider_controller = 4; |
| // Will be removed soon. |
| optional PinnedStackControllerProto pinned_stack_controller = 5 [deprecated=true]; |
| /* non app windows */ |
| repeated WindowTokenProto above_app_windows = 6 [deprecated=true]; |
| repeated WindowTokenProto below_app_windows = 7 [deprecated=true]; |
| repeated WindowTokenProto ime_windows = 8 [deprecated=true]; |
| optional int32 dpi = 9; |
| optional .android.view.DisplayInfoProto display_info = 10; |
| optional int32 rotation = 11; |
| optional ScreenRotationAnimationProto screen_rotation_animation = 12; |
| optional DisplayFramesProto display_frames = 13; |
| optional int32 surface_size = 14 [deprecated=true]; |
| optional string focused_app = 15; |
| optional AppTransitionProto app_transition = 16; |
| repeated IdentifierProto opening_apps = 17; |
| repeated IdentifierProto closing_apps = 18; |
| repeated IdentifierProto changing_apps = 19; |
| repeated WindowTokenProto overlay_windows = 20; |
| optional DisplayAreaProto root_display_area = 21; |
| |
| |
| optional bool single_task_instance = 22; |
| optional int32 focused_root_task_id = 23; |
| optional .com.android.server.wm.IdentifierProto resumed_activity = 24; |
| repeated TaskProto tasks = 25; |
| } |
| |
| /* represents DisplayArea object */ |
| message DisplayAreaProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional WindowContainerProto window_container = 1; |
| optional string name = 2 [ (.android.privacy).dest = DEST_EXPLICIT ]; |
| repeated DisplayAreaChildProto children = 3; |
| } |
| |
| /* represents a generic child of a DisplayArea */ |
| message DisplayAreaChildProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| /* At most one of the following should be present: */ |
| |
| /* represents a DisplayArea child */ |
| optional DisplayAreaProto display_area = 1; |
| /* represents a WindowToken child */ |
| optional WindowTokenProto window = 2; |
| /* represents an unknown child - the class name is recorded */ |
| repeated string unknown = 3; |
| } |
| |
| /* represents DisplayFrames */ |
| message DisplayFramesProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional .android.graphics.RectProto stable_bounds = 1; |
| } |
| |
| /* represents DockedStackDividerController */ |
| message DockedStackDividerControllerProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional bool minimized_dock = 1; |
| } |
| |
| /* represents PinnedStackController */ |
| message PinnedStackControllerProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional .android.graphics.RectProto default_bounds = 1 [deprecated=true]; |
| optional .android.graphics.RectProto movement_bounds = 2 [deprecated=true]; |
| } |
| |
| /* represents Task */ |
| message TaskProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional WindowContainerProto window_container = 1; |
| optional int32 id = 2; |
| reserved 3; // activity |
| optional bool fills_parent = 4; |
| optional .android.graphics.RectProto bounds = 5; |
| optional .android.graphics.RectProto displayed_bounds = 6; |
| optional bool defer_removal = 7; |
| optional int32 surface_width = 8; |
| optional int32 surface_height = 9; |
| |
| repeated TaskProto tasks = 10; |
| repeated ActivityRecordProto activities = 11; |
| |
| optional .com.android.server.wm.IdentifierProto resumed_activity = 12; |
| optional string real_activity = 13; |
| optional string orig_activity = 14; |
| |
| optional int32 display_id = 15; |
| optional int32 root_task_id = 16; |
| optional int32 activity_type = 17; |
| optional int32 resize_mode = 18; |
| optional int32 min_width = 19; |
| optional int32 min_height = 20; |
| |
| optional .android.graphics.RectProto adjusted_bounds = 21; |
| optional .android.graphics.RectProto last_non_fullscreen_bounds = 22; |
| optional bool adjusted_for_ime = 23; |
| optional float adjust_ime_amount = 24; |
| optional float adjust_divider_amount = 25; |
| optional bool animating_bounds = 26; |
| optional float minimize_amount = 27; |
| optional bool created_by_organizer = 28; |
| } |
| |
| /* represents ActivityRecordProto */ |
| message ActivityRecordProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional string name = 1 [ (.android.privacy).dest = DEST_EXPLICIT ]; |
| |
| optional WindowTokenProto window_token = 2; |
| optional bool last_surface_showing = 3; |
| optional bool is_waiting_for_transition_start = 4; |
| optional bool is_animating = 5; |
| optional WindowContainerThumbnailProto thumbnail = 6; |
| optional bool fills_parent = 7; |
| optional bool app_stopped = 8; |
| optional bool visible_requested = 9; |
| optional bool client_visible = 10; |
| optional bool defer_hiding_client = 11; |
| optional bool reported_drawn = 12; |
| optional bool reported_visible = 13; |
| optional int32 num_interesting_windows = 14; |
| optional int32 num_drawn_windows = 15; |
| optional bool all_drawn = 16; |
| optional bool last_all_drawn = 17; |
| reserved 18; // removed |
| optional IdentifierProto starting_window = 19; |
| optional bool starting_displayed = 20; |
| optional bool starting_moved = 201; |
| optional bool visible_set_from_transferred_starting_window = 22; |
| repeated .android.graphics.RectProto frozen_bounds = 23; |
| optional bool visible = 24; |
| reserved 25; // configuration_container |
| optional IdentifierProto identifier = 26; |
| optional string state = 27; |
| optional bool front_of_task = 28; |
| optional int32 proc_id = 29; |
| optional bool translucent = 30; |
| } |
| |
| /* represents WindowToken */ |
| message WindowTokenProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional WindowContainerProto window_container = 1; |
| optional int32 hash_code = 2; |
| repeated WindowStateProto windows = 3; |
| optional bool waiting_to_show = 5; |
| optional bool paused = 6; |
| } |
| |
| /* represents WindowState */ |
| message WindowStateProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional WindowContainerProto window_container = 1; |
| optional IdentifierProto identifier = 2; |
| // Unique identifier of a DisplayContent stack. |
| optional int32 display_id = 3; |
| // Unique identifier for the task stack. |
| optional int32 stack_id = 4; |
| optional .android.view.WindowLayoutParamsProto attributes = 5; |
| optional .android.graphics.RectProto given_content_insets = 6; |
| optional .android.graphics.RectProto frame = 7 [deprecated=true]; |
| optional .android.graphics.RectProto containing_frame = 8 [deprecated=true]; |
| optional .android.graphics.RectProto parent_frame = 9 [deprecated=true]; |
| optional .android.graphics.RectProto content_frame = 10 [deprecated=true]; |
| optional .android.graphics.RectProto content_insets = 11 [deprecated=true]; |
| optional .android.graphics.RectProto surface_insets = 12; |
| optional WindowStateAnimatorProto animator = 13; |
| optional bool animating_exit = 14; |
| repeated WindowStateProto child_windows = 15; |
| optional .android.graphics.RectProto surface_position = 16; |
| optional int32 requested_width = 18; |
| optional int32 requested_height = 19; |
| optional int32 view_visibility = 20; |
| optional int32 system_ui_visibility = 21; |
| optional bool has_surface = 22; |
| optional bool is_ready_for_display = 23; |
| optional .android.graphics.RectProto display_frame = 24 [deprecated=true]; |
| optional .android.graphics.RectProto overscan_frame = 25 [deprecated=true]; |
| optional .android.graphics.RectProto visible_frame = 26 [deprecated=true]; |
| optional .android.graphics.RectProto decor_frame = 27 [deprecated=true]; |
| optional .android.graphics.RectProto outset_frame = 28 [deprecated=true]; |
| optional .android.graphics.RectProto overscan_insets = 29 [deprecated=true]; |
| optional .android.graphics.RectProto visible_insets = 30 [deprecated=true]; |
| optional .android.graphics.RectProto stable_insets = 31 [deprecated=true]; |
| optional .android.graphics.RectProto outsets = 32 [deprecated=true]; |
| optional .android.view.DisplayCutoutProto cutout = 33 [deprecated=true]; |
| optional bool remove_on_exit = 34; |
| optional bool destroying = 35; |
| optional bool removed = 36; |
| optional bool is_on_screen = 37; |
| optional bool is_visible = 38; |
| optional bool pending_seamless_rotation = 39; |
| optional int64 finished_seamless_rotation_frame = 40; |
| optional WindowFramesProto window_frames = 41; |
| optional bool force_seamless_rotation = 42; |
| } |
| |
| message IdentifierProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional int32 hash_code = 1; |
| optional int32 user_id = 2; |
| // Either a component name/string (eg: "com.android.settings/.FallbackHome") |
| // or a window title ("NavigationBar"). |
| optional string title = 3 [ (.android.privacy).dest = DEST_EXPLICIT ]; |
| } |
| |
| /* represents WindowStateAnimator */ |
| message WindowStateAnimatorProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional .android.graphics.RectProto last_clip_rect = 1; |
| optional WindowSurfaceControllerProto surface = 2; |
| enum DrawState { |
| NO_SURFACE = 0; |
| DRAW_PENDING = 1; |
| COMMIT_DRAW_PENDING = 2; |
| READY_TO_SHOW = 3; |
| HAS_DRAWN = 4; |
| } |
| optional DrawState draw_state = 3; |
| optional .android.graphics.RectProto system_decor_rect = 4; |
| } |
| |
| /* represents WindowSurfaceController */ |
| message WindowSurfaceControllerProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional bool shown = 1; |
| optional int32 layer = 2; |
| } |
| |
| /* represents ScreenRotationAnimation */ |
| message ScreenRotationAnimationProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional bool started = 1; |
| optional bool animation_running = 2; |
| } |
| |
| /* represents WindowContainer */ |
| message WindowContainerProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional ConfigurationContainerProto configuration_container = 1; |
| optional int32 orientation = 2; |
| optional bool visible = 3; |
| optional SurfaceAnimatorProto surface_animator = 4; |
| } |
| |
| /* represents ConfigurationContainer */ |
| message ConfigurationContainerProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional .android.content.ConfigurationProto override_configuration = 1; |
| optional .android.content.ConfigurationProto full_configuration = 2; |
| optional .android.content.ConfigurationProto merged_override_configuration = 3; |
| } |
| |
| /* represents WindowFrames */ |
| message WindowFramesProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional .android.graphics.RectProto containing_frame = 1; |
| optional .android.graphics.RectProto content_frame = 2; |
| optional .android.graphics.RectProto decor_frame = 3; |
| optional .android.graphics.RectProto display_frame = 4; |
| optional .android.graphics.RectProto frame = 5; |
| optional .android.graphics.RectProto outset_frame = 6; |
| optional .android.graphics.RectProto overscan_frame = 7 [deprecated=true]; |
| optional .android.graphics.RectProto parent_frame = 8; |
| optional .android.graphics.RectProto visible_frame = 9; |
| optional .android.view.DisplayCutoutProto cutout = 10; |
| optional .android.graphics.RectProto content_insets = 11; |
| optional .android.graphics.RectProto overscan_insets = 12 [deprecated=true]; |
| optional .android.graphics.RectProto visible_insets = 13; |
| optional .android.graphics.RectProto stable_insets = 14; |
| optional .android.graphics.RectProto outsets = 15; |
| } |