ScreenManager
public
class
ScreenManager
extends Object
| java.lang.Object | |
| ↳ | androidx.car.app.ScreenManager |
Manages the stack of Screens and their respective Lifecycles.
Summary
Public methods | |
|---|---|
Screen
|
getTop()
Returns the |
void
|
pop()
Pops the top |
void
|
popTo(String marker)
Removes screens from the top of the stack until a |
void
|
popToRoot()
Removes all screens from the stack until the root has been reached. |
void
|
push(Screen screen)
Pushes the |
void
|
pushForResult(Screen screen, OnScreenResultListener onScreenResultListener)
Pushes a |
void
|
remove(Screen screen)
Removes the |
Inherited methods | |
|---|---|
Public methods
getTop
public Screen getTop ()
Returns the Screen that is at the top of the stack.
| Returns | |
|---|---|
Screen |
|
| Throws | |
|---|---|
NullPointerException |
if the method is called before a Screen has been
pushed to the stack via push(Screen), or
pushForResult(Screen, OnScreenResultListener), or returning a Screen from
Session.onCreateScreen(Intent) |
IllegalStateException |
if the current thread is not the main thread |
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.
| Throws | |
|---|---|
IllegalStateException |
if the current thread is not the main thread |
popTo
public void popTo (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.
| Parameters | |
|---|---|
marker |
String |
| Throws | |
|---|---|
NullPointerException |
if marker is null |
IllegalStateException |
if the current thread is not the main thread |
See also:
popToRoot
public void popToRoot ()
Removes all screens from the stack until the root has been reached.
| Throws | |
|---|---|
IllegalStateException |
if the current thread is not the main thread |
push
public void push (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.
| Parameters | |
|---|---|
screen |
Screen |
| Throws | |
|---|---|
NullPointerException |
if screen is null |
IllegalStateException |
if the current thread is not the main thread |
pushForResult
public void pushForResult (Screen screen, 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 OnScreenResultListener.onScreenResult(Object) with the result that the pushed
screen set via Screen.setResult(Object).
| Parameters | |
|---|---|
screen |
Screen: the Screen to push on top of the stack |
onScreenResultListener |
OnScreenResultListener: the listener that will be executed with the result pushed by
the screen through Screen.setResult(Object). This
callback will be executed on the main thread |
| Throws | |
|---|---|
NullPointerException |
if either the screen or the onScreenResultCallback are null |
IllegalStateException |
if the current thread is not the main thread |