am a5ae50cd: Merge "More native work." into gingerbread
Merge commit 'a5ae50cd838b5725c63ed485292aae4edd1a98cb' into gingerbread-plus-aosp * commit 'a5ae50cd838b5725c63ed485292aae4edd1a98cb': More native work.
This commit is contained in:
commit
87566dc8a0
@ -129,6 +129,8 @@ public:
|
||||
*/
|
||||
void setConfiguration(const ResTable_config& config, const char* locale = NULL);
|
||||
|
||||
void getConfiguration(ResTable_config* outConfig) const;
|
||||
|
||||
typedef Asset::AccessMode AccessMode; // typing shortcut
|
||||
|
||||
/*
|
||||
|
@ -31,6 +31,8 @@
|
||||
#include <stdint.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#include <android/configuration.h>
|
||||
|
||||
namespace android {
|
||||
|
||||
/** ********************************************************************
|
||||
@ -822,25 +824,25 @@ struct ResTable_config
|
||||
};
|
||||
|
||||
enum {
|
||||
ORIENTATION_ANY = 0x0000,
|
||||
ORIENTATION_PORT = 0x0001,
|
||||
ORIENTATION_LAND = 0x0002,
|
||||
ORIENTATION_SQUARE = 0x0003,
|
||||
ORIENTATION_ANY = ACONFIGURATION_ORIENTATION_ANY,
|
||||
ORIENTATION_PORT = ACONFIGURATION_ORIENTATION_PORT,
|
||||
ORIENTATION_LAND = ACONFIGURATION_ORIENTATION_LAND,
|
||||
ORIENTATION_SQUARE = ACONFIGURATION_ORIENTATION_SQUARE,
|
||||
};
|
||||
|
||||
enum {
|
||||
TOUCHSCREEN_ANY = 0x0000,
|
||||
TOUCHSCREEN_NOTOUCH = 0x0001,
|
||||
TOUCHSCREEN_STYLUS = 0x0002,
|
||||
TOUCHSCREEN_FINGER = 0x0003,
|
||||
TOUCHSCREEN_ANY = ACONFIGURATION_TOUCHSCREEN_ANY,
|
||||
TOUCHSCREEN_NOTOUCH = ACONFIGURATION_TOUCHSCREEN_NOTOUCH,
|
||||
TOUCHSCREEN_STYLUS = ACONFIGURATION_TOUCHSCREEN_STYLUS,
|
||||
TOUCHSCREEN_FINGER = ACONFIGURATION_TOUCHSCREEN_FINGER,
|
||||
};
|
||||
|
||||
enum {
|
||||
DENSITY_DEFAULT = 0,
|
||||
DENSITY_LOW = 120,
|
||||
DENSITY_MEDIUM = 160,
|
||||
DENSITY_HIGH = 240,
|
||||
DENSITY_NONE = 0xffff
|
||||
DENSITY_DEFAULT = ACONFIGURATION_DENSITY_DEFAULT,
|
||||
DENSITY_LOW = ACONFIGURATION_DENSITY_LOW,
|
||||
DENSITY_MEDIUM = ACONFIGURATION_DENSITY_MEDIUM,
|
||||
DENSITY_HIGH = ACONFIGURATION_DENSITY_HIGH,
|
||||
DENSITY_NONE = ACONFIGURATION_DENSITY_NONE
|
||||
};
|
||||
|
||||
union {
|
||||
@ -853,33 +855,34 @@ struct ResTable_config
|
||||
};
|
||||
|
||||
enum {
|
||||
KEYBOARD_ANY = 0x0000,
|
||||
KEYBOARD_NOKEYS = 0x0001,
|
||||
KEYBOARD_QWERTY = 0x0002,
|
||||
KEYBOARD_12KEY = 0x0003,
|
||||
KEYBOARD_ANY = ACONFIGURATION_KEYBOARD_ANY,
|
||||
KEYBOARD_NOKEYS = ACONFIGURATION_KEYBOARD_NOKEYS,
|
||||
KEYBOARD_QWERTY = ACONFIGURATION_KEYBOARD_QWERTY,
|
||||
KEYBOARD_12KEY = ACONFIGURATION_KEYBOARD_12KEY,
|
||||
};
|
||||
|
||||
enum {
|
||||
NAVIGATION_ANY = 0x0000,
|
||||
NAVIGATION_NONAV = 0x0001,
|
||||
NAVIGATION_DPAD = 0x0002,
|
||||
NAVIGATION_TRACKBALL = 0x0003,
|
||||
NAVIGATION_WHEEL = 0x0004,
|
||||
NAVIGATION_ANY = ACONFIGURATION_NAVIGATION_ANY,
|
||||
NAVIGATION_NONAV = ACONFIGURATION_NAVIGATION_NONAV,
|
||||
NAVIGATION_DPAD = ACONFIGURATION_NAVIGATION_DPAD,
|
||||
NAVIGATION_TRACKBALL = ACONFIGURATION_NAVIGATION_TRACKBALL,
|
||||
NAVIGATION_WHEEL = ACONFIGURATION_NAVIGATION_WHEEL,
|
||||
};
|
||||
|
||||
enum {
|
||||
MASK_KEYSHIDDEN = 0x0003,
|
||||
KEYSHIDDEN_ANY = 0x0000,
|
||||
KEYSHIDDEN_NO = 0x0001,
|
||||
KEYSHIDDEN_YES = 0x0002,
|
||||
KEYSHIDDEN_SOFT = 0x0003,
|
||||
KEYSHIDDEN_ANY = ACONFIGURATION_KEYSHIDDEN_ANY,
|
||||
KEYSHIDDEN_NO = ACONFIGURATION_KEYSHIDDEN_NO,
|
||||
KEYSHIDDEN_YES = ACONFIGURATION_KEYSHIDDEN_YES,
|
||||
KEYSHIDDEN_SOFT = ACONFIGURATION_KEYSHIDDEN_SOFT,
|
||||
};
|
||||
|
||||
enum {
|
||||
MASK_NAVHIDDEN = 0x000c,
|
||||
NAVHIDDEN_ANY = 0x0000,
|
||||
NAVHIDDEN_NO = 0x0004,
|
||||
NAVHIDDEN_YES = 0x0008,
|
||||
SHIFT_NAVHIDDEN = 2,
|
||||
NAVHIDDEN_ANY = ACONFIGURATION_NAVHIDDEN_ANY << SHIFT_NAVHIDDEN,
|
||||
NAVHIDDEN_NO = ACONFIGURATION_NAVHIDDEN_NO << SHIFT_NAVHIDDEN,
|
||||
NAVHIDDEN_YES = ACONFIGURATION_NAVHIDDEN_YES << SHIFT_NAVHIDDEN,
|
||||
};
|
||||
|
||||
union {
|
||||
@ -929,32 +932,34 @@ struct ResTable_config
|
||||
enum {
|
||||
// screenLayout bits for screen size class.
|
||||
MASK_SCREENSIZE = 0x0f,
|
||||
SCREENSIZE_ANY = 0x00,
|
||||
SCREENSIZE_SMALL = 0x01,
|
||||
SCREENSIZE_NORMAL = 0x02,
|
||||
SCREENSIZE_LARGE = 0x03,
|
||||
SCREENSIZE_XLARGE = 0x04,
|
||||
SCREENSIZE_ANY = ACONFIGURATION_SCREENSIZE_ANY,
|
||||
SCREENSIZE_SMALL = ACONFIGURATION_SCREENSIZE_SMALL,
|
||||
SCREENSIZE_NORMAL = ACONFIGURATION_SCREENSIZE_NORMAL,
|
||||
SCREENSIZE_LARGE = ACONFIGURATION_SCREENSIZE_LARGE,
|
||||
SCREENSIZE_XLARGE = ACONFIGURATION_SCREENSIZE_XLARGE,
|
||||
|
||||
// screenLayout bits for wide/long screen variation.
|
||||
MASK_SCREENLONG = 0x30,
|
||||
SCREENLONG_ANY = 0x00,
|
||||
SCREENLONG_NO = 0x10,
|
||||
SCREENLONG_YES = 0x20,
|
||||
SHIFT_SCREENLONG = 4,
|
||||
SCREENLONG_ANY = ACONFIGURATION_SCREENLONG_ANY << SHIFT_SCREENLONG,
|
||||
SCREENLONG_NO = ACONFIGURATION_SCREENLONG_NO << SHIFT_SCREENLONG,
|
||||
SCREENLONG_YES = ACONFIGURATION_SCREENLONG_YES << SHIFT_SCREENLONG,
|
||||
};
|
||||
|
||||
enum {
|
||||
// uiMode bits for the mode type.
|
||||
MASK_UI_MODE_TYPE = 0x0f,
|
||||
UI_MODE_TYPE_ANY = 0x00,
|
||||
UI_MODE_TYPE_NORMAL = 0x01,
|
||||
UI_MODE_TYPE_DESK = 0x02,
|
||||
UI_MODE_TYPE_CAR = 0x03,
|
||||
UI_MODE_TYPE_ANY = ACONFIGURATION_UI_MODE_TYPE_ANY,
|
||||
UI_MODE_TYPE_NORMAL = ACONFIGURATION_UI_MODE_TYPE_NORMAL,
|
||||
UI_MODE_TYPE_DESK = ACONFIGURATION_UI_MODE_TYPE_DESK,
|
||||
UI_MODE_TYPE_CAR = ACONFIGURATION_UI_MODE_TYPE_CAR,
|
||||
|
||||
// uiMode bits for the night switch.
|
||||
MASK_UI_MODE_NIGHT = 0x30,
|
||||
UI_MODE_NIGHT_ANY = 0x00,
|
||||
UI_MODE_NIGHT_NO = 0x10,
|
||||
UI_MODE_NIGHT_YES = 0x20,
|
||||
SHIFT_UI_MODE_NIGHT = 4,
|
||||
UI_MODE_NIGHT_ANY = ACONFIGURATION_UI_MODE_NIGHT_ANY << SHIFT_UI_MODE_NIGHT,
|
||||
UI_MODE_NIGHT_NO = ACONFIGURATION_UI_MODE_NIGHT_NO << SHIFT_UI_MODE_NIGHT,
|
||||
UI_MODE_NIGHT_YES = ACONFIGURATION_UI_MODE_NIGHT_YES << SHIFT_UI_MODE_NIGHT,
|
||||
};
|
||||
|
||||
union {
|
||||
@ -1023,19 +1028,19 @@ struct ResTable_config
|
||||
// match the corresponding ones in android.content.pm.ActivityInfo and
|
||||
// attrs_manifest.xml.
|
||||
enum {
|
||||
CONFIG_MCC = 0x0001,
|
||||
CONFIG_MNC = 0x0002,
|
||||
CONFIG_LOCALE = 0x0004,
|
||||
CONFIG_TOUCHSCREEN = 0x0008,
|
||||
CONFIG_KEYBOARD = 0x0010,
|
||||
CONFIG_KEYBOARD_HIDDEN = 0x0020,
|
||||
CONFIG_NAVIGATION = 0x0040,
|
||||
CONFIG_ORIENTATION = 0x0080,
|
||||
CONFIG_DENSITY = 0x0100,
|
||||
CONFIG_SCREEN_SIZE = 0x0200,
|
||||
CONFIG_VERSION = 0x0400,
|
||||
CONFIG_SCREEN_LAYOUT = 0x0800,
|
||||
CONFIG_UI_MODE = 0x1000
|
||||
CONFIG_MCC = ACONFIGURATION_MCC,
|
||||
CONFIG_MNC = ACONFIGURATION_MCC,
|
||||
CONFIG_LOCALE = ACONFIGURATION_LOCALE,
|
||||
CONFIG_TOUCHSCREEN = ACONFIGURATION_TOUCHSCREEN,
|
||||
CONFIG_KEYBOARD = ACONFIGURATION_KEYBOARD,
|
||||
CONFIG_KEYBOARD_HIDDEN = ACONFIGURATION_KEYBOARD_HIDDEN,
|
||||
CONFIG_NAVIGATION = ACONFIGURATION_NAVIGATION,
|
||||
CONFIG_ORIENTATION = ACONFIGURATION_ORIENTATION,
|
||||
CONFIG_DENSITY = ACONFIGURATION_DENSITY,
|
||||
CONFIG_SCREEN_SIZE = ACONFIGURATION_SCREEN_SIZE,
|
||||
CONFIG_VERSION = ACONFIGURATION_VERSION,
|
||||
CONFIG_SCREEN_LAYOUT = ACONFIGURATION_SCREEN_LAYOUT,
|
||||
CONFIG_UI_MODE = ACONFIGURATION_UI_MODE
|
||||
};
|
||||
|
||||
// Compare two configuration, returning CONFIG_* flags set for each value
|
||||
|
@ -232,6 +232,12 @@ void AssetManager::setConfiguration(const ResTable_config& config, const char* l
|
||||
}
|
||||
}
|
||||
|
||||
void AssetManager::getConfiguration(ResTable_config* outConfig) const
|
||||
{
|
||||
AutoMutex _l(mLock);
|
||||
*outConfig = *mConfig;
|
||||
}
|
||||
|
||||
/*
|
||||
* Open an asset.
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user