TestScreenManager
public class TestScreenManager extends ScreenManager
The ScreenManager that is used for testing.
This class will track the following usages of the ScreenManager throughout your test:
- All the
Screens pushed viapush, orpushForResult. - All the
Screens removed via,pop,popTo, orremove.
Summary
Public methods |
|
|---|---|
@NonNull List<Screen> |
Returns all the |
@NonNull List<Screen> |
|
boolean |
Returns |
void |
pop()Pops the top |
void |
Removes screens from the top of the stack until a |
void |
Removes all screens from the stack until the root has been reached. |
void |
Pushes the |
void |
pushForResult(Pushes a |
void |
Removes the |
void |
reset()Resets the values tracked by this |
Inherited methods |
||||||
|---|---|---|---|---|---|---|
|
Public methods
getScreensPushed
public @NonNull List<Screen> getScreensPushed()
Returns all the Screens pushed via push, and pushForResult.
The screens are stored in the order in which they were pushed, where the first screen in the list is the first screen that was pushed.
The screens will be stored until reset is called.
getScreensRemoved
public @NonNull List<Screen> getScreensRemoved()
Returns all the Screens removed via pop, popTo, and remove.
The screens are stored in the order in which they were removed, where the first screen in the list, is the first screen that was removed.
The screens will be stored until reset is called.
hasScreens
public boolean hasScreens()
Returns true if the Screen stack has any screens in it.
pop
public void pop()
Pops the top Screen from the stack.
If the top Screen is the only Screen in the stack, it will not be removed.
If the app's lifecycle is already in the DESTROYED state, this operation is a no-op.
| Throws | |
|---|---|
java.lang.IllegalStateException |
if the current thread is not the main thread |
popTo
public void popTo(@NonNull String marker)
Removes screens from the top of the stack until a Screen which has the given
marker is found, or the root has been reached.
The root Screen will not be popped.
If the app's lifecycle is already in the DESTROYED state, this operation is a no-op.
| Throws | |
|---|---|
java.lang.NullPointerException |
if |
java.lang.IllegalStateException |
if the current thread is not the main thread |
| See also | |
|---|---|
setMarker |
popToRoot
public void popToRoot()
Removes all screens from the stack until the root has been reached.
If the app's lifecycle is already in the DESTROYED state, this operation is a no-op.
| Throws | |
|---|---|
java.lang.IllegalStateException |
if the current thread is not the main thread |
push
public void push(@NonNull Screen screen)
Pushes the screen to the stack.
If the screen pushed is already in the stack it will be moved to the top of the stack.
If the app's lifecycle is already in the DESTROYED state, this operation is a no-op.
| Throws | |
|---|---|
java.lang.NullPointerException |
if |
java.lang.IllegalStateException |
if the current thread is not the main thread |
pushForResult
public void pushForResult(
@NonNull Screen screen,
@NonNull OnScreenResultListener onScreenResultListener
)
Pushes a Screen, for which you would like a result from, onto the stack.
When the given screen finishes, the onScreenResultCallback will receive a callback to onScreenResult with the result that the pushed screen set via setResult.
If the app's lifecycle is already in the DESTROYED state, this operation is a no-op.
| Parameters | |
|---|---|
@NonNull Screen screen |
the |
@NonNull OnScreenResultListener onScreenResultListener |
the listener that will be executed with the result pushed by the |
| Throws | |
|---|---|
java.lang.NullPointerException |
if either the |
java.lang.IllegalStateException |
if the current thread is not the main thread |
remove
public void remove(@NonNull Screen screen)
Removes the screen from the stack.
If the screen is the only Screen in the stack, it will not be removed.
If the app's lifecycle is already in the DESTROYED state, this operation is a no-op.
| Throws | |
|---|---|
java.lang.NullPointerException |
if |
java.lang.IllegalStateException |
if the current thread is not the main thread |
reset
public void reset()
Resets the values tracked by this TestScreenManager and the Screen stack.