1/* 2 * Copyright (C) 2024 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/graphics/pixelformat.proto"; 20import "protos/perfetto/trace/android/view/display.proto"; 21import "protos/perfetto/trace/android/typedef.proto"; 22 23package perfetto.protos; 24 25// represents WindowManager.LayoutParams 26message WindowLayoutParamsProto { 27 optional int32 type = 1 28 [(.perfetto.protos.typedef) = 29 "android.view.WindowManager.LayoutParams.WindowType"]; 30 optional int32 x = 2; 31 optional int32 y = 3; 32 optional int32 width = 4; 33 optional int32 height = 5; 34 optional float horizontal_margin = 6; 35 optional float vertical_margin = 7; 36 optional int32 gravity = 8 37 [(.perfetto.protos.typedef) = "android.view.Gravity.GravityFlags"]; 38 optional int32 soft_input_mode = 9 39 [(.perfetto.protos.typedef) = 40 "android.view.WindowManager.LayoutParams.SoftInputModeFlags"]; 41 optional PixelFormatProto.Format format = 10; 42 optional int32 window_animations = 11; 43 optional float alpha = 12; 44 optional float screen_brightness = 13; 45 optional float button_brightness = 14; 46 47 enum RotationAnimation { 48 ROTATION_ANIMATION_UNSPECIFIED = -1; 49 ROTATION_ANIMATION_CROSSFADE = 1; 50 ROTATION_ANIMATION_JUMPCUT = 2; 51 ROTATION_ANIMATION_SEAMLESS = 3; 52 } 53 optional RotationAnimation rotation_animation = 15; 54 55 optional float preferred_refresh_rate = 16; 56 optional int32 preferred_display_mode_id = 17; 57 optional bool has_system_ui_listeners = 18; 58 optional uint32 input_feature_flags = 19 59 [(.perfetto.protos.typedef) = 60 "android.view.WindowManager.LayoutParams.InputFeatureFlags"]; 61 optional int64 user_activity_timeout = 20; 62 63 optional ViewDisplayProto.ColorMode color_mode = 23; 64 optional uint32 flags = 24 65 [(.perfetto.protos.typedef) = 66 "android.view.WindowManager.LayoutParams.Flags"]; 67 optional uint32 private_flags = 26 68 [(.perfetto.protos.typedef) = 69 "android.view.WindowManager.LayoutParams.PrivateFlags"]; 70 optional uint32 system_ui_visibility_flags = 27 71 [(.perfetto.protos.typedef) = 72 "android.view.WindowManager.LayoutParams.SystemUiVisibilityFlags"]; 73 optional uint32 subtree_system_ui_visibility_flags = 28 74 [(.perfetto.protos.typedef) = 75 "android.view.WindowManager.LayoutParams.SystemUiVisibilityFlags"]; 76 optional uint32 appearance = 29 77 [(.perfetto.protos.typedef) = 78 "android.view.WindowInsetsController.Appearance"]; 79 optional uint32 behavior = 30 80 [(.perfetto.protos.typedef) = 81 "android.view.WindowInsetsController.Behavior"]; 82 optional uint32 fit_insets_types = 31 83 [(.perfetto.protos.typedef) = 84 "android.view.WindowInsets.Type.InsetsType"]; 85 optional uint32 fit_insets_sides = 32 86 [(.perfetto.protos.typedef) = 87 "android.view.WindowInsets.Side.InsetsSide"]; 88 optional bool fit_ignore_visibility = 33; 89} 90