IDEA-165402 Toolwindow initialization takes noticeable time during project loading without visual...

This commit is contained in:
Dmitry Avdeev
2016-12-16 16:56:49 +03:00
parent 775aa24e84
commit 9b5a6fd6c8
3 changed files with 10 additions and 11 deletions
@@ -141,10 +141,16 @@ public class StartupManagerImpl extends StartupManagerEx {
}
public void runPostStartupActivitiesFromExtensions() {
for (final StartupActivity extension : Extensions.getExtensions(StartupActivity.POST_STARTUP_ACTIVITY)) {
StartupActivity[] extensions = Extensions.getExtensions(StartupActivity.POST_STARTUP_ACTIVITY);
for (final StartupActivity extension : extensions) {
final Runnable runnable = () -> {
if (!myProject.isDisposed()) {
long start = System.currentTimeMillis();
extension.runActivity(myProject);
long duration = System.currentTimeMillis() - start;
if (duration > 200) {
LOG.info(extension.getClass().getSimpleName() + " run in " + duration);
}
}
};
if (extension instanceof DumbAware) {
@@ -15,7 +15,6 @@
*/
package com.intellij.openapi.fileEditor.impl;
import com.intellij.ide.IdeBundle;
import com.intellij.ide.ui.UISettings;
import com.intellij.ide.ui.UISettingsListener;
import com.intellij.openapi.Disposable;
@@ -235,7 +234,6 @@ public class EditorsSplitters extends IdePanePanel implements UISettingsListener
public void openFiles() {
if (mySplittersElement != null) {
initializeProgress();
final JPanel comp = myUIBuilder.process(mySplittersElement, getTopPanel());
UIUtil.invokeAndWaitIfNeeded((Runnable)() -> {
if (comp != null) {
@@ -255,13 +253,6 @@ public class EditorsSplitters extends IdePanePanel implements UISettingsListener
}
}
private static void initializeProgress() {
ProgressIndicator indicator = ProgressManager.getInstance().getProgressIndicator();
if (indicator != null) {
indicator.setText(IdeBundle.message("loading.editors"));
}
}
public int getEditorsCount() {
return mySplittersElement == null ? 0 : countFiles(mySplittersElement);
}
@@ -352,7 +352,9 @@ public class ProjectManagerImpl extends ProjectManagerEx implements Disposable {
}
}, ModalityState.NON_MODAL);
};
if (myProgressManager.getProgressIndicator() != null) {
ProgressIndicator indicator = myProgressManager.getProgressIndicator();
if (indicator != null) {
indicator.setText("Preparing workspace...");
process.run();
return true;
}