# TestNavigatorState

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/TestNavigatorState.+class:androidx.navigation.testing.TestNavigatorState) Added in [2.4.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.4.0)

*** ** * ** ***

Common/AllAndroid/JVM
- Cmn

  ```
  class TestNavigatorState : NavigatorState
  ```

|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) |||
| ↳ | [androidx.navigation.NavigatorState](https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState) ||
|   | ↳ | [androidx.navigation.testing.TestNavigatorState](https://developer.android.com/reference/kotlin/androidx/navigation/testing/TestNavigatorState) |

*** ** * ** ***

An implementation of `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState` that allows testing a `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator` in isolation (i.e., without requiring a `https://developer.android.com/reference/kotlin/androidx/navigation/NavController`).

The `https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle` of all `https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry` instances added to this TestNavigatorState will be updated as they are added and removed from the state. This work is kicked off on the `https://developer.android.com/reference/kotlin/androidx/navigation/testing/TestNavigatorState#(kotlinx.coroutines.CoroutineDispatcher)`.

## Summary

| ### Public constructors |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/testing/TestNavigatorState#TestNavigatorState(kotlinx.coroutines.CoroutineDispatcher)(coroutineDispatcher: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-dispatcher/index.html)` | Cmn android |
| `https://developer.android.com/reference/kotlin/androidx/navigation/testing/TestNavigatorState#TestNavigatorState(android.content.Context,kotlinx.coroutines.CoroutineDispatcher)( context: https://developer.android.com/reference/android/content/Context.html?, coroutineDispatcher: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-dispatcher/index.html )` | android |

| ### Public functions |
|---|---|---|
| `open https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry` | `https://developer.android.com/reference/kotlin/androidx/navigation/testing/TestNavigatorState#createBackStackEntry(androidx.navigation.NavDestination,android.os.Bundle)(destination: https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination, arguments: https://developer.android.com/reference/android/os/Bundle.html?)` Create a new `https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry` from a given `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#createBackStackEntry(androidx.navigation.NavDestination,androidx.savedstate.SavedState)` and `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#createBackStackEntry(androidx.navigation.NavDestination,androidx.savedstate.SavedState)`. | android |
| `open https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry` | `https://developer.android.com/reference/kotlin/androidx/navigation/testing/TestNavigatorState#createBackStackEntry(androidx.navigation.NavDestination,androidx.savedstate.SavedState)(destination: https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination, arguments: https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState?)` Create a new `https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry` from a given `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#createBackStackEntry(androidx.navigation.NavDestination,androidx.savedstate.SavedState)` and `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#createBackStackEntry(androidx.navigation.NavDestination,androidx.savedstate.SavedState)`. | Cmn |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/testing/TestNavigatorState#markTransitionComplete(androidx.navigation.NavBackStackEntry)(entry: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry)` This removes the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry` from the `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#transitionsInProgress()`. | android |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/testing/TestNavigatorState#markTransitionComplete(androidx.navigation.NavBackStackEntry)(entry: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry)` This removes the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry` from the `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#transitionsInProgress()`. | Cmn |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/testing/TestNavigatorState#pop(androidx.navigation.NavBackStackEntry,kotlin.Boolean)(popUpTo: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry, saveState: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Pop all destinations up to and including `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#pop(androidx.navigation.NavBackStackEntry,kotlin.Boolean)`. | android |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/testing/TestNavigatorState#pop(androidx.navigation.NavBackStackEntry,kotlin.Boolean)(popUpTo: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry, saveState: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Pop all destinations up to and including `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#pop(androidx.navigation.NavBackStackEntry,kotlin.Boolean)`. | Cmn |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/testing/TestNavigatorState#popWithTransition(androidx.navigation.NavBackStackEntry,kotlin.Boolean)(popUpTo: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry, saveState: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Pops all destinations up to and including `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#popWithTransition(androidx.navigation.NavBackStackEntry,kotlin.Boolean)`. | android |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/testing/TestNavigatorState#popWithTransition(androidx.navigation.NavBackStackEntry,kotlin.Boolean)(popUpTo: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry, saveState: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Pops all destinations up to and including `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#popWithTransition(androidx.navigation.NavBackStackEntry,kotlin.Boolean)`. | Cmn |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/testing/TestNavigatorState#prepareForTransition(androidx.navigation.NavBackStackEntry)(entry: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry)` This prepares the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry` for transition. | android |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/testing/TestNavigatorState#prepareForTransition(androidx.navigation.NavBackStackEntry)(entry: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry)` This prepares the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry` for transition. | Cmn |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/testing/TestNavigatorState#push(androidx.navigation.NavBackStackEntry)(backStackEntry: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry)` Adds the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#push(androidx.navigation.NavBackStackEntry)` to the `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#backStack()`. | android |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/testing/TestNavigatorState#push(androidx.navigation.NavBackStackEntry)(backStackEntry: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry)` Adds the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#push(androidx.navigation.NavBackStackEntry)` to the `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#backStack()`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry` | `https://developer.android.com/reference/kotlin/androidx/navigation/testing/TestNavigatorState#restoreBackStackEntry(androidx.navigation.NavBackStackEntry)(previouslySavedEntry: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry)` Restore a previously saved `https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry`. | Cmn android |

### Inherited functions

From [androidx.navigation.NavigatorState](https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState) `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#markTransitionComplete(androidx.navigation.NavBackStackEntry)(entry: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry)`

This removes the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry` from the `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#transitionsInProgress()`.
Cmn `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `@https://developer.android.com/reference/kotlin/androidx/annotation/CallSuper
https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#onLaunchSingleTop(androidx.navigation.NavBackStackEntry)(backStackEntry: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry)`

Informational callback indicating that the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#onLaunchSingleTop(androidx.navigation.NavBackStackEntry)` has been affected by a `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#shouldLaunchSingleTop()` operation.
android `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `@https://developer.android.com/reference/kotlin/androidx/annotation/CallSuper
https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#onLaunchSingleTop(androidx.navigation.NavBackStackEntry)(backStackEntry: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry)`

Informational callback indicating that the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#onLaunchSingleTop(androidx.navigation.NavBackStackEntry)` has been affected by a `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#shouldLaunchSingleTop()` operation.
Cmn `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `@https://developer.android.com/reference/kotlin/androidx/annotation/CallSuper
https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#onLaunchSingleTop(androidx.navigation.NavBackStackEntry)(backStackEntry: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry)`

Informational callback indicating that the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#onLaunchSingleTop(androidx.navigation.NavBackStackEntry)` has been affected by a `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#shouldLaunchSingleTop()` operation.
Cmn `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `@https://developer.android.com/reference/kotlin/androidx/annotation/CallSuper
https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#onLaunchSingleTopWithTransition(androidx.navigation.NavBackStackEntry)(backStackEntry: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry)`

Informational callback indicating that the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#onLaunchSingleTopWithTransition(androidx.navigation.NavBackStackEntry)` has been affected by a `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#shouldLaunchSingleTop()` operation.
android `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `@https://developer.android.com/reference/kotlin/androidx/annotation/CallSuper
https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#onLaunchSingleTopWithTransition(androidx.navigation.NavBackStackEntry)(backStackEntry: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry)`

Informational callback indicating that the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#onLaunchSingleTopWithTransition(androidx.navigation.NavBackStackEntry)` has been affected by a `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#shouldLaunchSingleTop()` operation.
Cmn `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `@https://developer.android.com/reference/kotlin/androidx/annotation/CallSuper
https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#onLaunchSingleTopWithTransition(androidx.navigation.NavBackStackEntry)(backStackEntry: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry)`

Informational callback indicating that the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#onLaunchSingleTopWithTransition(androidx.navigation.NavBackStackEntry)` has been affected by a `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#shouldLaunchSingleTop()` operation.
Cmn `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#pop(androidx.navigation.NavBackStackEntry,kotlin.Boolean)(popUpTo: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry, saveState: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`

Pop all destinations up to and including `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#pop(androidx.navigation.NavBackStackEntry,kotlin.Boolean)`.
Cmn `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#popWithTransition(androidx.navigation.NavBackStackEntry,kotlin.Boolean)(popUpTo: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry, saveState: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`

Pops all destinations up to and including `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#popWithTransition(androidx.navigation.NavBackStackEntry,kotlin.Boolean)`.
Cmn `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `@https://developer.android.com/reference/kotlin/androidx/annotation/CallSuper
https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#prepareForTransition(androidx.navigation.NavBackStackEntry)(entry: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry)`

This prepares the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry` for transition.
Cmn `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#push(androidx.navigation.NavBackStackEntry)(backStackEntry: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry)`

Adds the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#push(androidx.navigation.NavBackStackEntry)` to the `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#backStack()`.
Cmn `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#pushWithTransition(androidx.navigation.NavBackStackEntry)(backStackEntry: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry)`

Adds the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#pushWithTransition(androidx.navigation.NavBackStackEntry)` to the `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#backStack()`.
android `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#pushWithTransition(androidx.navigation.NavBackStackEntry)(backStackEntry: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry)`

Adds the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#pushWithTransition(androidx.navigation.NavBackStackEntry)` to the `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#backStack()`.
Cmn `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#pushWithTransition(androidx.navigation.NavBackStackEntry)(backStackEntry: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry)`

Adds the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#pushWithTransition(androidx.navigation.NavBackStackEntry)` to the `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#backStack()`.
Cmn

### Inherited properties

From [androidx.navigation.NavigatorState](https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState) `https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-state-flow/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>>` `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#backStack()`

While the `https://developer.android.com/reference/kotlin/androidx/navigation/NavController` is responsible for the combined back stack across all Navigators, this back stack is specifically the set of destinations associated with this Navigator.
android `https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-state-flow/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>>` `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#backStack()`

While the `https://developer.android.com/reference/kotlin/androidx/navigation/NavController` is responsible for the combined back stack across all Navigators, this back stack is specifically the set of destinations associated with this Navigator.
Cmn `https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-state-flow/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>>` `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#backStack()`

While the `https://developer.android.com/reference/kotlin/androidx/navigation/NavController` is responsible for the combined back stack across all Navigators, this back stack is specifically the set of destinations associated with this Navigator.
Cmn `https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-state-flow/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-set/index.html<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>>` `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#transitionsInProgress()`

This is the set of currently running transitions.
android `https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-state-flow/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-set/index.html<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>>` `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#transitionsInProgress()`

This is the set of currently running transitions.
Cmn `https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-state-flow/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-set/index.html<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>>` `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#transitionsInProgress()`

This is the set of currently running transitions.
Cmn

## Public constructors

### TestNavigatorState

Cmn android Added in [2.10.2](https://developer.android.com/jetpack/androidx/releases/navigation#2.10.2)

```
TestNavigatorState(
    coroutineDispatcher: CoroutineDispatcher = Dispatchers.Main.immediate
)
```

### TestNavigatorState

android Added in [2.4.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.4.0)

```
TestNavigatorState(
    context: Context? = null,
    coroutineDispatcher: CoroutineDispatcher = Dispatchers.Main.immediate
)
```

## Public functions

### createBackStackEntry

android Added in [2.4.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.4.0)

```
open fun createBackStackEntry(destination: NavDestination, arguments: Bundle?): NavBackStackEntry
```

Create a new `https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry` from a given `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#createBackStackEntry(androidx.navigation.NavDestination,androidx.savedstate.SavedState)` and `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#createBackStackEntry(androidx.navigation.NavDestination,androidx.savedstate.SavedState)`.

### createBackStackEntry

Cmn

```
open fun createBackStackEntry(destination: NavDestination, arguments: SavedState?): NavBackStackEntry
```

Create a new `https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry` from a given `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#createBackStackEntry(androidx.navigation.NavDestination,androidx.savedstate.SavedState)` and `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#createBackStackEntry(androidx.navigation.NavDestination,androidx.savedstate.SavedState)`.

### markTransitionComplete

android

```
open fun markTransitionComplete(entry: NavBackStackEntry): Unit
```

This removes the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry` from the `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#transitionsInProgress()`. This should be called in conjunction with `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#pushWithTransition(androidx.navigation.NavBackStackEntry)` and `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#popWithTransition(androidx.navigation.NavBackStackEntry,kotlin.Boolean)` as those call are responsible for adding entries to `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#transitionsInProgress()`.

This should also always be called in conjunction with `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#prepareForTransition(androidx.navigation.NavBackStackEntry)` to ensure all `https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry` settle into the proper state.

Failing to call this method could result in entries being prevented from reaching their final `https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle.State`}.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#pushWithTransition(androidx.navigation.NavBackStackEntry)` |   |
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#popWithTransition(androidx.navigation.NavBackStackEntry,kotlin.Boolean)` |   |

### markTransitionComplete

Cmn

```
open fun markTransitionComplete(entry: NavBackStackEntry): Unit
```

This removes the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry` from the `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#transitionsInProgress()`. This should be called in conjunction with `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#pushWithTransition(androidx.navigation.NavBackStackEntry)` and `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#popWithTransition(androidx.navigation.NavBackStackEntry,kotlin.Boolean)` as those call are responsible for adding entries to `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#transitionsInProgress()`.

This should also always be called in conjunction with `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#prepareForTransition(androidx.navigation.NavBackStackEntry)` to ensure all `https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry` settle into the proper state.

Failing to call this method could result in entries being prevented from reaching their final `https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle.State`}.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#pushWithTransition(androidx.navigation.NavBackStackEntry)` |   |
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#popWithTransition(androidx.navigation.NavBackStackEntry,kotlin.Boolean)` |   |

### pop

android

```
open fun pop(popUpTo: NavBackStackEntry, saveState: Boolean): Unit
```

Pop all destinations up to and including `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#pop(androidx.navigation.NavBackStackEntry,kotlin.Boolean)`. This will remove those destinations from the `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#backStack()`, saving their state if `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#pop(androidx.navigation.NavBackStackEntry,kotlin.Boolean)` is `true`.

### pop

Cmn

```
open fun pop(popUpTo: NavBackStackEntry, saveState: Boolean): Unit
```

Pop all destinations up to and including `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#pop(androidx.navigation.NavBackStackEntry,kotlin.Boolean)`. This will remove those destinations from the `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#backStack()`, saving their state if `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#pop(androidx.navigation.NavBackStackEntry,kotlin.Boolean)` is `true`.

### popWithTransition

android

```
open fun popWithTransition(popUpTo: NavBackStackEntry, saveState: Boolean): Unit
```

Pops all destinations up to and including `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#popWithTransition(androidx.navigation.NavBackStackEntry,kotlin.Boolean)`. This also adds the given and incoming entry to the `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#transitionsInProgress()`. Added entries have their `https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle` held at `https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle.State#CREATED` until an entry is passed into the `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#markTransitionComplete(androidx.navigation.NavBackStackEntry)` callback, when they are allowed to go to `https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle.State#DESTROYED` and have their state cleared.

This will remove those destinations from the `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#backStack()`, saving their state if `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#popWithTransition(androidx.navigation.NavBackStackEntry,kotlin.Boolean)` is `true`.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#transitionsInProgress()` |   |
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#markTransitionComplete(androidx.navigation.NavBackStackEntry)` |   |
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#pushWithTransition(androidx.navigation.NavBackStackEntry)` |   |

### popWithTransition

Cmn

```
open fun popWithTransition(popUpTo: NavBackStackEntry, saveState: Boolean): Unit
```

Pops all destinations up to and including `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#popWithTransition(androidx.navigation.NavBackStackEntry,kotlin.Boolean)`. This also adds the given and incoming entry to the `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#transitionsInProgress()`. Added entries have their `https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle` held at `https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle.State#CREATED` until an entry is passed into the `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#markTransitionComplete(androidx.navigation.NavBackStackEntry)` callback, when they are allowed to go to `https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle.State#DESTROYED` and have their state cleared.

This will remove those destinations from the `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#backStack()`, saving their state if `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#popWithTransition(androidx.navigation.NavBackStackEntry,kotlin.Boolean)` is `true`.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#transitionsInProgress()` |   |
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#markTransitionComplete(androidx.navigation.NavBackStackEntry)` |   |
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#pushWithTransition(androidx.navigation.NavBackStackEntry)` |   |

### prepareForTransition

android

```
open fun prepareForTransition(entry: NavBackStackEntry): Unit
```

This prepares the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry` for transition. This should be called in conjunction with `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#markTransitionComplete(androidx.navigation.NavBackStackEntry)` as that is responsible for settling the `https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry` into its final state.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#markTransitionComplete(androidx.navigation.NavBackStackEntry)` |   |

### prepareForTransition

Cmn

```
open fun prepareForTransition(entry: NavBackStackEntry): Unit
```

This prepares the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry` for transition. This should be called in conjunction with `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#markTransitionComplete(androidx.navigation.NavBackStackEntry)` as that is responsible for settling the `https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry` into its final state.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#markTransitionComplete(androidx.navigation.NavBackStackEntry)` |   |

### push

android

```
open fun push(backStackEntry: NavBackStackEntry): Unit
```

Adds the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#push(androidx.navigation.NavBackStackEntry)` to the `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#backStack()`.

### push

Cmn

```
open fun push(backStackEntry: NavBackStackEntry): Unit
```

Adds the given `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#push(androidx.navigation.NavBackStackEntry)` to the `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#backStack()`.

### restoreBackStackEntry

Cmn android Added in [2.4.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.4.0)

```
fun restoreBackStackEntry(previouslySavedEntry: NavBackStackEntry): NavBackStackEntry
```

Restore a previously saved `https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry`. You must have previously called `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState#pop(androidx.navigation.NavBackStackEntry,kotlin.Boolean)` with `https://developer.android.com/reference/kotlin/androidx/navigation/testing/TestNavigatorState#restoreBackStackEntry(androidx.navigation.NavBackStackEntry)` and `true`.