Configuration  |  API reference  |  Android Developers


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



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 FONT_WEIGHT_ADJUSTMENT_UNDEFINED

An undefined fontWeightAdjustment.

int GRAMMATICAL_GENDER_FEMININE

Constant for grammatical gender: to indicate the terms of address the user preferred in an application is feminine.

int GRAMMATICAL_GENDER_MASCULINE

Constant for grammatical gender: to indicate the terms of address the user preferred in an application is masculine.

int GRAMMATICAL_GENDER_NEUTRAL

Constant for grammatical gender: to indicate the terms of address the user preferred in an application is neuter.

int GRAMMATICAL_GENDER_NOT_SPECIFIED

Constant for grammatical gender: to indicate the user has not specified the terms of address for the application.

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 was deprecated in API level 16. 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 was deprecated in API level 16. 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 fontWeightAdjustment

Adjustment in text font weight.

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 was deprecated in API level 24. Do not set or read this directly. Use getLocales() and setLocales(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 height of the available screen space in dp units.

public int screenLayout

Bit mask of overall layout of the screen.

public int screenWidthDp

The width of the available screen space in dp units.

public int smallestScreenWidthDp

The smallest screen size an application will see in normal operation.

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.

static Configuration generateDelta(Configuration base, Configuration change)

Generate a delta Configuration between base and change.

int getGrammaticalGender()

Returns the user preference for the grammatical gender.

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(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 timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

From interface java.lang.Comparable

abstract int compareTo(Configuration o)

Compares this object with the specified object for order.

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.

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)

FONT_WEIGHT_ADJUSTMENT_UNDEFINED

public static final int FONT_WEIGHT_ADJUSTMENT_UNDEFINED

An undefined fontWeightAdjustment.

Constant Value: 2147483647 (0x7fffffff)

GRAMMATICAL_GENDER_FEMININE

public static final int GRAMMATICAL_GENDER_FEMININE

Constant for grammatical gender: to indicate the terms of address the user preferred in an application is feminine.

Constant Value: 2 (0x00000002)

GRAMMATICAL_GENDER_MASCULINE

public static final int GRAMMATICAL_GENDER_MASCULINE

Constant for grammatical gender: to indicate the terms of address the user preferred in an application is masculine.

Constant Value: 3 (0x00000003)

GRAMMATICAL_GENDER_NEUTRAL

public static final int GRAMMATICAL_GENDER_NEUTRAL

Constant for grammatical gender: to indicate the terms of address the user preferred in an application is neuter.

Constant Value: 1 (0x00000001)

GRAMMATICAL_GENDER_NOT_SPECIFIED

public static final int GRAMMATICAL_GENDER_NOT_SPECIFIED

Constant for grammatical gender: to indicate the user has not specified the terms of address for the application.

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)

public static final int NAVIGATIONHIDDEN_NO

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

Constant Value: 1 (0x00000001)

public static final int NAVIGATIONHIDDEN_UNDEFINED

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

Constant Value: 0 (0x00000000)

public static final int NAVIGATIONHIDDEN_YES

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

Constant Value: 2 (0x00000002)

public static final int NAVIGATION_DPAD

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

Constant Value: 2 (0x00000002)

public static final int NAVIGATION_NONAV

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

Constant Value: 1 (0x00000001)

public static final int NAVIGATION_TRACKBALL

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

Constant Value: 3 (0x00000003)

public static final int NAVIGATION_UNDEFINED

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

Constant Value: 0 (0x00000000)

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 was deprecated in API level 16.
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_MASK

public static final int SCREENLAYOUT_SIZE_MASK

Constant for screenLayout: bits that encode the size.

Constant Value: 15 (0x0000000f)

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_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 was deprecated in API level 16.
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

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.

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.

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 was deprecated in API level 24.
Do not set or read this directly. Use getLocales() and setLocales(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.

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.

screenHeightDp

public int screenHeightDp

The height of the available screen space in dp units.

Use WindowMetrics.getBounds() to always obtain the vertical display area available to an app or embedded activity including the area occupied by window insets. A version of the API is also available for use on older platforms through WindowMetrics.

Corresponds to the available height resource qualifier. Defaults to SCREEN_HEIGHT_DP_UNDEFINED if no height is specified.

In multi-window mode, equals the height of the available display area of the app window, not the available display area of the device screen (for example, when apps are displayed one above another in split-screen mode in portrait orientation).

For embedded activities, equals the height of the individual activities, not the height of the app window or the device screen.

In multiple-screen scenarios, the height measurement can span screens. For example, if the app is spanning both screens of a dual-screen device rotated 90 degrees (one screen above the other), screenHeightDp represents the height of both screens excluding the area occupied by window insets. When the app is restricted to a single screen in a multiple-screen environment, screenHeightDp is the height of the screen on which the app is displayed excluding window insets.

If the app targets Build.VERSION_CODES.VANILLA_ICE_CREAM or after, it is the same as WindowMetrics, but is expressed rounded to the nearest dp rather than px.

Otherwise, differs from WindowMetrics by not including window insets in the height measurement and by expressing the measurement in dp rather than px. Use screenHeightDp to obtain the height of the display area available to an app or embedded activity excluding the area occupied by window insets.

screenWidthDp

public int screenWidthDp

The width of the available screen space in dp units.

Use WindowMetrics.getBounds() to always obtain the horizontal display area available to an app or embedded activity including the area occupied by window insets. A version of the API is also available for use on older platforms through WindowMetrics.

Corresponds to the available width resource qualifier. Defaults to SCREEN_WIDTH_DP_UNDEFINED if no width is specified.

In multi-window mode, equals the width of the available display area of the app window, not the available display area of the device screen (for example, when apps are displayed side by side in split-screen mode in landscape orientation).

For embedded activities, equals the width of the individual activities, not the width of the app window or the device screen.

In multiple-screen scenarios, the width measurement can span screens. For example, if the app is spanning both screens of a dual-screen device (with the screens side by side), screenWidthDp represents the width of both screens excluding the area occupied by window insets. When the app is restricted to a single screen in a multiple-screen environment, screenWidthDp is the width of the screen on which the app is displayed excluding window insets.

If the app targets Build.VERSION_CODES.VANILLA_ICE_CREAM or after, it is the same as WindowMetrics, but is expressed rounded to the nearest dp rather than px.

Otherwise, differs from WindowMetrics by not including window insets in the width measurement and by expressing the measurement in dp rather than px. Use screenWidthDp to obtain the width of the display area available to an app or embedded activity excluding the area occupied by window insets.

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

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.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
that Object: This value may be null.
Returns
boolean true if this object is the same as the obj argument; false otherwise.

generateDelta

public static Configuration generateDelta (Configuration base, 
                Configuration change)

Generate a delta Configuration between base and change. The resulting delta can be used with updateFrom(Configuration).

Caveat: If the any of the Configuration's members becomes undefined, then updateFrom(Configuration) will treat it as a no-op and not update that member. This is fine for device configurations as no member is ever undefined.

Parameters
base Configuration: This value cannot be null.
change Configuration: This value cannot be null.
Returns
Configuration This value cannot be null.

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 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 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.
Returns
int a hash code value for this object.

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

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.

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(LocaleList).

Parameters
loc Locale: The locale. Can 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(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.

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.

Returns
String a string representation of the object.