public final class

Configuration

extends Object
implements Parcelable Comparable<T>
java.lang.Object
   ↳ android.content.res.Configuration

Class Overview

This class describes all device configuration information that can impact the resources the application retrieves. This includes both user-specified configuration options (locale and scaling) as well as dynamic device configuration (various types of input devices).

Summary

Constants
Creator<Configuration> CREATOR
int HARDKEYBOARDHIDDEN_NO
int HARDKEYBOARDHIDDEN_UNDEFINED
int HARDKEYBOARDHIDDEN_YES
int KEYBOARDHIDDEN_NO
int KEYBOARDHIDDEN_UNDEFINED
int KEYBOARDHIDDEN_YES
int KEYBOARD_12KEY
int KEYBOARD_NOKEYS
int KEYBOARD_QWERTY
int KEYBOARD_UNDEFINED
int NAVIGATION_DPAD
int NAVIGATION_NONAV
int NAVIGATION_TRACKBALL
int NAVIGATION_UNDEFINED
int NAVIGATION_WHEEL
int ORIENTATION_LANDSCAPE
int ORIENTATION_PORTRAIT
int ORIENTATION_SQUARE
int ORIENTATION_UNDEFINED
int TOUCHSCREEN_FINGER
int TOUCHSCREEN_NOTOUCH
int TOUCHSCREEN_STYLUS
int TOUCHSCREEN_UNDEFINED
[Expand]
Inherited Constants
From interface android.os.Parcelable
Fields
public float fontScale Current user preference for the scaling factor for fonts, relative to the base density scaling.
public int hardKeyboardHidden A flag indicating whether the hard keyboard has been hidden.
public int keyboard The kind of keyboard attached to the device.
public int keyboardHidden A flag indicating whether any keyboard is available.
public Locale locale Current user preference for the locale.
public int mcc IMSI MCC (Mobile Country Code).
public int mnc IMSI MNC (Mobile Network Code).
public int navigation The kind of navigation method available on the device.
public int orientation Overall orientation of the screen.
public int touchscreen The kind of touch screen attached to the device.
Public Constructors
Configuration()
Construct an invalid Configuration. You must call setToDefaults() for this object to be valid.
Configuration(Configuration o)
Makes a deep copy suitable for modification.
Public Methods
int compareTo(Configuration that)
int describeContents()
Parcelable methods
int diff(Configuration delta)
Return a bit mask of the differences between this Configuration object and the given one.
boolean equals(Object that)
Compares this instance with the specified object and indicates if they are equal.
boolean equals(Configuration that)
int hashCode()
Returns an integer hash code for this object.
static boolean needNewResources(int configChanges, int interestingChanges)
Determine if a new resource needs to be loaded from the bit set of configuration changes returned by updateFrom(Configuration).
void setToDefaults()
Set this object to the system defaults.
String toString()
Returns a string containing a concise, human-readable description of this object.
int updateFrom(Configuration delta)
Copy the fields from delta into this Configuration object, keeping track of which ones have changed.
void writeToParcel(Parcel dest, int flags)
Flatten this object in to a Parcel.
[Expand]
Inherited Methods
From class java.lang.Object
From interface android.os.Parcelable
From interface java.lang.Comparable

Constants

public static final Creator<Configuration> CREATOR

public static final int HARDKEYBOARDHIDDEN_NO

Constant Value: 1 (0x00000001)

public static final int HARDKEYBOARDHIDDEN_UNDEFINED

Constant Value: 0 (0x00000000)

public static final int HARDKEYBOARDHIDDEN_YES

Constant Value: 2 (0x00000002)

public static final int KEYBOARDHIDDEN_NO

Constant Value: 1 (0x00000001)

public static final int KEYBOARDHIDDEN_UNDEFINED

Constant Value: 0 (0x00000000)

public static final int KEYBOARDHIDDEN_YES

Constant Value: 2 (0x00000002)

public static final int KEYBOARD_12KEY

Constant Value: 3 (0x00000003)

public static final int KEYBOARD_NOKEYS

Constant Value: 1 (0x00000001)

public static final int KEYBOARD_QWERTY

Constant Value: 2 (0x00000002)

public static final int KEYBOARD_UNDEFINED

Constant Value: 0 (0x00000000)

public static final int NAVIGATION_DPAD

Constant Value: 2 (0x00000002)

public static final int NAVIGATION_NONAV

Constant Value: 1 (0x00000001)

public static final int NAVIGATION_TRACKBALL

Constant Value: 3 (0x00000003)

public static final int NAVIGATION_UNDEFINED

Constant Value: 0 (0x00000000)

public static final int NAVIGATION_WHEEL

Constant Value: 4 (0x00000004)

public static final int ORIENTATION_LANDSCAPE

Constant Value: 2 (0x00000002)

public static final int ORIENTATION_PORTRAIT

Constant Value: 1 (0x00000001)

public static final int ORIENTATION_SQUARE

Constant Value: 3 (0x00000003)

public static final int ORIENTATION_UNDEFINED

Constant Value: 0 (0x00000000)

public static final int TOUCHSCREEN_FINGER

Constant Value: 3 (0x00000003)

public static final int TOUCHSCREEN_NOTOUCH

Constant Value: 1 (0x00000001)

public static final int TOUCHSCREEN_STYLUS

Constant Value: 2 (0x00000002)

public static final int TOUCHSCREEN_UNDEFINED

Constant Value: 0 (0x00000000)

Fields

public float fontScale

Current user preference for the scaling factor for fonts, relative to the base density scaling.

public int hardKeyboardHidden

A flag indicating whether the hard keyboard has been hidden. This will be set on a device with a mechanism to hide the keyboard from the user, when that mechanism is closed. One of: HARDKEYBOARDHIDDEN_NO, HARDKEYBOARDHIDDEN_YES.

public int keyboard

The kind of keyboard attached to the device. One of: KEYBOARD_QWERTY, KEYBOARD_12KEY.

public int keyboardHidden

A flag indicating whether any keyboard is available. Unlike hardKeyboardHidden, this also takes into account a soft keyboard, so if the hard keyboard is hidden but there is soft keyboard available, it will be set to NO. Value is one of: KEYBOARDHIDDEN_NO, KEYBOARDHIDDEN_YES.

public Locale locale

Current user preference for the locale.

public int mcc

IMSI MCC (Mobile Country Code). 0 if undefined.

public int mnc

IMSI MNC (Mobile Network Code). 0 if undefined.

public int navigation

The kind of navigation method available on the device. One of: NAVIGATION_DPAD, NAVIGATION_TRACKBALL, NAVIGATION_WHEEL.

public int orientation

Overall orientation of the screen. May be one of ORIENTATION_LANDSCAPE, ORIENTATION_PORTRAIT, or ORIENTATION_SQUARE.

public int touchscreen

The kind of touch screen attached to the device. One of: TOUCHSCREEN_NOTOUCH, TOUCHSCREEN_STYLUS, TOUCHSCREEN_FINGER.

Public Constructors

public Configuration ()

Construct an invalid Configuration. You must call setToDefaults() for this object to be valid.

public Configuration (Configuration o)

Makes a deep copy suitable for modification.

Public Methods

public int compareTo (Configuration that)

public int describeContents ()

Parcelable methods

Returns
  • a bitmask indicating the set of special object types marshalled by the Parcelable.

public int diff (Configuration delta)

Return a bit mask of the differences between this Configuration object and the given one. Does not change the values of either. Any undefined fields in delta are ignored.

public boolean equals (Object that)

Compares this instance with the specified object and indicates if they are equal. In order to be equal, o must represent the same object as this instance using a class-specific comparison. The general contract is that this comparison should be both transitive and reflexive.

The implementation in Object returns true only if o is the exact same object as the receiver (using the == operator for comparison). Subclasses often implement equals(Object) so that it takes into account the two object's types and states.

The general contract for the equals(Object) and hashCode() methods is that if equals returns true for any two objects, then hashCode() must return the same value for these objects. This means that subclasses of Object usually override either both methods or none of them.

Parameters
that the object to compare this instance with.
Returns
  • true if the specified object is equal to this Object; false otherwise.

public boolean equals (Configuration that)

public int hashCode ()

Returns an integer hash code for this object. By contract, any two objects for which equals(Object) returns true must return the same hash code value. This means that subclasses of Object usually override both methods or neither method.

Returns
  • this object's hash code.

public static boolean needNewResources (int configChanges, int interestingChanges)

Determine if a new resource needs to be loaded from the bit set of configuration changes returned by updateFrom(Configuration).

Parameters
configChanges The mask of changes configurations as returned by updateFrom(Configuration).
interestingChanges The configuration changes that the resource can handled, as given in changingConfigurations.
Returns
  • Return true if the resource needs to be loaded, else false.

public void setToDefaults ()

Set this object to the system defaults.

public String toString ()

Returns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data. The default implementation simply concatenates the class name, the '@' sign and a hexadecimal representation of the object's hashCode(), that is, it is equivalent to the following expression:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Returns
  • a printable representation of this object.

public int updateFrom (Configuration delta)

Copy the fields from delta into this Configuration object, keeping track of which ones have changed. Any undefined fields in delta are ignored and not copied in to the current Configuration.

Returns

public void writeToParcel (Parcel dest, int flags)

Flatten this object in to a Parcel.

Parameters
dest The Parcel in which the object should be written.
flags Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE.