summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/common/concurrent/DialerExecutorModule.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/dialer/common/concurrent/DialerExecutorModule.java')
-rw-r--r--java/com/android/dialer/common/concurrent/DialerExecutorModule.java23
1 files changed, 20 insertions, 3 deletions
diff --git a/java/com/android/dialer/common/concurrent/DialerExecutorModule.java b/java/com/android/dialer/common/concurrent/DialerExecutorModule.java
index 5e0190e8d..98738ed37 100644
--- a/java/com/android/dialer/common/concurrent/DialerExecutorModule.java
+++ b/java/com/android/dialer/common/concurrent/DialerExecutorModule.java
@@ -17,16 +17,18 @@ package com.android.dialer.common.concurrent;
import android.os.AsyncTask;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.common.concurrent.Annotations.BackgroundExecutor;
+import com.android.dialer.common.concurrent.Annotations.LightweightExecutor;
import com.android.dialer.common.concurrent.Annotations.NonUiParallel;
import com.android.dialer.common.concurrent.Annotations.NonUiSerial;
import com.android.dialer.common.concurrent.Annotations.Ui;
import com.android.dialer.common.concurrent.Annotations.UiParallel;
import com.android.dialer.common.concurrent.Annotations.UiSerial;
import com.google.common.util.concurrent.ListeningExecutorService;
+import com.google.common.util.concurrent.MoreExecutors;
import dagger.Binds;
import dagger.Module;
import dagger.Provides;
-import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
@@ -85,8 +87,8 @@ public abstract class DialerExecutorModule {
@Provides
@UiParallel
- static Executor provideUiThreadPool() {
- return AsyncTask.THREAD_POOL_EXECUTOR;
+ static ExecutorService provideUiThreadPool() {
+ return (ExecutorService) AsyncTask.THREAD_POOL_EXECUTOR;
}
@Provides
@@ -105,4 +107,19 @@ public abstract class DialerExecutorModule {
}
});
}
+
+ @Provides
+ @Singleton
+ @LightweightExecutor
+ static ListeningExecutorService provideLightweightExecutor(@UiParallel ExecutorService delegate) {
+ return MoreExecutors.listeningDecorator(delegate);
+ }
+
+ @Provides
+ @Singleton
+ @BackgroundExecutor
+ static ListeningExecutorService provideBackgroundExecutor(
+ @NonUiParallel ExecutorService delegate) {
+ return MoreExecutors.listeningDecorator(delegate);
+ }
}