@Beta public class InlineExecutorService extends Object implements 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.
Constructor and Description |
---|
InlineExecutorService() |
Modifier and Type | Method and Description |
---|---|
boolean |
awaitTermination(long l,
TimeUnit timeUnit) |
void |
execute(Runnable command) |
<T> List<Future<T>> |
invokeAll(Collection<? extends Callable<T>> tasks) |
<T> List<Future<T>> |
invokeAll(Collection<? extends Callable<T>> tasks,
long timeout,
TimeUnit unit) |
<T> T |
invokeAny(Collection<? extends Callable<T>> tasks) |
<T> T |
invokeAny(Collection<? extends Callable<T>> tasks,
long timeout,
TimeUnit unit) |
boolean |
isShutdown() |
boolean |
isTerminated() |
void |
shutdown() |
List<Runnable> |
shutdownNow() |
<T> Future<T> |
submit(Callable<T> task) |
Future<?> |
submit(Runnable task) |
<T> Future<T> |
submit(Runnable task,
T result) |
public void shutdown()
shutdown
in interface ExecutorService
public List<Runnable> shutdownNow()
shutdownNow
in interface ExecutorService
public boolean isShutdown()
isShutdown
in interface ExecutorService
public boolean isTerminated()
isTerminated
in interface ExecutorService
public boolean awaitTermination(long l, TimeUnit timeUnit) throws InterruptedException
awaitTermination
in interface ExecutorService
InterruptedException
@NonNull public <T> Future<T> submit(@NonNull Callable<T> task)
submit
in interface ExecutorService
@NonNull public <T> Future<T> submit(@NonNull Runnable task, T result)
submit
in interface ExecutorService
@NonNull public Future<?> submit(@NonNull Runnable task)
submit
in interface ExecutorService
@NonNull public <T> List<Future<T>> invokeAll(@NonNull Collection<? extends Callable<T>> tasks) throws InterruptedException
invokeAll
in interface ExecutorService
InterruptedException
@NonNull public <T> List<Future<T>> invokeAll(@NonNull Collection<? extends Callable<T>> tasks, long timeout, @NonNull TimeUnit unit) throws InterruptedException
invokeAll
in interface ExecutorService
InterruptedException
@NonNull public <T> T invokeAny(@NonNull Collection<? extends Callable<T>> tasks) throws ExecutionException, InterruptedException
invokeAny
in interface ExecutorService
ExecutionException
InterruptedException
public <T> T invokeAny(@NonNull Collection<? extends Callable<T>> tasks, long timeout, @NonNull TimeUnit unit) throws ExecutionException, InterruptedException, TimeoutException
invokeAny
in interface ExecutorService
ExecutionException
InterruptedException
TimeoutException