ScreenManager
@MainThread
class ScreenManager : Manager
TestScreenManager |
The |
Manages the stack of Screens and their respective Lifecycles.
Summary
Public functions |
|
|---|---|
(Mutable)Collection<Screen!> |
Returns the copy of the current screen stack as a type |
Int |
Returns the current stack size. |
Screen |
getTop()Returns the |
Unit |
pop()Pops the top |
Unit |
Removes screens from the top of the stack until a |
Unit |
Removes all screens from the stack until the root has been reached. |
Unit |
Pushes the |
Unit |
pushForResult(Pushes a |
Unit |
Removes the |
Public functions
getScreenStack
fun getScreenStack(): (Mutable)Collection<Screen!>
Returns the copy of the current screen stack as a type Collection
getTop
fun getTop(): Screen
Returns the Screen that is at the top of the stack.
| Throws | |
|---|---|
java.lang.NullPointerException |
if the method is called before a |
java.lang.IllegalStateException |
if the current thread is not the main thread |
pop
fun pop(): Unit
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
fun popTo(marker: String): Unit
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
fun popToRoot(): Unit
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
fun push(screen: Screen): Unit
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
fun pushForResult(
screen: Screen,
onScreenResultListener: OnScreenResultListener
): Unit
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 | |
|---|---|
screen: Screen |
the |
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
fun remove(screen: Screen): Unit
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 |