Do not wrap analyze into write action priority in tests
In tests the code is executed in EDT and runInReadActionWithWriteActionPriority fails See: MergingUpdateQueue.setPassThrough() and ExternalToolPassFactory() constructor
This commit is contained in:
committed by
Dmitry Jemerov
parent
95061885b0
commit
82a2a705fb
+13
-6
@@ -19,6 +19,7 @@ import com.intellij.lang.annotation.AnnotationHolder;
|
||||
import com.intellij.lang.annotation.ExternalAnnotator;
|
||||
import com.intellij.lang.annotation.HighlightSeverity;
|
||||
import com.intellij.openapi.actionSystem.IdeActions;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.fileTypes.FileType;
|
||||
import com.intellij.openapi.fileTypes.FileTypes;
|
||||
@@ -58,6 +59,7 @@ import static com.android.tools.klint.detector.api.TextFormat.RAW;
|
||||
|
||||
public class AndroidLintExternalAnnotator extends ExternalAnnotator<State, State> {
|
||||
static final boolean INCLUDE_IDEA_SUPPRESS_ACTIONS = false;
|
||||
static final boolean IS_UNIT_TEST_MODE = ApplicationManager.getApplication().isUnitTestMode();
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
@@ -139,12 +141,17 @@ public class AndroidLintExternalAnnotator extends ExternalAnnotator<State, State
|
||||
client, project, files, Collections.singletonList(state.getModule()), true /* incremental */);
|
||||
request.setScope(scope);
|
||||
|
||||
ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
lint.analyze(request);
|
||||
}
|
||||
});
|
||||
if (!IS_UNIT_TEST_MODE) {
|
||||
ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
lint.analyze(request);
|
||||
}
|
||||
});
|
||||
}
|
||||
else {
|
||||
lint.analyze(request);
|
||||
}
|
||||
}
|
||||
finally {
|
||||
Disposer.dispose(client);
|
||||
|
||||
Reference in New Issue
Block a user