# DeviceConfigurationOverride

Artifact: [androidx.compose.ui:ui-test](https://developer.android.com/jetpack/androidx/releases/compose-ui) [View Source](https://cs.android.com/search?q=file:androidx/compose/ui/test/DeviceConfigurationOverride.kt+class:androidx.compose.ui.test.DeviceConfigurationOverride) Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.7.0) Common/AllAndroid/JVM
- Cmn

  ```
  fun interface DeviceConfigurationOverride
  ```

*** ** * ** ***

The specification for an override applied to some piece of content.

When wrapping content in `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/DeviceConfigurationOverride#Override(kotlin.Function0)`, some particular override will be locally applied to the wrapped in order to test that content in isolation, without needing to configure the entire device.

## Summary

| ### Nested types |
|---|
| `object https://developer.android.com/reference/kotlin/androidx/compose/ui/test/DeviceConfigurationOverride.Companion` |

| ### Public functions |
|---|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/compose/ui/test/DeviceConfigurationOverride#Override(kotlin.Function0)(contentUnderTest: @https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)` A wrapper around `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/DeviceConfigurationOverride#Override(kotlin.Function0)` that applies some override. | Cmn |

| ### Extension functions |
|---|---|---|
| `infix https://developer.android.com/reference/kotlin/androidx/compose/ui/test/DeviceConfigurationOverride` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/DeviceConfigurationOverride.https://developer.android.com/reference/kotlin/androidx/compose/ui/test/DeviceConfigurationOverride#(androidx.compose.ui.test.DeviceConfigurationOverride).then(androidx.compose.ui.test.DeviceConfigurationOverride)(other: https://developer.android.com/reference/kotlin/androidx/compose/ui/test/DeviceConfigurationOverride)` Combines this override with the `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/package-summary#(androidx.compose.ui.test.DeviceConfigurationOverride).then(androidx.compose.ui.test.DeviceConfigurationOverride)` override into a single override, by applying this override as the outer override first, then the `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/package-summary#(androidx.compose.ui.test.DeviceConfigurationOverride).then(androidx.compose.ui.test.DeviceConfigurationOverride)` override as an inner override, and then the content. | Cmn |

## Public functions

### Override

Cmn Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.7.0)

```
@Composable
fun Override(contentUnderTest: @Composable () -> Unit): Unit
```

A wrapper around `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/DeviceConfigurationOverride#Override(kotlin.Function0)` that applies some override.

Implementations should call `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/DeviceConfigurationOverride#Override(kotlin.Function0)` exactly once.

## Extension functions

### DeviceConfigurationOverride.then

Cmn Artifact: [androidx.compose.ui:ui-test](https://developer.android.com/jetpack/androidx/releases/compose-ui) [View Source](https://cs.android.com/search?q=file:androidx/compose/ui/test/DeviceConfigurationOverride.kt+function:then)

```
infix fun DeviceConfigurationOverride.then(other: DeviceConfigurationOverride): DeviceConfigurationOverride
```

Combines this override with the `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/package-summary#(androidx.compose.ui.test.DeviceConfigurationOverride).then(androidx.compose.ui.test.DeviceConfigurationOverride)` override into a single override, by applying this override as the outer override first, then the `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/package-summary#(androidx.compose.ui.test.DeviceConfigurationOverride).then(androidx.compose.ui.test.DeviceConfigurationOverride)` override as an inner override, and then the content.

```kotlin
import androidx.compose.material3.Text
import androidx.compose.ui.test.DeviceConfigurationOverride
import androidx.compose.ui.test.FontScale
import androidx.compose.ui.test.FontWeightAdjustment
import androidx.compose.ui.test.then

DeviceConfigurationOverride(
    DeviceConfigurationOverride.FontScale(1.5f) then
        DeviceConfigurationOverride.FontWeightAdjustment(200)
) {
    Text(text = "text with increased scale and weight")
}
```

| Parameters |
|---|---|
| `other: https://developer.android.com/reference/kotlin/androidx/compose/ui/test/DeviceConfigurationOverride` | the `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/DeviceConfigurationOverride` to apply after this one |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/DeviceConfigurationOverride` | a new `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/DeviceConfigurationOverride` that applies both this `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/DeviceConfigurationOverride` and then the `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/package-summary#(androidx.compose.ui.test.DeviceConfigurationOverride).then(androidx.compose.ui.test.DeviceConfigurationOverride)`. |