Abstract base class for all Android resources.
Android resource containing an attribute resource identifier.
Android resource containing boolean data.
Android resource containing color data.
Android resource containing complex map data.
Android resource containing dimension data like "11pt".
Android resource containing a single-precision floating point number
Android resource containing integer data.
Android resource that does not contain any data
Android resource containing a reference to another resource.
Header that appears at the front of every data chunk in a resource
Header that appears at the front of every data chunk in a resource
A configuration in an Android resource file.
A configuration in an Android resource file. All resources are associated with a configuration (which may be the default one).
Describes a particular resource configuration.
Describes a particular resource configuration.
This is the beginning of information about an entry in the resource table.
This is the beginning of information about an entry in the resource table. It holds the reference to the name of this entry, and is immediately followed by one of: * A Res_value structure, if FLAG_COMPLEX is -not- set * An array of ResTable_Map structures, if FLAG_COMPLEX is set. These supply a set of name/value mappings of data.
A single name/value mapping that is part of a complex resource entry.
A single name/value mapping that is part of a complex resource entry.
Extended form of a ResTable_Entry for map entries, defining a parent map resource from which to inherit values.
Extended form of a ResTable_Entry for map entries, defining a parent map resource from which to inherit values.
A collection of resource entries for a particular resource data type.
A collection of resource entries for a particular resource data type. Followed by an array of uint32_t defining the resource values, corresponding to the array of type strings in the ResTable_Package::typeStrings string block. Each of these hold an index from entriesStart a value of NO_ENTRY means that entry is not defined.
There may be multiple of these chunks for a particular resource type, supply different configuration variations for the resource values of that type.
It would be nice to have an additional ordered index of entries, so we can do a binary search if trying to find a resource by string name.
A specification of the resources defined by a particular type.
A specification of the resources defined by a particular type.
There should be one of these chunks for each resource type.
This structure is followed by an array of integers providing the set of configuration change flags (ResTable_Config::CONFIG_*) that have multiple resources for that configuration. In addition, the high bit is set if that resource has been made public.
A resource type in an Android resource file.
A resource type in an Android resource file. All resources are associated with a type.
Representation of a value in a resource, supplying type information.
Representation of a value in a resource, supplying type information.
Class containing the data encoded in an Android resource ID
Android resource containing string data.
Localization of this resource is can be encouraged or required with an aapt flag if this is set
Localization of this resource is can be encouraged or required with an aapt flag if this is set
For integral attributes, this is the maximum value it can hold.
For integral attributes, this is the maximum value it can hold.
For integral attributes, this is the minimum value it can hold.
For integral attributes, this is the minimum value it can hold.
This entry holds the attribute's type code.
This entry holds the attribute's type code.
Where the actual value is.
Where the actual value is. This gives us 23 bits of precision. The top bit is the sign.
The mantissa magnitude is 0 bits -- i.e, 0x0.nnnnnn
The mantissa magnitude is 0 bits -- i.e, 0x0.nnnnnn
The mantissa magnitude is 16 bits -- i.e, 0xnnnn.nn
The mantissa magnitude is 16 bits -- i.e, 0xnnnn.nn
The mantissa is an integral number -- i.e., 0xnnnnnn.0
The mantissa is an integral number -- i.e., 0xnnnnnn.0
The mantissa magnitude is 8 bits -- i.e, 0xnn.nnnn
The mantissa magnitude is 8 bits -- i.e, 0xnn.nnnn
Where the radix information is, telling where the decimal place appears in the mantissa.
Where the radix information is, telling where the decimal place appears in the mantissa. This give us 4 possible fixed point representations as defined below.
TYPE_DIMENSION: Value is Device Independent Pixels.
TYPE_DIMENSION: Value is Device Independent Pixels.
TYPE_FRACTION: A basic fraction of the overall size.
TYPE_FRACTION: A basic fraction of the overall size.
TYPE_FRACTION: A fraction of the parent size.
TYPE_FRACTION: A fraction of the parent size.
TYPE_DIMENSION: Value is in inches.
TYPE_DIMENSION: Value is in inches.
TYPE_DIMENSION: Value is in millimeters.
TYPE_DIMENSION: Value is in millimeters.
TYPE_DIMENSION: Value is in points.
TYPE_DIMENSION: Value is in points.
TYPE_DIMENSION: Value is raw pixels.
TYPE_DIMENSION: Value is raw pixels.
Where the unit type information is.
Where the unit type information is. This gives us 16 possible types, as defined below.
TYPE_DIMENSION: Value is a Scaled device independent Pixels.
TYPE_DIMENSION: Value is a Scaled device independent Pixels.
Enumeration containing all dimension units available in Android
If set, this is a complex entry, holding a set of name/value mappings.
If set, this is a complex entry, holding a set of name/value mappings. It is followed by an array of ResTable_Map structures.
If set, this resource has been declared public, so libraries are allowed to reference it.
The 'data' holds an attribute resource identifier.
The 'data' holds an attribute resource identifier.
The 'data' holds a complex number encoding a dimension value, such as "100in".
The 'data' holds a complex number encoding a dimension value, such as "100in".
Beginning of color integer flavors...
Beginning of color integer flavors...
Beginning of integer flavors...
Beginning of integer flavors...
The 'data' holds a single-precision floating point number.
The 'data' holds a single-precision floating point number.
The 'data' holds a complex number encoding a fraction of a container.
The 'data' holds a complex number encoding a fraction of a container.
The 'data' is either 0 or 1, for input "false" or "true" respectively.
The 'data' is either 0 or 1, for input "false" or "true" respectively.
The 'data' is a raw integer value of the form #argb.
The 'data' is a raw integer value of the form #argb.
The 'data' is a raw integer value of the form #aarrggbb.
The 'data' is a raw integer value of the form #aarrggbb.
The 'data' is a raw integer value of the form #rgb.
The 'data' is a raw integer value of the form #rgb.
The 'data' is a raw integer value of the form #rrggbb.
The 'data' is a raw integer value of the form #rrggbb.
The 'data' is a raw integer value of the form n..n.
The 'data' is a raw integer value of the form n..n.
The 'data' is a raw integer value of the form 0xn..n.
The 'data' is a raw integer value of the form 0xn..n.
...end of integer flavors.
...end of integer flavors.
...end of integer flavors.
...end of integer flavors.
Contains no data
Contains no data
The 'data' holds a ResTable_ref, a reference to another resource table entry.
The 'data' holds a ResTable_ref, a reference to another resource table entry.
The 'data' holds an index into the containing resource table's global value string pool.
The 'data' holds an index into the containing resource table's global value string pool.
Finds the resource with the given Android resource ID.
Finds the resource with the given Android resource ID. This method is configuration-agnostic and simply returns the first match it finds.
The Android resource ID for which to the find the resource object
The resource object with the given Android resource ID if it has been found, otherwise null.
Checks whether the given complex map entry is one of the well-known attributes.
Checks whether the given complex map entry is one of the well-known attributes.
The map entry to check
True if the given entry is one of the well-known attributes, otherwise false.
Parses an Android resource ID into its components
Parses an Android resource ID into its components
The numeric resource ID to parse
The data contained in the given Android resource ID
Parser for reading out the contents of Android's resource.arsc file. Structure declarations and comments taken from the Android source code and ported from java to scala.
adapted from Steven Arzt