clarify API: introduce StartupActivity.Background

GitOrigin-RevId: abaa567957a7643a649aee8df75bcffd6d89f028
This commit is contained in:
Sergey Ignatov
2019-09-04 21:04:03 +00:00
committed by intellij-monorepo-bot
parent 20e284c186
commit 325a0bcfa8
10 changed files with 13 additions and 12 deletions
@@ -26,9 +26,10 @@ public interface StartupActivity {
* immediately when this happens, so if you need to access other components, you're responsible for doing this in a
* thread-safe way (e.g. by taking a read action to collect all the state you need).</p>
*/
ExtensionPointName<StartupActivity> BACKGROUND_POST_STARTUP_ACTIVITY = ExtensionPointName.create("com.intellij.backgroundPostStartupActivity");
ExtensionPointName<StartupActivity.Background> BACKGROUND_POST_STARTUP_ACTIVITY = ExtensionPointName.create("com.intellij.backgroundPostStartupActivity");
void runActivity(@NotNull Project project);
interface DumbAware extends StartupActivity, com.intellij.openapi.project.DumbAware {}
interface Background extends StartupActivity {}
}
@@ -13,7 +13,7 @@ import com.intellij.openapi.project.Project;
import com.intellij.openapi.startup.StartupActivity;
import org.jetbrains.annotations.NotNull;
final class ExternalSystemStartupActivity implements StartupActivity.DumbAware {
final class ExternalSystemStartupActivity implements StartupActivity.Background {
@Override
public void runActivity(@NotNull final Project project) {
ExternalProjectsManagerImpl.getInstance(project).init();
@@ -12,7 +12,7 @@ import com.intellij.openapi.module.ModuleManager
import com.intellij.openapi.project.Project
import com.intellij.openapi.startup.StartupActivity
class ReprocessContentRootDataActivity : StartupActivity.DumbAware {
class ReprocessContentRootDataActivity : StartupActivity.Background {
private val LOG = Logger.getInstance(ReprocessContentRootDataActivity::class.java)
override fun runActivity(project: Project) {
@@ -13,7 +13,7 @@ import java.lang.management.ManagementFactory
/**
* @author yole
*/
class MemorySizeConfigurator : StartupActivity {
class MemorySizeConfigurator : StartupActivity.Background {
override fun runActivity(project: Project) {
if (ApplicationManager.getApplication().isUnitTestMode) return
@@ -17,7 +17,7 @@ import com.intellij.openapi.ui.Messages
import com.intellij.util.ui.UIUtil
import java.nio.file.Path
class WindowsDefenderCheckerActivity : StartupActivity {
class WindowsDefenderCheckerActivity : StartupActivity.Background {
override fun runActivity(project: Project) {
val app = ApplicationManager.getApplication()
if (app.isUnitTestMode) return
@@ -410,12 +410,12 @@ public class StartupManagerImpl extends StartupManagerEx implements Disposable {
}
public void scheduleBackgroundPostStartupActivities() {
List<StartupActivity> backgroundPostStartupActivities = StartupActivity.BACKGROUND_POST_STARTUP_ACTIVITY.getExtensionList();
List<StartupActivity.Background> backgroundPostStartupActivities = StartupActivity.BACKGROUND_POST_STARTUP_ACTIVITY.getExtensionList();
Extensions.getRootArea().getExtensionPoint(StartupActivity.BACKGROUND_POST_STARTUP_ACTIVITY).addExtensionPointListener(
new ExtensionPointListener<StartupActivity>() {
new ExtensionPointListener<StartupActivity.Background>() {
@Override
public void extensionAdded(@NotNull StartupActivity extension, @NotNull PluginDescriptor pluginDescriptor) {
public void extensionAdded(@NotNull StartupActivity.Background extension, @NotNull PluginDescriptor pluginDescriptor) {
extension.runActivity(myProject);
}
}, false, this);
@@ -26,7 +26,7 @@ import java.io.IOException;
import java.net.UnknownHostException;
import java.util.*;
final class PluginsAdvertiserStartupActivity implements StartupActivity.DumbAware {
final class PluginsAdvertiserStartupActivity implements StartupActivity.Background {
@Override
public void runActivity(@NotNull Project project) {
Application app = ApplicationManager.getApplication();
@@ -12,7 +12,7 @@ import git4idea.repo.GitRepositoryManager
const val GC_AUTO = "gc.auto"
class GitSetupProjectConfig: StartupActivity {
class GitSetupProjectConfig: StartupActivity.Background {
override fun runActivity(project: Project) {
ProjectLevelVcsManagerImpl.getInstanceImpl(project).addInitializationRequest(VcsInitObject.AFTER_COMMON) {
if (ApplicationManager.getApplication().isDispatchThread) {
@@ -32,7 +32,7 @@ import java.io.IOException;
* PyPI cache updater
* User : catherine
*/
public class PyPackagesUpdater implements StartupActivity {
public class PyPackagesUpdater implements StartupActivity.Background {
private static final Logger LOG = Logger.getInstance(PyPackagesUpdater.class);
private static final long EXPIRATION_TIMEOUT = DateFormatUtil.DAY;
@@ -63,7 +63,7 @@ import java.util.concurrent.Future;
* @author vlan
* @author yole
*/
public class PythonSdkUpdater implements StartupActivity {
public class PythonSdkUpdater implements StartupActivity.Background {
private static final Logger LOG = Logger.getInstance("#com.jetbrains.python.sdk.PythonSdkUpdater");
private static final Object ourLock = new Object();