File: windowmanagerservice.proto

package info (click to toggle)
android-platform-frameworks-base 1%3A10.0.0%2Br36-3
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 321,788 kB
  • sloc: java: 962,234; cpp: 274,314; xml: 242,770; python: 5,060; sh: 1,432; ansic: 494; makefile: 47; sed: 19
file content (395 lines) | stat: -rw-r--r-- 15,436 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
/*
 * 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/appwindowthumbnail.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;
}

/* represents RootWindowContainer object */
message RootWindowContainerProto {
    option (.android.msg_privacy).dest = DEST_AUTOMATIC;

    optional WindowContainerProto window_container = 1;
    repeated DisplayContentProto displays = 2;
    /* window references in top down z order */
    repeated IdentifierProto windows = 3;
}

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;
}

/* 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;
    repeated StackProto stacks = 3;
    optional DockedStackDividerControllerProto docked_stack_divider_controller = 4;
    optional PinnedStackControllerProto pinned_stack_controller = 5;
    /* non app windows */
    repeated WindowTokenProto above_app_windows = 6;
    repeated WindowTokenProto below_app_windows = 7;
    repeated WindowTokenProto ime_windows = 8;
    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;
}

/* 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;
    optional .android.graphics.RectProto movement_bounds = 2;
}

/* represents TaskStack */
message StackProto {
    option (.android.msg_privacy).dest = DEST_AUTOMATIC;

    optional WindowContainerProto window_container = 1;
    optional int32 id = 2;
    repeated TaskProto tasks = 3;
    optional bool fills_parent = 4;
    optional .android.graphics.RectProto bounds = 5;
    optional bool animation_background_surface_is_dimming = 6;
    optional bool defer_removal = 7;
    optional float minimize_amount = 8;
    optional bool adjusted_for_ime = 9;
    optional float adjust_ime_amount = 10;
    optional float adjust_divider_amount = 11;
    optional .android.graphics.RectProto adjusted_bounds = 12;
    optional bool animating_bounds = 13;
}

/* represents Task */
message TaskProto {
    option (.android.msg_privacy).dest = DEST_AUTOMATIC;

    optional WindowContainerProto window_container = 1;
    optional int32 id = 2;
    repeated AppWindowTokenProto app_window_tokens = 3;
    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;
}

/* represents AppWindowToken */
message AppWindowTokenProto {
    option (.android.msg_privacy).dest = DEST_AUTOMATIC;

    /* obtained from ActivityRecord */
    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_really_animating = 5;
    optional AppWindowThumbnailProto thumbnail = 6;
    optional bool fills_parent = 7;
    optional bool app_stopped = 8;
    optional bool hidden_requested = 9;
    optional bool client_hidden = 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;
    optional bool removed = 18;
    optional IdentifierProto starting_window = 19;
    optional bool starting_displayed = 20;
    optional bool starting_moved = 21;
    optional bool hidden_set_from_transferred_starting_window = 22;
    repeated .android.graphics.RectProto frozen_bounds = 23;
}

/* 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 hidden = 4;
    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;
    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;
    optional .android.graphics.RectProto visible_insets = 13;
    optional .android.graphics.RectProto stable_insets = 14;
    optional .android.graphics.RectProto outsets = 15;
}