# Print output for @column tags ?>
Developers

- Design
- Develop
- Distribute

Developer Console

## Most visited

## Recently visited

## Results for

Summary: Constants | Inherited Constants | Fields | Ctors | Methods | Inherited Methods

# Configuration

`public final class Configuration`
`extends Object` `implements Parcelable, Comparable<Configuration>`

java.lang.Object
↳ | android.content.res.Configuration

This class describes all device configuration information that can impact the resources the application retrieves. This includes both user-specified configuration options (locale list and scaling) as well as device configurations (such as input modes, screen size and screen orientation).

You can acquire this object from `Resources`, using `Resources#getConfiguration`. Thus, from an activity, you can get it by chaining the request with `ContextThemeWrapper.getResources()`:

    Configuration config = getResources().getConfiguration();

## Summary

### Constants
`int` | `COLOR_MODE_HDR_MASK` Constant for `colorMode`: bits that encode the dynamic range of the screen.
`int` | `COLOR_MODE_HDR_NO` Constant for `colorMode`: a `COLOR_MODE_HDR_MASK` value indicating that the screen is not HDR (low/standard dynamic range).
`int` | `COLOR_MODE_HDR_SHIFT` Constant for `colorMode`: bits shift to get the screen dynamic range.
`int` | `COLOR_MODE_HDR_UNDEFINED` Constant for `colorMode`: a `COLOR_MODE_HDR_MASK` value indicating that it is unknown whether or not the screen is HDR.
`int` | `COLOR_MODE_HDR_YES` Constant for `colorMode`: a `COLOR_MODE_HDR_MASK` value indicating that the screen is HDR (dynamic range).
`int` | `COLOR_MODE_UNDEFINED` Constant for `colorMode`: a value indicating that the color mode is undefined
`int` | `COLOR_MODE_WIDE_COLOR_GAMUT_MASK` Constant for `colorMode`: bits that encode whether the screen is wide gamut.
`int` | `COLOR_MODE_WIDE_COLOR_GAMUT_NO` Constant for `colorMode`: a `COLOR_MODE_WIDE_COLOR_GAMUT_MASK` value indicating that the screen is not wide gamut.
`int` | `COLOR_MODE_WIDE_COLOR_GAMUT_UNDEFINED` Constant for `colorMode`: a `COLOR_MODE_WIDE_COLOR_GAMUT_MASK` value indicating that it is unknown whether or not the screen is wide gamut.
`int` | `COLOR_MODE_WIDE_COLOR_GAMUT_YES` Constant for `colorMode`: a `COLOR_MODE_WIDE_COLOR_GAMUT_MASK` value indicating that the screen is wide gamut.
`int` | `DENSITY_DPI_UNDEFINED` Default value for `densityDpi` indicating that no width has been specified.
`int` | `HARDKEYBOARDHIDDEN_NO` Constant for `hardKeyboardHidden`, value corresponding to the physical keyboard being exposed.
`int` | `HARDKEYBOARDHIDDEN_UNDEFINED` Constant for `hardKeyboardHidden`: a value indicating that no value has been set.
`int` | `HARDKEYBOARDHIDDEN_YES` Constant for `hardKeyboardHidden`, value corresponding to the physical keyboard being hidden.
`int` | `KEYBOARDHIDDEN_NO` Constant for `keyboardHidden`, value corresponding to the keysexposed resource qualifier.
`int` | `KEYBOARDHIDDEN_UNDEFINED` Constant for `keyboardHidden`: a value indicating that no value has been set.
`int` | `KEYBOARDHIDDEN_YES` Constant for `keyboardHidden`, value corresponding to the keyshidden resource qualifier.
`int` | `KEYBOARD_12KEY` Constant for `keyboard`, value corresponding to the 12key resource qualifier.
`int` | `KEYBOARD_NOKEYS` Constant for `keyboard`, value corresponding to the nokeys resource qualifier.
`int` | `KEYBOARD_QWERTY` Constant for `keyboard`, value corresponding to the qwerty resource qualifier.
`int` | `KEYBOARD_UNDEFINED` Constant for `keyboard`: a value indicating that no value has been set.
`int` | `MNC_ZERO` Constant used to to represent MNC (Mobile Network Code) zero.
`int` | `NAVIGATIONHIDDEN_NO` Constant for `navigationHidden`, value corresponding to the navexposed resource qualifier.
`int` | `NAVIGATIONHIDDEN_UNDEFINED` Constant for `navigationHidden`: a value indicating that no value has been set.
`int` | `NAVIGATIONHIDDEN_YES` Constant for `navigationHidden`, value corresponding to the navhidden resource qualifier.
`int` | `NAVIGATION_DPAD` Constant for `navigation`, value corresponding to the dpad resource qualifier.
`int` | `NAVIGATION_NONAV` Constant for `navigation`, value corresponding to the nonav resource qualifier.
`int` | `NAVIGATION_TRACKBALL` Constant for `navigation`, value corresponding to the trackball resource qualifier.
`int` | `NAVIGATION_UNDEFINED` Constant for `navigation`: a value indicating that no value has been set.
`int` | `NAVIGATION_WHEEL` Constant for `navigation`, value corresponding to the wheel resource qualifier.
`int` | `ORIENTATION_LANDSCAPE` Constant for `orientation`, value corresponding to the land resource qualifier.
`int` | `ORIENTATION_PORTRAIT` Constant for `orientation`, value corresponding to the port resource qualifier.
`int` | `ORIENTATION_SQUARE` This constant is deprecated. Not currently supported or used.
`int` | `ORIENTATION_UNDEFINED` Constant for `orientation`: a value indicating that no value has been set.
`int` | `SCREENLAYOUT_LAYOUTDIR_LTR` Constant for `screenLayout`: a `SCREENLAYOUT_LAYOUTDIR_MASK` value indicating that a layout dir has been set to LTR.
`int` | `SCREENLAYOUT_LAYOUTDIR_MASK` Constant for `screenLayout`: bits that encode the layout direction.
`int` | `SCREENLAYOUT_LAYOUTDIR_RTL` Constant for `screenLayout`: a `SCREENLAYOUT_LAYOUTDIR_MASK` value indicating that a layout dir has been set to RTL.
`int` | `SCREENLAYOUT_LAYOUTDIR_SHIFT` Constant for `screenLayout`: bits shift to get the layout direction.
`int` | `SCREENLAYOUT_LAYOUTDIR_UNDEFINED` Constant for `screenLayout`: a `SCREENLAYOUT_LAYOUTDIR_MASK` value indicating that no layout dir has been set.
`int` | `SCREENLAYOUT_LONG_MASK` Constant for `screenLayout`: bits that encode the aspect ratio.
`int` | `SCREENLAYOUT_LONG_NO` Constant for `screenLayout`: a `SCREENLAYOUT_LONG_MASK` value that corresponds to the notlong resource qualifier.
`int` | `SCREENLAYOUT_LONG_UNDEFINED` Constant for `screenLayout`: a `SCREENLAYOUT_LONG_MASK` value indicating that no size has been set.
`int` | `SCREENLAYOUT_LONG_YES` Constant for `screenLayout`: a `SCREENLAYOUT_LONG_MASK` value that corresponds to the long resource qualifier.
`int` | `SCREENLAYOUT_ROUND_MASK` Constant for `screenLayout`: bits that encode roundness of the screen.
`int` | `SCREENLAYOUT_ROUND_NO` Constant for `screenLayout`: a `SCREENLAYOUT_ROUND_MASK` value indicating that the screen does not have a rounded shape.
`int` | `SCREENLAYOUT_ROUND_UNDEFINED` Constant for `screenLayout`: a `SCREENLAYOUT_ROUND_MASK` value indicating that it is unknown whether or not the screen has a round shape.
`int` | `SCREENLAYOUT_ROUND_YES` Constant for `screenLayout`: a `SCREENLAYOUT_ROUND_MASK` value indicating that the screen has a rounded shape.
`int` | `SCREENLAYOUT_SIZE_LARGE` Constant for `screenLayout`: a `SCREENLAYOUT_SIZE_MASK` value indicating the screen is at least approximately 480x640 dp units, corresponds to the large resource qualifier.
`int` | `SCREENLAYOUT_SIZE_MASK` Constant for `screenLayout`: bits that encode the size.
`int` | `SCREENLAYOUT_SIZE_NORMAL` Constant for `screenLayout`: a `SCREENLAYOUT_SIZE_MASK` value indicating the screen is at least approximately 320x470 dp units, corresponds to the normal resource qualifier.
`int` | `SCREENLAYOUT_SIZE_SMALL` Constant for `screenLayout`: a `SCREENLAYOUT_SIZE_MASK` value indicating the screen is at least approximately 320x426 dp units, corresponds to the small resource qualifier.
`int` | `SCREENLAYOUT_SIZE_UNDEFINED` Constant for `screenLayout`: a `SCREENLAYOUT_SIZE_MASK` value indicating that no size has been set.
`int` | `SCREENLAYOUT_SIZE_XLARGE` Constant for `screenLayout`: a `SCREENLAYOUT_SIZE_MASK` value indicating the screen is at least approximately 720x960 dp units, corresponds to the xlarge resource qualifier.
`int` | `SCREENLAYOUT_UNDEFINED` Constant for `screenLayout`: a value indicating that screenLayout is undefined
`int` | `SCREEN_HEIGHT_DP_UNDEFINED` Default value for `screenHeightDp` indicating that no width has been specified.
`int` | `SCREEN_WIDTH_DP_UNDEFINED` Default value for `screenWidthDp` indicating that no width has been specified.
`int` | `SMALLEST_SCREEN_WIDTH_DP_UNDEFINED` Default value for `smallestScreenWidthDp` indicating that no width has been specified.
`int` | `TOUCHSCREEN_FINGER` Constant for `touchscreen`, value corresponding to the finger resource qualifier.
`int` | `TOUCHSCREEN_NOTOUCH` Constant for `touchscreen`, value corresponding to the notouch resource qualifier.
`int` | `TOUCHSCREEN_STYLUS` This constant is deprecated. Not currently supported or used.
`int` | `TOUCHSCREEN_UNDEFINED` Constant for `touchscreen`: a value indicating that no value has been set.
`int` | `UI_MODE_NIGHT_MASK` Constant for `uiMode`: bits that encode the night mode.
`int` | `UI_MODE_NIGHT_NO` Constant for `uiMode`: a `UI_MODE_NIGHT_MASK` value that corresponds to the notnight resource qualifier.
`int` | `UI_MODE_NIGHT_UNDEFINED` Constant for `uiMode`: a `UI_MODE_NIGHT_MASK` value indicating that no mode type has been set.
`int` | `UI_MODE_NIGHT_YES` Constant for `uiMode`: a `UI_MODE_NIGHT_MASK` value that corresponds to the night resource qualifier.
`int` | `UI_MODE_TYPE_APPLIANCE` Constant for `uiMode`: a `UI_MODE_TYPE_MASK` value that corresponds to the appliance resource qualifier.
`int` | `UI_MODE_TYPE_CAR` Constant for `uiMode`: a `UI_MODE_TYPE_MASK` value that corresponds to the car resource qualifier.
`int` | `UI_MODE_TYPE_DESK` Constant for `uiMode`: a `UI_MODE_TYPE_MASK` value that corresponds to the desk resource qualifier.
`int` | `UI_MODE_TYPE_MASK` Constant for `uiMode`: bits that encode the mode type.
`int` | `UI_MODE_TYPE_NORMAL` Constant for `uiMode`: a `UI_MODE_TYPE_MASK` value that corresponds to no UI mode resource qualifier specified.
`int` | `UI_MODE_TYPE_TELEVISION` Constant for `uiMode`: a `UI_MODE_TYPE_MASK` value that corresponds to the television resource qualifier.
`int` | `UI_MODE_TYPE_UNDEFINED` Constant for `uiMode`: a `UI_MODE_TYPE_MASK` value indicating that no mode type has been set.
`int` | `UI_MODE_TYPE_VR_HEADSET` Constant for `uiMode`: a `UI_MODE_TYPE_MASK` value that corresponds to the vrheadset resource qualifier.
`int` | `UI_MODE_TYPE_WATCH` Constant for `uiMode`: a `UI_MODE_TYPE_MASK` value that corresponds to the watch resource qualifier.

### Inherited constants
From interface `android.os.Parcelable`
`int` | `CONTENTS_FILE_DESCRIPTOR` Descriptor bit used with `describeContents()`: indicates that the Parcelable object's flattened representation includes a file descriptor.
`int` | `PARCELABLE_WRITE_RETURN_VALUE` Flag for use with `writeToParcel(Parcel, int)`: the object being written is a return value, that is the result of a function such as "`Parcelable someFunction()`", "`void someFunction(out Parcelable)`", or "`void someFunction(inout Parcelable)`".

### Fields
`public static final Creator<Configuration>` | `CREATOR`
`public int` | `colorMode` Bit mask of color capabilities of the screen.
`public int` | `densityDpi` The target screen density being rendered to, corresponding to density resource qualifier.
`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` This field is deprecated. Do not set or read this directly. Use `getLocales()` and `setLocales(android.os.LocaleList)`. If only the primary locale is needed, `getLocales().get(0)` is now the preferred accessor.
`public int` | `mcc` IMSI MCC (Mobile Country Code), corresponding to mcc resource qualifier.
`public int` | `mnc` IMSI MNC (Mobile Network Code), corresponding to mnc resource qualifier.
`public int` | `navigation` The kind of navigation method available on the device.
`public int` | `navigationHidden` A flag indicating whether any 5-way or DPAD navigation available.
`public int` | `orientation` Overall orientation of the screen.
`public int` | `screenHeightDp` The current height of the available screen space, in dp units, corresponding to screen height resource qualifier.
`public int` | `screenLayout` Bit mask of overall layout of the screen.
`public int` | `screenWidthDp` The current width of the available screen space, in dp units, corresponding to screen width resource qualifier.
`public int` | `smallestScreenWidthDp` The smallest screen size an application will see in normal operation, corresponding to smallest screen width resource qualifier.
`public int` | `touchscreen` The kind of touch screen attached to the device.
`public int` | `uiMode` Bit mask of the ui mode.

### Public constructors
`Configuration()` Construct an invalid Configuration.
`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(Configuration that)`
`boolean` | `equals(Object that)` Indicates whether some other object is "equal to" this one.
`int` | `getLayoutDirection()` Return the layout direction.
`LocaleList` | `getLocales()` Get the locale list.
`int` | `hashCode()` Returns a hash code value for the object.
`boolean` | `isLayoutSizeAtLeast(int size)` Check if the Configuration's current `screenLayout` is at least the given size.
`boolean` | `isNightModeActive()` Retuns whether the configuration is in night mode
`boolean` | `isScreenHdr()` Return whether the screen has a high dynamic range.
`boolean` | `isScreenRound()` Return whether the screen has a round shape.
`boolean` | `isScreenWideColorGamut()` Return whether the screen has a wide color gamut and wide color gamut rendering is supported by this device.
`static boolean` | `needNewResources(int configChanges, int interestingChanges)` Determines if a new resource needs to be loaded from the bit set of configuration changes returned by `updateFrom(android.content.res.Configuration)`.
`void` | `readFromParcel(Parcel source)`
`void` | `setLayoutDirection(Locale loc)` Set the layout direction from a Locale.
`void` | `setLocale(Locale loc)` Set the locale list to a list of just one locale.
`void` | `setLocales(LocaleList locales)` Set the locale list.
`void` | `setTo(Configuration o)` Sets the fields in this object to those in the given Configuration.
`void` | `setToDefaults()` Set this object to the system defaults.
`String` | `toString()` Returns a string representation of the object.
`int` | `updateFrom(Configuration delta)` Copies 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.

### Inherited methods
From class `java.lang.Object`
`Object` | `clone()` Creates and returns a copy of this object.
`boolean` | `equals(Object obj)` Indicates whether some other object is "equal to" this one.
`void` | `finalize()` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
`final Class<?>` | `getClass()` Returns the runtime class of this `Object`.
`int` | `hashCode()` Returns a hash code value for the object.
`final void` | `notify()` Wakes up a single thread that is waiting on this object's monitor.
`final void` | `notifyAll()` Wakes up all threads that are waiting on this object's monitor.
`String` | `toString()` Returns a string representation of the object.
`final void` | `wait(long timeout, int nanos)` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.
`final void` | `wait(long timeout)` Causes the current thread to wait until either another thread invokes the `notify()` method or the `notifyAll()` method for this object, or a specified amount of time has elapsed.
`final void` | `wait()` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object.
From interface `android.os.Parcelable`
`abstract int` | `describeContents()` Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.
`abstract void` | `writeToParcel(Parcel dest, int flags)` Flatten this object in to a Parcel.
From interface `java.lang.Comparable`
`abstract int` | `compareTo(Configuration o)` Compares this object with the specified object for order.

## Constants

### COLOR_MODE_HDR_MASK

    public static final int COLOR_MODE_HDR_MASK

Constant for `colorMode`: bits that encode the dynamic range of the screen.

Constant Value: 12 (0x0000000c)

### COLOR_MODE_HDR_NO

    public static final int COLOR_MODE_HDR_NO

Constant for `colorMode`: a `COLOR_MODE_HDR_MASK` value indicating that the screen is not HDR (low/standard dynamic range).

Corresponds to the `-lowdr` resource qualifier.

Constant Value: 4 (0x00000004)

### COLOR_MODE_HDR_SHIFT

    public static final int COLOR_MODE_HDR_SHIFT

Constant for `colorMode`: bits shift to get the screen dynamic range.

Constant Value: 2 (0x00000002)

### COLOR_MODE_HDR_UNDEFINED

    public static final int COLOR_MODE_HDR_UNDEFINED

Constant for `colorMode`: a `COLOR_MODE_HDR_MASK` value indicating that it is unknown whether or not the screen is HDR.

Constant Value: 0 (0x00000000)

### COLOR_MODE_HDR_YES

    public static final int COLOR_MODE_HDR_YES

Constant for `colorMode`: a `COLOR_MODE_HDR_MASK` value indicating that the screen is HDR (dynamic range).

Corresponds to the `-highdr` resource qualifier.

Constant Value: 8 (0x00000008)

### COLOR_MODE_UNDEFINED

    public static final int COLOR_MODE_UNDEFINED

Constant for `colorMode`: a value indicating that the color mode is undefined

Constant Value: 0 (0x00000000)

### COLOR_MODE_WIDE_COLOR_GAMUT_MASK

    public static final int COLOR_MODE_WIDE_COLOR_GAMUT_MASK

Constant for `colorMode`: bits that encode whether the screen is wide gamut.

Constant Value: 3 (0x00000003)

### COLOR_MODE_WIDE_COLOR_GAMUT_NO

    public static final int COLOR_MODE_WIDE_COLOR_GAMUT_NO

Constant for `colorMode`: a `COLOR_MODE_WIDE_COLOR_GAMUT_MASK` value indicating that the screen is not wide gamut.

Corresponds to the `-nowidecg` resource qualifier.

Constant Value: 1 (0x00000001)

### COLOR_MODE_WIDE_COLOR_GAMUT_UNDEFINED

    public static final int COLOR_MODE_WIDE_COLOR_GAMUT_UNDEFINED

Constant for `colorMode`: a `COLOR_MODE_WIDE_COLOR_GAMUT_MASK` value indicating that it is unknown whether or not the screen is wide gamut.

Constant Value: 0 (0x00000000)

### COLOR_MODE_WIDE_COLOR_GAMUT_YES

    public static final int COLOR_MODE_WIDE_COLOR_GAMUT_YES

Constant for `colorMode`: a `COLOR_MODE_WIDE_COLOR_GAMUT_MASK` value indicating that the screen is wide gamut.

Corresponds to the `-widecg` resource qualifier.

Constant Value: 2 (0x00000002)

### DENSITY_DPI_UNDEFINED

    public static final int DENSITY_DPI_UNDEFINED

Default value for `densityDpi` indicating that no width has been specified.

Constant Value: 0 (0x00000000)

### HARDKEYBOARDHIDDEN_NO

    public static final int HARDKEYBOARDHIDDEN_NO

Constant for `hardKeyboardHidden`, value corresponding to the physical keyboard being exposed.

Constant Value: 1 (0x00000001)

### HARDKEYBOARDHIDDEN_UNDEFINED

    public static final int HARDKEYBOARDHIDDEN_UNDEFINED

Constant for `hardKeyboardHidden`: a value indicating that no value has been set.

Constant Value: 0 (0x00000000)

### HARDKEYBOARDHIDDEN_YES

    public static final int HARDKEYBOARDHIDDEN_YES

Constant for `hardKeyboardHidden`, value corresponding to the physical keyboard being hidden.

Constant Value: 2 (0x00000002)

### KEYBOARDHIDDEN_NO

    public static final int KEYBOARDHIDDEN_NO

Constant for `keyboardHidden`, value corresponding to the keysexposed resource qualifier.

Constant Value: 1 (0x00000001)

### KEYBOARDHIDDEN_UNDEFINED

    public static final int KEYBOARDHIDDEN_UNDEFINED

Constant for `keyboardHidden`: a value indicating that no value has been set.

Constant Value: 0 (0x00000000)

### KEYBOARDHIDDEN_YES

    public static final int KEYBOARDHIDDEN_YES

Constant for `keyboardHidden`, value corresponding to the keyshidden resource qualifier.

Constant Value: 2 (0x00000002)

### KEYBOARD_12KEY

    public static final int KEYBOARD_12KEY

Constant for `keyboard`, value corresponding to the 12key resource qualifier.

Constant Value: 3 (0x00000003)

### KEYBOARD_NOKEYS

    public static final int KEYBOARD_NOKEYS

Constant for `keyboard`, value corresponding to the nokeys resource qualifier.

Constant Value: 1 (0x00000001)

### KEYBOARD_QWERTY

    public static final int KEYBOARD_QWERTY

Constant for `keyboard`, value corresponding to the qwerty resource qualifier.

Constant Value: 2 (0x00000002)

### KEYBOARD_UNDEFINED

    public static final int KEYBOARD_UNDEFINED

Constant for `keyboard`: a value indicating that no value has been set.

Constant Value: 0 (0x00000000)

### MNC_ZERO

    public static final int MNC_ZERO

Constant used to to represent MNC (Mobile Network Code) zero. 0 cannot be used, since it is used to represent an undefined MNC.

Constant Value: 65535 (0x0000ffff)

### NAVIGATIONHIDDEN_NO

    public static final int NAVIGATIONHIDDEN_NO

Constant for `navigationHidden`, value corresponding to the navexposed resource qualifier.

Constant Value: 1 (0x00000001)

### NAVIGATIONHIDDEN_UNDEFINED

    public static final int NAVIGATIONHIDDEN_UNDEFINED

Constant for `navigationHidden`: a value indicating that no value has been set.

Constant Value: 0 (0x00000000)

### NAVIGATIONHIDDEN_YES

    public static final int NAVIGATIONHIDDEN_YES

Constant for `navigationHidden`, value corresponding to the navhidden resource qualifier.

Constant Value: 2 (0x00000002)

### NAVIGATION_DPAD

    public static final int NAVIGATION_DPAD

Constant for `navigation`, value corresponding to the dpad resource qualifier.

Constant Value: 2 (0x00000002)

### NAVIGATION_NONAV

    public static final int NAVIGATION_NONAV

Constant for `navigation`, value corresponding to the nonav resource qualifier.

Constant Value: 1 (0x00000001)

### NAVIGATION_TRACKBALL

    public static final int NAVIGATION_TRACKBALL

Constant for `navigation`, value corresponding to the trackball resource qualifier.

Constant Value: 3 (0x00000003)

### NAVIGATION_UNDEFINED

    public static final int NAVIGATION_UNDEFINED

Constant for `navigation`: a value indicating that no value has been set.

Constant Value: 0 (0x00000000)

### NAVIGATION_WHEEL

    public static final int NAVIGATION_WHEEL

Constant for `navigation`, value corresponding to the wheel resource qualifier.

Constant Value: 4 (0x00000004)

### ORIENTATION_LANDSCAPE

    public static final int ORIENTATION_LANDSCAPE

Constant for `orientation`, value corresponding to the land resource qualifier.

Constant Value: 2 (0x00000002)

### ORIENTATION_PORTRAIT

    public static final int ORIENTATION_PORTRAIT

Constant for `orientation`, value corresponding to the port resource qualifier.

Constant Value: 1 (0x00000001)

### ORIENTATION_SQUARE

    public static final int ORIENTATION_SQUARE

This constant is deprecated.
Not currently supported or used.

Constant Value: 3 (0x00000003)

### ORIENTATION_UNDEFINED

    public static final int ORIENTATION_UNDEFINED

Constant for `orientation`: a value indicating that no value has been set.

Constant Value: 0 (0x00000000)

### SCREENLAYOUT_LAYOUTDIR_LTR

    public static final int SCREENLAYOUT_LAYOUTDIR_LTR

Constant for `screenLayout`: a `SCREENLAYOUT_LAYOUTDIR_MASK` value indicating that a layout dir has been set to LTR.

Constant Value: 64 (0x00000040)

### SCREENLAYOUT_LAYOUTDIR_MASK

    public static final int SCREENLAYOUT_LAYOUTDIR_MASK

Constant for `screenLayout`: bits that encode the layout direction.

Constant Value: 192 (0x000000c0)

### SCREENLAYOUT_LAYOUTDIR_RTL

    public static final int SCREENLAYOUT_LAYOUTDIR_RTL

Constant for `screenLayout`: a `SCREENLAYOUT_LAYOUTDIR_MASK` value indicating that a layout dir has been set to RTL.

Constant Value: 128 (0x00000080)

### SCREENLAYOUT_LAYOUTDIR_SHIFT

    public static final int SCREENLAYOUT_LAYOUTDIR_SHIFT

Constant for `screenLayout`: bits shift to get the layout direction.

Constant Value: 6 (0x00000006)

### SCREENLAYOUT_LAYOUTDIR_UNDEFINED

    public static final int SCREENLAYOUT_LAYOUTDIR_UNDEFINED

Constant for `screenLayout`: a `SCREENLAYOUT_LAYOUTDIR_MASK` value indicating that no layout dir has been set.

Constant Value: 0 (0x00000000)

### SCREENLAYOUT_LONG_MASK

    public static final int SCREENLAYOUT_LONG_MASK

Constant for `screenLayout`: bits that encode the aspect ratio.

Constant Value: 48 (0x00000030)

### SCREENLAYOUT_LONG_NO

    public static final int SCREENLAYOUT_LONG_NO

Constant for `screenLayout`: a `SCREENLAYOUT_LONG_MASK` value that corresponds to the notlong resource qualifier.

Constant Value: 16 (0x00000010)

### SCREENLAYOUT_LONG_UNDEFINED

    public static final int SCREENLAYOUT_LONG_UNDEFINED

Constant for `screenLayout`: a `SCREENLAYOUT_LONG_MASK` value indicating that no size has been set.

Constant Value: 0 (0x00000000)

### SCREENLAYOUT_LONG_YES

    public static final int SCREENLAYOUT_LONG_YES

Constant for `screenLayout`: a `SCREENLAYOUT_LONG_MASK` value that corresponds to the long resource qualifier.

Constant Value: 32 (0x00000020)

### SCREENLAYOUT_ROUND_MASK

    public static final int SCREENLAYOUT_ROUND_MASK

Constant for `screenLayout`: bits that encode roundness of the screen.

Constant Value: 768 (0x00000300)

### SCREENLAYOUT_ROUND_NO

    public static final int SCREENLAYOUT_ROUND_NO

Constant for `screenLayout`: a `SCREENLAYOUT_ROUND_MASK` value indicating that the screen does not have a rounded shape.

Constant Value: 256 (0x00000100)

### SCREENLAYOUT_ROUND_UNDEFINED

    public static final int SCREENLAYOUT_ROUND_UNDEFINED

Constant for `screenLayout`: a `SCREENLAYOUT_ROUND_MASK` value indicating that it is unknown whether or not the screen has a round shape.

Constant Value: 0 (0x00000000)

### SCREENLAYOUT_ROUND_YES

    public static final int SCREENLAYOUT_ROUND_YES

Constant for `screenLayout`: a `SCREENLAYOUT_ROUND_MASK` value indicating that the screen has a rounded shape. Corners may not be visible to the user; developers should pay special attention to the `WindowInsets` delivered to views for more information about ensuring content is not obscured.

Corresponds to the `-round` resource qualifier.

Constant Value: 512 (0x00000200)

### SCREENLAYOUT_SIZE_LARGE

    public static final int SCREENLAYOUT_SIZE_LARGE

Constant for `screenLayout`: a `SCREENLAYOUT_SIZE_MASK` value indicating the screen is at least approximately 480x640 dp units, corresponds to the large resource qualifier. See Supporting Multiple Screens for more information.

Constant Value: 3 (0x00000003)

### SCREENLAYOUT_SIZE_MASK

    public static final int SCREENLAYOUT_SIZE_MASK

Constant for `screenLayout`: bits that encode the size.

Constant Value: 15 (0x0000000f)

### SCREENLAYOUT_SIZE_NORMAL

    public static final int SCREENLAYOUT_SIZE_NORMAL

Constant for `screenLayout`: a `SCREENLAYOUT_SIZE_MASK` value indicating the screen is at least approximately 320x470 dp units, corresponds to the normal resource qualifier. See Supporting Multiple Screens for more information.

Constant Value: 2 (0x00000002)

### SCREENLAYOUT_SIZE_SMALL

    public static final int SCREENLAYOUT_SIZE_SMALL

Constant for `screenLayout`: a `SCREENLAYOUT_SIZE_MASK` value indicating the screen is at least approximately 320x426 dp units, corresponds to the small resource qualifier. See Supporting Multiple Screens for more information.

Constant Value: 1 (0x00000001)

### SCREENLAYOUT_SIZE_UNDEFINED

    public static final int SCREENLAYOUT_SIZE_UNDEFINED

Constant for `screenLayout`: a `SCREENLAYOUT_SIZE_MASK` value indicating that no size has been set.

Constant Value: 0 (0x00000000)

### SCREENLAYOUT_SIZE_XLARGE

    public static final int SCREENLAYOUT_SIZE_XLARGE

Constant for `screenLayout`: a `SCREENLAYOUT_SIZE_MASK` value indicating the screen is at least approximately 720x960 dp units, corresponds to the xlarge resource qualifier. See Supporting Multiple Screens for more information.

Constant Value: 4 (0x00000004)

### SCREENLAYOUT_UNDEFINED

    public static final int SCREENLAYOUT_UNDEFINED

Constant for `screenLayout`: a value indicating that screenLayout is undefined

Constant Value: 0 (0x00000000)

### SCREEN_HEIGHT_DP_UNDEFINED

    public static final int SCREEN_HEIGHT_DP_UNDEFINED

Default value for `screenHeightDp` indicating that no width has been specified.

Constant Value: 0 (0x00000000)

### SCREEN_WIDTH_DP_UNDEFINED

    public static final int SCREEN_WIDTH_DP_UNDEFINED

Default value for `screenWidthDp` indicating that no width has been specified.

Constant Value: 0 (0x00000000)

### SMALLEST_SCREEN_WIDTH_DP_UNDEFINED

    public static final int SMALLEST_SCREEN_WIDTH_DP_UNDEFINED

Default value for `smallestScreenWidthDp` indicating that no width has been specified.

Constant Value: 0 (0x00000000)

### TOUCHSCREEN_FINGER

    public static final int TOUCHSCREEN_FINGER

Constant for `touchscreen`, value corresponding to the finger resource qualifier.

Constant Value: 3 (0x00000003)

### TOUCHSCREEN_NOTOUCH

    public static final int TOUCHSCREEN_NOTOUCH

Constant for `touchscreen`, value corresponding to the notouch resource qualifier.

Constant Value: 1 (0x00000001)

### TOUCHSCREEN_STYLUS

    public static final int TOUCHSCREEN_STYLUS

This constant is deprecated.
Not currently supported or used.

Constant Value: 2 (0x00000002)

### TOUCHSCREEN_UNDEFINED

    public static final int TOUCHSCREEN_UNDEFINED

Constant for `touchscreen`: a value indicating that no value has been set.

Constant Value: 0 (0x00000000)

### UI_MODE_NIGHT_MASK

    public static final int UI_MODE_NIGHT_MASK

Constant for `uiMode`: bits that encode the night mode.

Constant Value: 48 (0x00000030)

### UI_MODE_NIGHT_NO

    public static final int UI_MODE_NIGHT_NO

Constant for `uiMode`: a `UI_MODE_NIGHT_MASK` value that corresponds to the notnight resource qualifier.

Constant Value: 16 (0x00000010)

### UI_MODE_NIGHT_UNDEFINED

    public static final int UI_MODE_NIGHT_UNDEFINED

Constant for `uiMode`: a `UI_MODE_NIGHT_MASK` value indicating that no mode type has been set.

Constant Value: 0 (0x00000000)

### UI_MODE_NIGHT_YES

    public static final int UI_MODE_NIGHT_YES

Constant for `uiMode`: a `UI_MODE_NIGHT_MASK` value that corresponds to the night resource qualifier.

Constant Value: 32 (0x00000020)

### UI_MODE_TYPE_APPLIANCE

    public static final int UI_MODE_TYPE_APPLIANCE

Constant for `uiMode`: a `UI_MODE_TYPE_MASK` value that corresponds to the appliance resource qualifier.

Constant Value: 5 (0x00000005)

### UI_MODE_TYPE_CAR

    public static final int UI_MODE_TYPE_CAR

Constant for `uiMode`: a `UI_MODE_TYPE_MASK` value that corresponds to the car resource qualifier.

Constant Value: 3 (0x00000003)

### UI_MODE_TYPE_DESK

    public static final int UI_MODE_TYPE_DESK

Constant for `uiMode`: a `UI_MODE_TYPE_MASK` value that corresponds to the desk resource qualifier.

Constant Value: 2 (0x00000002)

### UI_MODE_TYPE_MASK

    public static final int UI_MODE_TYPE_MASK

Constant for `uiMode`: bits that encode the mode type.

Constant Value: 15 (0x0000000f)

### UI_MODE_TYPE_NORMAL

    public static final int UI_MODE_TYPE_NORMAL

Constant for `uiMode`: a `UI_MODE_TYPE_MASK` value that corresponds to no UI mode resource qualifier specified.

Constant Value: 1 (0x00000001)

### UI_MODE_TYPE_TELEVISION

    public static final int UI_MODE_TYPE_TELEVISION

Constant for `uiMode`: a `UI_MODE_TYPE_MASK` value that corresponds to the television resource qualifier.

Constant Value: 4 (0x00000004)

### UI_MODE_TYPE_UNDEFINED

    public static final int UI_MODE_TYPE_UNDEFINED

Constant for `uiMode`: a `UI_MODE_TYPE_MASK` value indicating that no mode type has been set.

Constant Value: 0 (0x00000000)

### UI_MODE_TYPE_VR_HEADSET

    public static final int UI_MODE_TYPE_VR_HEADSET

Constant for `uiMode`: a `UI_MODE_TYPE_MASK` value that corresponds to the vrheadset resource qualifier.

Constant Value: 7 (0x00000007)

### UI_MODE_TYPE_WATCH

    public static final int UI_MODE_TYPE_WATCH

Constant for `uiMode`: a `UI_MODE_TYPE_MASK` value that corresponds to the watch resource qualifier.

Constant Value: 6 (0x00000006)

## Fields

### CREATOR

    public static final Creator<Configuration> CREATOR

### colorMode

    public int colorMode

Bit mask of color capabilities of the screen. Currently there are two fields:

The `COLOR_MODE_WIDE_COLOR_GAMUT_MASK` bits define the color gamut of the screen. They may be one of `COLOR_MODE_WIDE_COLOR_GAMUT_NO` or `COLOR_MODE_WIDE_COLOR_GAMUT_YES`.

The `COLOR_MODE_HDR_MASK` defines the dynamic range of the screen. They may be one of `COLOR_MODE_HDR_NO` or `COLOR_MODE_HDR_YES`.

See Supporting Multiple Screens for more information.

### densityDpi

    public int densityDpi

The target screen density being rendered to, corresponding to density resource qualifier. Set to `DENSITY_DPI_UNDEFINED` if no density is specified.

### fontScale

    public float fontScale

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

### hardKeyboardHidden

    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`.

### keyboard

    public int keyboard

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

### keyboardHidden

    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`.

### locale

    public Locale locale

This field is deprecated.
Do not set or read this directly. Use `getLocales()` and `setLocales(android.os.LocaleList)`. If only the primary locale is needed, `getLocales().get(0)` is now the preferred accessor.

Current user preference for the locale, corresponding to locale resource qualifier.

### mcc

    public int mcc

IMSI MCC (Mobile Country Code), corresponding to mcc resource qualifier. 0 if undefined.

### mnc

    public int mnc

IMSI MNC (Mobile Network Code), corresponding to mnc resource qualifier. 0 if undefined. Note that the actual MNC may be 0; in order to check for this use the `MNC_ZERO` symbol.

### navigation

    public int navigation

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

### navigationHidden

    public int navigationHidden

A flag indicating whether any 5-way or DPAD navigation available. This will be set on a device with a mechanism to hide the navigation controls from the user, when that mechanism is closed. One of: `NAVIGATIONHIDDEN_NO`, `NAVIGATIONHIDDEN_YES`.

### orientation

    public int orientation

Overall orientation of the screen. May be one of `ORIENTATION_LANDSCAPE`, `ORIENTATION_PORTRAIT`.
Value is `ORIENTATION_UNDEFINED`, `ORIENTATION_PORTRAIT`, `ORIENTATION_LANDSCAPE`, or `ORIENTATION_SQUARE`

### screenHeightDp

    public int screenHeightDp

The current height of the available screen space, in dp units, corresponding to screen height resource qualifier. Set to `SCREEN_HEIGHT_DP_UNDEFINED` if no height is specified.

### screenLayout

    public int screenLayout

Bit mask of overall layout of the screen. Currently there are four fields:

The `SCREENLAYOUT_SIZE_MASK` bits define the overall size of the screen. They may be one of `SCREENLAYOUT_SIZE_SMALL`, `SCREENLAYOUT_SIZE_NORMAL`, `SCREENLAYOUT_SIZE_LARGE`, or `SCREENLAYOUT_SIZE_XLARGE`.

The `SCREENLAYOUT_LONG_MASK` defines whether the screen is wider/taller than normal. They may be one of `SCREENLAYOUT_LONG_NO` or `SCREENLAYOUT_LONG_YES`.

The `SCREENLAYOUT_LAYOUTDIR_MASK` defines whether the screen layout is either LTR or RTL. They may be one of `SCREENLAYOUT_LAYOUTDIR_LTR` or `SCREENLAYOUT_LAYOUTDIR_RTL`.

The `SCREENLAYOUT_ROUND_MASK` defines whether the screen has a rounded shape. They may be one of `SCREENLAYOUT_ROUND_NO` or `SCREENLAYOUT_ROUND_YES`.

See Supporting Multiple Screens for more information.

### screenWidthDp

    public int screenWidthDp

The current width of the available screen space, in dp units, corresponding to screen width resource qualifier. Set to `SCREEN_WIDTH_DP_UNDEFINED` if no width is specified.

### smallestScreenWidthDp

    public int smallestScreenWidthDp

The smallest screen size an application will see in normal operation, corresponding to smallest screen width resource qualifier. This is the smallest value of both screenWidthDp and screenHeightDp in both portrait and landscape. Set to `SMALLEST_SCREEN_WIDTH_DP_UNDEFINED` if no width is specified.

### touchscreen

    public int touchscreen

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

### uiMode

    public int uiMode

Bit mask of the ui mode. Currently there are two fields:

The `UI_MODE_TYPE_MASK` bits define the overall ui mode of the device. They may be one of `UI_MODE_TYPE_UNDEFINED`, `UI_MODE_TYPE_NORMAL`, `UI_MODE_TYPE_DESK`, `UI_MODE_TYPE_CAR`, `UI_MODE_TYPE_TELEVISION`, `UI_MODE_TYPE_APPLIANCE`, `UI_MODE_TYPE_WATCH`, or `UI_MODE_TYPE_VR_HEADSET`.

The `UI_MODE_NIGHT_MASK` defines whether the screen is in a special mode. They may be one of `UI_MODE_NIGHT_UNDEFINED`, `UI_MODE_NIGHT_NO` or `UI_MODE_NIGHT_YES`.

## Public constructors

### Configuration

    public Configuration ()

Construct an invalid Configuration. This state is only suitable for constructing a Configuration delta that will be applied to some valid Configuration object. In order to create a valid standalone Configuration, you must call `setToDefaults()`.

Example:

         Configuration validConfig = new Configuration();
         validConfig.setToDefaults();

         Configuration deltaOnlyConfig = new Configuration();
         deltaOnlyConfig.orientation = Configuration.ORIENTATION_LANDSCAPE;

         validConfig.updateFrom(deltaOnlyConfig);

### Configuration

    public Configuration (Configuration o)

Makes a deep copy suitable for modification.

Parameters
`o` | `Configuration`

## Public methods

### compareTo

    public int compareTo (Configuration that)

Parameters
`that` | `Configuration`

Returns
`int` |

### describeContents

    public int describeContents ()

Parcelable methods

Returns
`int` | a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either `0` or `CONTENTS_FILE_DESCRIPTOR`

### diff

    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.

Parameters
`delta` | `Configuration`

Returns
`int` | Returns a bit mask indicating which configuration values has changed, containing any combination of `PackageManager.ActivityInfo.CONFIG_FONT_SCALE`, `PackageManager.ActivityInfo.CONFIG_MCC`, `PackageManager.ActivityInfo.CONFIG_MNC`, `PackageManager.ActivityInfo.CONFIG_LOCALE`, `PackageManager.ActivityInfo.CONFIG_TOUCHSCREEN`, `PackageManager.ActivityInfo.CONFIG_KEYBOARD`, `PackageManager.ActivityInfo.CONFIG_NAVIGATION`, `PackageManager.ActivityInfo.CONFIG_ORIENTATION`, `PackageManager.ActivityInfo.CONFIG_SCREEN_LAYOUT`, or `PackageManager.ActivityInfo.CONFIG_SCREEN_SIZE`, or `PackageManager.ActivityInfo.CONFIG_SMALLEST_SCREEN_SIZE`. `PackageManager.ActivityInfo.CONFIG_LAYOUT_DIRECTION`.

### equals

    public boolean equals (Configuration that)

Parameters
`that` | `Configuration`

Returns
`boolean` |

### equals

    public boolean equals (Object that)

Indicates whether some other object is "equal to" this one.

The `equals` method implements an equivalence relation on non-null object references:

- It is reflexive: for any non-null reference value `x`, `x.equals(x)` should return `true`.
- It is symmetric: for any non-null reference values `x` and `y`, `x.equals(y)` should return `true` if and only if `y.equals(x)` returns `true`.
- It is transitive: for any non-null reference values `x`, `y`, and `z`, if `x.equals(y)` returns `true` and `y.equals(z)` returns `true`, then `x.equals(z)` should return `true`.
- It is consistent: for any non-null reference values `x` and `y`, multiple invocations of `x.equals(y)` consistently return `true` or consistently return `false`, provided no information used in `equals` comparisons on the objects is modified.
- For any non-null reference value `x`, `x.equals(null)` should return `false`.

The `equals` method for class `Object` implements the most discriminating possible equivalence relation on objects; that is, for any non-null reference values `x` and `y`, this method returns `true` if and only if `x` and `y` refer to the same object (`x == y` has the value `true`).

Note that it is generally necessary to override the `hashCode` method whenever this method is overridden, so as to maintain the general contract for the `hashCode` method, which states that equal objects must have equal hash codes.

Parameters
`that` | `Object`: the reference object with which to compare.

Returns
`boolean` | `true` if this object is the same as the obj argument; `false` otherwise.

### getLayoutDirection

    public int getLayoutDirection ()

Return the layout direction. Will be either `View#LAYOUT_DIRECTION_LTR` or `View#LAYOUT_DIRECTION_RTL`.

Returns
`int` | Returns `View#LAYOUT_DIRECTION_RTL` if the configuration is `SCREENLAYOUT_LAYOUTDIR_RTL`, otherwise `View#LAYOUT_DIRECTION_LTR`.

### getLocales

    public LocaleList getLocales ()

Get the locale list. This is the preferred way for getting the locales (instead of using the direct accessor to `locale`, which would only provide the primary locale).

Returns
`LocaleList` | The locale list. This value cannot be `null`.

### hashCode

    public int hashCode ()

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by `HashMap`.

The general contract of `hashCode` is:

- Whenever it is invoked on the same object more than once during an execution of a Java application, the `hashCode` method must consistently return the same integer, provided no information used in `equals` comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
- If two objects are equal according to the `equals(Object)` method, then calling the `hashCode` method on each of the two objects must produce the same integer result.
- It is not required that if two objects are unequal according to the `equals(java.lang.Object)` method, then calling the `hashCode` method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.

As much as is reasonably practical, the hashCode method defined by class `Object` does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the Java™ programming language.)

Returns
`int` | a hash code value for this object.

### isLayoutSizeAtLeast

    public boolean isLayoutSizeAtLeast (int size)

Check if the Configuration's current `screenLayout` is at least the given size.

Parameters
`size` | `int`: The desired size, either `SCREENLAYOUT_SIZE_SMALL`, `SCREENLAYOUT_SIZE_NORMAL`, `SCREENLAYOUT_SIZE_LARGE`, or `SCREENLAYOUT_SIZE_XLARGE`.

Returns
`boolean` | Returns true if the current screen layout size is at least the given size.

### isNightModeActive

    public boolean isNightModeActive ()

Retuns whether the configuration is in night mode

Returns
`boolean` | true if night mode is active and false otherwise

### isScreenHdr

    public boolean isScreenHdr ()

Return whether the screen has a high dynamic range.

Returns
`boolean` | true if the screen has a high dynamic range, false otherwise

### isScreenRound

    public boolean isScreenRound ()

Return whether the screen has a round shape. Apps may choose to change styling based on this property, such as the alignment or layout of text or informational icons.

Returns
`boolean` | true if the screen is rounded, false otherwise

### isScreenWideColorGamut

    public boolean isScreenWideColorGamut ()

Return whether the screen has a wide color gamut and wide color gamut rendering is supported by this device. When true, it implies the screen is colorspace aware but not necessarily color-managed. The final colors may still be changed by the screen depending on user settings.

Returns
`boolean` | true if the screen has a wide color gamut and wide color gamut rendering is supported, false otherwise

### needNewResources

    public static boolean needNewResources (int configChanges,
                    int interestingChanges)

Determines if a new resource needs to be loaded from the bit set of configuration changes returned by `updateFrom(android.content.res.Configuration)`.

Parameters
`configChanges` | `int`: the mask of changes configurations as returned by `updateFrom(android.content.res.Configuration)` Value is either `0` or a combination of `ActivityInfo.CONFIG_MCC`, `ActivityInfo.CONFIG_MNC`, `ActivityInfo.CONFIG_LOCALE`, `ActivityInfo.CONFIG_TOUCHSCREEN`, `ActivityInfo.CONFIG_KEYBOARD`, `ActivityInfo.CONFIG_KEYBOARD_HIDDEN`, `ActivityInfo.CONFIG_NAVIGATION`, `ActivityInfo.CONFIG_ORIENTATION`, `ActivityInfo.CONFIG_SCREEN_LAYOUT`, `ActivityInfo.CONFIG_UI_MODE`, `ActivityInfo.CONFIG_SCREEN_SIZE`, `ActivityInfo.CONFIG_SMALLEST_SCREEN_SIZE`, `ActivityInfo.CONFIG_DENSITY`, `ActivityInfo.CONFIG_LAYOUT_DIRECTION`, `ActivityInfo.CONFIG_COLOR_MODE`, and `ActivityInfo.CONFIG_FONT_SCALE`
`interestingChanges` | `int`: the configuration changes that the resource can handle as given in `TypedValue.changingConfigurations` Value is either `0` or a combination of `ActivityInfo.CONFIG_MCC`, `ActivityInfo.CONFIG_MNC`, `ActivityInfo.CONFIG_LOCALE`, `ActivityInfo.CONFIG_TOUCHSCREEN`, `ActivityInfo.CONFIG_KEYBOARD`, `ActivityInfo.CONFIG_KEYBOARD_HIDDEN`, `ActivityInfo.CONFIG_NAVIGATION`, `ActivityInfo.CONFIG_ORIENTATION`, `ActivityInfo.CONFIG_SCREEN_LAYOUT`, `ActivityInfo.CONFIG_UI_MODE`, `ActivityInfo.CONFIG_SCREEN_SIZE`, `ActivityInfo.CONFIG_SMALLEST_SCREEN_SIZE`, `ActivityInfo.CONFIG_DENSITY`, `ActivityInfo.CONFIG_LAYOUT_DIRECTION`, `ActivityInfo.CONFIG_COLOR_MODE`, and `ActivityInfo.CONFIG_FONT_SCALE`

Returns
`boolean` | `true` if the resource needs to be loaded, `false` otherwise

### readFromParcel

    public void readFromParcel (Parcel source)

Parameters
`source` | `Parcel`

### setLayoutDirection

    public void setLayoutDirection (Locale loc)

Set the layout direction from a Locale.

Parameters
`loc` | `Locale`: The Locale. If null will set the layout direction to `View#LAYOUT_DIRECTION_LTR`. If not null will set it to the layout direction corresponding to the Locale.

See also:

- `View.LAYOUT_DIRECTION_LTR`
- `View.LAYOUT_DIRECTION_RTL`

### setLocale

    public void setLocale (Locale loc)

Set the locale list to a list of just one locale. This will also set the layout direction according to the locale. Note that after this is run, calling `.equals()` on the input locale and the `locale` attribute would return `true` if they are not null, but there is no guarantee that they would be the same object. See also the note about layout direction in `setLocales(android.os.LocaleList)`.

Parameters
`loc` | `Locale`: The locale. Can be null. This value may be `null`.

### setLocales

    public void setLocales (LocaleList locales)

Set the locale list. This is the preferred way for setting up the locales (instead of using the direct accessor or `setLocale(java.util.Locale)`). This will also set the layout direction according to the first locale in the list. Note that the layout direction will always come from the first locale in the locale list, even if the locale is not supported by the resources (the resources may only support another locale further down the list which has a different direction).

Parameters
`locales` | `LocaleList`: The locale list. If null, an empty LocaleList will be assigned. This value may be `null`.

### setTo

    public void setTo (Configuration o)

Sets the fields in this object to those in the given Configuration.

Parameters
`o` | `Configuration`: The Configuration object used to set the values of this Configuration's fields.

### setToDefaults

    public void setToDefaults ()

Set this object to the system defaults.

### toString

    public String toString ()

Returns a string representation of the object. In general, the `toString` method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

The `toString` method for class `Object` returns a string consisting of the name of the class of which the object is an instance, the at-sign character ``@`', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:

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

Returns
`String` | a string representation of the object.

### updateFrom

    public int updateFrom (Configuration delta)

Copies 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.

Parameters
`delta` | `Configuration`: This value cannot be `null`.

Returns
`int` | a bit mask of the changed fields, as per `diff(Configuration)` Value is either `0` or a combination of `ActivityInfo.CONFIG_MCC`, `ActivityInfo.CONFIG_MNC`, `ActivityInfo.CONFIG_LOCALE`, `ActivityInfo.CONFIG_TOUCHSCREEN`, `ActivityInfo.CONFIG_KEYBOARD`, `ActivityInfo.CONFIG_KEYBOARD_HIDDEN`, `ActivityInfo.CONFIG_NAVIGATION`, `ActivityInfo.CONFIG_ORIENTATION`, `ActivityInfo.CONFIG_SCREEN_LAYOUT`, `ActivityInfo.CONFIG_UI_MODE`, `ActivityInfo.CONFIG_SCREEN_SIZE`, `ActivityInfo.CONFIG_SMALLEST_SCREEN_SIZE`, `ActivityInfo.CONFIG_DENSITY`, `ActivityInfo.CONFIG_LAYOUT_DIRECTION`, `ActivityInfo.CONFIG_COLOR_MODE`, and `ActivityInfo.CONFIG_FONT_SCALE`

### writeToParcel

    public void writeToParcel (Parcel dest,
                    int flags)

Flatten this object in to a Parcel.

Parameters
`dest` | `Parcel`: The Parcel in which the object should be written.
`flags` | `int`: Additional flags about how the object should be written. May be 0 or `Parcelable.PARCELABLE_WRITE_RETURN_VALUE`. Value is either `0` or a combination of `Parcelable.PARCELABLE_WRITE_RETURN_VALUE`, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES

Full name *
Email address *
Company / developer name
One of your Play Store app URLs *
Which best describes your business:*
Apps
Games
Apps & Games
*
*