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:
Dianne Hackborn 2010-08-11 00:47:51 -07:00 committed by Android Git Automerger
commit 87566dc8a0
3 changed files with 70 additions and 57 deletions

View File

@ -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
/*

View File

@ -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

View File

@ -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.
*