Home | History | Annotate | Download | only in content
      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 
     17 syntax = "proto2";
     18 option java_multiple_files = true;
     19 
     20 package android.content;
     21 
     22 import "frameworks/base/core/proto/android/app/window_configuration.proto";
     23 import "frameworks/base/core/proto/android/content/locale.proto";
     24 import "frameworks/base/core/proto/android/privacy.proto";
     25 
     26 /**
     27  * An android Configuration object.
     28  */
     29 message ConfigurationProto {
     30     option (.android.msg_privacy).dest = DEST_AUTOMATIC;
     31 
     32     optional float font_scale = 1;
     33     optional uint32 mcc = 2;
     34     optional uint32 mnc = 3 [ (.android.privacy).dest = DEST_EXPLICIT ];
     35     repeated LocaleProto locales = 4;
     36     optional uint32 screen_layout = 5;
     37     optional uint32 color_mode = 6;
     38     optional uint32 touchscreen = 7;
     39     optional uint32 keyboard = 8;
     40     optional uint32 keyboard_hidden = 9;
     41     optional uint32 hard_keyboard_hidden = 10;
     42     optional uint32 navigation = 11;
     43     optional uint32 navigation_hidden = 12;
     44     optional uint32 orientation = 13;
     45     optional uint32 ui_mode = 14;
     46     optional uint32 screen_width_dp = 15;
     47     optional uint32 screen_height_dp = 16;
     48     optional uint32 smallest_screen_width_dp = 17;
     49     optional uint32 density_dpi = 18;
     50     optional .android.app.WindowConfigurationProto window_configuration = 19;
     51 }
     52 
     53 /**
     54  * All current configuration data used to select resources.
     55  */
     56 message ResourcesConfigurationProto {
     57     option (.android.msg_privacy).dest = DEST_AUTOMATIC;
     58 
     59     required ConfigurationProto configuration = 1;
     60 
     61     optional uint32 sdk_version = 2;
     62     optional uint32 screen_width_px = 3;
     63     optional uint32 screen_height_px = 4;
     64 }
     65 
     66 /**
     67  * Overall device configuration data.
     68  */
     69 message DeviceConfigurationProto {
     70     option (.android.msg_privacy).dest = DEST_AUTOMATIC;
     71 
     72     optional uint32 stable_screen_width_px = 1;
     73     optional uint32 stable_screen_height_px = 2;
     74     optional uint32 stable_density_dpi = 3;
     75 
     76     optional uint64 total_ram = 4;
     77     optional bool low_ram = 5;
     78     optional uint32 max_cores = 6;
     79     optional bool has_secure_screen_lock = 7;
     80 
     81     optional uint32 opengl_version = 8;
     82     repeated string opengl_extensions = 9;
     83 
     84     repeated string shared_libraries = 10;
     85     repeated string features = 11;
     86     repeated string cpu_architectures = 12;
     87 }
     88 
     89 /**
     90  * All current configuration data device is running with, everything used
     91  * to filter and target apps.
     92  */
     93 message GlobalConfigurationProto {
     94     option (.android.msg_privacy).dest = DEST_AUTOMATIC;
     95 
     96     optional ResourcesConfigurationProto resources = 1;
     97     optional DeviceConfigurationProto device = 2;
     98 }
     99