# androidx.savedstate

*** ** * ** ***

Common/AllAndroid/JVM

## Interfaces

|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistry.AutoRecreated` | **This interface is deprecated.** \`AutoRecreated\` is deprecated. | android |
| `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistry.SavedStateProvider` | Contributes to the saved state. | Cmn android |
| `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistry.SavedStateRestorer` | Restores state for a component. | Cmn android |
| `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistryOwner` | A scope that owns a `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistry`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateValue` | Interface representing a saved state component holding a `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateValue#value()`. | Cmn |

## Classes

|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` | An opaque (empty) common type that holds saveable values to be saved and restored by native platforms that have a concept of System-initiated Process Death. | Cmn android |
| `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateContainer` | A container that manages `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateValue` instances to coordinate state saving and restoration across hierarchical and key-value based components. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateReader` | An inline class that encapsulates an opaque `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState`, and provides an API for reading the platform specific state. | Cmn android |
| `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistry` | Registry for components that consume and contribute to saved state. | Cmn android |
| `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistryController` | An API for `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistryOwner` implementations to control `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistry`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateWriter` | An inline class that encapsulates an opaque `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState`, and provides an API for writing the platform specific state. | Cmn android |

## Type aliases

|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` | An opaque (empty) common type that holds saveable values to be saved and restored by native platforms that have a concept of System-initiated Process Death. | android |

## Top-level functions summary

|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistryOwner` | `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#SavedStateRegistryOwner(androidx.savedstate.SavedStateRegistry,androidx.lifecycle.Lifecycle)( savedStateRegistry: https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistry, lifecycle: https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle )` Creates a `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#SavedStateRegistryOwner(androidx.savedstate.SavedStateRegistry,androidx.lifecycle.Lifecycle)` by explicitly composing a `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistry` and a `https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle`. | Cmn |
| `inline https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` | `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#savedState(kotlin.collections.Map,kotlin.Function1)(initialState: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?>, builderAction: https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateWriter.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)` Builds a new `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` with the specified `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#savedState(kotlin.collections.Map,kotlin.Function1)`, given as a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html` of `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` keys and `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html` value. | Cmn android |
| `inline https://developer.android.com/reference/android/os/Bundle.html` | `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#savedState(android.os.Bundle,kotlin.Function1)(initialState: https://developer.android.com/reference/android/os/Bundle.html, builderAction: https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateWriter.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)` Builds a new `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` with the specified `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#savedState(androidx.savedstate.SavedState,kotlin.Function1)`, given as a `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` instance. | android |
| `inline https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` | `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#savedState(androidx.savedstate.SavedState,kotlin.Function1)(initialState: https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState, builderAction: https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateWriter.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)` Builds a new `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` with the specified `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#savedState(androidx.savedstate.SavedState,kotlin.Function1)`, given as a `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` instance. | Cmn |

## Extension functions summary

|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistryOwner?` | `https://developer.android.com/reference/android/view/View.html.https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(android.view.View).findViewTreeSavedStateRegistryOwner()()` Retrieve the `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistryOwner` responsible for managing the saved state for this `https://developer.android.com/reference/android/view/View.html`. | android |
| `inline T` | `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?> https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateReader.https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedStateReader).getKotlinSerializable(kotlin.String,androidx.savedstate.serialization.SavedStateConfiguration)( key: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, configuration: https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/SavedStateConfiguration )` Retrieves a `https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-serializable/index.html` value associated with the specified `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedStateReader).getKotlinSerializable(kotlin.String,androidx.savedstate.serialization.SavedStateConfiguration)`, or throws an `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` if this `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` does not contain a valid value for the key. | Cmn |
| `T` | `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?> https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateReader.https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedStateReader).getKotlinSerializable(kotlinx.serialization.KSerializer,kotlin.String,androidx.savedstate.serialization.SavedStateConfiguration)( deserializer: https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-k-serializer/index.html<T>, key: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, configuration: https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/SavedStateConfiguration )` Retrieves a `https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-serializable/index.html` value associated with the specified `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedStateReader).getKotlinSerializable(kotlinx.serialization.KSerializer,kotlin.String,androidx.savedstate.serialization.SavedStateConfiguration)`, or throws an `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` if this `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` does not contain a valid value for the key. | Cmn |
| `inline https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?> https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateWriter.https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedStateWriter).putKotlinSerializable(kotlin.String,kotlin.Any,androidx.savedstate.serialization.SavedStateConfiguration)( key: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, value: T, configuration: https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/SavedStateConfiguration )` Stores a `https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-serializable/index.html` value associated with the specified `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedStateWriter).putKotlinSerializable(kotlin.String,kotlin.Any,androidx.savedstate.serialization.SavedStateConfiguration)` in the `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState`. | Cmn |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?> https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateWriter.https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedStateWriter).putKotlinSerializable(kotlinx.serialization.KSerializer,kotlin.String,kotlin.Any,androidx.savedstate.serialization.SavedStateConfiguration)( serializer: https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-k-serializer/index.html<T>, key: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, value: T, configuration: https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/SavedStateConfiguration )` Stores a `https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-serializable/index.html` value associated with the specified `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedStateWriter).putKotlinSerializable(kotlinx.serialization.KSerializer,kotlin.String,kotlin.Any,androidx.savedstate.serialization.SavedStateConfiguration)` in the `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState`. | Cmn |
| `inline T` | `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?> https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState.https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedState).read(kotlin.Function1)(block: https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateReader.() -> T)` Performs read operations on this `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` using a `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateReader`. | Cmn |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/android/view/View.html.https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(android.view.View).setViewTreeSavedStateRegistryOwner(androidx.savedstate.SavedStateRegistryOwner)( owner: https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistryOwner? )` Set the `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistryOwner` responsible for managing the saved state for this `https://developer.android.com/reference/android/view/View.html` Calls to `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/index.html` from this view or descendants will return `owner`. | android |
| `inline T` | `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?> https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState.https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedState).write(kotlin.Function1)(block: https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateWriter.() -> T)` Performs write operations on this `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` using a `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateWriter`. | Cmn |

## Top-level functions

### SavedStateRegistryOwner

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

```
fun SavedStateRegistryOwner(
    savedStateRegistry: SavedStateRegistry,
    lifecycle: Lifecycle
): SavedStateRegistryOwner
```

Creates a `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#SavedStateRegistryOwner(androidx.savedstate.SavedStateRegistry,androidx.lifecycle.Lifecycle)` by explicitly composing a `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistry` and a `https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle`.

### savedState

Cmn android Artifact: [androidx.savedstate:savedstate](https://developer.android.com/jetpack/androidx/releases/savedstate) [View Source](https://cs.android.com/search?q=file:androidx/savedstate/SavedState.+function:savedState)

```
inline fun savedState(
    initialState: Map<String, Any?> = emptyMap(),
    builderAction: SavedStateWriter.() -> Unit = {}
): SavedState
```

Builds a new `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` with the specified `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#savedState(kotlin.collections.Map,kotlin.Function1)`, given as a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html` of `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` keys and `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html` value.

Allows further modification of the state using the `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#savedState(kotlin.collections.Map,kotlin.Function1)`.

**IMPORTANT:** The `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateWriter` passed as a receiver to the `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#savedState(kotlin.collections.Map,kotlin.Function1)` is valid only inside that function. Using it outside of the function may produce an unspecified behavior.

| Parameters |
|---|---|
| `initialState: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?> = emptyMap()` | An initial map of key-value pairs to populate the state. Defaults to an empty map. |
| `builderAction: https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateWriter.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html = {}` | A lambda function with a `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateWriter` receiver to modify the state. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` | A `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` instance containing the initialized key-value pairs. |

### savedState

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

```
inline fun savedState(initialState: Bundle, builderAction: SavedStateWriter.() -> Unit): Bundle
```

Builds a new `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` with the specified `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#savedState(androidx.savedstate.SavedState,kotlin.Function1)`, given as a `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` instance.

Allows further modification of the state using the `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#savedState(androidx.savedstate.SavedState,kotlin.Function1)`.

**IMPORTANT:** The `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateWriter` passed as a receiver to the `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#savedState(androidx.savedstate.SavedState,kotlin.Function1)` is valid only inside that function. Using it outside of the function may produce an unspecified behavior.

| Parameters |
|---|---|
| `initialState: https://developer.android.com/reference/android/os/Bundle.html` | An initial `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` to populate the state. |
| `builderAction: https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateWriter.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | A lambda function with a `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateWriter` receiver to modify the state. |

| Returns |
|---|---|
| `https://developer.android.com/reference/android/os/Bundle.html` | A `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` instance containing the initialized key-value pairs. |

### savedState

Cmn Artifact: [androidx.savedstate:savedstate](https://developer.android.com/jetpack/androidx/releases/savedstate) [View Source](https://cs.android.com/search?q=file:androidx/savedstate/SavedState.+function:savedState)

```
inline fun savedState(initialState: SavedState, builderAction: SavedStateWriter.() -> Unit = {}): SavedState
```

Builds a new `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` with the specified `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#savedState(androidx.savedstate.SavedState,kotlin.Function1)`, given as a `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` instance.

Allows further modification of the state using the `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#savedState(androidx.savedstate.SavedState,kotlin.Function1)`.

**IMPORTANT:** The `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateWriter` passed as a receiver to the `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#savedState(androidx.savedstate.SavedState,kotlin.Function1)` is valid only inside that function. Using it outside of the function may produce an unspecified behavior.

| Parameters |
|---|---|
| `initialState: https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` | An initial `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` to populate the state. |
| `builderAction: https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateWriter.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html = {}` | A lambda function with a `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateWriter` receiver to modify the state. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` | A `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` instance containing the initialized key-value pairs. |

## Extension functions

### View.findViewTreeSavedStateRegistryOwner

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

```
fun View.findViewTreeSavedStateRegistryOwner(): SavedStateRegistryOwner?
```

Retrieve the `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistryOwner` responsible for managing the saved state for this `https://developer.android.com/reference/android/view/View.html`. This may be used to save or restore the state associated with the view.

The returned `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistryOwner` is managing all the Views within the Fragment or Activity this `https://developer.android.com/reference/android/view/View.html` is added to.

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistryOwner?` | The `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistryOwner` responsible for managing the saved state for this view and/or some subset of its ancestors |

### SavedStateReader.getKotlinSerializable

Cmn Artifact: [androidx.savedstate:savedstate](https://developer.android.com/jetpack/androidx/releases/savedstate) [View Source](https://cs.android.com/search?q=file:androidx/savedstate/SavedState.kt+function:getKotlinSerializable)

```
inline fun <T : Any?> SavedStateReader.getKotlinSerializable(
    key: String,
    configuration: SavedStateConfiguration = SavedStateConfiguration.DEFAULT
): T
```

Retrieves a `https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-serializable/index.html` value associated with the specified `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedStateReader).getKotlinSerializable(kotlin.String,androidx.savedstate.serialization.SavedStateConfiguration)`, or throws an `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` if this `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` does not contain a valid value for the key.

More specifically, a `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` is considered to contain a valid value for a `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedStateReader).getKotlinSerializable(kotlin.String,androidx.savedstate.serialization.SavedStateConfiguration)` if the `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedStateReader).getKotlinSerializable(kotlin.String,androidx.savedstate.serialization.SavedStateConfiguration)` exists, the associated value is not `null`, and it is of the expected type.

| Parameters |
|---|---|
| `key: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | The `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedStateReader).getKotlinSerializable(kotlin.String,androidx.savedstate.serialization.SavedStateConfiguration)` to retrieve the value for. |
| `configuration: https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/SavedStateConfiguration = SavedStateConfiguration.DEFAULT` | The `https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/SavedStateConfiguration` to use for the decoding process. |

| Returns |
|---|---|
| `T` | The `https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-serializable/index.html` value associated with the `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedStateReader).getKotlinSerializable(kotlin.String,androidx.savedstate.serialization.SavedStateConfiguration)`. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | If the `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedStateReader).getKotlinSerializable(kotlin.String,androidx.savedstate.serialization.SavedStateConfiguration)` is not found. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | If associated value is `null`. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | If associated value has wrong type. |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/package-summary#decodeFromSavedState(androidx.savedstate.SavedState,androidx.savedstate.serialization.SavedStateConfiguration)` |   |

### SavedStateReader.getKotlinSerializable

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

```
fun <T : Any?> SavedStateReader.getKotlinSerializable(
    deserializer: KSerializer<T>,
    key: String,
    configuration: SavedStateConfiguration = SavedStateConfiguration.DEFAULT
): T
```

Retrieves a `https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-serializable/index.html` value associated with the specified `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedStateReader).getKotlinSerializable(kotlinx.serialization.KSerializer,kotlin.String,androidx.savedstate.serialization.SavedStateConfiguration)`, or throws an `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` if this `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` does not contain a valid value for the key.

More specifically, a `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` is considered to contain a valid value for a `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedStateReader).getKotlinSerializable(kotlinx.serialization.KSerializer,kotlin.String,androidx.savedstate.serialization.SavedStateConfiguration)` if the `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedStateReader).getKotlinSerializable(kotlinx.serialization.KSerializer,kotlin.String,androidx.savedstate.serialization.SavedStateConfiguration)` exists, the associated value is not `null`, and it is of the expected type.

| Parameters |
|---|---|
| `deserializer: https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-k-serializer/index.html<T>` | The `https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-k-serializer/index.html` used to decode the value. |
| `key: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | The `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedStateReader).getKotlinSerializable(kotlinx.serialization.KSerializer,kotlin.String,androidx.savedstate.serialization.SavedStateConfiguration)` to retrieve the value for. |
| `configuration: https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/SavedStateConfiguration = SavedStateConfiguration.DEFAULT` | The `https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/SavedStateConfiguration` to use for the decoding process. |

| Returns |
|---|---|
| `T` | The `https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-serializable/index.html` value associated with the `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedStateReader).getKotlinSerializable(kotlinx.serialization.KSerializer,kotlin.String,androidx.savedstate.serialization.SavedStateConfiguration)`. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | If the `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedStateReader).getKotlinSerializable(kotlinx.serialization.KSerializer,kotlin.String,androidx.savedstate.serialization.SavedStateConfiguration)` is not found. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | If associated value is `null`. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | If associated value has wrong type. |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/package-summary#decodeFromSavedState(androidx.savedstate.SavedState,androidx.savedstate.serialization.SavedStateConfiguration)` |   |

### SavedStateWriter.putKotlinSerializable

Cmn Artifact: [androidx.savedstate:savedstate](https://developer.android.com/jetpack/androidx/releases/savedstate) [View Source](https://cs.android.com/search?q=file:androidx/savedstate/SavedState.kt+function:putKotlinSerializable)

```
inline fun <T : Any?> SavedStateWriter.putKotlinSerializable(
    key: String,
    value: T,
    configuration: SavedStateConfiguration = SavedStateConfiguration.DEFAULT
): Unit
```

Stores a `https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-serializable/index.html` value associated with the specified `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedStateWriter).putKotlinSerializable(kotlin.String,kotlin.Any,androidx.savedstate.serialization.SavedStateConfiguration)` in the `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState`.

| Parameters |
|---|---|
| `key: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | The key to associate the value with. |
| `value: T` | The `https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-serializable/index.html` value to store. |
| `configuration: https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/SavedStateConfiguration = SavedStateConfiguration.DEFAULT` | The `https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/SavedStateConfiguration` to use for the encoding process. |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/package-summary#encodeToSavedState(kotlin.Any,androidx.savedstate.serialization.SavedStateConfiguration)` |   |

### SavedStateWriter.putKotlinSerializable

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

```
fun <T : Any?> SavedStateWriter.putKotlinSerializable(
    serializer: KSerializer<T>,
    key: String,
    value: T,
    configuration: SavedStateConfiguration = SavedStateConfiguration.DEFAULT
): Unit
```

Stores a `https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-serializable/index.html` value associated with the specified `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedStateWriter).putKotlinSerializable(kotlinx.serialization.KSerializer,kotlin.String,kotlin.Any,androidx.savedstate.serialization.SavedStateConfiguration)` in the `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState`.

| Parameters |
|---|---|
| `serializer: https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-k-serializer/index.html<T>` | The `https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-k-serializer/index.html` used to encode the value. |
| `key: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | The key to associate the value with. |
| `value: T` | The `https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-serializable/index.html` value to store. |
| `configuration: https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/SavedStateConfiguration = SavedStateConfiguration.DEFAULT` | The `https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/SavedStateConfiguration` to use for the encoding process. |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/package-summary#encodeToSavedState(kotlin.Any,androidx.savedstate.serialization.SavedStateConfiguration)` |   |

### SavedState.read

Cmn Artifact: [androidx.savedstate:savedstate](https://developer.android.com/jetpack/androidx/releases/savedstate) [View Source](https://cs.android.com/search?q=file:androidx/savedstate/SavedState.kt+function:read)

```
inline fun <T : Any?> SavedState.read(block: SavedStateReader.() -> T): T
```

Performs read operations on this `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` using a `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateReader`.

**IMPORTANT:** The `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateReader` passed as a receiver to the `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedState).read(kotlin.Function1)` is valid only inside that function. Using it outside of the function may produce unspecified behavior.

| Parameters |
|---|---|
| `block: https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateReader.() -> T` | A lambda function that performs read operations using the `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateReader`. |

| Returns |
|---|---|
| `T` | The result of the `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedState).read(kotlin.Function1)` execution. |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateReader` |   |
| `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateWriter` |   |

### View.setViewTreeSavedStateRegistryOwner

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

```
fun View.setViewTreeSavedStateRegistryOwner(
    owner: SavedStateRegistryOwner?
): Unit
```

Set the `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistryOwner` responsible for managing the saved state for this `https://developer.android.com/reference/android/view/View.html` Calls to `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/index.html` from this view or descendants will return `owner`.

This is is automatically set for you in the common cases of using fragments or ComponentActivity.

This should only be called by constructs such as activities or fragments that manage a view tree and their saved state through a `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistryOwner`. Callers should only set a `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistryOwner` that will be *stable.* The associated `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistry` should be cleared if the view tree is removed and is not guaranteed to later become reattached to a window.

| Parameters |
|---|---|
| `owner: https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistryOwner?` | The `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistryOwner` responsible for managing the saved state for the given view |

### SavedState.write

Cmn Artifact: [androidx.savedstate:savedstate](https://developer.android.com/jetpack/androidx/releases/savedstate) [View Source](https://cs.android.com/search?q=file:androidx/savedstate/SavedState.kt+function:write)

```
inline fun <T : Any?> SavedState.write(block: SavedStateWriter.() -> T): T
```

Performs write operations on this `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` using a `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateWriter`.

**IMPORTANT:** The `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateWriter` passed as a receiver to the `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedState).write(kotlin.Function1)` is valid only inside that function. Using it outside of the function may produce unspecified behavior.

| Parameters |
|---|---|
| `block: https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateWriter.() -> T` | A lambda function that performs write operations using the `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateWriter`. |

| Returns |
|---|---|
| `T` | The result of the `https://developer.android.com/reference/kotlin/androidx/savedstate/package-summary#(androidx.savedstate.SavedState).write(kotlin.Function1)` execution. |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateReader` |   |
| `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateWriter` |   |