You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
207 lines
4.9 KiB
207 lines
4.9 KiB
/*
|
|
* Copyright (C) 2017 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
syntax = "proto3";
|
|
|
|
package aapt.pb;
|
|
|
|
option java_package = "com.android.aapt";
|
|
|
|
// A description of the requirements a device must have in order for a
|
|
// resource to be matched and selected.
|
|
message Configuration {
|
|
enum LayoutDirection {
|
|
LAYOUT_DIRECTION_UNSET = 0;
|
|
LAYOUT_DIRECTION_LTR = 1;
|
|
LAYOUT_DIRECTION_RTL = 2;
|
|
}
|
|
|
|
enum ScreenLayoutSize {
|
|
SCREEN_LAYOUT_SIZE_UNSET = 0;
|
|
SCREEN_LAYOUT_SIZE_SMALL = 1;
|
|
SCREEN_LAYOUT_SIZE_NORMAL = 2;
|
|
SCREEN_LAYOUT_SIZE_LARGE = 3;
|
|
SCREEN_LAYOUT_SIZE_XLARGE = 4;
|
|
}
|
|
|
|
enum ScreenLayoutLong {
|
|
SCREEN_LAYOUT_LONG_UNSET = 0;
|
|
SCREEN_LAYOUT_LONG_LONG = 1;
|
|
SCREEN_LAYOUT_LONG_NOTLONG = 2;
|
|
}
|
|
|
|
enum ScreenRound {
|
|
SCREEN_ROUND_UNSET = 0;
|
|
SCREEN_ROUND_ROUND = 1;
|
|
SCREEN_ROUND_NOTROUND = 2;
|
|
}
|
|
|
|
enum WideColorGamut {
|
|
WIDE_COLOR_GAMUT_UNSET = 0;
|
|
WIDE_COLOR_GAMUT_WIDECG = 1;
|
|
WIDE_COLOR_GAMUT_NOWIDECG = 2;
|
|
}
|
|
|
|
enum Hdr {
|
|
HDR_UNSET = 0;
|
|
HDR_HIGHDR = 1;
|
|
HDR_LOWDR = 2;
|
|
}
|
|
|
|
enum Orientation {
|
|
ORIENTATION_UNSET = 0;
|
|
ORIENTATION_PORT = 1;
|
|
ORIENTATION_LAND = 2;
|
|
ORIENTATION_SQUARE = 3;
|
|
}
|
|
|
|
enum UiModeType {
|
|
UI_MODE_TYPE_UNSET = 0;
|
|
UI_MODE_TYPE_NORMAL = 1;
|
|
UI_MODE_TYPE_DESK = 2;
|
|
UI_MODE_TYPE_CAR = 3;
|
|
UI_MODE_TYPE_TELEVISION = 4;
|
|
UI_MODE_TYPE_APPLIANCE = 5;
|
|
UI_MODE_TYPE_WATCH = 6;
|
|
UI_MODE_TYPE_VRHEADSET = 7;
|
|
}
|
|
|
|
enum UiModeNight {
|
|
UI_MODE_NIGHT_UNSET = 0;
|
|
UI_MODE_NIGHT_NIGHT = 1;
|
|
UI_MODE_NIGHT_NOTNIGHT = 2;
|
|
}
|
|
|
|
enum Touchscreen {
|
|
TOUCHSCREEN_UNSET = 0;
|
|
TOUCHSCREEN_NOTOUCH = 1;
|
|
TOUCHSCREEN_STYLUS = 2;
|
|
TOUCHSCREEN_FINGER = 3;
|
|
}
|
|
|
|
enum KeysHidden {
|
|
KEYS_HIDDEN_UNSET = 0;
|
|
KEYS_HIDDEN_KEYSEXPOSED = 1;
|
|
KEYS_HIDDEN_KEYSHIDDEN = 2;
|
|
KEYS_HIDDEN_KEYSSOFT = 3;
|
|
}
|
|
|
|
enum Keyboard {
|
|
KEYBOARD_UNSET = 0;
|
|
KEYBOARD_NOKEYS = 1;
|
|
KEYBOARD_QWERTY = 2;
|
|
KEYBOARD_TWELVEKEY = 3;
|
|
}
|
|
|
|
enum NavHidden {
|
|
NAV_HIDDEN_UNSET = 0;
|
|
NAV_HIDDEN_NAVEXPOSED = 1;
|
|
NAV_HIDDEN_NAVHIDDEN = 2;
|
|
}
|
|
|
|
enum Navigation {
|
|
NAVIGATION_UNSET = 0;
|
|
NAVIGATION_NONAV = 1;
|
|
NAVIGATION_DPAD = 2;
|
|
NAVIGATION_TRACKBALL = 3;
|
|
NAVIGATION_WHEEL = 4;
|
|
}
|
|
|
|
//
|
|
// Axis/dimensions that are understood by the runtime.
|
|
//
|
|
|
|
// Mobile country code.
|
|
uint32 mcc = 1;
|
|
|
|
// Mobile network code.
|
|
uint32 mnc = 2;
|
|
|
|
// BCP-47 locale tag.
|
|
string locale = 3;
|
|
|
|
// Left-to-right, right-to-left...
|
|
LayoutDirection layout_direction = 4;
|
|
|
|
// Screen width in pixels. Prefer screen_width_dp.
|
|
uint32 screen_width = 5;
|
|
|
|
// Screen height in pixels. Prefer screen_height_dp.
|
|
uint32 screen_height = 6;
|
|
|
|
// Screen width in density independent pixels (dp).
|
|
uint32 screen_width_dp = 7;
|
|
|
|
// Screen height in density independent pixels (dp).
|
|
uint32 screen_height_dp = 8;
|
|
|
|
// The smallest screen dimension, regardless of orientation, in dp.
|
|
uint32 smallest_screen_width_dp = 9;
|
|
|
|
// Whether the device screen is classified as small, normal, large, xlarge.
|
|
ScreenLayoutSize screen_layout_size = 10;
|
|
|
|
// Whether the device screen is long.
|
|
ScreenLayoutLong screen_layout_long = 11;
|
|
|
|
// Whether the screen is round (Android Wear).
|
|
ScreenRound screen_round = 12;
|
|
|
|
// Whether the screen supports wide color gamut.
|
|
WideColorGamut wide_color_gamut = 13;
|
|
|
|
// Whether the screen has high dynamic range.
|
|
Hdr hdr = 14;
|
|
|
|
// Which orientation the device is in (portrait, landscape).
|
|
Orientation orientation = 15;
|
|
|
|
// Which type of UI mode the device is in (television, car, etc.).
|
|
UiModeType ui_mode_type = 16;
|
|
|
|
// Whether the device is in night mode.
|
|
UiModeNight ui_mode_night = 17;
|
|
|
|
// The device's screen density in dots-per-inch (dpi).
|
|
uint32 density = 18;
|
|
|
|
// Whether a touchscreen exists, supports a stylus, or finger.
|
|
Touchscreen touchscreen = 19;
|
|
|
|
// Whether the keyboard hardware keys are currently hidden, exposed, or
|
|
// if the keyboard is a software keyboard.
|
|
KeysHidden keys_hidden = 20;
|
|
|
|
// The type of keyboard present (none, QWERTY, 12-key).
|
|
Keyboard keyboard = 21;
|
|
|
|
// Whether the navigation is exposed or hidden.
|
|
NavHidden nav_hidden = 22;
|
|
|
|
// The type of navigation present on the device
|
|
// (trackball, wheel, dpad, etc.).
|
|
Navigation navigation = 23;
|
|
|
|
// The minimum SDK version of the device.
|
|
uint32 sdk_version = 24;
|
|
|
|
//
|
|
// Build-time only dimensions.
|
|
//
|
|
|
|
string product = 25;
|
|
}
|