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/graphics/pixelformat.proto";
20import "frameworks/base/core/proto/android/view/display.proto";
21import "frameworks/base/core/proto/android/privacy.proto";
22
23package android.view;
24option java_multiple_files = true;
25
26/* represents WindowManager.LayoutParams */
27message WindowLayoutParamsProto {
28    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
29
30    optional int32 type = 1;
31    optional int32 x = 2;
32    optional int32 y = 3;
33    optional int32 width = 4;
34    optional int32 height = 5;
35    optional float horizontal_margin = 6;
36    optional float vertical_margin = 7;
37    optional int32 gravity = 8;
38    optional int32 soft_input_mode = 9;
39    optional .android.graphics.PixelFormatProto.Format format = 10;
40    optional int32 window_animations = 11;
41    optional float alpha = 12;
42    optional float screen_brightness = 13;
43    optional float button_brightness = 14;
44
45    enum RotationAnimation {
46        ROTATION_ANIMATION_UNSPECIFIED = -1;
47        ROTATION_ANIMATION_CROSSFADE = 1;
48        ROTATION_ANIMATION_JUMPCUT = 2;
49        ROTATION_ANIMATION_SEAMLESS = 3;
50    }
51    optional RotationAnimation rotation_animation = 15;
52
53    optional float preferred_refresh_rate = 16;
54    optional int32 preferred_display_mode_id = 17;
55    optional bool has_system_ui_listeners = 18;
56    optional uint32 input_feature_flags = 19;
57    optional int64 user_activity_timeout = 20;
58
59    enum NeedsMenuState {
60        NEEDS_MENU_UNSET = 0;
61        NEEDS_MENU_SET_TRUE = 1;
62        NEEDS_MENU_SET_FALSE = 2;
63    }
64    optional NeedsMenuState needs_menu_key = 22;
65
66    optional DisplayProto.ColorMode color_mode = 23;
67    optional uint32 flags = 24;
68    optional uint32 private_flags = 26;
69    optional uint32 system_ui_visibility_flags = 27;
70    optional uint32 subtree_system_ui_visibility_flags = 28;
71}
72