diff --git a/platform/platform-impl/src/com/intellij/openapi/progress/util/BackgroundTaskUtil.java b/platform/platform-impl/src/com/intellij/openapi/progress/util/BackgroundTaskUtil.java index d0e09790ec03..26ae43244506 100644 --- a/platform/platform-impl/src/com/intellij/openapi/progress/util/BackgroundTaskUtil.java +++ b/platform/platform-impl/src/com/intellij/openapi/progress/util/BackgroundTaskUtil.java @@ -16,6 +16,7 @@ package com.intellij.openapi.progress.util; import com.intellij.openapi.Disposable; +import com.intellij.openapi.application.Application; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.ModalityState; import com.intellij.openapi.application.ReadAction; @@ -216,30 +217,30 @@ public class BackgroundTaskUtil { */ @NotNull @CalledInAny - public static ProgressIndicator executeOnPooledThread(@NotNull Runnable runnable, @NotNull Disposable parent) { - return executeOnPooledThread(indicator -> runnable.run(), parent); + public static ProgressIndicator executeOnPooledThread(@NotNull Disposable parent, @NotNull Runnable runnable) { + return executeOnPooledThread(parent, indicator -> runnable.run()); } @NotNull @CalledInAny - public static ProgressIndicator executeOnPooledThread(@NotNull Consumer task, @NotNull Disposable parent) { + public static ProgressIndicator executeOnPooledThread(@NotNull Disposable parent, @NotNull Consumer task) { ModalityState modalityState = ModalityState.defaultModalityState(); - return executeOnPooledThread(task, parent, modalityState); + return executeOnPooledThread(parent, modalityState, task); } @NotNull @CalledInAny - public static ProgressIndicator executeOnPooledThread(@NotNull Consumer task, - @NotNull Disposable parent, - @NotNull ModalityState modalityState) { - return runUnderDisposeAwareIndicator(task, parent, modalityState, true); + public static ProgressIndicator executeOnPooledThread(@NotNull Disposable parent, + @NotNull ModalityState modalityState, + @NotNull Consumer task) { + return runUnderDisposeAwareIndicator(parent, modalityState, true, task); } @CalledInAny - private static ProgressIndicator runUnderDisposeAwareIndicator(@NotNull Consumer task, - @NotNull Disposable parent, + private static ProgressIndicator runUnderDisposeAwareIndicator(@NotNull Disposable parent, @NotNull ModalityState modalityState, - boolean onPooledThread) { + boolean onPooledThread, + @NotNull Consumer task) { ProgressIndicator indicator = new EmptyProgressIndicator(modalityState); Disposable disposable = new Disposable() { @@ -278,7 +279,7 @@ public class BackgroundTaskUtil { @CalledInAny public static void runUnderDisposeAwareIndicator(@NotNull Disposable parent, @NotNull Runnable task) { - runUnderDisposeAwareIndicator(indicator -> task.run(), parent, ModalityState.defaultModalityState(), false); + runUnderDisposeAwareIndicator(parent, ModalityState.defaultModalityState(), false, indicator -> task.run()); } /** diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/actions/AnnotateDiffViewerAction.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/actions/AnnotateDiffViewerAction.java index dcf8d07db52d..1b15811175a5 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/actions/AnnotateDiffViewerAction.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/actions/AnnotateDiffViewerAction.java @@ -163,7 +163,7 @@ public class AnnotateDiffViewerAction { annotator.getBackgroundableLock().lock(); if (diffContext != null) diffContext.showProgressBar(true); - BackgroundTaskUtil.executeOnPooledThread(indicator -> { + BackgroundTaskUtil.executeOnPooledThread(viewer, indicator -> { try { loader.run(); } @@ -187,7 +187,7 @@ public class AnnotateDiffViewerAction { annotator.showAnnotation(loader.getResult()); }, indicator.getModalityState()); } - }, viewer); + }); } @Nullable diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/history/impl/VcsSelectionHistoryDialog.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/history/impl/VcsSelectionHistoryDialog.java index 26eb119bfc69..5e0da9b6e4ba 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/history/impl/VcsSelectionHistoryDialog.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/history/impl/VcsSelectionHistoryDialog.java @@ -551,7 +551,7 @@ public class VcsSelectionHistoryDialog extends FrameWrapper implements DataProvi } public void start(@NotNull Disposable disposable) { - BackgroundTaskUtil.executeOnPooledThread((indicator) -> { + BackgroundTaskUtil.executeOnPooledThread(disposable, (indicator) -> { try { // first block is loaded in constructor for (int index = 1; index < myRevisions.size(); index++) { @@ -586,7 +586,7 @@ public class VcsSelectionHistoryDialog extends FrameWrapper implements DataProvi } notifyUpdate(); } - }, disposable); + }); } @CalledInBackground diff --git a/plugins/git4idea/src/git4idea/GitUserRegistry.java b/plugins/git4idea/src/git4idea/GitUserRegistry.java index 450b704753d8..cd5789a38196 100644 --- a/plugins/git4idea/src/git4idea/GitUserRegistry.java +++ b/plugins/git4idea/src/git4idea/GitUserRegistry.java @@ -107,7 +107,7 @@ public class GitUserRegistry implements Disposable, VcsListener { getOrReadUser(root); } }; - BackgroundTaskUtil.executeOnPooledThread(task, myProject); + BackgroundTaskUtil.executeOnPooledThread(myProject, task); } } } diff --git a/plugins/git4idea/src/git4idea/GitVcs.java b/plugins/git4idea/src/git4idea/GitVcs.java index de7a07692459..d90a29abafaa 100644 --- a/plugins/git4idea/src/git4idea/GitVcs.java +++ b/plugins/git4idea/src/git4idea/GitVcs.java @@ -534,7 +534,7 @@ public class GitVcs extends AbstractVcs { Collection roots = ServiceManager.getService(myProject, VcsRootDetector.class).detect(); new GitIntegrationEnabler(this, myGit).enable(roots); }; - BackgroundTaskUtil.executeOnPooledThread(task, myProject); + BackgroundTaskUtil.executeOnPooledThread(myProject, task); } @Override diff --git a/plugins/git4idea/src/git4idea/merge/GitConflictResolver.java b/plugins/git4idea/src/git4idea/merge/GitConflictResolver.java index 0844cb4f4a68..2ca75903b79b 100644 --- a/plugins/git4idea/src/git4idea/merge/GitConflictResolver.java +++ b/plugins/git4idea/src/git4idea/merge/GitConflictResolver.java @@ -261,7 +261,7 @@ public class GitConflictResolver { if (event.getEventType() == HyperlinkEvent.EventType.ACTIVATED && event.getDescription().equals("resolve")) { notification.expire(); Runnable task = () -> mergeNoProceed(); - BackgroundTaskUtil.executeOnPooledThread(task, myProject); + BackgroundTaskUtil.executeOnPooledThread(myProject, task); } } } diff --git a/plugins/git4idea/src/git4idea/rebase/GitRewordOperation.kt b/plugins/git4idea/src/git4idea/rebase/GitRewordOperation.kt index a422f98d7ddc..37a852b6c0e0 100644 --- a/plugins/git4idea/src/git4idea/rebase/GitRewordOperation.kt +++ b/plugins/git4idea/src/git4idea/rebase/GitRewordOperation.kt @@ -202,9 +202,9 @@ class GitRewordOperation(private val repository: GitRepository, val connection = project.messageBus.connect() notification.whenExpired { connection.disconnect() } connection.subscribe(GitRepository.GIT_REPO_CHANGE, GitRepositoryChangeListener { - BackgroundTaskUtil.executeOnPooledThread(Runnable { + BackgroundTaskUtil.executeOnPooledThread(repository, Runnable { if (checkUndoPossibility(project) !is UndoPossibility.Possible) notification.expire() - }, repository) + }) }) notifier.notify(notification) diff --git a/plugins/git4idea/src/git4idea/repo/GitRepositoryImpl.java b/plugins/git4idea/src/git4idea/repo/GitRepositoryImpl.java index 534cd9ada0e8..916048bc2cff 100644 --- a/plugins/git4idea/src/git4idea/repo/GitRepositoryImpl.java +++ b/plugins/git4idea/src/git4idea/repo/GitRepositoryImpl.java @@ -233,7 +233,7 @@ public class GitRepositoryImpl extends RepositoryImpl implements GitRepository { Runnable task = () -> { syncPublisher(repository.getProject(), GIT_REPO_CHANGE).repositoryChanged(repository); }; - BackgroundTaskUtil.executeOnPooledThread(task, repository); + BackgroundTaskUtil.executeOnPooledThread(repository, task); } @NotNull diff --git a/plugins/hg4idea/src/org/zmlx/hg4idea/util/HgUtil.java b/plugins/hg4idea/src/org/zmlx/hg4idea/util/HgUtil.java index 2d407cb88a5c..7407cb601b5b 100644 --- a/plugins/hg4idea/src/org/zmlx/hg4idea/util/HgUtil.java +++ b/plugins/hg4idea/src/org/zmlx/hg4idea/util/HgUtil.java @@ -388,7 +388,7 @@ public abstract class HgUtil { @NotNull public static ProgressIndicator executeOnPooledThread(@NotNull Runnable runnable, @NotNull Disposable parentDisposable) { - return BackgroundTaskUtil.executeOnPooledThread(runnable, parentDisposable); + return BackgroundTaskUtil.executeOnPooledThread(parentDisposable, runnable); } /**