diff options
Diffstat (limited to 'java/com/android/dialer/common/concurrent/DialerExecutorModule.java')
-rw-r--r-- | java/com/android/dialer/common/concurrent/DialerExecutorModule.java | 23 |
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); + } } |