Class ShadowChoreographer

java.lang.Object
org.robolectric.shadows.ShadowChoreographer
Direct Known Subclasses:
ShadowLegacyChoreographer, ShadowPausedChoreographer

@Implements(value=android.view.Choreographer.class,
            shadowPicker=Picker.class)
public abstract class ShadowChoreographer
extends Object
The shadow API for Choreographer.

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

  • Constructor Details

  • Method Details

    • setPostCallbackDelay

      public static void setPostCallbackDelay​(int delayMillis)
      Allows application to specify a fixed amount of delay when #postCallback(int, Runnable, Object) is invoked. The default delay value is 0. This can be used to avoid infinite animation tasks to be spawned when the Robolectric Scheduler is in Scheduler.IdleState.PAUSED mode.

      Only supported in LooperMode.Mode.LEGACY

    • setPostFrameCallbackDelay

      public static void setPostFrameCallbackDelay​(int delayMillis)
      Allows application to specify a fixed amount of delay when #postFrameCallback(FrameCallback) is invoked. The default delay value is 0. This can be used to avoid infinite animation tasks to be spawned when in LooperMode PAUSED or Scheduler.IdleState.PAUSED and displaying an animation.
    • getFrameInterval

      public static long getFrameInterval()
      Return the current inter-frame interval.

      Can only be used in LooperMode.Mode.LEGACY

      Returns:
      Inter-frame interval.
    • setFrameInterval

      public static void setFrameInterval​(long frameInterval)
      Set the inter-frame interval used to advance the clock. By default, this is set to 1ms.

      Only supported in LooperMode.Mode.LEGACY

      Parameters:
      frameInterval - Inter-frame interval.
    • doFrame

      @Implementation(maxSdk=30) protected void doFrame​(long frameTimeNanos, int frame)