Skip to content

Most visited

Recently visited

navigation

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 acquireLooperManager(Looper). Until release() is called, the Looper thread will not execute any messages except when execute(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 MessageQueue this object is wrapping.

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 next() has been parsed and should be recycled.

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

From class java.lang.Object

Public methods

execute

added in API level 26
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

added in API level 26
MessageQueue getMessageQueue ()

Returns the MessageQueue this object is wrapping.

Returns
MessageQueue

hasMessages

added in API level 26
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 getTarget()

object Object: the value of obj, null for any

r Runnable: the value of getCallback()

Returns
boolean

hasMessages

added in API level 26
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 getTarget()

object Object: the value of obj, null for any

what int: the value of what

Returns
boolean

next

added in API level 26
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(Message) on the message when all interactions with it have completed.

Returns
Message

recycle

added in API level 26
void recycle (Message msg)

Called to indicate that a Message returned by next() has been parsed and should be recycled.

Parameters
msg Message

release

added in API level 26
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.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience.
(Sep 2017 survey)