# DeviceMode

Artifact: [androidx.test.espresso:espresso-device](https://developer.android.com/jetpack/androidx/releases/test-espresso) [View Source](https://cs.android.com/search?q=file:androidx/test/espresso/device/controller/DeviceMode.kt+class:androidx.test.espresso.device.controller.DeviceMode)

*** ** * ** ***


```
public enum DeviceMode extends Enum<@NonNull DeviceMode>
```

<br />

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) |||
| ↳ | [kotlin.Enum](https://developer.android.com/reference/java/lang/Enum.html)\<@[NonNull](https://developer.android.com/reference/androidx/annotation/NonNull) [DeviceMode](https://developer.android.com/reference/androidx/test/espresso/device/controller/DeviceMode)\> ||
|   | ↳ | [androidx.test.espresso.device.controller.DeviceMode](https://developer.android.com/reference/androidx/test/espresso/device/controller/DeviceMode) |

*** ** * ** ***

Enum for modes a foldable device can be set to.

For more information on foldable device postures, see https://developer.android.com/guide/topics/large-screens/learn-about-foldables

## Summary

| ### Enum Values |
|---|---|
| `https://developer.android.com/reference/androidx/test/espresso/device/controller/DeviceMode#BOOK` |   |
| `https://developer.android.com/reference/androidx/test/espresso/device/controller/DeviceMode#CLOSED` |   |
| `https://developer.android.com/reference/androidx/test/espresso/device/controller/DeviceMode#FLAT` |   |
| `https://developer.android.com/reference/androidx/test/espresso/device/controller/DeviceMode#TABLETOP` |   |

| ### Public methods |
|---|---|
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.enums/-enum-entries/index.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/test/espresso/device/controller/DeviceMode>` | `https://developer.android.com/reference/androidx/test/espresso/device/controller/DeviceMode#getEntries()()` Returns an immutable `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.enums/-enum-entries/index.html` list containing the constants of this enum type, in the order they're declared. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/test/espresso/device/controller/DeviceMode` | `https://developer.android.com/reference/androidx/test/espresso/device/controller/DeviceMode#valueOf(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html value)` Returns the enum constant of this type with the specified name. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull DeviceMode[]` | `https://developer.android.com/reference/androidx/test/espresso/device/controller/DeviceMode#values()()` Returns an array containing the constants of this enum type, in the order they're declared. |

## Enum Values

### BOOK

```
DeviceMode DeviceMode.BOOK
```

### CLOSED

```
DeviceMode DeviceMode.CLOSED
```

### FLAT

```
DeviceMode DeviceMode.FLAT
```

### TABLETOP

```
DeviceMode DeviceMode.TABLETOP
```

## Public methods

### getEntries

```
public final @NonNull EnumEntries<@NonNull DeviceMode> getEntries()
```

Returns an immutable `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.enums/-enum-entries/index.html` list containing the constants of this enum type, in the order they're declared.

### valueOf

```
public static final @NonNull DeviceMode valueOf(@NonNull String value)
```

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if this enum type has no constant with the specified name |

### values

```
public static final @NonNull DeviceMode[] values()
```

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

The function returns a new instance of the array on every call. The array could be mutated, so working with it may also require defensive copying. Consider using `entries` property as a more efficient alternative returning an immutable list of enum entries.