ScreenManager
public
class
ScreenManager
extends Object
java.lang.Object | |
↳ | androidx.car.app.ScreenManager |
Manages the stack of Screen
s and their respective Lifecycle
s.
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 |