blob: 834ecdee6a9ff57617da3538b5dc88cb0d0bccc3 [file] [log] [blame]
Joe Onorato1754d742016-11-21 17:51:35 -08001/*
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
Yi Jinc7f93072017-09-29 15:29:38 -070017syntax = "proto2";
Joe Onorato1754d742016-11-21 17:51:35 -080018option java_package = "android.content";
19option java_multiple_files = true;
20
21package android.content;
22
Wale Ogunwale0d5609b2017-09-13 05:55:07 -070023import "frameworks/base/core/proto/android/app/window_configuration.proto";
Joe Onorato1754d742016-11-21 17:51:35 -080024import "frameworks/base/core/proto/android/content/locale.proto";
Yi Jin0d7bc2d12018-01-23 17:35:19 -080025import "frameworks/base/libs/incident/proto/android/privacy.proto";
Joe Onorato1754d742016-11-21 17:51:35 -080026
27/**
Dianne Hackbornbf5ba6b2018-02-20 10:31:02 -080028 * An android Configuration object.
Joe Onorato1754d742016-11-21 17:51:35 -080029 */
30message ConfigurationProto {
Yi Jin0d7bc2d12018-01-23 17:35:19 -080031 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
32
Yi Jinc7f93072017-09-29 15:29:38 -070033 optional float font_scale = 1;
34 optional uint32 mcc = 2;
35 optional uint32 mnc = 3;
Joe Onorato1754d742016-11-21 17:51:35 -080036 repeated LocaleProto locales = 4;
Yi Jinc7f93072017-09-29 15:29:38 -070037 optional uint32 screen_layout = 5;
Dianne Hackbornbf5ba6b2018-02-20 10:31:02 -080038 optional uint32 hdr_color_mode = 6;
39 optional uint32 wide_color_gamut = 7;
40 optional uint32 touchscreen = 8;
41 optional uint32 keyboard_hidden = 9;
42 optional uint32 hard_keyboard_hidden = 10;
43 optional uint32 navigation = 11;
44 optional uint32 navigation_hidden = 12;
45 optional uint32 orientation = 13;
46 optional uint32 ui_mode = 14;
47 optional uint32 screen_width_dp = 15;
48 optional uint32 screen_height_dp = 16;
49 optional uint32 smallest_screen_width_dp = 17;
50 optional uint32 density_dpi = 18;
51 optional .android.app.WindowConfigurationProto window_configuration = 19;
Joe Onorato1754d742016-11-21 17:51:35 -080052}
53
Dianne Hackbornbf5ba6b2018-02-20 10:31:02 -080054/**
55 * All current configuration data used to select resources.
56 */
57message ResourcesConfigurationProto {
58 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
59
60 required ConfigurationProto configuration = 1;
61
62 optional uint32 sdk_version = 2;
63 optional uint32 screen_width_px = 3;
64 optional uint32 screen_height_px = 4;
65}
66
67/**
68 * Overall device configuration data.
69 */
70message DeviceConfigurationProto {
71 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
72
73 optional uint32 stable_screen_width_px = 1;
74 optional uint32 stable_screen_height_px = 2;
75 optional uint32 stable_density_dpi = 3;
76
77 optional uint64 total_ram = 4;
78 optional bool low_ram = 5;
79 optional uint32 max_cores = 6;
80 optional bool has_secure_screen_lock = 7;
81
82 optional uint32 opengl_version = 8;
83 repeated string opengl_extensions = 9;
84
85 repeated string shared_libraries = 10;
86 repeated string features = 11;
87 repeated string cpu_architectures = 12;
88}
89
90/**
91 * All current configuration data device is running with, everything used
92 * to filter and target apps.
93 */
94message GlobalConfigurationProto {
95 option (.android.msg_privacy).dest = DEST_AUTOMATIC;
96
97 optional ResourcesConfigurationProto resources = 1;
98 optional DeviceConfigurationProto device = 2;
99}