Class ShadowMessage

java.lang.Object
org.robolectric.shadows.ShadowMessage
Direct Known Subclasses:
ShadowLegacyMessage, ShadowPausedMessage

@Implements(value=android.os.Message.class,
            shadowPicker=Picker.class)
public abstract class ShadowMessage
extends Object
The shadow API for Message.

Different shadow implementations will be used depending on the current LooperMode. See ShadowLegacyMessage and ShadowPausedMessage for details.

  • Constructor Details

  • Method Details

    • recycleUnchecked

      public abstract void recycleUnchecked()
      Exposes the package-private Message.recycleUnchecked()
    • setScheduledRunnable

      public abstract void setScheduledRunnable​(Runnable r)
      Stores the Runnable instance that has been scheduled to invoke this message. This is called when the message is enqueued by ShadowLegacyMessageQueue.enqueueMessage(android.os.Message, long) and is used when the message is recycled to ensure that the correct Runnable instance is removed from the associated scheduler.
      Parameters:
      r - the Runnable instance that is scheduled to trigger this message.

      #if ($api >= 21) * @see #recycleUnchecked() #else * @see #recycle() #end

      Only supported in LooperMode.Mode.LEGACY.

    • getNext

      public abstract Message getNext()
      Convenience method to provide getter access to the private field Message.next.

      Only supported in LooperMode.Mode.LEGACY

      Returns:
      The next message in the current message chain.
      See Also:
      setNext(Message)
    • setNext

      public abstract void setNext​(Message next)
      Convenience method to provide setter access to the private field Message.next.

      Only supported in LooperMode.Mode.LEGACY

      Parameters:
      next - the new next message for the current message.
      See Also:
      getNext()
    • reset

      @Resetter public static void reset()
      Resets the static state of the Message class by emptying the message pool.