From 196c3e9b31b060954748756b471a8d6ace68a4df Mon Sep 17 00:00:00 2001 From: hsz Date: Sun, 3 Sep 2017 23:48:38 +0200 Subject: [PATCH] #462 - migration to DumbModeListener --- .../hsz/idea/gitignore/IgnoreManager.java | 22 +++++++++---------- .../gitignore/indexing/IgnoreFilesIndex.java | 2 +- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/mobi/hsz/idea/gitignore/IgnoreManager.java b/src/mobi/hsz/idea/gitignore/IgnoreManager.java index fcdf24ba..03302404 100644 --- a/src/mobi/hsz/idea/gitignore/IgnoreManager.java +++ b/src/mobi/hsz/idea/gitignore/IgnoreManager.java @@ -168,10 +168,6 @@ protected void task(@Nullable Boolean refresh) { } }; - /** Scheduled feature connected with {@link #debouncedStatusesChanged}. */ - @NotNull - private final InterruptibleScheduledFuture statusesChangedScheduledFeature; - /** Scheduled feature connected with {@link #debouncedRefreshTrackedIgnores}. */ @NotNull private final InterruptibleScheduledFuture refreshTrackedIgnoredFeature; @@ -278,6 +274,14 @@ public void directoryMappingChanged() { } }; + /** {@link DumbService.DumbModeListener} instance. */ + private DumbService.DumbModeListener dumbModeListener = new DumbService.DumbModeListener() { + @Override + public void exitDumbMode() { + debouncedStatusesChanged.run(); + } + }; + /** * Returns {@link IgnoreManager} service instance. * @@ -300,9 +304,6 @@ public IgnoreManager(@NotNull final Project project) { this.settings = IgnoreSettings.getInstance(); this.statusManager = FileStatusManager.getInstance(project); this.refreshTrackedIgnoredRunnable = new RefreshTrackedIgnoredRunnable(); - this.statusesChangedScheduledFeature = - new InterruptibleScheduledFuture(debouncedStatusesChanged, 5000, 50); - this.statusesChangedScheduledFeature.setTrailing(true); this.refreshTrackedIgnoredFeature = new InterruptibleScheduledFuture(debouncedRefreshTrackedIgnores, 10000, 5); this.projectLevelVcsManager = ProjectLevelVcsManager.getInstance(project); @@ -391,7 +392,6 @@ public boolean isFileIgnored(@NotNull final VirtualFile file) { } if (ignored) { - statusesChangedScheduledFeature.cancel(); refreshTrackedIgnoredFeature.cancel(); } @@ -446,7 +446,6 @@ private void enable() { return; } - statusesChangedScheduledFeature.run(); refreshTrackedIgnoredFeature.run(); virtualFileManager.addVirtualFileListener(virtualFileListener); settings.addListener(settingsListener); @@ -455,23 +454,22 @@ private void enable() { messageBus.subscribe(RefreshStatusesListener.REFRESH_STATUSES, new RefreshStatusesListener() { @Override public void refresh() { - statusesChangedScheduledFeature.run(); + debouncedStatusesChanged.run(); } }); messageBus.subscribe(TRACKED_IGNORED_REFRESH, new RefreshTrackedIgnoredListener() { @Override public void refresh() { - debouncedRefreshTrackedIgnores.run(false); } }); messageBus.subscribe(ProjectLevelVcsManager.VCS_CONFIGURATION_CHANGED, vcsListener); + messageBus.subscribe(DumbService.DUMB_MODE, dumbModeListener); working = true; } /** Disable manager. */ private void disable() { - statusesChangedScheduledFeature.cancel(); virtualFileManager.removeVirtualFileListener(virtualFileListener); settings.removeListener(settingsListener); diff --git a/src/mobi/hsz/idea/gitignore/indexing/IgnoreFilesIndex.java b/src/mobi/hsz/idea/gitignore/indexing/IgnoreFilesIndex.java index c723d912..a60fbeaa 100644 --- a/src/mobi/hsz/idea/gitignore/indexing/IgnoreFilesIndex.java +++ b/src/mobi/hsz/idea/gitignore/indexing/IgnoreFilesIndex.java @@ -64,7 +64,7 @@ public class IgnoreFilesIndex extends AbstractIgnoreFilesIndex KEY = ID.create("IgnoreFilesIndex"); /** Current indexer version. Has to be increased if significant changes have been done. */ - private static final int VERSION = 2; + private static final int VERSION = 3; /** * Returns indexer's name.