/**@class android.content.res.Resources.Theme
@extends java.lang.Object

 This class holds the current attribute values for a particular theme.
 In other words, a Theme is a set of values for resource attributes;
 these are used in conjunction with {@link android.content.res.TypedArray}
 to resolve the final value for an attribute.
 
 <p>The Theme's attributes come into play in two ways: (1) a styled
 attribute can explicit reference a value in the theme through the
 "?themeAttribute" syntax; (2) if no value has been defined for a
 particular styled attribute, as a last resort we will try to find that
 attribute's value in the Theme.
 
 <p>You will normally use the {@link #obtainStyledAttributes} APIs to
 retrieve XML attributes with style and theme information applied.
*/
var Theme = {

/**Place new attribute values into the theme.  The style resource
 specified by <var>resid</var> will be retrieved from this Theme's
 resources, its values placed into the Theme object.
 
 <p>The semantics of this function depends on the <var>force</var>
 argument:  If false, only values that are not already defined in
 the theme will be copied from the system resource; otherwise, if
 any of the style's attributes are already defined in the theme, the
 current values in the theme will be overwritten.
@param {Number} resId The resource ID of a style resource from which to
              obtain attribute values.
@param {Boolean} force If true, values in the style resource will always be
              used in the theme; otherwise, they will only be used
              if not already defined in the theme.
*/
applyStyle : function(  ) {},

/**Set this theme to hold the same contents as the theme
 <var>other</var>.  If both of these themes are from the same
 Resources object, they will be identical after this function
 returns.  If they are from different Resources, only the resources
 they have in common will be set in this theme.
@param {Object {Resources.Theme}} other The existing Theme to copy from.
*/
setTo : function(  ) {},

/**Return a TypedArray holding the values defined by
 <var>Theme</var> which are listed in <var>attrs</var>.
 
 <p>Be sure to call {@link android.content.res.TypedArray#recycle() android.content.res.TypedArray.recycle()} when you are done
 with the array.
@param {Object {int[]}} attrs The desired attributes. These attribute IDs must be sorted in ascending
              order.
@throws NotFoundException Throws NotFoundException if the given ID does not exist.
@return {Object {android.content.res.TypedArray}} Returns a TypedArray holding an array of the attribute values.
 Be sure to call {@link TypedArray#recycle() TypedArray.recycle()}
 when done with it.
@see Resources#obtainAttributes
@see #obtainStyledAttributes(int, int[])
@see #obtainStyledAttributes(AttributeSet, int[], int, int)
*/
obtainStyledAttributes : function(  ) {},

/**Return a TypedArray holding the values defined by the style
 resource <var>resid</var> which are listed in <var>attrs</var>.
 
 <p>Be sure to call {@link android.content.res.TypedArray#recycle() android.content.res.TypedArray.recycle()} when you are done
 with the array.
@param {Number} resId The desired style resource.
@param {Object {int[]}} attrs The desired attributes in the style. These attribute IDs must be sorted in
              ascending order.
@throws NotFoundException Throws NotFoundException if the given ID does not exist.
@return {Object {android.content.res.TypedArray}} Returns a TypedArray holding an array of the attribute values.
 Be sure to call {@link TypedArray#recycle() TypedArray.recycle()}
 when done with it.
@see Resources#obtainAttributes
@see #obtainStyledAttributes(int[])
@see #obtainStyledAttributes(AttributeSet, int[], int, int)
*/
obtainStyledAttributes : function(  ) {},

/**Return a TypedArray holding the attribute values in
 <var>set</var>
 that are listed in <var>attrs</var>.  In addition, if the given
 AttributeSet specifies a style class (through the "style" attribute),
 that style will be applied on top of the base attributes it defines.
 
 <p>Be sure to call {@link android.content.res.TypedArray#recycle() android.content.res.TypedArray.recycle()} when you are done
 with the array.
 
 <p>When determining the final value of a particular attribute, there
 are four inputs that come into play:</p>
 
 <ol>
     <li> Any attribute values in the given AttributeSet.
     <li> The style resource specified in the AttributeSet (named
     "style").
     <li> The default style specified by <var>defStyleAttr</var> and
     <var>defStyleRes</var>
     <li> The base values in this theme.
 </ol>
 
 <p>Each of these inputs is considered in-order, with the first listed
 taking precedence over the following ones.  In other words, if in the
 AttributeSet you have supplied <code>&lt;Button
 textColor="#ff000000"&gt;</code>, then the button's text will
 <em>always</em> be black, regardless of what is specified in any of
 the styles.
@param {Object {AttributeSet}} set The base set of attribute values.  May be null.
@param {Object {int[]}} attrs The desired attributes to be retrieved. These attribute IDs must be sorted
              in ascending order.
@param {Number} defStyleAttr An attribute in the current theme that contains a
                     reference to a style resource that supplies
                     defaults values for the TypedArray.  Can be
                     0 to not look for defaults.
@param {Number} defStyleRes A resource identifier of a style resource that
                    supplies default values for the TypedArray,
                    used only if defStyleAttr is 0 or can not be found
                    in the theme.  Can be 0 to not look for defaults.
@return {Object {android.content.res.TypedArray}} Returns a TypedArray holding an array of the attribute values.
 Be sure to call {@link TypedArray#recycle() TypedArray.recycle()}
 when done with it.
@see Resources#obtainAttributes
@see #obtainStyledAttributes(int[])
@see #obtainStyledAttributes(int, int[])
*/
obtainStyledAttributes : function(  ) {},

/**Retrieve the values for a set of attributes in the Theme. The
 contents of the typed array are ultimately filled in by
 {@link android.content.res.Resources#getValue}.
@param {Object {int[]}} values The base set of attribute values, must be equal in
               length to {@code attrs}. All values must be of type
               {@link TypedValue#TYPE_ATTRIBUTE}.
@param {Object {int[]}} attrs The desired attributes to be retrieved. These attribute IDs must be sorted
              in ascending order.
@return {Object {android.content.res.TypedArray}} Returns a TypedArray holding an array of the attribute
         values. Be sure to call {@link TypedArray#recycle()}
         when done with it.
@hide 
*/
resolveAttributes : function(  ) {},

/**Retrieve the value of an attribute in the Theme.  The contents of
 <var>outValue</var> are ultimately filled in by
 {@link android.content.res.Resources#getValue}.
@param {Number} resid The resource identifier of the desired theme
              attribute.
@param {Object {TypedValue}} outValue Filled in with the ultimate resource value supplied
                 by the attribute.
@param {Boolean} resolveRefs If true, resource references will be walked; if
                    false, <var>outValue</var> may be a
                    TYPE_REFERENCE.  In either case, it will never
                    be a TYPE_ATTRIBUTE.
@return {Boolean} boolean Returns true if the attribute was found and
         <var>outValue</var> is valid, else false.
*/
resolveAttribute : function(  ) {},

/**Gets all of the attribute ids associated with this {@link android.content.res.Resources.Theme}. For debugging only.
@return {Number} The int array containing attribute ids associated with this {@link Theme}.
@hide 
*/
getAllAttributes : function(  ) {},

/**Returns the resources to which this theme belongs.
@return {Object {android.content.res.Resources}} Resources to which this theme belongs.
*/
getResources : function(  ) {},

/**Return a drawable object associated with a particular resource ID
 and styled for the Theme.
@param {Number} id The desired resource identifier, as generated by the aapt
           tool. This integer encodes the package, type, and resource
           entry. The value 0 is an invalid identifier.
@return {Object {android.graphics.drawable.Drawable}} Drawable An object that can be used to draw this resource.
@throws NotFoundException Throws NotFoundException if the given ID
         does not exist.
*/
getDrawable : function(  ) {},

/**Returns a bit mask of configuration changes that will impact this
 theme (and thus require completely reloading it).
@return {Number} a bit mask of configuration changes, as defined by
         {@link ActivityInfo}
@see ActivityInfo
*/
getChangingConfigurations : function(  ) {},

/**Print contents of this theme out to the log.  For debugging only.
@param {Number} priority The log priority to use.
@param {String} tag The log tag to use.
@param {String} prefix Text to prefix each line printed.
*/
dump : function(  ) {},

/**
@hide 
*/
getKey : function(  ) {},

/**Parses {@link #getKey}() and returns a String array that holds pairs of
 adjacent Theme data: resource name followed by whether or not it was
 forced, as specified by {@link #applyStyle(int, boolean)}.
@hide 
*/
getTheme : function(  ) {},

/**
@hide 
*/
encode : function(  ) {},

/**Rebases the theme against the parent Resource object's current
 configuration by re-applying the styles passed to
 {@link #applyStyle(int, boolean)}.
*/
rebase : function(  ) {},

/**Returns the resource ID for the style specified using {@code style="..."} in the
 {@link AttributeSet}'s backing XML element or {@link android.content.res.Resources#ID_NULL} otherwise if not
 specified or otherwise not applicable.
 <p>
 Each {@link android.view.View} can have an explicit style specified in the layout file.
 This style is used first during the {@link android.view.View} attribute resolution, then
 if an attribute is not defined there the resource system looks at default style and theme
 as fallbacks.
@param {Object {AttributeSet}} set The base set of attribute values.
@return {Number} The resource ID for the style specified using {@code style="..."} in the
      {@link AttributeSet}'s backing XML element or {@link Resources#ID_NULL} otherwise
      if not specified or otherwise not applicable.
*/
getExplicitStyle : function(  ) {},

/**Returns the ordered list of resource ID that are considered when resolving attribute
 values when making an equivalent call to
 {@link #obtainStyledAttributes(AttributeSet, int[], int, int)} . The list will include
 a set of explicit styles ({@code explicitStyleRes} and it will include the default styles
 ({@code defStyleAttr} and {@code defStyleRes}).
@param {Number} defStyleAttr An attribute in the current theme that contains a
                     reference to a style resource that supplies
                     defaults values for the TypedArray.  Can be
                     0 to not look for defaults.
@param {Number} defStyleRes A resource identifier of a style resource that
                    supplies default values for the TypedArray,
                    used only if defStyleAttr is 0 or can not be found
                    in the theme.  Can be 0 to not look for defaults.
@param {Number} explicitStyleRes A resource identifier of an explicit style resource.
@return {Number} ordered list of resource ID that are considered when resolving attribute values.
*/
getAttributeResolutionStack : function(  ) {},


};