Bug 548898 - [Tips] Move early startup Tips init to the background
* used a job
* added nls
Change-Id: I5ada67d80a8559d5712c5f693ca14aa733ecee7a
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
Signed-off-by: Wim Jongman <wim.jongman@remainsoftware.com>
diff --git a/org.eclipse.tips.ide/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tips.ide/.settings/org.eclipse.jdt.core.prefs
index eb1ebb9..2b431f4 100644
--- a/org.eclipse.tips.ide/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.tips.ide/.settings/org.eclipse.jdt.core.prefs
@@ -52,7 +52,7 @@
org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
@@ -91,6 +91,7 @@
org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
diff --git a/org.eclipse.tips.ide/src/org/eclipse/tips/ide/internal/Messages.java b/org.eclipse.tips.ide/src/org/eclipse/tips/ide/internal/Messages.java
index 0db1171..d0dd29f 100644
--- a/org.eclipse.tips.ide/src/org/eclipse/tips/ide/internal/Messages.java
+++ b/org.eclipse.tips.ide/src/org/eclipse/tips/ide/internal/Messages.java
@@ -15,6 +15,7 @@
public static String IDETipManager_8;
public static String IDETipManager_9;
public static String Startup_0;
+ public static String Startup_1;
public static String Startup_18;
public static String Startup_19;
public static String Startup_20;
diff --git a/org.eclipse.tips.ide/src/org/eclipse/tips/ide/internal/Startup.java b/org.eclipse.tips.ide/src/org/eclipse/tips/ide/internal/Startup.java
index 3b5232c..eeb7fa3 100644
--- a/org.eclipse.tips.ide/src/org/eclipse/tips/ide/internal/Startup.java
+++ b/org.eclipse.tips.ide/src/org/eclipse/tips/ide/internal/Startup.java
@@ -50,7 +50,21 @@
@Override
public void earlyStartup() {
if (!(TipsPreferences.getStartupBehavior() == TipManager.START_DISABLE)) {
- start();
+ Job job = new Job(Messages.Startup_1) {
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ start();
+ return Status.OK_STATUS;
+ }
+
+ @Override
+ public boolean belongsTo(Object family) {
+ return Startup.class.equals(family);
+ }
+ };
+ job.setSystem(true);
+ job.setUser(false);
+ job.schedule();
}
}
diff --git a/org.eclipse.tips.ide/src/org/eclipse/tips/ide/internal/messages.properties b/org.eclipse.tips.ide/src/org/eclipse/tips/ide/internal/messages.properties
index a5eb8b1..e97bcd8 100644
--- a/org.eclipse.tips.ide/src/org/eclipse/tips/ide/internal/messages.properties
+++ b/org.eclipse.tips.ide/src/org/eclipse/tips/ide/internal/messages.properties
@@ -9,6 +9,7 @@
IDETipManager_8=Evaluating expression {0}
IDETipManager_9=Evaluating expression done. Priority: {0}
Startup_0=Load default IDE Tip Providers
+Startup_1=Loading Tips
Startup_18=Fetching content for the tip of the day
Startup_19=Checking for tip of the day content
Startup_20=Tip of the Day