xref: /aosp_15_r20/external/perfetto/protos/perfetto/trace/android/content/configuration.proto (revision 6dbdd20afdafa5e3ca9b8809fa73465d530080dc)
1/*
2 * Copyright (C) 2006 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/window_configuration.proto";
20import "protos/perfetto/trace/android/content/locale.proto";
21import "protos/perfetto/trace/android/privacy.proto";
22
23package perfetto.protos;
24
25// An android Configuration object
26message ConfigurationProto {
27  optional float font_scale = 1;
28  optional uint32 mcc = 2;
29  optional uint32 mnc = 3 [(.perfetto.protos.privacy).dest = DEST_EXPLICIT];
30  repeated LocaleProto locales = 4 [deprecated = true];
31  optional uint32 screen_layout = 5;
32  optional uint32 color_mode = 6;
33  optional uint32 touchscreen = 7;
34  optional uint32 keyboard = 8;
35  optional uint32 keyboard_hidden = 9;
36  optional uint32 hard_keyboard_hidden = 10;
37  optional uint32 navigation = 11;
38  optional uint32 navigation_hidden = 12;
39  optional uint32 orientation = 13;
40  optional uint32 ui_mode = 14;
41  optional uint32 screen_width_dp = 15;
42  optional uint32 screen_height_dp = 16;
43  optional uint32 smallest_screen_width_dp = 17;
44  optional uint32 density_dpi = 18;
45  optional WindowConfigurationProto window_configuration = 19;
46  optional string locale_list = 20;
47  optional uint32 font_weight_adjustment = 21;
48  optional uint32 grammatical_gender = 22;
49}
50
51// All current configuration data used to select resources
52message ResourcesConfigurationProto {
53  optional ConfigurationProto configuration = 1;
54
55  optional uint32 sdk_version = 2;
56  optional uint32 screen_width_px = 3;
57  optional uint32 screen_height_px = 4;
58}
59
60// Overall device configuration data
61message DeviceConfigurationProto {
62  optional uint32 stable_screen_width_px = 1;
63  optional uint32 stable_screen_height_px = 2;
64  optional uint32 stable_density_dpi = 3;
65
66  optional uint64 total_ram = 4;
67  optional bool low_ram = 5;
68  optional uint32 max_cores = 6;
69  optional bool has_secure_screen_lock = 7;
70
71  optional uint32 opengl_version = 8;
72  repeated string opengl_extensions = 9;
73
74  repeated string shared_libraries = 10;
75  repeated string features = 11;
76  repeated string cpu_architectures = 12;
77}
78
79// All current configuration data device is running with, everything used
80// to filter and target apps.
81message GlobalConfigurationProto {
82  optional ResourcesConfigurationProto resources = 1;
83  optional DeviceConfigurationProto device = 2;
84}
85