TestLooperManager
public
class
TestLooperManager
extends Object
java.lang.Object | |
↳ | android.os.TestLooperManager |
Blocks a looper from executing any messages, and allows the holder of this object to control when and which messages get executed until it is released.
A TestLooperManager should be acquired using
Instrumentation.acquireLooperManager(Looper)
. Until release()
is called,
the Looper thread will not execute any messages except when execute(android.os.Message)
is called.
The test code may use next()
to acquire messages that have been queued to this
Looper
/MessageQueue
and then execute(Message)
to run any that desires.
Summary
Public methods | |
---|---|
void
|
execute(Message message)
Executes the given message on the Looper thread this wrapper is attached to. |
MessageQueue
|
getMessageQueue()
Returns the |
boolean
|
hasMessages(Handler h, Object object, Runnable r)
Returns true if there are any queued messages that match the parameters. |
boolean
|
hasMessages(Handler h, Object object, int what)
Returns true if there are any queued messages that match the parameters. |
Message
|
next()
Returns the next message that should be executed by this queue, may block if no messages are ready. |
void
|
recycle(Message msg)
Called to indicate that a Message returned by |
void
|
release()
Releases the looper to continue standard looping and processing of messages, no further interactions with TestLooperManager will be allowed after release() has been called. |
Inherited methods | |
---|---|
Public methods
execute
public void execute (Message message)
Executes the given message on the Looper thread this wrapper is attached to.
Execution will happen on the Looper's thread (whether it is the current thread or not), but all RuntimeExceptions encountered while executing the message will be thrown on the calling thread.
Parameters | |
---|---|
message |
Message |
getMessageQueue
public MessageQueue getMessageQueue ()
Returns the MessageQueue
this object is wrapping.
Returns | |
---|---|
MessageQueue |
hasMessages
public boolean hasMessages (Handler h, Object object, Runnable r)
Returns true if there are any queued messages that match the parameters.
Parameters | |
---|---|
h |
Handler : the value of Message#getTarget() |
object |
Object : the value of Message#obj , null for any |
r |
Runnable : the value of Message#getCallback() |
Returns | |
---|---|
boolean |
hasMessages
public boolean hasMessages (Handler h, Object object, int what)
Returns true if there are any queued messages that match the parameters.
Parameters | |
---|---|
h |
Handler : the value of Message#getTarget() |
object |
Object : the value of Message#obj , null for any |
what |
int : the value of Message#what |
Returns | |
---|---|
boolean |
next
public Message next ()
Returns the next message that should be executed by this queue, may block if no messages are ready.
Callers should always call recycle(android.os.Message)
on the message when all
interactions with it have completed.
Returns | |
---|---|
Message |
recycle
public void recycle (Message msg)
Called to indicate that a Message returned by next()
has been parsed
and should be recycled.
Parameters | |
---|---|
msg |
Message |
release
public void release ()
Releases the looper to continue standard looping and processing of messages, no further interactions with TestLooperManager will be allowed after release() has been called.