Class InlineExecutorService
java.lang.Object
org.robolectric.android.util.concurrent.InlineExecutorService
- All Implemented Interfaces:
Executor
,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 Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
awaitTermination
(long l, TimeUnit timeUnit) void
invokeAll
(Collection<? extends Callable<T>> tasks) 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
boolean
void
shutdown()
Future<?>
<T> Future<T>
<T> Future<T>
-
Constructor Details
-
InlineExecutorService
public InlineExecutorService()
-
-
Method Details
-
shutdown
public void shutdown()- Specified by:
shutdown
in interfaceExecutorService
-
shutdownNow
- Specified by:
shutdownNow
in interfaceExecutorService
-
isShutdown
public boolean isShutdown()- Specified by:
isShutdown
in interfaceExecutorService
-
isTerminated
public boolean isTerminated()- Specified by:
isTerminated
in interfaceExecutorService
-
awaitTermination
- Specified by:
awaitTermination
in interfaceExecutorService
- Throws:
InterruptedException
-
submit
- Specified by:
submit
in interfaceExecutorService
-
submit
- Specified by:
submit
in interfaceExecutorService
-
submit
- Specified by:
submit
in interfaceExecutorService
-
execute
-
invokeAll
@NonNull public <T> List<Future<T>> invokeAll(@NonNull Collection<? extends Callable<T>> tasks) throws InterruptedException - Specified by:
invokeAll
in interfaceExecutorService
- Throws:
InterruptedException
-
invokeAll
@NonNull public <T> List<Future<T>> invokeAll(@NonNull Collection<? extends Callable<T>> tasks, long timeout, @NonNull TimeUnit unit) throws InterruptedException - Specified by:
invokeAll
in interfaceExecutorService
- Throws:
InterruptedException
-
invokeAny
@NonNull public <T> T invokeAny(@NonNull Collection<? extends Callable<T>> tasks) throws ExecutionException, InterruptedException - Specified by:
invokeAny
in interfaceExecutorService
- Throws:
ExecutionException
InterruptedException
-
invokeAny
public <T> T invokeAny(@NonNull Collection<? extends Callable<T>> tasks, long timeout, @NonNull TimeUnit unit) throws ExecutionException, InterruptedException, TimeoutException - Specified by:
invokeAny
in interfaceExecutorService
- Throws:
ExecutionException
InterruptedException
TimeoutException
-