# SavedStateConfigurationKt

Added in 1.3.0

*** ** * ** ***


```
public final class SavedStateConfigurationKt
```

<br />

*** ** * ** ***

## Summary

| ### Public methods |
|---|---|
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/savedstate/serialization/SavedStateConfiguration` | `https://developer.android.com/reference/androidx/savedstate/serialization/SavedStateConfigurationKt#SavedStateConfiguration(androidx.savedstate.serialization.SavedStateConfiguration,kotlin.Function1)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/savedstate/serialization/SavedStateConfiguration from, @https://developer.android.com/reference/androidx/annotation/NonNull Function1<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/savedstate/serialization/SavedStateConfiguration.Builder, https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html> builderAction )` Creates an instance of `https://developer.android.com/reference/androidx/savedstate/serialization/package-summary#SavedStateConfiguration(androidx.savedstate.serialization.SavedStateConfiguration,kotlin.Function1)` configured from the optionally given `https://developer.android.com/reference/androidx/savedstate/serialization/package-summary#SavedStateConfiguration(androidx.savedstate.serialization.SavedStateConfiguration,kotlin.Function1)` and adjusted with `https://developer.android.com/reference/androidx/savedstate/serialization/package-summary#SavedStateConfiguration(androidx.savedstate.serialization.SavedStateConfiguration,kotlin.Function1)`. |

## Public methods

### SavedStateConfiguration

Artifact: [androidx.savedstate:savedstate](https://developer.android.com/jetpack/androidx/releases/savedstate) [View Source](https://cs.android.com/search?q=file:androidx/savedstate/serialization/SavedStateConfiguration.kt+function:SavedStateConfiguration) Added in [1.3.0](https://developer.android.com/jetpack/androidx/releases/savedstate#1.3.0)

```
public static final @NonNull SavedStateConfiguration SavedStateConfiguration(
    @NonNull SavedStateConfiguration from,
    @NonNull Function1<@NonNull SavedStateConfiguration.Builder, Unit> builderAction
)
```

Creates an instance of `https://developer.android.com/reference/androidx/savedstate/serialization/package-summary#SavedStateConfiguration(androidx.savedstate.serialization.SavedStateConfiguration,kotlin.Function1)` configured from the optionally given `https://developer.android.com/reference/androidx/savedstate/serialization/package-summary#SavedStateConfiguration(androidx.savedstate.serialization.SavedStateConfiguration,kotlin.Function1)` and adjusted with `https://developer.android.com/reference/androidx/savedstate/serialization/package-summary#SavedStateConfiguration(androidx.savedstate.serialization.SavedStateConfiguration,kotlin.Function1)`.

```kotlin
import androidx.savedstate.serialization.SavedStateConfiguration
import androidx.savedstate.serialization.decodeFromSavedState
import androidx.savedstate.serialization.encodeToSavedState

val config = SavedStateConfiguration {
    serializersModule = SerializersModule {
        polymorphic(Any::class) { subclass(String::class) }
    }
}
val value = "foo"
val encoded =
    encodeToSavedState(
        serializer = PolymorphicSerializer(Any::class),
        value = value,
        configuration = config,
    )
val decoded =
    decodeFromSavedState(
        deserializer = PolymorphicSerializer(Any::class),
        savedState = encoded,
        configuration = config,
    )
```

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/savedstate/serialization/SavedStateConfiguration from` | An optional initial `https://developer.android.com/reference/androidx/savedstate/serialization/package-summary#SavedStateConfiguration(androidx.savedstate.serialization.SavedStateConfiguration,kotlin.Function1)` to start with. Defaults to `https://developer.android.com/reference/androidx/savedstate/serialization/SavedStateConfiguration#DEFAULT()`. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull Function1<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/savedstate/serialization/SavedStateConfiguration.Builder, https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html> builderAction` | A lambda function to configure the `https://developer.android.com/reference/androidx/savedstate/serialization/SavedStateConfiguration.Builder` for additional customization. |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/savedstate/serialization/SavedStateConfiguration` | A new `https://developer.android.com/reference/androidx/savedstate/serialization/package-summary#SavedStateConfiguration(androidx.savedstate.serialization.SavedStateConfiguration,kotlin.Function1)` instance configured based on the provided parameters. |