mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Better cancellation of background post-startup activities on project closing (IDEA-CR-48118)
GitOrigin-RevId: 4587e674f44f6792e316c26b6f0e5bfb667d9857
This commit is contained in:
committed by
intellij-monorepo-bot
parent
9b8f029cb7
commit
0ea0995680
@@ -21,6 +21,7 @@ import com.intellij.openapi.extensions.PluginDescriptor;
|
||||
import com.intellij.openapi.progress.ProcessCanceledException;
|
||||
import com.intellij.openapi.progress.ProgressIndicator;
|
||||
import com.intellij.openapi.progress.ProgressManager;
|
||||
import com.intellij.openapi.progress.util.BackgroundTaskUtil;
|
||||
import com.intellij.openapi.project.DumbModeTask;
|
||||
import com.intellij.openapi.project.DumbService;
|
||||
import com.intellij.openapi.project.DumbServiceImpl;
|
||||
@@ -446,16 +447,18 @@ public class StartupManagerImpl extends StartupManagerEx implements Disposable {
|
||||
|
||||
public void scheduleBackgroundPostStartupActivities() {
|
||||
myBackgroundPostStartupScheduledFuture = AppExecutorUtil.getAppScheduledExecutorService().schedule(() -> {
|
||||
for (StartupActivity activity : StartupActivity.BACKGROUND_POST_STARTUP_ACTIVITY.getIterable()) {
|
||||
activity.runActivity(myProject);
|
||||
}
|
||||
BackgroundTaskUtil.runUnderDisposeAwareIndicator(this, () -> {
|
||||
for (StartupActivity activity : StartupActivity.BACKGROUND_POST_STARTUP_ACTIVITY.getIterable()) {
|
||||
activity.runActivity(myProject);
|
||||
}
|
||||
});
|
||||
}, 5, TimeUnit.SECONDS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispose() {
|
||||
if (myBackgroundPostStartupScheduledFuture != null) {
|
||||
myBackgroundPostStartupScheduledFuture.cancel(true);
|
||||
myBackgroundPostStartupScheduledFuture.cancel(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user