Class InlineExecutorService

  • All Implemented Interfaces:
    java.util.concurrent.Executor, java.util.concurrent.ExecutorService

    @Beta
    public class InlineExecutorService
    extends java.lang.Object
    implements java.util.concurrent.ExecutorService
    Executor service that executes posted tasks as soon as they are posted. Intended to be a replacement for RoboExecutorService when using LooperMode.Mode.PAUSED. Unlike RoboExecutorService, will execute tasks on a background thread. This is useful to test Android code that enforces it runs off the main thread. Also consider using MoreExecutors.directExecutor(), if your code under test can handle being called from main thread. Also see PausedExecutorService if you need control over when posted tasks are executed. NOTE: Beta API, subject to change.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean awaitTermination​(long l, java.util.concurrent.TimeUnit timeUnit)  
      void execute​(java.lang.Runnable command)  
      <T> java.util.List<java.util.concurrent.Future<T>> invokeAll​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)  
      <T> java.util.List<java.util.concurrent.Future<T>> invokeAll​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks, long timeout, java.util.concurrent.TimeUnit unit)  
      <T> T invokeAny​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)  
      <T> T invokeAny​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks, long timeout, java.util.concurrent.TimeUnit unit)  
      boolean isShutdown()  
      boolean isTerminated()  
      void shutdown()  
      java.util.List<java.lang.Runnable> shutdownNow()  
      java.util.concurrent.Future<?> submit​(java.lang.Runnable task)  
      <T> java.util.concurrent.Future<T> submit​(java.lang.Runnable task, T result)  
      <T> java.util.concurrent.Future<T> submit​(java.util.concurrent.Callable<T> task)  
      • Methods inherited from class java.lang.Object

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

      • InlineExecutorService

        public InlineExecutorService()
    • Method Detail

      • shutdown

        public void shutdown()
        Specified by:
        shutdown in interface java.util.concurrent.ExecutorService
      • shutdownNow

        public java.util.List<java.lang.Runnable> shutdownNow()
        Specified by:
        shutdownNow in interface java.util.concurrent.ExecutorService
      • isShutdown

        public boolean isShutdown()
        Specified by:
        isShutdown in interface java.util.concurrent.ExecutorService
      • isTerminated

        public boolean isTerminated()
        Specified by:
        isTerminated in interface java.util.concurrent.ExecutorService
      • awaitTermination

        public boolean awaitTermination​(long l,
                                        java.util.concurrent.TimeUnit timeUnit)
                                 throws java.lang.InterruptedException
        Specified by:
        awaitTermination in interface java.util.concurrent.ExecutorService
        Throws:
        java.lang.InterruptedException
      • submit

        @NonNull
        public <T> java.util.concurrent.Future<T> submit​(@NonNull
                                                         java.util.concurrent.Callable<T> task)
        Specified by:
        submit in interface java.util.concurrent.ExecutorService
      • submit

        @NonNull
        public <T> java.util.concurrent.Future<T> submit​(@NonNull
                                                         java.lang.Runnable task,
                                                         T result)
        Specified by:
        submit in interface java.util.concurrent.ExecutorService
      • submit

        @NonNull
        public java.util.concurrent.Future<?> submit​(@NonNull
                                                     java.lang.Runnable task)
        Specified by:
        submit in interface java.util.concurrent.ExecutorService
      • execute

        public void execute​(@NonNull
                            java.lang.Runnable command)
        Specified by:
        execute in interface java.util.concurrent.Executor
      • invokeAll

        @NonNull
        public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll​(@NonNull
                                                                            java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)
                                                                     throws java.lang.InterruptedException
        Specified by:
        invokeAll in interface java.util.concurrent.ExecutorService
        Throws:
        java.lang.InterruptedException
      • invokeAll

        @NonNull
        public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll​(@NonNull
                                                                            java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks,
                                                                            long timeout,
                                                                            @NonNull
                                                                            java.util.concurrent.TimeUnit unit)
                                                                     throws java.lang.InterruptedException
        Specified by:
        invokeAll in interface java.util.concurrent.ExecutorService
        Throws:
        java.lang.InterruptedException
      • invokeAny

        @NonNull
        public <T> T invokeAny​(@NonNull
                               java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)
                        throws java.util.concurrent.ExecutionException,
                               java.lang.InterruptedException
        Specified by:
        invokeAny in interface java.util.concurrent.ExecutorService
        Throws:
        java.util.concurrent.ExecutionException
        java.lang.InterruptedException
      • invokeAny

        public <T> T invokeAny​(@NonNull
                               java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks,
                               long timeout,
                               @NonNull
                               java.util.concurrent.TimeUnit unit)
                        throws java.util.concurrent.ExecutionException,
                               java.lang.InterruptedException,
                               java.util.concurrent.TimeoutException
        Specified by:
        invokeAny in interface java.util.concurrent.ExecutorService
        Throws:
        java.util.concurrent.ExecutionException
        java.lang.InterruptedException
        java.util.concurrent.TimeoutException