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.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    The shadow Picker for this class
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract Message
    Convenience method to provide getter access to the private field Message.next.
    abstract void
    Exposes the package-private Message.recycleUnchecked()
    static void
    Resets the static state of the Message class by emptying the message pool.
    abstract void
    Convenience method to provide setter access to the private field Message.next.
    abstract void
    Stores the Runnable instance that has been scheduled to invoke this message.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ShadowMessage

      public ShadowMessage()
  • 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

      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:
    • reset

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