diff --git a/platform/lang-impl/src/com/intellij/codeInsight/documentation/QuickDocUtil.java b/platform/lang-impl/src/com/intellij/codeInsight/documentation/QuickDocUtil.java index b33a286f7c6c..8856e7a691f4 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/documentation/QuickDocUtil.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/documentation/QuickDocUtil.java @@ -6,6 +6,7 @@ import com.intellij.codeInsight.navigation.DocPreviewUtil; import com.intellij.concurrency.SensitiveProgressWrapper; import com.intellij.lang.documentation.DocumentationProvider; import com.intellij.openapi.Disposable; +import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.progress.ProcessCanceledException; import com.intellij.openapi.progress.ProgressIndicator; import com.intellij.openapi.progress.ProgressManager; @@ -25,7 +26,6 @@ import com.intellij.ui.popup.AbstractPopup; import com.intellij.util.Consumer; import com.intellij.util.ObjectUtils; import com.intellij.util.SingleAlarm; -import com.intellij.util.concurrency.AppExecutorUtil; import com.intellij.util.ui.UIUtil; import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; @@ -158,7 +158,7 @@ public class QuickDocUtil { component.replaceText(newText, element); } }, 100, alarmDisposable); - AppExecutorUtil.getAppExecutorService().submit(() -> { + ApplicationManager.getApplication().executeOnPooledThread(() -> { try { provider.consume(str -> { ProgressManager.checkCanceled(); diff --git a/platform/lang-impl/src/com/intellij/ide/commander/AbstractListBuilder.java b/platform/lang-impl/src/com/intellij/ide/commander/AbstractListBuilder.java index b684468cf772..a25b27410c41 100644 --- a/platform/lang-impl/src/com/intellij/ide/commander/AbstractListBuilder.java +++ b/platform/lang-impl/src/com/intellij/ide/commander/AbstractListBuilder.java @@ -21,6 +21,7 @@ import com.intellij.ide.util.treeView.AbstractTreeNode; import com.intellij.ide.util.treeView.AbstractTreeStructure; import com.intellij.ide.util.treeView.IndexComparator; import com.intellij.ide.util.treeView.NodeDescriptor; +import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiElement; @@ -30,8 +31,8 @@ import gnu.trove.THashSet; import javax.swing.*; import java.awt.*; -import java.util.*; import java.util.List; +import java.util.*; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; @@ -299,7 +300,7 @@ public abstract class AbstractListBuilder { boolean canceled = future.cancel(false); if (!canceled) { - AppExecutorUtil.getAppExecutorService().execute(() -> myList.setCursor(Cursor.getDefaultCursor())); + ApplicationManager.getApplication().executeOnPooledThread(() -> myList.setCursor(Cursor.getDefaultCursor())); } } diff --git a/platform/platform-impl/src/com/intellij/ide/actions/ShowFilePathAction.java b/platform/platform-impl/src/com/intellij/ide/actions/ShowFilePathAction.java index 67343f22b046..b7b7ed7fe4a6 100644 --- a/platform/platform-impl/src/com/intellij/ide/actions/ShowFilePathAction.java +++ b/platform/platform-impl/src/com/intellij/ide/actions/ShowFilePathAction.java @@ -31,7 +31,6 @@ import com.intellij.openapi.vfs.newvfs.ArchiveFileSystem; import com.intellij.ui.awt.RelativePoint; import com.intellij.util.Consumer; import com.intellij.util.SystemProperties; -import com.intellij.util.concurrency.AppExecutorUtil; import com.intellij.util.ui.EmptyIcon; import com.sun.jna.Native; import com.sun.jna.platform.win32.Kernel32; @@ -288,7 +287,7 @@ public class ShowFilePathAction extends DumbAwareAction { } else if (Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Desktop.Action.OPEN)) { LOG.debug("opening " + dir + " via Desktop API"); - AppExecutorUtil.getAppExecutorService().submit(() -> { + ApplicationManager.getApplication().executeOnPooledThread(() -> { try { Desktop.getDesktop().open(new File(dir)); } @@ -319,7 +318,7 @@ public class ShowFilePathAction extends DumbAwareAction { private static void spawn(String... command) { LOG.debug(Arrays.toString(command)); - AppExecutorUtil.getAppExecutorService().submit(() -> { + ApplicationManager.getApplication().executeOnPooledThread(() -> { try { CapturingProcessHandler handler; if (SystemInfo.isWindows) { diff --git a/platform/platform-impl/src/com/intellij/idea/IdeaApplication.java b/platform/platform-impl/src/com/intellij/idea/IdeaApplication.java index 56289a71160f..26887cd6252b 100644 --- a/platform/platform-impl/src/com/intellij/idea/IdeaApplication.java +++ b/platform/platform-impl/src/com/intellij/idea/IdeaApplication.java @@ -108,7 +108,7 @@ public final class IdeaApplication { if (!headless) { if (SystemInfo.isMac) { // ensure that TouchBarsManager is loaded before WelcomeFrame/project - futures.add(AppExecutorUtil.getAppExecutorService().submit(() -> { + futures.add(ApplicationManager.getApplication().executeOnPooledThread(() -> { Activity activity = ParallelActivity.PREPARE_APP_INIT.start("mac touchbar"); //noinspection ResultOfMethodCallIgnored TouchBarsManager.isTouchBarAvailable(); @@ -142,7 +142,7 @@ public final class IdeaApplication { ((TransactionGuardImpl)TransactionGuard.getInstance()).performUserActivity(() -> starter.main(args)); if (PluginManagerCore.isRunningFromSources()) { - AppExecutorUtil.getAppExecutorService().execute(() -> AppUIUtil.updateWindowIcon(JOptionPane.getRootFrame())); + ApplicationManager.getApplication().executeOnPooledThread(() -> AppUIUtil.updateWindowIcon(JOptionPane.getRootFrame())); } }); } @@ -377,7 +377,7 @@ public final class IdeaApplication { frameInitActivity.end(); - AppExecutorUtil.getAppExecutorService().execute(() -> LifecycleUsageTriggerCollector.onIdeStart()); + app.executeOnPooledThread(() -> LifecycleUsageTriggerCollector.onIdeStart()); TransactionGuard.submitTransaction(app, () -> { Project projectFromCommandLine = ourPerformProjectLoad ? loadProjectFromExternalCommandLine(commandLineArgs) : null; @@ -395,7 +395,7 @@ public final class IdeaApplication { private static void postOpenUiTasks(@NotNull Application app) { if (SystemInfo.isMac) { - AppExecutorUtil.getAppExecutorService().execute(() -> { + ApplicationManager.getApplication().executeOnPooledThread(() -> { TouchBarsManager.onApplicationInitialized(); CustomActionsSchema customActionSchema = ServiceManager.getServiceIfCreated(CustomActionsSchema.class); if (customActionSchema != null) { diff --git a/platform/platform-impl/src/com/intellij/remote/BaseRemoteProcessHandler.java b/platform/platform-impl/src/com/intellij/remote/BaseRemoteProcessHandler.java index d8901f953303..e3249301256f 100644 --- a/platform/platform-impl/src/com/intellij/remote/BaseRemoteProcessHandler.java +++ b/platform/platform-impl/src/com/intellij/remote/BaseRemoteProcessHandler.java @@ -16,9 +16,12 @@ package com.intellij.remote; import com.intellij.execution.CommandLineUtil; -import com.intellij.execution.process.*; +import com.intellij.execution.process.BaseProcessHandler; +import com.intellij.execution.process.ProcessAdapter; +import com.intellij.execution.process.ProcessEvent; +import com.intellij.execution.process.ProcessOutputTypes; +import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; -import com.intellij.util.concurrency.AppExecutorUtil; import com.intellij.util.io.BaseOutputReader; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -103,7 +106,7 @@ public class BaseRemoteProcessHandler extends BaseProce @NotNull @Override public Future executeTask(@NotNull Runnable task) { - return AppExecutorUtil.getAppExecutorService().submit(task); + return ApplicationManager.getApplication().executeOnPooledThread(task); } private abstract static class RemoteOutputReader extends BaseOutputReader { diff --git a/platform/platform-tests/testSrc/com/intellij/execution/impl/ConsoleViewImplTest.java b/platform/platform-tests/testSrc/com/intellij/execution/impl/ConsoleViewImplTest.java index cceb34fb171e..b2c1a376a835 100644 --- a/platform/platform-tests/testSrc/com/intellij/execution/impl/ConsoleViewImplTest.java +++ b/platform/platform-tests/testSrc/com/intellij/execution/impl/ConsoleViewImplTest.java @@ -131,7 +131,7 @@ public class ConsoleViewImplTest extends LightPlatformTestCase { //System.out.println("Attempt #" + i); console.clear(); // 1-st clear CountDownLatch latch = new CountDownLatch(1); - Future future = AppExecutorUtil.getAppExecutorService().submit(() -> { + Future future = ApplicationManager.getApplication().executeOnPooledThread(() -> { console.clear(); // 2-nd clear console.print("Test", ConsoleViewContentType.NORMAL_OUTPUT); latch.countDown(); diff --git a/platform/platform-tests/testSrc/com/intellij/util/ui/update/MergingUpdateQueueTest.java b/platform/platform-tests/testSrc/com/intellij/util/ui/update/MergingUpdateQueueTest.java index 04b90c97e6c7..79d9d5109494 100644 --- a/platform/platform-tests/testSrc/com/intellij/util/ui/update/MergingUpdateQueueTest.java +++ b/platform/platform-tests/testSrc/com/intellij/util/ui/update/MergingUpdateQueueTest.java @@ -2,13 +2,13 @@ package com.intellij.util.ui.update; import com.intellij.concurrency.JobScheduler; +import com.intellij.openapi.application.ApplicationManager; import com.intellij.testFramework.PlatformTestUtil; import com.intellij.testFramework.UsefulTestCase; import com.intellij.util.Alarm; import com.intellij.util.ExceptionUtil; import com.intellij.util.TimeoutUtil; import com.intellij.util.WaitFor; -import com.intellij.util.concurrency.AppExecutorUtil; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; @@ -220,7 +220,7 @@ public class MergingUpdateQueueTest extends UsefulTestCase { MyQueue queue = new MyQueue(); queue.showNotify(); AtomicReference executed = new AtomicReference<>(); - AppExecutorUtil.getAppExecutorService().submit(() -> { + ApplicationManager.getApplication().executeOnPooledThread(() -> { try { queue.queue(new MyUpdate("update")); queue.flush();