From 0cd36a6e3bfda1c8b78c0375225929f50ee408a5 Mon Sep 17 00:00:00 2001 From: zachh Date: Tue, 31 Oct 2017 12:04:05 -0700 Subject: Removed helper methods in DialerExecutors. We now use dagger everywhere for consistency and explicitness. Test: tap PiperOrigin-RevId: 174071122 Change-Id: I15d2f8261a7b753353be9e7d3b80692aa0c1b64d --- .../calllog/MissedCallNotificationReceiver.java | 8 +- .../calllog/VisualVoicemailCallLogFragment.java | 7 +- .../app/calllog/VisualVoicemailUpdateTask.java | 6 +- .../dialer/app/list/RegularSearchFragment.java | 7 +- .../app/voicemail/VoicemailPlaybackPresenter.java | 11 +- .../dialer/callcomposer/CallComposerActivity.java | 7 +- .../dialer/callcomposer/camera/CameraManager.java | 7 +- .../dialer/common/concurrent/DialerExecutor.java | 90 ++++++++++++++- .../dialer/common/concurrent/DialerExecutors.java | 122 +-------------------- .../dialer/dialpadview/DialpadFragment.java | 7 +- .../dialer/shortcuts/ShortcutRefresher.java | 6 +- .../dialer/simulator/impl/SimulatorMainMenu.java | 14 ++- java/com/android/incallui/ContactInfoCache.java | 7 +- java/com/android/incallui/ContactsAsyncHelper.java | 6 +- 14 files changed, 147 insertions(+), 158 deletions(-) (limited to 'java') diff --git a/java/com/android/dialer/app/calllog/MissedCallNotificationReceiver.java b/java/com/android/dialer/app/calllog/MissedCallNotificationReceiver.java index 744c0de74..641be854a 100644 --- a/java/com/android/dialer/app/calllog/MissedCallNotificationReceiver.java +++ b/java/com/android/dialer/app/calllog/MissedCallNotificationReceiver.java @@ -21,7 +21,7 @@ import android.content.Context; import android.content.Intent; import android.support.v4.util.Pair; import com.android.dialer.common.LogUtil; -import com.android.dialer.common.concurrent.DialerExecutors; +import com.android.dialer.common.concurrent.DialerExecutorComponent; import me.leolin.shortcutbadger.ShortcutBadger; /** @@ -30,7 +30,7 @@ import me.leolin.shortcutbadger.ShortcutBadger; */ public class MissedCallNotificationReceiver extends BroadcastReceiver { - //TODO: Use compat class for these methods. + // TODO: Use compat class for these methods. public static final String ACTION_SHOW_MISSED_CALLS_NOTIFICATION = "android.telecom.action.SHOW_MISSED_CALLS_NOTIFICATION"; @@ -53,7 +53,9 @@ public class MissedCallNotificationReceiver extends BroadcastReceiver { PendingResult pendingResult = goAsync(); - DialerExecutors.createNonUiTaskBuilder(context, MissedCallNotifier.getInstance(context)) + DialerExecutorComponent.get(context) + .dialerExecutorFactory() + .createNonUiTaskBuilder(MissedCallNotifier.getInstance(context)) .onSuccess( output -> { LogUtil.i( diff --git a/java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java b/java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java index 9d8b04036..33fcba002 100644 --- a/java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java +++ b/java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java @@ -38,7 +38,7 @@ import com.android.dialer.app.voicemail.error.VoicemailStatus; import com.android.dialer.app.voicemail.error.VoicemailStatusWorker; import com.android.dialer.common.LogUtil; import com.android.dialer.common.concurrent.DialerExecutor; -import com.android.dialer.common.concurrent.DialerExecutors; +import com.android.dialer.common.concurrent.DialerExecutorComponent; import com.android.dialer.logging.DialerImpression; import com.android.dialer.logging.Logger; import com.android.dialer.util.PermissionsUtil; @@ -79,8 +79,9 @@ public class VisualVoicemailCallLogFragment extends CallLogFragment { super.onActivityCreated(savedInstanceState); mPreSyncVoicemailStatusCheckExecutor = - DialerExecutors.createUiTaskBuilder( - getContext(), + DialerExecutorComponent.get(getContext()) + .dialerExecutorFactory() + .createUiTaskBuilder( getActivity().getFragmentManager(), "fetchVoicemailStatus", new VoicemailStatusWorker()) diff --git a/java/com/android/dialer/app/calllog/VisualVoicemailUpdateTask.java b/java/com/android/dialer/app/calllog/VisualVoicemailUpdateTask.java index fd0be5f54..e3279ce26 100644 --- a/java/com/android/dialer/app/calllog/VisualVoicemailUpdateTask.java +++ b/java/com/android/dialer/app/calllog/VisualVoicemailUpdateTask.java @@ -31,7 +31,7 @@ import com.android.dialer.blocking.FilteredNumbersUtil; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; import com.android.dialer.common.concurrent.DialerExecutor.Worker; -import com.android.dialer.common.concurrent.DialerExecutors; +import com.android.dialer.common.concurrent.DialerExecutorComponent; import com.android.dialer.notification.DialerNotificationManager; import com.android.dialer.phonenumbercache.ContactInfo; import com.android.dialer.telecom.TelecomUtil; @@ -184,7 +184,9 @@ class VisualVoicemailUpdateTask implements Worker { LogUtil.i("VisualVoicemailUpdateTask.scheduleTask", "update successful"); diff --git a/java/com/android/dialer/app/list/RegularSearchFragment.java b/java/com/android/dialer/app/list/RegularSearchFragment.java index ca19432ed..48f77dcdc 100644 --- a/java/com/android/dialer/app/list/RegularSearchFragment.java +++ b/java/com/android/dialer/app/list/RegularSearchFragment.java @@ -32,7 +32,7 @@ import com.android.dialer.callintent.CallInitiationType; import com.android.dialer.common.LogUtil; import com.android.dialer.common.concurrent.DialerExecutor; import com.android.dialer.common.concurrent.DialerExecutor.Worker; -import com.android.dialer.common.concurrent.DialerExecutors; +import com.android.dialer.common.concurrent.DialerExecutorComponent; import com.android.dialer.phonenumbercache.CachedNumberLookupService; import com.android.dialer.phonenumbercache.CachedNumberLookupService.CachedContactInfo; import com.android.dialer.phonenumbercache.PhoneNumberCache; @@ -66,8 +66,9 @@ public class RegularSearchFragment extends SearchFragment super.onCreate(savedState); addContactTask = - DialerExecutors.createUiTaskBuilder( - getContext(), + DialerExecutorComponent.get(getContext()) + .dialerExecutorFactory() + .createUiTaskBuilder( getFragmentManager(), "RegularSearchFragment.addContact", new AddContactWorker(getContext().getApplicationContext())) diff --git a/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java b/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java index 2d21bd641..10afe479f 100644 --- a/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java +++ b/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java @@ -51,7 +51,7 @@ import com.android.dialer.common.LogUtil; import com.android.dialer.common.concurrent.AsyncTaskExecutor; import com.android.dialer.common.concurrent.AsyncTaskExecutors; import com.android.dialer.common.concurrent.DialerExecutor; -import com.android.dialer.common.concurrent.DialerExecutors; +import com.android.dialer.common.concurrent.DialerExecutorComponent; import com.android.dialer.configprovider.ConfigProviderBindings; import com.android.dialer.constants.Constants; import com.android.dialer.logging.DialerImpression; @@ -220,11 +220,10 @@ public class VoicemailPlaybackPresenter mActivity.getWindow().clearFlags(LayoutParams.FLAG_KEEP_SCREEN_ON); } shareVoicemailExecutor = - DialerExecutors.createUiTaskBuilder( - mContext, - mActivity.getFragmentManager(), - "shareVoicemail", - new ShareVoicemailWorker()) + DialerExecutorComponent.get(mContext) + .dialerExecutorFactory() + .createUiTaskBuilder( + mActivity.getFragmentManager(), "shareVoicemail", new ShareVoicemailWorker()) .onSuccess( output -> { if (output == null) { diff --git a/java/com/android/dialer/callcomposer/CallComposerActivity.java b/java/com/android/dialer/callcomposer/CallComposerActivity.java index eedf0735c..cd0c74124 100644 --- a/java/com/android/dialer/callcomposer/CallComposerActivity.java +++ b/java/com/android/dialer/callcomposer/CallComposerActivity.java @@ -58,7 +58,7 @@ import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; import com.android.dialer.common.UiUtil; import com.android.dialer.common.concurrent.DialerExecutor; -import com.android.dialer.common.concurrent.DialerExecutors; +import com.android.dialer.common.concurrent.DialerExecutorComponent; import com.android.dialer.common.concurrent.ThreadUtil; import com.android.dialer.configprovider.ConfigProviderBindings; import com.android.dialer.constants.Constants; @@ -223,8 +223,9 @@ public class CallComposerActivity extends AppCompatActivity setMediaIconSelected(currentIndex); copyAndResizeExecutor = - DialerExecutors.createUiTaskBuilder( - getApplicationContext(), + DialerExecutorComponent.get(getApplicationContext()) + .dialerExecutorFactory() + .createUiTaskBuilder( getFragmentManager(), "copyAndResizeImageToSend", new CopyAndResizeImageWorker(this.getApplicationContext())) diff --git a/java/com/android/dialer/callcomposer/camera/CameraManager.java b/java/com/android/dialer/callcomposer/camera/CameraManager.java index 9a9577f6f..b850a193f 100644 --- a/java/com/android/dialer/callcomposer/camera/CameraManager.java +++ b/java/com/android/dialer/callcomposer/camera/CameraManager.java @@ -35,7 +35,7 @@ import com.android.dialer.callcomposer.camera.camerafocus.FocusOverlayManager; import com.android.dialer.callcomposer.camera.camerafocus.RenderOverlay; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; -import com.android.dialer.common.concurrent.DialerExecutors; +import com.android.dialer.common.concurrent.DialerExecutorComponent; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; @@ -468,8 +468,9 @@ public class CameraManager implements FocusOverlayManager.Listener { } LogUtil.i( "CameraManager.onPictureTaken", "taken picture size: " + bytes.length + " bytes"); - DialerExecutors.createNonUiTaskBuilder( - mCameraPreview.getContext(), + DialerExecutorComponent.get(mCameraPreview.getContext()) + .dialerExecutorFactory() + .createNonUiTaskBuilder( new ImagePersistWorker( width, height, heightPercent, bytes, mCameraPreview.getContext())) .onSuccess( diff --git a/java/com/android/dialer/common/concurrent/DialerExecutor.java b/java/com/android/dialer/common/concurrent/DialerExecutor.java index 0414581d4..3ee06445f 100644 --- a/java/com/android/dialer/common/concurrent/DialerExecutor.java +++ b/java/com/android/dialer/common/concurrent/DialerExecutor.java @@ -25,7 +25,95 @@ import java.util.concurrent.ExecutorService; /** * Provides a consistent interface for doing background work in either UI or non-UI contexts. * - *

See {@link DialerExecutors} for usage examples. + *

You may create an executor from a UI component (activity or fragment) or a non-UI component. + * Using this class provides a number of benefits: + * + *

+ * + *

Executors accept a single input and output parameter which should be immutable data objects. + * If you don't require an input or output, use Void and null as needed. + * + *

You may optionally specify onSuccess and onFailure listeners; the default behavior on success + * is a no-op and the default behavior on failure is to crash the application. + * + *

To use an executor from a UI component, you must create it in your onCreate method and then + * use it from anywhere: + * + *


+ *
+ * public class MyActivity extends Activity {
+ *
+ *   private final DialerExecutor<MyInputType> myExecutor;
+ *
+ *   public void onCreate(Bundle state) {
+ *     super.onCreate(bundle);
+ *
+ *     // Must be called in onCreate; don't use non-static or anonymous inner classes for worker!
+ *     myExecutor = DialerExecutorComponent.get(context).dialerExecutorFactory()
+ *         .createUiTaskBuilder(fragmentManager, taskId, worker)
+ *         .onSuccess(this::onSuccess)  // Lambdas, anonymous, or non-static inner classes all fine
+ *         .onFailure(this::onFailure)  // Lambdas, anonymous, or non-static inner classes all fine
+ *         .build();
+ *     );
+ *   }
+ *
+ *   private static class MyWorker implements Worker<MyInputType, MyOutputType> {
+ *     MyOutputType doInBackground(MyInputType input) { ... }
+ *   }
+ *   private void onSuccess(MyOutputType output) { ... }
+ *   private void onFailure(Throwable throwable) { ... }
+ *
+ *   private void userDidSomething() { myExecutor.executeParallel(input); }
+ * }
+ * 
+ * + *

Usage for non-UI tasks is the same, except that tasks can be created from anywhere instead of + * in onCreate. Non-UI tasks use low-priority threads separate from the UI task threads so as not to + * compete with more critical UI tasks. + * + *


+ *
+ * public class MyManager {
+ *
+ *   private final DialerExecutor<MyInputType> myExecutor;
+ *
+ *   public void init() {
+ *     // Don't use non-static or anonymous inner classes for worker!
+ *     myExecutor = DialerExecutorComponent.get(context).dialerExecutorFactory()
+ *         .createNonUiTaskBuilder(worker)
+ *         .onSuccess(this::onSuccess)  // Lambdas, anonymous, or non-static inner classes all fine
+ *         .onFailure(this::onFailure)  // Lambdas, anonymous, or non-static inner classes all fine
+ *         .build();
+ *     );
+ *   }
+ *
+ *   private static class MyWorker implements Worker<MyInputType, MyOutputType> {
+ *     MyOutputType doInBackground(MyInputType input) { ... }
+ *   }
+ *   private void onSuccess(MyOutputType output) { ... }
+ *   private void onFailure(Throwable throwable) { ... }
+ *
+ *   private void userDidSomething() { myExecutor.executeParallel(input); }
+ * }
+ * 
+ * + * Note that non-UI tasks are intended to be relatively quick; for example reading/writing shared + * preferences or doing simple database work. If you submit long running non-UI tasks you may + * saturate the shared application threads and block other tasks. Also, this class does not create + * any wakelocks, so a long running task could be killed if the device goes to sleep while your task + * is still running. If you have to do long running or periodic work, consider using a job + * scheduler. */ public interface DialerExecutor { diff --git a/java/com/android/dialer/common/concurrent/DialerExecutors.java b/java/com/android/dialer/common/concurrent/DialerExecutors.java index 4d8331fb6..b29bf5d3b 100644 --- a/java/com/android/dialer/common/concurrent/DialerExecutors.java +++ b/java/com/android/dialer/common/concurrent/DialerExecutors.java @@ -16,134 +16,14 @@ package com.android.dialer.common.concurrent; -import android.app.FragmentManager; import android.content.Context; import android.support.annotation.NonNull; import com.android.dialer.common.Assert; -import com.android.dialer.common.concurrent.DialerExecutor.Worker; import java.util.concurrent.ExecutorService; -/** - * Factory methods for creating {@link DialerExecutor} objects for doing background work. - * - *

You may create an executor from a UI component (activity or fragment) or a non-UI component. - * Using this class provides a number of benefits: - * - *

    - *
  • Ensures that UI tasks keep running across configuration changes by using a headless - * fragment. - *
  • Forces exceptions to crash the application, unless the user implements their own onFailure - * method. - *
  • Checks for dead UI components which can be encountered if a UI task runs longer than its - * UI. If a dead UI component is encountered, onSuccess/onFailure are not called (because they - * can't be) but a message is logged. - *
  • Helps prevents memory leaks in UI tasks by ensuring that callbacks are nulled out when the - * headless fragment is detached. - *
  • UI and non-UI threads are shared across the application and run at reasonable priorities - *
- * - *

Executors accept a single input and output parameter which should be immutable data objects. - * If you don't require an input or output, use Void and null as needed. - * - *

You may optionally specify onSuccess and onFailure listeners; the default behavior on success - * is a no-op and the default behavior on failure is to crash the application. - * - *

To use an executor from a UI component, you must create it in your onCreate method and then - * use it from anywhere: - * - *


- *
- * public class MyActivity extends Activity {
- *
- *   private final DialerExecutor<MyInputType> myExecutor;
- *
- *   public void onCreate(Bundle state) {
- *     super.onCreate(bundle);
- *
- *     // Must be called in onCreate; don't use non-static or anonymous inner classes for worker!
- *     myExecutor = DialerExecutors.createUiTaskBuilder(fragmentManager, taskId, worker)
- *         .onSuccess(this::onSuccess)  // Lambdas, anonymous, or non-static inner classes all fine
- *         .onFailure(this::onFailure)  // Lambdas, anonymous, or non-static inner classes all fine
- *         .build();
- *     );
- *   }
- *
- *   private static class MyWorker implements Worker<MyInputType, MyOutputType> {
- *     MyOutputType doInBackground(MyInputType input) { ... }
- *   }
- *   private void onSuccess(MyOutputType output) { ... }
- *   private void onFailure(Throwable throwable) { ... }
- *
- *   private void userDidSomething() { myExecutor.executeParallel(input); }
- * }
- * 
- * - *

Usage for non-UI tasks is the same, except that tasks can be created from anywhere instead of - * in onCreate. Non-UI tasks use low-priority threads separate from the UI task threads so as not to - * compete with more critical UI tasks. - * - *


- *
- * public class MyManager {
- *
- *   private final DialerExecutor<MyInputType> myExecutor;
- *
- *   public void init() {
- *     // Don't use non-static or anonymous inner classes for worker!
- *     myExecutor = DialerExecutors.createNonUiTaskBuilder(worker)
- *         .onSuccess(this::onSuccess)  // Lambdas, anonymous, or non-static inner classes all fine
- *         .onFailure(this::onFailure)  // Lambdas, anonymous, or non-static inner classes all fine
- *         .build();
- *     );
- *   }
- *
- *   private static class MyWorker implements Worker<MyInputType, MyOutputType> {
- *     MyOutputType doInBackground(MyInputType input) { ... }
- *   }
- *   private void onSuccess(MyOutputType output) { ... }
- *   private void onFailure(Throwable throwable) { ... }
- *
- *   private void userDidSomething() { myExecutor.executeParallel(input); }
- * }
- * 
- * - * Note that non-UI tasks are intended to be relatively quick; for example reading/writing shared - * preferences or doing simple database work. If you submit long running non-UI tasks you may - * saturate the shared application threads and block other tasks. Also, this class does not create - * any wakelocks, so a long running task could be killed if the device goes to sleep while your task - * is still running. If you have to do long running or periodic work, consider using a job - * scheduler. - */ +/** Shared application executors. */ public final class DialerExecutors { - /** - * @param context any valid context object from which the application context can be retrieved - * @see DialerExecutorFactory#createUiTaskBuilder(FragmentManager, String, Worker) - */ - @NonNull - public static DialerExecutor.Builder createUiTaskBuilder( - @NonNull Context context, - @NonNull FragmentManager fragmentManager, - @NonNull String taskId, - @NonNull Worker worker) { - return DialerExecutorComponent.get(Assert.isNotNull(context)) - .dialerExecutorFactory() - .createUiTaskBuilder( - Assert.isNotNull(fragmentManager), Assert.isNotNull(taskId), Assert.isNotNull(worker)); - } - - /** - * @param context any valid context object from which the application context can be retrieved - * @see DialerExecutorFactory#createNonUiTaskBuilder(Worker) - */ - @NonNull - public static DialerExecutor.Builder createNonUiTaskBuilder( - Context context, @NonNull Worker worker) { - return DialerExecutorComponent.get(Assert.isNotNull(context)) - .dialerExecutorFactory() - .createNonUiTaskBuilder(Assert.isNotNull(worker)); - } - /** * An application-wide thread pool used for low priority (non-UI) tasks. * diff --git a/java/com/android/dialer/dialpadview/DialpadFragment.java b/java/com/android/dialer/dialpadview/DialpadFragment.java index 7b551f79d..1f83d5545 100644 --- a/java/com/android/dialer/dialpadview/DialpadFragment.java +++ b/java/com/android/dialer/dialpadview/DialpadFragment.java @@ -77,7 +77,7 @@ import com.android.dialer.common.FragmentUtils; import com.android.dialer.common.LogUtil; import com.android.dialer.common.concurrent.DialerExecutor; import com.android.dialer.common.concurrent.DialerExecutor.Worker; -import com.android.dialer.common.concurrent.DialerExecutors; +import com.android.dialer.common.concurrent.DialerExecutorComponent; import com.android.dialer.common.concurrent.ThreadUtil; import com.android.dialer.location.GeoUtil; import com.android.dialer.logging.UiAction; @@ -343,8 +343,9 @@ public class DialpadFragment extends Fragment } initPhoneNumberFormattingTextWatcherExecutor = - DialerExecutors.createUiTaskBuilder( - getContext(), + DialerExecutorComponent.get(getContext()) + .dialerExecutorFactory() + .createUiTaskBuilder( getFragmentManager(), "DialpadFragment.initPhoneNumberFormattingTextWatcher", new InitPhoneNumberFormattingTextWatcherWorker()) diff --git a/java/com/android/dialer/shortcuts/ShortcutRefresher.java b/java/com/android/dialer/shortcuts/ShortcutRefresher.java index 7fd02a96f..3201d592d 100644 --- a/java/com/android/dialer/shortcuts/ShortcutRefresher.java +++ b/java/com/android/dialer/shortcuts/ShortcutRefresher.java @@ -24,7 +24,7 @@ import com.android.contacts.common.list.ContactEntry; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; import com.android.dialer.common.concurrent.DialerExecutor.Worker; -import com.android.dialer.common.concurrent.DialerExecutors; +import com.android.dialer.common.concurrent.DialerExecutorComponent; import java.util.ArrayList; import java.util.List; @@ -45,7 +45,9 @@ public final class ShortcutRefresher { return; } - DialerExecutors.createNonUiTaskBuilder(context, new RefreshWorker(context)) + DialerExecutorComponent.get(context) + .dialerExecutorFactory() + .createNonUiTaskBuilder(new RefreshWorker(context)) .build() .executeSerial(new ArrayList<>(contacts)); } diff --git a/java/com/android/dialer/simulator/impl/SimulatorMainMenu.java b/java/com/android/dialer/simulator/impl/SimulatorMainMenu.java index 1a2cae18b..f4b1916c5 100644 --- a/java/com/android/dialer/simulator/impl/SimulatorMainMenu.java +++ b/java/com/android/dialer/simulator/impl/SimulatorMainMenu.java @@ -23,7 +23,7 @@ import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.view.ActionProvider; import com.android.dialer.common.concurrent.DialerExecutor.Worker; -import com.android.dialer.common.concurrent.DialerExecutors; +import com.android.dialer.common.concurrent.DialerExecutorComponent; import com.android.dialer.databasepopulator.CallLogPopulator; import com.android.dialer.databasepopulator.ContactsPopulator; import com.android.dialer.databasepopulator.VoicemailPopulator; @@ -48,13 +48,17 @@ final class SimulatorMainMenu { } private static void populateDatabase(@NonNull Context context) { - DialerExecutors.createNonUiTaskBuilder(context, new PopulateDatabaseWorker()) + DialerExecutorComponent.get(context) + .dialerExecutorFactory() + .createNonUiTaskBuilder(new PopulateDatabaseWorker()) .build() .executeSerial(context); } private static void cleanDatabase(@NonNull Context context) { - DialerExecutors.createNonUiTaskBuilder(context, new CleanDatabaseWorker()) + DialerExecutorComponent.get(context) + .dialerExecutorFactory() + .createNonUiTaskBuilder(new CleanDatabaseWorker()) .build() .executeSerial(context); } @@ -65,7 +69,9 @@ final class SimulatorMainMenu { } private static void sharePersistentLog(@NonNull Context context) { - DialerExecutors.createNonUiTaskBuilder(context, new ShareLogWorker()) + DialerExecutorComponent.get(context) + .dialerExecutorFactory() + .createNonUiTaskBuilder(new ShareLogWorker()) .onSuccess( (String log) -> { Intent intent = new Intent(Intent.ACTION_SEND); diff --git a/java/com/android/incallui/ContactInfoCache.java b/java/com/android/incallui/ContactInfoCache.java index 2735461b2..67a294f97 100644 --- a/java/com/android/incallui/ContactInfoCache.java +++ b/java/com/android/incallui/ContactInfoCache.java @@ -45,7 +45,7 @@ import com.android.contacts.common.ContactsUtils; import com.android.dialer.common.Assert; import com.android.dialer.common.concurrent.DialerExecutor; import com.android.dialer.common.concurrent.DialerExecutor.Worker; -import com.android.dialer.common.concurrent.DialerExecutors; +import com.android.dialer.common.concurrent.DialerExecutorComponent; import com.android.dialer.logging.ContactLookupResult; import com.android.dialer.logging.ContactSource; import com.android.dialer.oem.CequintCallerIdManager; @@ -126,7 +126,10 @@ public class ContactInfoCache implements OnImageLoadCompleteListener { mContext = context; mPhoneNumberService = Bindings.get(context).newPhoneNumberService(context); cachedNumberLookupExecutor = - DialerExecutors.createNonUiTaskBuilder(mContext, new CachedNumberLookupWorker()).build(); + DialerExecutorComponent.get(mContext) + .dialerExecutorFactory() + .createNonUiTaskBuilder(new CachedNumberLookupWorker()) + .build(); Trace.endSection(); } diff --git a/java/com/android/incallui/ContactsAsyncHelper.java b/java/com/android/incallui/ContactsAsyncHelper.java index 2e893b01a..abca9246e 100644 --- a/java/com/android/incallui/ContactsAsyncHelper.java +++ b/java/com/android/incallui/ContactsAsyncHelper.java @@ -27,7 +27,7 @@ import android.support.annotation.Nullable; import android.support.annotation.WorkerThread; import com.android.dialer.common.LogUtil; import com.android.dialer.common.concurrent.DialerExecutor; -import com.android.dialer.common.concurrent.DialerExecutors; +import com.android.dialer.common.concurrent.DialerExecutorComponent; import java.io.IOException; import java.io.InputStream; @@ -94,7 +94,9 @@ public class ContactsAsyncHelper { args.displayPhotoUri = displayPhotoUri; args.listener = listener; - DialerExecutors.createNonUiTaskBuilder(context, new Worker()) + DialerExecutorComponent.get(context) + .dialerExecutorFactory() + .createNonUiTaskBuilder(new Worker()) .onSuccess( output -> { if (args.listener != null) { -- cgit v1.2.3