public void runPostStartupActivitiesFromExtensions() { for (final StartupActivity extension : Extensions.getExtensions(StartupActivity.POST_STARTUP_ACTIVITY)) { final Runnable runnable = new Runnable() { @Override public void run() { if (!myProject.isDisposed()) { extension.runActivity(myProject); } } }; if (extension instanceof DumbAware) { runActivity(runnable); } else { queueSmartModeActivity(runnable); } } }
private static void runActivities(@NotNull List<Runnable> activities) { while (!activities.isEmpty()) { runActivity(activities.remove(0)); } }