# SavedStateHandleFactoryKt

Added in 2.8.0

*** ** * ** ***


```
public final class SavedStateHandleFactoryKt
```

<br />

*** ** * ** ***

## Summary

| ### Public methods |
|---|---|
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/lifecycle/SavedStateHandle` | `https://developer.android.com/reference/androidx/navigation/testing/SavedStateHandleFactoryKt#(androidx.lifecycle.SavedStateHandle.Companion).invoke(kotlin.Any,kotlin.collections.Map)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/lifecycle/SavedStateHandle.Companion receiver, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Object.html route, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Map.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavType<@https://developer.android.com/reference/androidx/annotation/NonNull ?>> typeMap )` SavedStateHandle constructor to create a SavedStateHandle with a serializable object. |

## Public methods

### invoke

Artifact: [androidx.navigation:navigation-testing](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/testing/SavedStateHandleFactory.kt+function:invoke) Added in [2.8.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.8.0)

```
public static final @NonNull SavedStateHandle invoke(
    @NonNull SavedStateHandle.Companion receiver,
    @NonNull Object route,
    @NonNull Map<@NonNull KType, @NonNull NavType<@NonNull ?>> typeMap
)
```

SavedStateHandle constructor to create a SavedStateHandle with a serializable object.

Returns a `https://developer.android.com/reference/androidx/lifecycle/SavedStateHandle` populated with arguments from `https://developer.android.com/reference/androidx/navigation/testing/package-summary#(androidx.lifecycle.SavedStateHandle.Companion).invoke(kotlin.Any,kotlin.collections.Map)`.

Note: To use this api in non-instrumented tests, run with robolectric. This is because android's [Bundle](https://developer.android.com/reference/android/os/Bundle) is necessarily integrated into the parsing of route arguments.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Object.html route` | The route to extract argument values from |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Map.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavType<@https://developer.android.com/reference/androidx/annotation/NonNull ?>> typeMap` | A mapping of KType to custom NavType\<\*\> in the `https://developer.android.com/reference/androidx/navigation/testing/package-summary#(androidx.lifecycle.SavedStateHandle.Companion).invoke(kotlin.Any,kotlin.collections.Map)`. May be empty if `https://developer.android.com/reference/androidx/navigation/testing/package-summary#(androidx.lifecycle.SavedStateHandle.Companion).invoke(kotlin.Any,kotlin.collections.Map)` does not use custom NavTypes. |