1*38e8c45fSAndroid Build Coastguard Worker /* 2*38e8c45fSAndroid Build Coastguard Worker * Copyright (C) 2010 The Android Open Source Project. 3*38e8c45fSAndroid Build Coastguard Worker * 4*38e8c45fSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*38e8c45fSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*38e8c45fSAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*38e8c45fSAndroid Build Coastguard Worker * 8*38e8c45fSAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*38e8c45fSAndroid Build Coastguard Worker * 10*38e8c45fSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*38e8c45fSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*38e8c45fSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*38e8c45fSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*38e8c45fSAndroid Build Coastguard Worker * limitations under the License. 15*38e8c45fSAndroid Build Coastguard Worker */ 16*38e8c45fSAndroid Build Coastguard Worker 17*38e8c45fSAndroid Build Coastguard Worker /** 18*38e8c45fSAndroid Build Coastguard Worker * @addtogroup Configuration 19*38e8c45fSAndroid Build Coastguard Worker * @{ 20*38e8c45fSAndroid Build Coastguard Worker */ 21*38e8c45fSAndroid Build Coastguard Worker 22*38e8c45fSAndroid Build Coastguard Worker /** 23*38e8c45fSAndroid Build Coastguard Worker * @file configuration.h 24*38e8c45fSAndroid Build Coastguard Worker */ 25*38e8c45fSAndroid Build Coastguard Worker 26*38e8c45fSAndroid Build Coastguard Worker #ifndef ANDROID_CONFIGURATION_H 27*38e8c45fSAndroid Build Coastguard Worker #define ANDROID_CONFIGURATION_H 28*38e8c45fSAndroid Build Coastguard Worker 29*38e8c45fSAndroid Build Coastguard Worker #include <sys/cdefs.h> 30*38e8c45fSAndroid Build Coastguard Worker 31*38e8c45fSAndroid Build Coastguard Worker #include <android/asset_manager.h> 32*38e8c45fSAndroid Build Coastguard Worker 33*38e8c45fSAndroid Build Coastguard Worker #if !defined(__INTRODUCED_IN) 34*38e8c45fSAndroid Build Coastguard Worker #define __INTRODUCED_IN(__api_level) /* nothing */ 35*38e8c45fSAndroid Build Coastguard Worker #endif 36*38e8c45fSAndroid Build Coastguard Worker 37*38e8c45fSAndroid Build Coastguard Worker #ifdef __cplusplus 38*38e8c45fSAndroid Build Coastguard Worker extern "C" { 39*38e8c45fSAndroid Build Coastguard Worker #endif 40*38e8c45fSAndroid Build Coastguard Worker 41*38e8c45fSAndroid Build Coastguard Worker struct AConfiguration; 42*38e8c45fSAndroid Build Coastguard Worker /** 43*38e8c45fSAndroid Build Coastguard Worker * {@link AConfiguration} is an opaque type used to get and set 44*38e8c45fSAndroid Build Coastguard Worker * various subsystem configurations. 45*38e8c45fSAndroid Build Coastguard Worker * 46*38e8c45fSAndroid Build Coastguard Worker * A {@link AConfiguration} pointer can be obtained using: 47*38e8c45fSAndroid Build Coastguard Worker * - AConfiguration_new() 48*38e8c45fSAndroid Build Coastguard Worker * - AConfiguration_fromAssetManager() 49*38e8c45fSAndroid Build Coastguard Worker */ 50*38e8c45fSAndroid Build Coastguard Worker typedef struct AConfiguration AConfiguration; 51*38e8c45fSAndroid Build Coastguard Worker 52*38e8c45fSAndroid Build Coastguard Worker 53*38e8c45fSAndroid Build Coastguard Worker /** 54*38e8c45fSAndroid Build Coastguard Worker * Define flags and constants for various subsystem configurations. 55*38e8c45fSAndroid Build Coastguard Worker */ 56*38e8c45fSAndroid Build Coastguard Worker enum { 57*38e8c45fSAndroid Build Coastguard Worker /** Orientation: not specified. */ 58*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_ORIENTATION_ANY = 0x0000, 59*38e8c45fSAndroid Build Coastguard Worker /** 60*38e8c45fSAndroid Build Coastguard Worker * Orientation: value corresponding to the 61*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#OrientationQualifier">port</a> 62*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 63*38e8c45fSAndroid Build Coastguard Worker */ 64*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_ORIENTATION_PORT = 0x0001, 65*38e8c45fSAndroid Build Coastguard Worker /** 66*38e8c45fSAndroid Build Coastguard Worker * Orientation: value corresponding to the 67*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#OrientationQualifier">land</a> 68*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 69*38e8c45fSAndroid Build Coastguard Worker */ 70*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_ORIENTATION_LAND = 0x0002, 71*38e8c45fSAndroid Build Coastguard Worker /** @deprecated Not currently supported or used. */ 72*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_ORIENTATION_SQUARE = 0x0003, 73*38e8c45fSAndroid Build Coastguard Worker 74*38e8c45fSAndroid Build Coastguard Worker /** Touchscreen: not specified. */ 75*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_TOUCHSCREEN_ANY = 0x0000, 76*38e8c45fSAndroid Build Coastguard Worker /** 77*38e8c45fSAndroid Build Coastguard Worker * Touchscreen: value corresponding to the 78*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#TouchscreenQualifier">notouch</a> 79*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 80*38e8c45fSAndroid Build Coastguard Worker */ 81*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_TOUCHSCREEN_NOTOUCH = 0x0001, 82*38e8c45fSAndroid Build Coastguard Worker /** @deprecated Not currently supported or used. */ 83*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_TOUCHSCREEN_STYLUS = 0x0002, 84*38e8c45fSAndroid Build Coastguard Worker /** 85*38e8c45fSAndroid Build Coastguard Worker * Touchscreen: value corresponding to the 86*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#TouchscreenQualifier">finger</a> 87*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 88*38e8c45fSAndroid Build Coastguard Worker */ 89*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_TOUCHSCREEN_FINGER = 0x0003, 90*38e8c45fSAndroid Build Coastguard Worker 91*38e8c45fSAndroid Build Coastguard Worker /** Density: default density. */ 92*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_DENSITY_DEFAULT = 0, 93*38e8c45fSAndroid Build Coastguard Worker /** 94*38e8c45fSAndroid Build Coastguard Worker * Density: value corresponding to the 95*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#DensityQualifier">ldpi</a> 96*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 97*38e8c45fSAndroid Build Coastguard Worker */ 98*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_DENSITY_LOW = 120, 99*38e8c45fSAndroid Build Coastguard Worker /** 100*38e8c45fSAndroid Build Coastguard Worker * Density: value corresponding to the 101*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#DensityQualifier">mdpi</a> 102*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 103*38e8c45fSAndroid Build Coastguard Worker */ 104*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_DENSITY_MEDIUM = 160, 105*38e8c45fSAndroid Build Coastguard Worker /** 106*38e8c45fSAndroid Build Coastguard Worker * Density: value corresponding to the 107*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#DensityQualifier">tvdpi</a> 108*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 109*38e8c45fSAndroid Build Coastguard Worker */ 110*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_DENSITY_TV = 213, 111*38e8c45fSAndroid Build Coastguard Worker /** 112*38e8c45fSAndroid Build Coastguard Worker * Density: value corresponding to the 113*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#DensityQualifier">hdpi</a> 114*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 115*38e8c45fSAndroid Build Coastguard Worker */ 116*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_DENSITY_HIGH = 240, 117*38e8c45fSAndroid Build Coastguard Worker /** 118*38e8c45fSAndroid Build Coastguard Worker * Density: value corresponding to the 119*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#DensityQualifier">xhdpi</a> 120*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 121*38e8c45fSAndroid Build Coastguard Worker */ 122*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_DENSITY_XHIGH = 320, 123*38e8c45fSAndroid Build Coastguard Worker /** 124*38e8c45fSAndroid Build Coastguard Worker * Density: value corresponding to the 125*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#DensityQualifier">xxhdpi</a> 126*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 127*38e8c45fSAndroid Build Coastguard Worker */ 128*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_DENSITY_XXHIGH = 480, 129*38e8c45fSAndroid Build Coastguard Worker /** 130*38e8c45fSAndroid Build Coastguard Worker * Density: value corresponding to the 131*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#DensityQualifier">xxxhdpi</a> 132*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 133*38e8c45fSAndroid Build Coastguard Worker */ 134*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_DENSITY_XXXHIGH = 640, 135*38e8c45fSAndroid Build Coastguard Worker /** Density: any density. */ 136*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_DENSITY_ANY = 0xfffe, 137*38e8c45fSAndroid Build Coastguard Worker /** Density: no density specified. */ 138*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_DENSITY_NONE = 0xffff, 139*38e8c45fSAndroid Build Coastguard Worker 140*38e8c45fSAndroid Build Coastguard Worker /** Keyboard: not specified. */ 141*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_KEYBOARD_ANY = 0x0000, 142*38e8c45fSAndroid Build Coastguard Worker /** 143*38e8c45fSAndroid Build Coastguard Worker * Keyboard: value corresponding to the 144*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#ImeQualifier">nokeys</a> 145*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 146*38e8c45fSAndroid Build Coastguard Worker */ 147*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_KEYBOARD_NOKEYS = 0x0001, 148*38e8c45fSAndroid Build Coastguard Worker /** 149*38e8c45fSAndroid Build Coastguard Worker * Keyboard: value corresponding to the 150*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#ImeQualifier">qwerty</a> 151*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 152*38e8c45fSAndroid Build Coastguard Worker */ 153*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_KEYBOARD_QWERTY = 0x0002, 154*38e8c45fSAndroid Build Coastguard Worker /** 155*38e8c45fSAndroid Build Coastguard Worker * Keyboard: value corresponding to the 156*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#ImeQualifier">12key</a> 157*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 158*38e8c45fSAndroid Build Coastguard Worker */ 159*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_KEYBOARD_12KEY = 0x0003, 160*38e8c45fSAndroid Build Coastguard Worker 161*38e8c45fSAndroid Build Coastguard Worker /** Navigation: not specified. */ 162*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_NAVIGATION_ANY = 0x0000, 163*38e8c45fSAndroid Build Coastguard Worker /** 164*38e8c45fSAndroid Build Coastguard Worker * Navigation: value corresponding to the 165*38e8c45fSAndroid Build Coastguard Worker * <a href="@/guide/topics/resources/providing-resources.html#NavigationQualifier">nonav</a> 166*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 167*38e8c45fSAndroid Build Coastguard Worker */ 168*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_NAVIGATION_NONAV = 0x0001, 169*38e8c45fSAndroid Build Coastguard Worker /** 170*38e8c45fSAndroid Build Coastguard Worker * Navigation: value corresponding to the 171*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#NavigationQualifier">dpad</a> 172*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 173*38e8c45fSAndroid Build Coastguard Worker */ 174*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_NAVIGATION_DPAD = 0x0002, 175*38e8c45fSAndroid Build Coastguard Worker /** 176*38e8c45fSAndroid Build Coastguard Worker * Navigation: value corresponding to the 177*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#NavigationQualifier">trackball</a> 178*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 179*38e8c45fSAndroid Build Coastguard Worker */ 180*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_NAVIGATION_TRACKBALL = 0x0003, 181*38e8c45fSAndroid Build Coastguard Worker /** 182*38e8c45fSAndroid Build Coastguard Worker * Navigation: value corresponding to the 183*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#NavigationQualifier">wheel</a> 184*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 185*38e8c45fSAndroid Build Coastguard Worker */ 186*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_NAVIGATION_WHEEL = 0x0004, 187*38e8c45fSAndroid Build Coastguard Worker 188*38e8c45fSAndroid Build Coastguard Worker /** Keyboard availability: not specified. */ 189*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_KEYSHIDDEN_ANY = 0x0000, 190*38e8c45fSAndroid Build Coastguard Worker /** 191*38e8c45fSAndroid Build Coastguard Worker * Keyboard availability: value corresponding to the 192*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#KeyboardAvailQualifier">keysexposed</a> 193*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 194*38e8c45fSAndroid Build Coastguard Worker */ 195*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_KEYSHIDDEN_NO = 0x0001, 196*38e8c45fSAndroid Build Coastguard Worker /** 197*38e8c45fSAndroid Build Coastguard Worker * Keyboard availability: value corresponding to the 198*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#KeyboardAvailQualifier">keyshidden</a> 199*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 200*38e8c45fSAndroid Build Coastguard Worker */ 201*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_KEYSHIDDEN_YES = 0x0002, 202*38e8c45fSAndroid Build Coastguard Worker /** 203*38e8c45fSAndroid Build Coastguard Worker * Keyboard availability: value corresponding to the 204*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#KeyboardAvailQualifier">keyssoft</a> 205*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 206*38e8c45fSAndroid Build Coastguard Worker */ 207*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_KEYSHIDDEN_SOFT = 0x0003, 208*38e8c45fSAndroid Build Coastguard Worker 209*38e8c45fSAndroid Build Coastguard Worker /** Navigation availability: not specified. */ 210*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_NAVHIDDEN_ANY = 0x0000, 211*38e8c45fSAndroid Build Coastguard Worker /** 212*38e8c45fSAndroid Build Coastguard Worker * Navigation availability: value corresponding to the 213*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#NavAvailQualifier">navexposed</a> 214*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 215*38e8c45fSAndroid Build Coastguard Worker */ 216*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_NAVHIDDEN_NO = 0x0001, 217*38e8c45fSAndroid Build Coastguard Worker /** 218*38e8c45fSAndroid Build Coastguard Worker * Navigation availability: value corresponding to the 219*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#NavAvailQualifier">navhidden</a> 220*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 221*38e8c45fSAndroid Build Coastguard Worker */ 222*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_NAVHIDDEN_YES = 0x0002, 223*38e8c45fSAndroid Build Coastguard Worker 224*38e8c45fSAndroid Build Coastguard Worker /** Screen size: not specified. */ 225*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_SCREENSIZE_ANY = 0x00, 226*38e8c45fSAndroid Build Coastguard Worker /** 227*38e8c45fSAndroid Build Coastguard Worker * Screen size: value indicating the screen is at least 228*38e8c45fSAndroid Build Coastguard Worker * approximately 320x426 dp units, corresponding to the 229*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#ScreenSizeQualifier">small</a> 230*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 231*38e8c45fSAndroid Build Coastguard Worker */ 232*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_SCREENSIZE_SMALL = 0x01, 233*38e8c45fSAndroid Build Coastguard Worker /** 234*38e8c45fSAndroid Build Coastguard Worker * Screen size: value indicating the screen is at least 235*38e8c45fSAndroid Build Coastguard Worker * approximately 320x470 dp units, corresponding to the 236*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#ScreenSizeQualifier">normal</a> 237*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 238*38e8c45fSAndroid Build Coastguard Worker */ 239*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_SCREENSIZE_NORMAL = 0x02, 240*38e8c45fSAndroid Build Coastguard Worker /** 241*38e8c45fSAndroid Build Coastguard Worker * Screen size: value indicating the screen is at least 242*38e8c45fSAndroid Build Coastguard Worker * approximately 480x640 dp units, corresponding to the 243*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#ScreenSizeQualifier">large</a> 244*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 245*38e8c45fSAndroid Build Coastguard Worker */ 246*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_SCREENSIZE_LARGE = 0x03, 247*38e8c45fSAndroid Build Coastguard Worker /** 248*38e8c45fSAndroid Build Coastguard Worker * Screen size: value indicating the screen is at least 249*38e8c45fSAndroid Build Coastguard Worker * approximately 720x960 dp units, corresponding to the 250*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#ScreenSizeQualifier">xlarge</a> 251*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 252*38e8c45fSAndroid Build Coastguard Worker */ 253*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_SCREENSIZE_XLARGE = 0x04, 254*38e8c45fSAndroid Build Coastguard Worker 255*38e8c45fSAndroid Build Coastguard Worker /** Screen layout: not specified. */ 256*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_SCREENLONG_ANY = 0x00, 257*38e8c45fSAndroid Build Coastguard Worker /** 258*38e8c45fSAndroid Build Coastguard Worker * Screen layout: value that corresponds to the 259*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#ScreenAspectQualifier">notlong</a> 260*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 261*38e8c45fSAndroid Build Coastguard Worker */ 262*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_SCREENLONG_NO = 0x1, 263*38e8c45fSAndroid Build Coastguard Worker /** 264*38e8c45fSAndroid Build Coastguard Worker * Screen layout: value that corresponds to the 265*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#ScreenAspectQualifier">long</a> 266*38e8c45fSAndroid Build Coastguard Worker * resource qualifier. 267*38e8c45fSAndroid Build Coastguard Worker */ 268*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_SCREENLONG_YES = 0x2, 269*38e8c45fSAndroid Build Coastguard Worker 270*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_SCREENROUND_ANY = 0x00, 271*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_SCREENROUND_NO = 0x1, 272*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_SCREENROUND_YES = 0x2, 273*38e8c45fSAndroid Build Coastguard Worker 274*38e8c45fSAndroid Build Coastguard Worker /** Wide color gamut: not specified. */ 275*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_WIDE_COLOR_GAMUT_ANY = 0x00, 276*38e8c45fSAndroid Build Coastguard Worker /** 277*38e8c45fSAndroid Build Coastguard Worker * Wide color gamut: value that corresponds to 278*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#WideColorGamutQualifier">no 279*38e8c45fSAndroid Build Coastguard Worker * nowidecg</a> resource qualifier specified. 280*38e8c45fSAndroid Build Coastguard Worker */ 281*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_WIDE_COLOR_GAMUT_NO = 0x1, 282*38e8c45fSAndroid Build Coastguard Worker /** 283*38e8c45fSAndroid Build Coastguard Worker * Wide color gamut: value that corresponds to 284*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#WideColorGamutQualifier"> 285*38e8c45fSAndroid Build Coastguard Worker * widecg</a> resource qualifier specified. 286*38e8c45fSAndroid Build Coastguard Worker */ 287*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_WIDE_COLOR_GAMUT_YES = 0x2, 288*38e8c45fSAndroid Build Coastguard Worker 289*38e8c45fSAndroid Build Coastguard Worker /** HDR: not specified. */ 290*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_HDR_ANY = 0x00, 291*38e8c45fSAndroid Build Coastguard Worker /** 292*38e8c45fSAndroid Build Coastguard Worker * HDR: value that corresponds to 293*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#HDRQualifier"> 294*38e8c45fSAndroid Build Coastguard Worker * lowdr</a> resource qualifier specified. 295*38e8c45fSAndroid Build Coastguard Worker */ 296*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_HDR_NO = 0x1, 297*38e8c45fSAndroid Build Coastguard Worker /** 298*38e8c45fSAndroid Build Coastguard Worker * HDR: value that corresponds to 299*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#HDRQualifier"> 300*38e8c45fSAndroid Build Coastguard Worker * highdr</a> resource qualifier specified. 301*38e8c45fSAndroid Build Coastguard Worker */ 302*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_HDR_YES = 0x2, 303*38e8c45fSAndroid Build Coastguard Worker 304*38e8c45fSAndroid Build Coastguard Worker /** UI mode: not specified. */ 305*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_UI_MODE_TYPE_ANY = 0x00, 306*38e8c45fSAndroid Build Coastguard Worker /** 307*38e8c45fSAndroid Build Coastguard Worker * UI mode: value that corresponds to 308*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#UiModeQualifier">no 309*38e8c45fSAndroid Build Coastguard Worker * UI mode type</a> resource qualifier specified. 310*38e8c45fSAndroid Build Coastguard Worker */ 311*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_UI_MODE_TYPE_NORMAL = 0x01, 312*38e8c45fSAndroid Build Coastguard Worker /** 313*38e8c45fSAndroid Build Coastguard Worker * UI mode: value that corresponds to 314*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#UiModeQualifier">desk</a> resource qualifier specified. 315*38e8c45fSAndroid Build Coastguard Worker */ 316*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_UI_MODE_TYPE_DESK = 0x02, 317*38e8c45fSAndroid Build Coastguard Worker /** 318*38e8c45fSAndroid Build Coastguard Worker * UI mode: value that corresponds to 319*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#UiModeQualifier">car</a> resource qualifier specified. 320*38e8c45fSAndroid Build Coastguard Worker */ 321*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_UI_MODE_TYPE_CAR = 0x03, 322*38e8c45fSAndroid Build Coastguard Worker /** 323*38e8c45fSAndroid Build Coastguard Worker * UI mode: value that corresponds to 324*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#UiModeQualifier">television</a> resource qualifier specified. 325*38e8c45fSAndroid Build Coastguard Worker */ 326*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_UI_MODE_TYPE_TELEVISION = 0x04, 327*38e8c45fSAndroid Build Coastguard Worker /** 328*38e8c45fSAndroid Build Coastguard Worker * UI mode: value that corresponds to 329*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#UiModeQualifier">appliance</a> resource qualifier specified. 330*38e8c45fSAndroid Build Coastguard Worker */ 331*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_UI_MODE_TYPE_APPLIANCE = 0x05, 332*38e8c45fSAndroid Build Coastguard Worker /** 333*38e8c45fSAndroid Build Coastguard Worker * UI mode: value that corresponds to 334*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#UiModeQualifier">watch</a> resource qualifier specified. 335*38e8c45fSAndroid Build Coastguard Worker */ 336*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_UI_MODE_TYPE_WATCH = 0x06, 337*38e8c45fSAndroid Build Coastguard Worker /** 338*38e8c45fSAndroid Build Coastguard Worker * UI mode: value that corresponds to 339*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#UiModeQualifier">vr</a> resource qualifier specified. 340*38e8c45fSAndroid Build Coastguard Worker */ 341*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_UI_MODE_TYPE_VR_HEADSET = 0x07, 342*38e8c45fSAndroid Build Coastguard Worker 343*38e8c45fSAndroid Build Coastguard Worker /** UI night mode: not specified.*/ 344*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_UI_MODE_NIGHT_ANY = 0x00, 345*38e8c45fSAndroid Build Coastguard Worker /** 346*38e8c45fSAndroid Build Coastguard Worker * UI night mode: value that corresponds to 347*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#NightQualifier">notnight</a> resource qualifier specified. 348*38e8c45fSAndroid Build Coastguard Worker */ 349*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_UI_MODE_NIGHT_NO = 0x1, 350*38e8c45fSAndroid Build Coastguard Worker /** 351*38e8c45fSAndroid Build Coastguard Worker * UI night mode: value that corresponds to 352*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#NightQualifier">night</a> resource qualifier specified. 353*38e8c45fSAndroid Build Coastguard Worker */ 354*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_UI_MODE_NIGHT_YES = 0x2, 355*38e8c45fSAndroid Build Coastguard Worker 356*38e8c45fSAndroid Build Coastguard Worker /** Screen width DPI: not specified. */ 357*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_SCREEN_WIDTH_DP_ANY = 0x0000, 358*38e8c45fSAndroid Build Coastguard Worker 359*38e8c45fSAndroid Build Coastguard Worker /** Screen height DPI: not specified. */ 360*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_SCREEN_HEIGHT_DP_ANY = 0x0000, 361*38e8c45fSAndroid Build Coastguard Worker 362*38e8c45fSAndroid Build Coastguard Worker /** Smallest screen width DPI: not specified.*/ 363*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY = 0x0000, 364*38e8c45fSAndroid Build Coastguard Worker 365*38e8c45fSAndroid Build Coastguard Worker /** Layout direction: not specified. */ 366*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_LAYOUTDIR_ANY = 0x00, 367*38e8c45fSAndroid Build Coastguard Worker /** 368*38e8c45fSAndroid Build Coastguard Worker * Layout direction: value that corresponds to 369*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#LayoutDirectionQualifier">ldltr</a> resource qualifier specified. 370*38e8c45fSAndroid Build Coastguard Worker */ 371*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_LAYOUTDIR_LTR = 0x01, 372*38e8c45fSAndroid Build Coastguard Worker /** 373*38e8c45fSAndroid Build Coastguard Worker * Layout direction: value that corresponds to 374*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#LayoutDirectionQualifier">ldrtl</a> resource qualifier specified. 375*38e8c45fSAndroid Build Coastguard Worker */ 376*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_LAYOUTDIR_RTL = 0x02, 377*38e8c45fSAndroid Build Coastguard Worker 378*38e8c45fSAndroid Build Coastguard Worker /** 379*38e8c45fSAndroid Build Coastguard Worker * Bit mask for 380*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#MccQualifier">mcc</a> 381*38e8c45fSAndroid Build Coastguard Worker * configuration. 382*38e8c45fSAndroid Build Coastguard Worker */ 383*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_MCC = 0x0001, 384*38e8c45fSAndroid Build Coastguard Worker /** 385*38e8c45fSAndroid Build Coastguard Worker * Bit mask for 386*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#MccQualifier">mnc</a> 387*38e8c45fSAndroid Build Coastguard Worker * configuration. 388*38e8c45fSAndroid Build Coastguard Worker */ 389*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_MNC = 0x0002, 390*38e8c45fSAndroid Build Coastguard Worker /** 391*38e8c45fSAndroid Build Coastguard Worker * Bit mask for 392*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#LocaleQualifier">locale</a> 393*38e8c45fSAndroid Build Coastguard Worker * configuration. 394*38e8c45fSAndroid Build Coastguard Worker */ 395*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_LOCALE = 0x0004, 396*38e8c45fSAndroid Build Coastguard Worker /** 397*38e8c45fSAndroid Build Coastguard Worker * Bit mask for 398*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#TouchscreenQualifier">touchscreen</a> 399*38e8c45fSAndroid Build Coastguard Worker * configuration. 400*38e8c45fSAndroid Build Coastguard Worker */ 401*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_TOUCHSCREEN = 0x0008, 402*38e8c45fSAndroid Build Coastguard Worker /** 403*38e8c45fSAndroid Build Coastguard Worker * Bit mask for 404*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#ImeQualifier">keyboard</a> 405*38e8c45fSAndroid Build Coastguard Worker * configuration. 406*38e8c45fSAndroid Build Coastguard Worker */ 407*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_KEYBOARD = 0x0010, 408*38e8c45fSAndroid Build Coastguard Worker /** 409*38e8c45fSAndroid Build Coastguard Worker * Bit mask for 410*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#KeyboardAvailQualifier">keyboardHidden</a> 411*38e8c45fSAndroid Build Coastguard Worker * configuration. 412*38e8c45fSAndroid Build Coastguard Worker */ 413*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_KEYBOARD_HIDDEN = 0x0020, 414*38e8c45fSAndroid Build Coastguard Worker /** 415*38e8c45fSAndroid Build Coastguard Worker * Bit mask for 416*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#NavigationQualifier">navigation</a> 417*38e8c45fSAndroid Build Coastguard Worker * configuration. 418*38e8c45fSAndroid Build Coastguard Worker */ 419*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_NAVIGATION = 0x0040, 420*38e8c45fSAndroid Build Coastguard Worker /** 421*38e8c45fSAndroid Build Coastguard Worker * Bit mask for 422*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#OrientationQualifier">orientation</a> 423*38e8c45fSAndroid Build Coastguard Worker * configuration. 424*38e8c45fSAndroid Build Coastguard Worker */ 425*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_ORIENTATION = 0x0080, 426*38e8c45fSAndroid Build Coastguard Worker /** 427*38e8c45fSAndroid Build Coastguard Worker * Bit mask for 428*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#DensityQualifier">density</a> 429*38e8c45fSAndroid Build Coastguard Worker * configuration. 430*38e8c45fSAndroid Build Coastguard Worker */ 431*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_DENSITY = 0x0100, 432*38e8c45fSAndroid Build Coastguard Worker /** 433*38e8c45fSAndroid Build Coastguard Worker * Bit mask for 434*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#ScreenSizeQualifier">screen size</a> 435*38e8c45fSAndroid Build Coastguard Worker * configuration. 436*38e8c45fSAndroid Build Coastguard Worker */ 437*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_SCREEN_SIZE = 0x0200, 438*38e8c45fSAndroid Build Coastguard Worker /** 439*38e8c45fSAndroid Build Coastguard Worker * Bit mask for 440*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#VersionQualifier">platform version</a> 441*38e8c45fSAndroid Build Coastguard Worker * configuration. 442*38e8c45fSAndroid Build Coastguard Worker */ 443*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_VERSION = 0x0400, 444*38e8c45fSAndroid Build Coastguard Worker /** 445*38e8c45fSAndroid Build Coastguard Worker * Bit mask for screen layout configuration. 446*38e8c45fSAndroid Build Coastguard Worker */ 447*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_SCREEN_LAYOUT = 0x0800, 448*38e8c45fSAndroid Build Coastguard Worker /** 449*38e8c45fSAndroid Build Coastguard Worker * Bit mask for 450*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#UiModeQualifier">ui mode</a> 451*38e8c45fSAndroid Build Coastguard Worker * configuration. 452*38e8c45fSAndroid Build Coastguard Worker */ 453*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_UI_MODE = 0x1000, 454*38e8c45fSAndroid Build Coastguard Worker /** 455*38e8c45fSAndroid Build Coastguard Worker * Bit mask for 456*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#SmallestScreenWidthQualifier">smallest screen width</a> 457*38e8c45fSAndroid Build Coastguard Worker * configuration. 458*38e8c45fSAndroid Build Coastguard Worker */ 459*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_SMALLEST_SCREEN_SIZE = 0x2000, 460*38e8c45fSAndroid Build Coastguard Worker /** 461*38e8c45fSAndroid Build Coastguard Worker * Bit mask for 462*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#LayoutDirectionQualifier">layout direction</a> 463*38e8c45fSAndroid Build Coastguard Worker * configuration. 464*38e8c45fSAndroid Build Coastguard Worker */ 465*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_LAYOUTDIR = 0x4000, 466*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_SCREEN_ROUND = 0x8000, 467*38e8c45fSAndroid Build Coastguard Worker /** 468*38e8c45fSAndroid Build Coastguard Worker * Bit mask for 469*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#WideColorGamutQualifier">wide color gamut</a> 470*38e8c45fSAndroid Build Coastguard Worker * and <a href="/guide/topics/resources/providing-resources.html#HDRQualifier">HDR</a> configurations. 471*38e8c45fSAndroid Build Coastguard Worker */ 472*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_COLOR_MODE = 0x10000, 473*38e8c45fSAndroid Build Coastguard Worker /** 474*38e8c45fSAndroid Build Coastguard Worker * Bit mask for 475*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#GrammaticalInflectionQualifier">grammatical gender</a> 476*38e8c45fSAndroid Build Coastguard Worker * configuration. 477*38e8c45fSAndroid Build Coastguard Worker */ 478*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_GRAMMATICAL_GENDER = 0x20000, 479*38e8c45fSAndroid Build Coastguard Worker /** 480*38e8c45fSAndroid Build Coastguard Worker * Constant used to to represent MNC (Mobile Network Code) zero. 481*38e8c45fSAndroid Build Coastguard Worker * 0 cannot be used, since it is used to represent an undefined MNC. 482*38e8c45fSAndroid Build Coastguard Worker */ 483*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_MNC_ZERO = 0xffff, 484*38e8c45fSAndroid Build Coastguard Worker 485*38e8c45fSAndroid Build Coastguard Worker /** 486*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#GrammaticalInflectionQualifier">Grammatical gender</a>: not specified. 487*38e8c45fSAndroid Build Coastguard Worker */ 488*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_GRAMMATICAL_GENDER_ANY = 0, 489*38e8c45fSAndroid Build Coastguard Worker 490*38e8c45fSAndroid Build Coastguard Worker /** 491*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#GrammaticalInflectionQualifier">Grammatical gender</a>: neuter. 492*38e8c45fSAndroid Build Coastguard Worker */ 493*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_GRAMMATICAL_GENDER_NEUTER = 1, 494*38e8c45fSAndroid Build Coastguard Worker 495*38e8c45fSAndroid Build Coastguard Worker /** 496*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#GrammaticalInflectionQualifier">Grammatical gender</a>: feminine. 497*38e8c45fSAndroid Build Coastguard Worker */ 498*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_GRAMMATICAL_GENDER_FEMININE = 2, 499*38e8c45fSAndroid Build Coastguard Worker 500*38e8c45fSAndroid Build Coastguard Worker /** 501*38e8c45fSAndroid Build Coastguard Worker * <a href="/guide/topics/resources/providing-resources.html#GrammaticalInflectionQualifier">Grammatical gender</a>: masculine. 502*38e8c45fSAndroid Build Coastguard Worker */ 503*38e8c45fSAndroid Build Coastguard Worker ACONFIGURATION_GRAMMATICAL_GENDER_MASCULINE = 3, 504*38e8c45fSAndroid Build Coastguard Worker }; 505*38e8c45fSAndroid Build Coastguard Worker 506*38e8c45fSAndroid Build Coastguard Worker /** 507*38e8c45fSAndroid Build Coastguard Worker * Create a new AConfiguration, initialized with no values set. 508*38e8c45fSAndroid Build Coastguard Worker */ 509*38e8c45fSAndroid Build Coastguard Worker AConfiguration* AConfiguration_new(); 510*38e8c45fSAndroid Build Coastguard Worker 511*38e8c45fSAndroid Build Coastguard Worker /** 512*38e8c45fSAndroid Build Coastguard Worker * Free an AConfiguration that was previously created with 513*38e8c45fSAndroid Build Coastguard Worker * AConfiguration_new(). 514*38e8c45fSAndroid Build Coastguard Worker */ 515*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_delete(AConfiguration* config); 516*38e8c45fSAndroid Build Coastguard Worker 517*38e8c45fSAndroid Build Coastguard Worker /** 518*38e8c45fSAndroid Build Coastguard Worker * Create and return a new AConfiguration based on the current configuration in 519*38e8c45fSAndroid Build Coastguard Worker * use in the given {@link AAssetManager}. 520*38e8c45fSAndroid Build Coastguard Worker */ 521*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_fromAssetManager(AConfiguration* out, AAssetManager* am); 522*38e8c45fSAndroid Build Coastguard Worker 523*38e8c45fSAndroid Build Coastguard Worker /** 524*38e8c45fSAndroid Build Coastguard Worker * Copy the contents of 'src' to 'dest'. 525*38e8c45fSAndroid Build Coastguard Worker */ 526*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_copy(AConfiguration* dest, AConfiguration* src); 527*38e8c45fSAndroid Build Coastguard Worker 528*38e8c45fSAndroid Build Coastguard Worker /** 529*38e8c45fSAndroid Build Coastguard Worker * Return the current MCC set in the configuration. 0 if not set. 530*38e8c45fSAndroid Build Coastguard Worker */ 531*38e8c45fSAndroid Build Coastguard Worker int32_t AConfiguration_getMcc(AConfiguration* config); 532*38e8c45fSAndroid Build Coastguard Worker 533*38e8c45fSAndroid Build Coastguard Worker /** 534*38e8c45fSAndroid Build Coastguard Worker * Set the current MCC in the configuration. 0 to clear. 535*38e8c45fSAndroid Build Coastguard Worker */ 536*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_setMcc(AConfiguration* config, int32_t mcc); 537*38e8c45fSAndroid Build Coastguard Worker 538*38e8c45fSAndroid Build Coastguard Worker /** 539*38e8c45fSAndroid Build Coastguard Worker * Return the current MNC set in the configuration. 0 if not set. 540*38e8c45fSAndroid Build Coastguard Worker */ 541*38e8c45fSAndroid Build Coastguard Worker int32_t AConfiguration_getMnc(AConfiguration* config); 542*38e8c45fSAndroid Build Coastguard Worker 543*38e8c45fSAndroid Build Coastguard Worker /** 544*38e8c45fSAndroid Build Coastguard Worker * Set the current MNC in the configuration. 0 to clear. 545*38e8c45fSAndroid Build Coastguard Worker */ 546*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_setMnc(AConfiguration* config, int32_t mnc); 547*38e8c45fSAndroid Build Coastguard Worker 548*38e8c45fSAndroid Build Coastguard Worker /** 549*38e8c45fSAndroid Build Coastguard Worker * Return the current language code set in the configuration. The output will 550*38e8c45fSAndroid Build Coastguard Worker * be filled with an array of two characters. They are not 0-terminated. If 551*38e8c45fSAndroid Build Coastguard Worker * a language is not set, they will be 0. 552*38e8c45fSAndroid Build Coastguard Worker */ 553*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_getLanguage(AConfiguration* config, char* outLanguage); 554*38e8c45fSAndroid Build Coastguard Worker 555*38e8c45fSAndroid Build Coastguard Worker /** 556*38e8c45fSAndroid Build Coastguard Worker * Set the current language code in the configuration, from the first two 557*38e8c45fSAndroid Build Coastguard Worker * characters in the string. 558*38e8c45fSAndroid Build Coastguard Worker */ 559*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_setLanguage(AConfiguration* config, const char* language); 560*38e8c45fSAndroid Build Coastguard Worker 561*38e8c45fSAndroid Build Coastguard Worker /** 562*38e8c45fSAndroid Build Coastguard Worker * Return the current country code set in the configuration. The output will 563*38e8c45fSAndroid Build Coastguard Worker * be filled with an array of two characters. They are not 0-terminated. If 564*38e8c45fSAndroid Build Coastguard Worker * a country is not set, they will be 0. 565*38e8c45fSAndroid Build Coastguard Worker */ 566*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_getCountry(AConfiguration* config, char* outCountry); 567*38e8c45fSAndroid Build Coastguard Worker 568*38e8c45fSAndroid Build Coastguard Worker /** 569*38e8c45fSAndroid Build Coastguard Worker * Set the current country code in the configuration, from the first two 570*38e8c45fSAndroid Build Coastguard Worker * characters in the string. 571*38e8c45fSAndroid Build Coastguard Worker */ 572*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_setCountry(AConfiguration* config, const char* country); 573*38e8c45fSAndroid Build Coastguard Worker 574*38e8c45fSAndroid Build Coastguard Worker /** 575*38e8c45fSAndroid Build Coastguard Worker * Return the current ACONFIGURATION_ORIENTATION_* set in the configuration. 576*38e8c45fSAndroid Build Coastguard Worker */ 577*38e8c45fSAndroid Build Coastguard Worker int32_t AConfiguration_getOrientation(AConfiguration* config); 578*38e8c45fSAndroid Build Coastguard Worker 579*38e8c45fSAndroid Build Coastguard Worker /** 580*38e8c45fSAndroid Build Coastguard Worker * Set the current orientation in the configuration. 581*38e8c45fSAndroid Build Coastguard Worker */ 582*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_setOrientation(AConfiguration* config, int32_t orientation); 583*38e8c45fSAndroid Build Coastguard Worker 584*38e8c45fSAndroid Build Coastguard Worker /** 585*38e8c45fSAndroid Build Coastguard Worker * Return the current ACONFIGURATION_TOUCHSCREEN_* set in the configuration. 586*38e8c45fSAndroid Build Coastguard Worker */ 587*38e8c45fSAndroid Build Coastguard Worker int32_t AConfiguration_getTouchscreen(AConfiguration* config); 588*38e8c45fSAndroid Build Coastguard Worker 589*38e8c45fSAndroid Build Coastguard Worker /** 590*38e8c45fSAndroid Build Coastguard Worker * Set the current touchscreen in the configuration. 591*38e8c45fSAndroid Build Coastguard Worker */ 592*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_setTouchscreen(AConfiguration* config, int32_t touchscreen); 593*38e8c45fSAndroid Build Coastguard Worker 594*38e8c45fSAndroid Build Coastguard Worker /** 595*38e8c45fSAndroid Build Coastguard Worker * Return the current ACONFIGURATION_DENSITY_* set in the configuration. 596*38e8c45fSAndroid Build Coastguard Worker */ 597*38e8c45fSAndroid Build Coastguard Worker int32_t AConfiguration_getDensity(AConfiguration* config); 598*38e8c45fSAndroid Build Coastguard Worker 599*38e8c45fSAndroid Build Coastguard Worker /** 600*38e8c45fSAndroid Build Coastguard Worker * Set the current density in the configuration. 601*38e8c45fSAndroid Build Coastguard Worker */ 602*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_setDensity(AConfiguration* config, int32_t density); 603*38e8c45fSAndroid Build Coastguard Worker 604*38e8c45fSAndroid Build Coastguard Worker /** 605*38e8c45fSAndroid Build Coastguard Worker * Return the current ACONFIGURATION_KEYBOARD_* set in the configuration. 606*38e8c45fSAndroid Build Coastguard Worker */ 607*38e8c45fSAndroid Build Coastguard Worker int32_t AConfiguration_getKeyboard(AConfiguration* config); 608*38e8c45fSAndroid Build Coastguard Worker 609*38e8c45fSAndroid Build Coastguard Worker /** 610*38e8c45fSAndroid Build Coastguard Worker * Set the current keyboard in the configuration. 611*38e8c45fSAndroid Build Coastguard Worker */ 612*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_setKeyboard(AConfiguration* config, int32_t keyboard); 613*38e8c45fSAndroid Build Coastguard Worker 614*38e8c45fSAndroid Build Coastguard Worker /** 615*38e8c45fSAndroid Build Coastguard Worker * Return the current ACONFIGURATION_NAVIGATION_* set in the configuration. 616*38e8c45fSAndroid Build Coastguard Worker */ 617*38e8c45fSAndroid Build Coastguard Worker int32_t AConfiguration_getNavigation(AConfiguration* config); 618*38e8c45fSAndroid Build Coastguard Worker 619*38e8c45fSAndroid Build Coastguard Worker /** 620*38e8c45fSAndroid Build Coastguard Worker * Set the current navigation in the configuration. 621*38e8c45fSAndroid Build Coastguard Worker */ 622*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_setNavigation(AConfiguration* config, int32_t navigation); 623*38e8c45fSAndroid Build Coastguard Worker 624*38e8c45fSAndroid Build Coastguard Worker /** 625*38e8c45fSAndroid Build Coastguard Worker * Return the current ACONFIGURATION_KEYSHIDDEN_* set in the configuration. 626*38e8c45fSAndroid Build Coastguard Worker */ 627*38e8c45fSAndroid Build Coastguard Worker int32_t AConfiguration_getKeysHidden(AConfiguration* config); 628*38e8c45fSAndroid Build Coastguard Worker 629*38e8c45fSAndroid Build Coastguard Worker /** 630*38e8c45fSAndroid Build Coastguard Worker * Set the current keys hidden in the configuration. 631*38e8c45fSAndroid Build Coastguard Worker */ 632*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_setKeysHidden(AConfiguration* config, int32_t keysHidden); 633*38e8c45fSAndroid Build Coastguard Worker 634*38e8c45fSAndroid Build Coastguard Worker /** 635*38e8c45fSAndroid Build Coastguard Worker * Return the current ACONFIGURATION_NAVHIDDEN_* set in the configuration. 636*38e8c45fSAndroid Build Coastguard Worker */ 637*38e8c45fSAndroid Build Coastguard Worker int32_t AConfiguration_getNavHidden(AConfiguration* config); 638*38e8c45fSAndroid Build Coastguard Worker 639*38e8c45fSAndroid Build Coastguard Worker /** 640*38e8c45fSAndroid Build Coastguard Worker * Set the current nav hidden in the configuration. 641*38e8c45fSAndroid Build Coastguard Worker */ 642*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_setNavHidden(AConfiguration* config, int32_t navHidden); 643*38e8c45fSAndroid Build Coastguard Worker 644*38e8c45fSAndroid Build Coastguard Worker /** 645*38e8c45fSAndroid Build Coastguard Worker * Return the current SDK (API) version set in the configuration. 646*38e8c45fSAndroid Build Coastguard Worker */ 647*38e8c45fSAndroid Build Coastguard Worker int32_t AConfiguration_getSdkVersion(AConfiguration* config); 648*38e8c45fSAndroid Build Coastguard Worker 649*38e8c45fSAndroid Build Coastguard Worker /** 650*38e8c45fSAndroid Build Coastguard Worker * Set the current SDK version in the configuration. 651*38e8c45fSAndroid Build Coastguard Worker */ 652*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_setSdkVersion(AConfiguration* config, int32_t sdkVersion); 653*38e8c45fSAndroid Build Coastguard Worker 654*38e8c45fSAndroid Build Coastguard Worker /** 655*38e8c45fSAndroid Build Coastguard Worker * Return the current ACONFIGURATION_SCREENSIZE_* set in the configuration. 656*38e8c45fSAndroid Build Coastguard Worker */ 657*38e8c45fSAndroid Build Coastguard Worker int32_t AConfiguration_getScreenSize(AConfiguration* config); 658*38e8c45fSAndroid Build Coastguard Worker 659*38e8c45fSAndroid Build Coastguard Worker /** 660*38e8c45fSAndroid Build Coastguard Worker * Set the current screen size in the configuration. 661*38e8c45fSAndroid Build Coastguard Worker */ 662*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_setScreenSize(AConfiguration* config, int32_t screenSize); 663*38e8c45fSAndroid Build Coastguard Worker 664*38e8c45fSAndroid Build Coastguard Worker /** 665*38e8c45fSAndroid Build Coastguard Worker * Return the current ACONFIGURATION_SCREENLONG_* set in the configuration. 666*38e8c45fSAndroid Build Coastguard Worker */ 667*38e8c45fSAndroid Build Coastguard Worker int32_t AConfiguration_getScreenLong(AConfiguration* config); 668*38e8c45fSAndroid Build Coastguard Worker 669*38e8c45fSAndroid Build Coastguard Worker /** 670*38e8c45fSAndroid Build Coastguard Worker * Set the current screen long in the configuration. 671*38e8c45fSAndroid Build Coastguard Worker */ 672*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_setScreenLong(AConfiguration* config, int32_t screenLong); 673*38e8c45fSAndroid Build Coastguard Worker 674*38e8c45fSAndroid Build Coastguard Worker /** 675*38e8c45fSAndroid Build Coastguard Worker * Return the current ACONFIGURATION_SCREENROUND_* set in the configuration. 676*38e8c45fSAndroid Build Coastguard Worker * 677*38e8c45fSAndroid Build Coastguard Worker * Available since API level 30. 678*38e8c45fSAndroid Build Coastguard Worker */ 679*38e8c45fSAndroid Build Coastguard Worker int32_t AConfiguration_getScreenRound(AConfiguration* config) __INTRODUCED_IN(30); 680*38e8c45fSAndroid Build Coastguard Worker 681*38e8c45fSAndroid Build Coastguard Worker /** 682*38e8c45fSAndroid Build Coastguard Worker * Set the current screen round in the configuration. 683*38e8c45fSAndroid Build Coastguard Worker */ 684*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_setScreenRound(AConfiguration* config, int32_t screenRound); 685*38e8c45fSAndroid Build Coastguard Worker 686*38e8c45fSAndroid Build Coastguard Worker /** 687*38e8c45fSAndroid Build Coastguard Worker * Return the current ACONFIGURATION_UI_MODE_TYPE_* set in the configuration. 688*38e8c45fSAndroid Build Coastguard Worker */ 689*38e8c45fSAndroid Build Coastguard Worker int32_t AConfiguration_getUiModeType(AConfiguration* config); 690*38e8c45fSAndroid Build Coastguard Worker 691*38e8c45fSAndroid Build Coastguard Worker /** 692*38e8c45fSAndroid Build Coastguard Worker * Set the current UI mode type in the configuration. 693*38e8c45fSAndroid Build Coastguard Worker */ 694*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_setUiModeType(AConfiguration* config, int32_t uiModeType); 695*38e8c45fSAndroid Build Coastguard Worker 696*38e8c45fSAndroid Build Coastguard Worker /** 697*38e8c45fSAndroid Build Coastguard Worker * Return the current ACONFIGURATION_UI_MODE_NIGHT_* set in the configuration. 698*38e8c45fSAndroid Build Coastguard Worker */ 699*38e8c45fSAndroid Build Coastguard Worker int32_t AConfiguration_getUiModeNight(AConfiguration* config); 700*38e8c45fSAndroid Build Coastguard Worker 701*38e8c45fSAndroid Build Coastguard Worker /** 702*38e8c45fSAndroid Build Coastguard Worker * Set the current UI mode night in the configuration. 703*38e8c45fSAndroid Build Coastguard Worker */ 704*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_setUiModeNight(AConfiguration* config, int32_t uiModeNight); 705*38e8c45fSAndroid Build Coastguard Worker 706*38e8c45fSAndroid Build Coastguard Worker /** 707*38e8c45fSAndroid Build Coastguard Worker * Return the current configuration screen width in dp units, or 708*38e8c45fSAndroid Build Coastguard Worker * ACONFIGURATION_SCREEN_WIDTH_DP_ANY if not set. 709*38e8c45fSAndroid Build Coastguard Worker */ 710*38e8c45fSAndroid Build Coastguard Worker int32_t AConfiguration_getScreenWidthDp(AConfiguration* config); 711*38e8c45fSAndroid Build Coastguard Worker 712*38e8c45fSAndroid Build Coastguard Worker /** 713*38e8c45fSAndroid Build Coastguard Worker * Set the configuration's current screen width in dp units. 714*38e8c45fSAndroid Build Coastguard Worker */ 715*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_setScreenWidthDp(AConfiguration* config, int32_t value); 716*38e8c45fSAndroid Build Coastguard Worker 717*38e8c45fSAndroid Build Coastguard Worker /** 718*38e8c45fSAndroid Build Coastguard Worker * Return the current configuration screen height in dp units, or 719*38e8c45fSAndroid Build Coastguard Worker * ACONFIGURATION_SCREEN_HEIGHT_DP_ANY if not set. 720*38e8c45fSAndroid Build Coastguard Worker */ 721*38e8c45fSAndroid Build Coastguard Worker int32_t AConfiguration_getScreenHeightDp(AConfiguration* config); 722*38e8c45fSAndroid Build Coastguard Worker 723*38e8c45fSAndroid Build Coastguard Worker /** 724*38e8c45fSAndroid Build Coastguard Worker * Set the configuration's current screen width in dp units. 725*38e8c45fSAndroid Build Coastguard Worker */ 726*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_setScreenHeightDp(AConfiguration* config, int32_t value); 727*38e8c45fSAndroid Build Coastguard Worker 728*38e8c45fSAndroid Build Coastguard Worker /** 729*38e8c45fSAndroid Build Coastguard Worker * Return the configuration's smallest screen width in dp units, or 730*38e8c45fSAndroid Build Coastguard Worker * ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY if not set. 731*38e8c45fSAndroid Build Coastguard Worker */ 732*38e8c45fSAndroid Build Coastguard Worker int32_t AConfiguration_getSmallestScreenWidthDp(AConfiguration* config); 733*38e8c45fSAndroid Build Coastguard Worker 734*38e8c45fSAndroid Build Coastguard Worker /** 735*38e8c45fSAndroid Build Coastguard Worker * Set the configuration's smallest screen width in dp units. 736*38e8c45fSAndroid Build Coastguard Worker */ 737*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_setSmallestScreenWidthDp(AConfiguration* config, int32_t value); 738*38e8c45fSAndroid Build Coastguard Worker 739*38e8c45fSAndroid Build Coastguard Worker /** 740*38e8c45fSAndroid Build Coastguard Worker * Return the configuration's layout direction, or 741*38e8c45fSAndroid Build Coastguard Worker * ACONFIGURATION_LAYOUTDIR_ANY if not set. 742*38e8c45fSAndroid Build Coastguard Worker * 743*38e8c45fSAndroid Build Coastguard Worker * Available since API level 17. 744*38e8c45fSAndroid Build Coastguard Worker */ 745*38e8c45fSAndroid Build Coastguard Worker int32_t AConfiguration_getLayoutDirection(AConfiguration* config) __INTRODUCED_IN(17); 746*38e8c45fSAndroid Build Coastguard Worker 747*38e8c45fSAndroid Build Coastguard Worker /** 748*38e8c45fSAndroid Build Coastguard Worker * Set the configuration's layout direction. 749*38e8c45fSAndroid Build Coastguard Worker * 750*38e8c45fSAndroid Build Coastguard Worker * Available since API level 17. 751*38e8c45fSAndroid Build Coastguard Worker */ 752*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_setLayoutDirection(AConfiguration* config, int32_t value) __INTRODUCED_IN(17); 753*38e8c45fSAndroid Build Coastguard Worker 754*38e8c45fSAndroid Build Coastguard Worker /** 755*38e8c45fSAndroid Build Coastguard Worker * Return the configuration's grammatical gender, or ACONFIGURATION_GRAMMATICAL_GENDER_ANY if 756*38e8c45fSAndroid Build Coastguard Worker * not set. 757*38e8c45fSAndroid Build Coastguard Worker * 758*38e8c45fSAndroid Build Coastguard Worker * Available since API level 34. 759*38e8c45fSAndroid Build Coastguard Worker */ 760*38e8c45fSAndroid Build Coastguard Worker int32_t AConfiguration_getGrammaticalGender(AConfiguration* config) 761*38e8c45fSAndroid Build Coastguard Worker __INTRODUCED_IN(__ANDROID_API_U__); 762*38e8c45fSAndroid Build Coastguard Worker 763*38e8c45fSAndroid Build Coastguard Worker /** 764*38e8c45fSAndroid Build Coastguard Worker * Set the configuration's grammatical gender to one of the 765*38e8c45fSAndroid Build Coastguard Worker * ACONFIGURATION_GRAMMATICAL_GENDER_* constants. 766*38e8c45fSAndroid Build Coastguard Worker * 767*38e8c45fSAndroid Build Coastguard Worker * Available since API level 34. 768*38e8c45fSAndroid Build Coastguard Worker */ 769*38e8c45fSAndroid Build Coastguard Worker void AConfiguration_setGrammaticalGender(AConfiguration* config, int32_t value) 770*38e8c45fSAndroid Build Coastguard Worker __INTRODUCED_IN(__ANDROID_API_U__); 771*38e8c45fSAndroid Build Coastguard Worker 772*38e8c45fSAndroid Build Coastguard Worker /** 773*38e8c45fSAndroid Build Coastguard Worker * Perform a diff between two configurations. Returns a bit mask of 774*38e8c45fSAndroid Build Coastguard Worker * ACONFIGURATION_* constants, each bit set meaning that configuration element 775*38e8c45fSAndroid Build Coastguard Worker * is different between them. 776*38e8c45fSAndroid Build Coastguard Worker */ 777*38e8c45fSAndroid Build Coastguard Worker int32_t AConfiguration_diff(AConfiguration* config1, AConfiguration* config2); 778*38e8c45fSAndroid Build Coastguard Worker 779*38e8c45fSAndroid Build Coastguard Worker /** 780*38e8c45fSAndroid Build Coastguard Worker * Determine whether 'base' is a valid configuration for use within the 781*38e8c45fSAndroid Build Coastguard Worker * environment 'requested'. Returns 0 if there are any values in 'base' 782*38e8c45fSAndroid Build Coastguard Worker * that conflict with 'requested'. Returns 1 if it does not conflict. 783*38e8c45fSAndroid Build Coastguard Worker */ 784*38e8c45fSAndroid Build Coastguard Worker int32_t AConfiguration_match(AConfiguration* base, AConfiguration* requested); 785*38e8c45fSAndroid Build Coastguard Worker 786*38e8c45fSAndroid Build Coastguard Worker /** 787*38e8c45fSAndroid Build Coastguard Worker * Determine whether the configuration in 'test' is better than the existing 788*38e8c45fSAndroid Build Coastguard Worker * configuration in 'base'. If 'requested' is non-NULL, this decision is based 789*38e8c45fSAndroid Build Coastguard Worker * on the overall configuration given there. If it is NULL, this decision is 790*38e8c45fSAndroid Build Coastguard Worker * simply based on which configuration is more specific. Returns non-0 if 791*38e8c45fSAndroid Build Coastguard Worker * 'test' is better than 'base'. 792*38e8c45fSAndroid Build Coastguard Worker * 793*38e8c45fSAndroid Build Coastguard Worker * This assumes you have already filtered the configurations with 794*38e8c45fSAndroid Build Coastguard Worker * AConfiguration_match(). 795*38e8c45fSAndroid Build Coastguard Worker */ 796*38e8c45fSAndroid Build Coastguard Worker int32_t AConfiguration_isBetterThan(AConfiguration* base, AConfiguration* test, 797*38e8c45fSAndroid Build Coastguard Worker AConfiguration* requested); 798*38e8c45fSAndroid Build Coastguard Worker 799*38e8c45fSAndroid Build Coastguard Worker #ifdef __cplusplus 800*38e8c45fSAndroid Build Coastguard Worker }; 801*38e8c45fSAndroid Build Coastguard Worker #endif 802*38e8c45fSAndroid Build Coastguard Worker 803*38e8c45fSAndroid Build Coastguard Worker #endif // ANDROID_CONFIGURATION_H 804*38e8c45fSAndroid Build Coastguard Worker 805*38e8c45fSAndroid Build Coastguard Worker /** @} */ 806