TestNavigatorState


public final class TestNavigatorState


An implementation of NavigatorState that allows testing a androidx.navigation.Navigator in isolation (i.e., without requiring a androidx.navigation.NavController).

An optional context can be provided to allow for the usages of androidx.lifecycle.AndroidViewModel within the created NavBackStackEntry instances.

The Lifecycle of all 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 coroutineDispatcher.

Summary

Public constructors

TestNavigatorState(
    Context context,
    @NonNull CoroutineDispatcher coroutineDispatcher
)

Public methods

@NonNull <Error class: unknown class>
createBackStackEntry(
    @NonNull <Error class: unknown class> destination,
    Bundle arguments
)
void
void
pop(@NonNull <Error class: unknown class> popUpTo, boolean saveState)
void
popWithTransition(
    @NonNull <Error class: unknown class> popUpTo,
    boolean saveState
)
void
void
final @NonNull <Error class: unknown class>

Restore a previously saved NavBackStackEntry.

Public constructors

TestNavigatorState

Added in 2.4.0
public TestNavigatorState(
    Context context,
    @NonNull CoroutineDispatcher coroutineDispatcher
)

Public methods

public @NonNull <Error class: unknown class> createBackStackEntry(
    @NonNull <Error class: unknown class> destination,
    Bundle arguments
)
public void markTransitionComplete(@NonNull <Error class: unknown class> entry)
public void pop(@NonNull <Error class: unknown class> popUpTo, boolean saveState)
public void popWithTransition(
    @NonNull <Error class: unknown class> popUpTo,
    boolean saveState
)
public void prepareForTransition(@NonNull <Error class: unknown class> entry)
public void push(@NonNull <Error class: unknown class> backStackEntry)
public final @NonNull <Error class: unknown class> restoreBackStackEntry(
    @NonNull <Error class: unknown class> previouslySavedEntry
)

Restore a previously saved NavBackStackEntry. You must have previously called pop with previouslySavedEntry and true.