Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 76263ffc authored by Dianne Hackborn's avatar Dianne Hackborn Committed by Android (Google) Code Review
Browse files

Merge "More native work." into gingerbread

parents 5736292a c3ef3ae5
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -129,6 +129,8 @@ public:
     */
     */
    void setConfiguration(const ResTable_config& config, const char* locale = NULL);
    void setConfiguration(const ResTable_config& config, const char* locale = NULL);


    void getConfiguration(ResTable_config* outConfig) const;

    typedef Asset::AccessMode AccessMode;       // typing shortcut
    typedef Asset::AccessMode AccessMode;       // typing shortcut


    /*
    /*
+62 −57
Original line number Original line Diff line number Diff line
@@ -31,6 +31,8 @@
#include <stdint.h>
#include <stdint.h>
#include <sys/types.h>
#include <sys/types.h>


#include <android/configuration.h>

namespace android {
namespace android {


/** ********************************************************************
/** ********************************************************************
@@ -822,25 +824,25 @@ struct ResTable_config
    };
    };
    
    
    enum {
    enum {
        ORIENTATION_ANY  = 0x0000,
        ORIENTATION_ANY  = ACONFIGURATION_ORIENTATION_ANY,
        ORIENTATION_PORT = 0x0001,
        ORIENTATION_PORT = ACONFIGURATION_ORIENTATION_PORT,
        ORIENTATION_LAND = 0x0002,
        ORIENTATION_LAND = ACONFIGURATION_ORIENTATION_LAND,
        ORIENTATION_SQUARE = 0x0003,
        ORIENTATION_SQUARE = ACONFIGURATION_ORIENTATION_SQUARE,
    };
    };
    
    
    enum {
    enum {
        TOUCHSCREEN_ANY  = 0x0000,
        TOUCHSCREEN_ANY  = ACONFIGURATION_TOUCHSCREEN_ANY,
        TOUCHSCREEN_NOTOUCH  = 0x0001,
        TOUCHSCREEN_NOTOUCH  = ACONFIGURATION_TOUCHSCREEN_NOTOUCH,
        TOUCHSCREEN_STYLUS  = 0x0002,
        TOUCHSCREEN_STYLUS  = ACONFIGURATION_TOUCHSCREEN_STYLUS,
        TOUCHSCREEN_FINGER  = 0x0003,
        TOUCHSCREEN_FINGER  = ACONFIGURATION_TOUCHSCREEN_FINGER,
    };
    };
    
    
    enum {
    enum {
        DENSITY_DEFAULT = 0,
        DENSITY_DEFAULT = ACONFIGURATION_DENSITY_DEFAULT,
        DENSITY_LOW = 120,
        DENSITY_LOW = ACONFIGURATION_DENSITY_LOW,
        DENSITY_MEDIUM = 160,
        DENSITY_MEDIUM = ACONFIGURATION_DENSITY_MEDIUM,
        DENSITY_HIGH = 240,
        DENSITY_HIGH = ACONFIGURATION_DENSITY_HIGH,
        DENSITY_NONE = 0xffff
        DENSITY_NONE = ACONFIGURATION_DENSITY_NONE
    };
    };
    
    
    union {
    union {
@@ -853,33 +855,34 @@ struct ResTable_config
    };
    };
    
    
    enum {
    enum {
        KEYBOARD_ANY  = 0x0000,
        KEYBOARD_ANY  = ACONFIGURATION_KEYBOARD_ANY,
        KEYBOARD_NOKEYS  = 0x0001,
        KEYBOARD_NOKEYS  = ACONFIGURATION_KEYBOARD_NOKEYS,
        KEYBOARD_QWERTY  = 0x0002,
        KEYBOARD_QWERTY  = ACONFIGURATION_KEYBOARD_QWERTY,
        KEYBOARD_12KEY  = 0x0003,
        KEYBOARD_12KEY  = ACONFIGURATION_KEYBOARD_12KEY,
    };
    };
    
    
    enum {
    enum {
        NAVIGATION_ANY  = 0x0000,
        NAVIGATION_ANY  = ACONFIGURATION_NAVIGATION_ANY,
        NAVIGATION_NONAV  = 0x0001,
        NAVIGATION_NONAV  = ACONFIGURATION_NAVIGATION_NONAV,
        NAVIGATION_DPAD  = 0x0002,
        NAVIGATION_DPAD  = ACONFIGURATION_NAVIGATION_DPAD,
        NAVIGATION_TRACKBALL  = 0x0003,
        NAVIGATION_TRACKBALL  = ACONFIGURATION_NAVIGATION_TRACKBALL,
        NAVIGATION_WHEEL  = 0x0004,
        NAVIGATION_WHEEL  = ACONFIGURATION_NAVIGATION_WHEEL,
    };
    };
    
    
    enum {
    enum {
        MASK_KEYSHIDDEN = 0x0003,
        MASK_KEYSHIDDEN = 0x0003,
        KEYSHIDDEN_ANY = 0x0000,
        KEYSHIDDEN_ANY = ACONFIGURATION_KEYSHIDDEN_ANY,
        KEYSHIDDEN_NO = 0x0001,
        KEYSHIDDEN_NO = ACONFIGURATION_KEYSHIDDEN_NO,
        KEYSHIDDEN_YES = 0x0002,
        KEYSHIDDEN_YES = ACONFIGURATION_KEYSHIDDEN_YES,
        KEYSHIDDEN_SOFT = 0x0003,
        KEYSHIDDEN_SOFT = ACONFIGURATION_KEYSHIDDEN_SOFT,
    };
    };
    
    
    enum {
    enum {
        MASK_NAVHIDDEN = 0x000c,
        MASK_NAVHIDDEN = 0x000c,
        NAVHIDDEN_ANY = 0x0000,
        SHIFT_NAVHIDDEN = 2,
        NAVHIDDEN_NO = 0x0004,
        NAVHIDDEN_ANY = ACONFIGURATION_NAVHIDDEN_ANY << SHIFT_NAVHIDDEN,
        NAVHIDDEN_YES = 0x0008,
        NAVHIDDEN_NO = ACONFIGURATION_NAVHIDDEN_NO << SHIFT_NAVHIDDEN,
        NAVHIDDEN_YES = ACONFIGURATION_NAVHIDDEN_YES << SHIFT_NAVHIDDEN,
    };
    };
    
    
    union {
    union {
@@ -929,32 +932,34 @@ struct ResTable_config
    enum {
    enum {
        // screenLayout bits for screen size class.
        // screenLayout bits for screen size class.
        MASK_SCREENSIZE = 0x0f,
        MASK_SCREENSIZE = 0x0f,
        SCREENSIZE_ANY  = 0x00,
        SCREENSIZE_ANY = ACONFIGURATION_SCREENSIZE_ANY,
        SCREENSIZE_SMALL = 0x01,
        SCREENSIZE_SMALL = ACONFIGURATION_SCREENSIZE_SMALL,
        SCREENSIZE_NORMAL = 0x02,
        SCREENSIZE_NORMAL = ACONFIGURATION_SCREENSIZE_NORMAL,
        SCREENSIZE_LARGE = 0x03,
        SCREENSIZE_LARGE = ACONFIGURATION_SCREENSIZE_LARGE,
        SCREENSIZE_XLARGE = 0x04,
        SCREENSIZE_XLARGE = ACONFIGURATION_SCREENSIZE_XLARGE,
        
        
        // screenLayout bits for wide/long screen variation.
        // screenLayout bits for wide/long screen variation.
        MASK_SCREENLONG = 0x30,
        MASK_SCREENLONG = 0x30,
        SCREENLONG_ANY = 0x00,
        SHIFT_SCREENLONG = 4,
        SCREENLONG_NO = 0x10,
        SCREENLONG_ANY = ACONFIGURATION_SCREENLONG_ANY << SHIFT_SCREENLONG,
        SCREENLONG_YES = 0x20,
        SCREENLONG_NO = ACONFIGURATION_SCREENLONG_NO << SHIFT_SCREENLONG,
        SCREENLONG_YES = ACONFIGURATION_SCREENLONG_YES << SHIFT_SCREENLONG,
    };
    };
    
    
    enum {
    enum {
        // uiMode bits for the mode type.
        // uiMode bits for the mode type.
        MASK_UI_MODE_TYPE = 0x0f,
        MASK_UI_MODE_TYPE = 0x0f,
        UI_MODE_TYPE_ANY = 0x00,
        UI_MODE_TYPE_ANY = ACONFIGURATION_UI_MODE_TYPE_ANY,
        UI_MODE_TYPE_NORMAL = 0x01,
        UI_MODE_TYPE_NORMAL = ACONFIGURATION_UI_MODE_TYPE_NORMAL,
        UI_MODE_TYPE_DESK = 0x02,
        UI_MODE_TYPE_DESK = ACONFIGURATION_UI_MODE_TYPE_DESK,
        UI_MODE_TYPE_CAR = 0x03,
        UI_MODE_TYPE_CAR = ACONFIGURATION_UI_MODE_TYPE_CAR,


        // uiMode bits for the night switch.
        // uiMode bits for the night switch.
        MASK_UI_MODE_NIGHT = 0x30,
        MASK_UI_MODE_NIGHT = 0x30,
        UI_MODE_NIGHT_ANY = 0x00,
        SHIFT_UI_MODE_NIGHT = 4,
        UI_MODE_NIGHT_NO = 0x10,
        UI_MODE_NIGHT_ANY = ACONFIGURATION_UI_MODE_NIGHT_ANY << SHIFT_UI_MODE_NIGHT,
        UI_MODE_NIGHT_YES = 0x20,
        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 {
    union {
@@ -1023,19 +1028,19 @@ struct ResTable_config
    // match the corresponding ones in android.content.pm.ActivityInfo and
    // match the corresponding ones in android.content.pm.ActivityInfo and
    // attrs_manifest.xml.
    // attrs_manifest.xml.
    enum {
    enum {
        CONFIG_MCC = 0x0001,
        CONFIG_MCC = ACONFIGURATION_MCC,
        CONFIG_MNC = 0x0002,
        CONFIG_MNC = ACONFIGURATION_MCC,
        CONFIG_LOCALE = 0x0004,
        CONFIG_LOCALE = ACONFIGURATION_LOCALE,
        CONFIG_TOUCHSCREEN = 0x0008,
        CONFIG_TOUCHSCREEN = ACONFIGURATION_TOUCHSCREEN,
        CONFIG_KEYBOARD = 0x0010,
        CONFIG_KEYBOARD = ACONFIGURATION_KEYBOARD,
        CONFIG_KEYBOARD_HIDDEN = 0x0020,
        CONFIG_KEYBOARD_HIDDEN = ACONFIGURATION_KEYBOARD_HIDDEN,
        CONFIG_NAVIGATION = 0x0040,
        CONFIG_NAVIGATION = ACONFIGURATION_NAVIGATION,
        CONFIG_ORIENTATION = 0x0080,
        CONFIG_ORIENTATION = ACONFIGURATION_ORIENTATION,
        CONFIG_DENSITY = 0x0100,
        CONFIG_DENSITY = ACONFIGURATION_DENSITY,
        CONFIG_SCREEN_SIZE = 0x0200,
        CONFIG_SCREEN_SIZE = ACONFIGURATION_SCREEN_SIZE,
        CONFIG_VERSION = 0x0400,
        CONFIG_VERSION = ACONFIGURATION_VERSION,
        CONFIG_SCREEN_LAYOUT = 0x0800,
        CONFIG_SCREEN_LAYOUT = ACONFIGURATION_SCREEN_LAYOUT,
        CONFIG_UI_MODE = 0x1000
        CONFIG_UI_MODE = ACONFIGURATION_UI_MODE
    };
    };
    
    
    // Compare two configuration, returning CONFIG_* flags set for each value
    // Compare two configuration, returning CONFIG_* flags set for each value
+6 −0
Original line number Original line Diff line number Diff line
@@ -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.
 * Open an asset.
 *
 *