Loading include/utils/AssetManager.h +2 −0 Original line number Diff line number Diff line Loading @@ -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 /* Loading include/utils/ResourceTypes.h +62 −57 Original line number Diff line number Diff line Loading @@ -31,6 +31,8 @@ #include <stdint.h> #include <sys/types.h> #include <android/configuration.h> namespace android { /** ******************************************************************** Loading Loading @@ -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 { Loading @@ -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 { Loading Loading @@ -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 { Loading Loading @@ -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 Loading libs/utils/AssetManager.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
include/utils/AssetManager.h +2 −0 Original line number Diff line number Diff line Loading @@ -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 /* Loading
include/utils/ResourceTypes.h +62 −57 Original line number Diff line number Diff line Loading @@ -31,6 +31,8 @@ #include <stdint.h> #include <sys/types.h> #include <android/configuration.h> namespace android { /** ******************************************************************** Loading Loading @@ -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 { Loading @@ -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 { Loading Loading @@ -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 { Loading Loading @@ -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 Loading
libs/utils/AssetManager.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -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