removed unnecessary Alarms

This commit is contained in:
Alexey Kudravtsev
2016-08-04 15:21:39 +03:00
parent 1bc81178cb
commit fc133ef64f
4 changed files with 25 additions and 39 deletions
@@ -15,6 +15,7 @@
*/
package com.intellij.execution.startup;
import com.intellij.concurrency.JobScheduler;
import com.intellij.execution.*;
import com.intellij.execution.executors.DefaultRunExecutor;
import com.intellij.execution.impl.RunManagerImpl;
@@ -34,6 +35,7 @@ import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
/**
* @author Irina.Chernushina on 8/19/2015.
@@ -65,18 +67,18 @@ public class ProjectStartupRunner implements StartupActivity, DumbAware {
projectStartupTaskManager.checkOnChange(settings);
}
});
final Alarm alarm = new Alarm(Alarm.ThreadToUse.POOLED_THREAD, project);
alarm.addRequest(createRequest(project, alarm), DELAY_MILLIS);
scheduleRunActivities(project);
}
private static Runnable createRequest(final Project project, final Alarm alarm) {
return () -> {
if (! ((StartupManagerEx) StartupManager.getInstance(project)).postStartupActivityPassed() && !Registry.is("dumb.aware.run.configurations")) {
alarm.addRequest(createRequest(project, alarm), DELAY_MILLIS);
} else {
private static void scheduleRunActivities(@NotNull Project project) {
JobScheduler.getScheduler().schedule(() -> {
if (!((StartupManagerEx)StartupManager.getInstance(project)).postStartupActivityPassed() && !Registry.is("dumb.aware.run.configurations")) {
scheduleRunActivities(project);
}
else {
runActivities(project);
}
};
}, DELAY_MILLIS, TimeUnit.MILLISECONDS);
}
private static void runActivities(final Project project) {
@@ -15,6 +15,7 @@
*/
package com.intellij.internal.statistic.persistence;
import com.intellij.concurrency.JobScheduler;
import com.intellij.ide.AppLifecycleListener;
import com.intellij.internal.statistic.UsagesCollector;
import com.intellij.internal.statistic.beans.GroupDescriptor;
@@ -25,8 +26,6 @@ import com.intellij.openapi.project.Project;
import com.intellij.openapi.project.ProjectManager;
import com.intellij.openapi.project.ProjectManagerAdapter;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.util.Alarm;
import com.intellij.util.Function;
import gnu.trove.THashSet;
import org.jdom.Element;
import org.jetbrains.annotations.NonNls;
@@ -35,6 +34,7 @@ import org.jetbrains.annotations.NotNull;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
@State(
name = "StatisticsApplicationUsages",
@@ -44,9 +44,6 @@ public class ApplicationStatisticsPersistenceComponent extends ApplicationStatis
implements ApplicationComponent, PersistentStateComponent<Element> {
private boolean persistOnClosing = !ApplicationManager.getApplication().isUnitTestMode();
private final Alarm myAlarm;
private final long PERSIST_PERIOD = 24*60*60*1000; //1 day
private static final String TOKENIZER = ",";
@NonNls
@@ -63,10 +60,6 @@ public class ApplicationStatisticsPersistenceComponent extends ApplicationStatis
@NonNls
private static final String VALUES_ATTR = "values";
public ApplicationStatisticsPersistenceComponent() {
myAlarm = new Alarm(Alarm.ThreadToUse.POOLED_THREAD, ApplicationManager.getApplication());
}
public static ApplicationStatisticsPersistenceComponent getInstance() {
return ApplicationManager.getApplication().getComponent(ApplicationStatisticsPersistenceComponent.class);
}
@@ -80,7 +73,7 @@ public class ApplicationStatisticsPersistenceComponent extends ApplicationStatis
String projectId = projectElement.getAttributeValue(PROJECT_ID_ATTR);
String frameworks = projectElement.getAttributeValue(VALUES_ATTR);
if (!StringUtil.isEmptyOrSpaces(projectId) && !StringUtil.isEmptyOrSpaces(frameworks)) {
Set<UsageDescriptor> frameworkDescriptors = new THashSet<UsageDescriptor>();
Set<UsageDescriptor> frameworkDescriptors = new THashSet<>();
for (String key : StringUtil.split(frameworks, TOKENIZER)) {
UsageDescriptor descriptor = getUsageDescriptor(key);
if (descriptor != null) {
@@ -192,11 +185,8 @@ public class ApplicationStatisticsPersistenceComponent extends ApplicationStatis
persistPeriodically();
}
private void persistPeriodically() {
myAlarm.addRequest(() -> {
persistOpenedProjects();
persistPeriodically();
}, PERSIST_PERIOD);
private static void persistPeriodically() {
JobScheduler.getScheduler().scheduleWithFixedDelay(ApplicationStatisticsPersistenceComponent::persistOpenedProjects, 1, 1, TimeUnit.DAYS);
}
private static void persistOpenedProjects() {
@@ -205,7 +195,6 @@ public class ApplicationStatisticsPersistenceComponent extends ApplicationStatis
}
}
@Override
public void disposeComponent() {
}
@@ -15,6 +15,7 @@
*/
package com.intellij.internal.statistic.updater;
import com.intellij.concurrency.JobScheduler;
import com.intellij.ide.FrameStateListener;
import com.intellij.ide.FrameStateManager;
import com.intellij.internal.statistic.StatisticsUploadAssistant;
@@ -31,12 +32,11 @@ import com.intellij.openapi.wm.ex.WindowManagerEx;
import com.intellij.openapi.wm.impl.IdeFrameImpl;
import com.intellij.ui.BalloonLayout;
import com.intellij.ui.BalloonLayoutImpl;
import com.intellij.util.Alarm;
import com.intellij.util.Time;
import org.jetbrains.annotations.NotNull;
import java.awt.Window;
import java.awt.*;
import java.util.Arrays;
import java.util.concurrent.TimeUnit;
public class SendStatisticsComponent implements ApplicationComponent {
@@ -44,13 +44,9 @@ public class SendStatisticsComponent implements ApplicationComponent {
private static final int DELAY_IN_MIN = 10;
private final Alarm myAlarm;
private final FrameStateManager myFrameStateManager;
public SendStatisticsComponent(@NotNull FrameStateManager frameStateManager) {
myAlarm = new Alarm(Alarm.ThreadToUse.POOLED_THREAD, ApplicationManager.getApplication());
NotificationsConfigurationImpl.remove("SendUsagesStatistics");
NotificationsConfiguration.getNotificationsConfiguration().register(
StatisticsNotificationManager.GROUP_DISPLAY_ID,
@@ -101,8 +97,8 @@ public class SendStatisticsComponent implements ApplicationComponent {
}
}
private void runWithDelay(final @NotNull StatisticsService statisticsService) {
myAlarm.addRequest(() -> statisticsService.send(), Time.MINUTE * DELAY_IN_MIN);
private static void runWithDelay(@NotNull final StatisticsService statisticsService) {
JobScheduler.getScheduler().schedule(statisticsService::send, DELAY_IN_MIN, TimeUnit.MINUTES);
}
@Override
@@ -16,6 +16,7 @@
package com.intellij.execution.testframework.sm.runner.ui;
import com.intellij.codeInsight.daemon.DaemonCodeAnalyzer;
import com.intellij.concurrency.JobScheduler;
import com.intellij.execution.TestStateStorage;
import com.intellij.execution.configurations.RunConfiguration;
import com.intellij.execution.configurations.RunProfile;
@@ -49,7 +50,6 @@ import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.wm.IdeFocusManager;
import com.intellij.pom.Navigatable;
import com.intellij.ui.JBColor;
import com.intellij.util.Alarm;
import com.intellij.util.OpenSourceUtil;
import com.intellij.util.PathUtil;
import com.intellij.util.containers.ContainerUtil;
@@ -73,6 +73,7 @@ import java.io.FileWriter;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.List;
import java.util.concurrent.TimeUnit;
/**
* @author: Roman Chernyatchik
@@ -114,8 +115,7 @@ public class SMTestRunnerResultsForm extends TestResultsPanel
private final Set<String> myMentionedCategories = new LinkedHashSet<String>();
private boolean myTestsRunning = true;
private AbstractTestProxy myLastSelected;
private Alarm myUpdateQueue;
private Set<Update> myRequests = Collections.synchronizedSet(new HashSet<Update>());
private final Set<Update> myRequests = Collections.synchronizedSet(new HashSet<Update>());
private boolean myDisposed = false;
private SMTestProxy myLastFailed;
@@ -199,7 +199,6 @@ public class SMTestRunnerResultsForm extends TestResultsPanel
//TODO always hide root node
//myTreeView.setRootVisible(false);
myUpdateQueue = new Alarm(Alarm.ThreadToUse.POOLED_THREAD, this);
return myTreeView;
}
@@ -561,8 +560,8 @@ public class SMTestRunnerResultsForm extends TestResultsPanel
if (ApplicationManager.getApplication().isUnitTestMode()) {
update.run();
}
else if (myRequests.add(update) && !myUpdateQueue.isDisposed()) {
myUpdateQueue.addRequest(update, 100);
else if (myRequests.add(update) && !myDisposed) {
JobScheduler.getScheduler().schedule(update, 100, TimeUnit.MILLISECONDS);
}
myTreeBuilder.repaintWithParents(newTestOrSuite);