Fix infinite analyze in Java files after opening Kotlin view in Kotlin file

This commit is contained in:
Nikolay Krasko
2013-12-24 20:58:07 +04:00
parent fdeee587b7
commit 9dfe399bf1
2 changed files with 13 additions and 2 deletions
@@ -42,13 +42,17 @@ public class InfinitePeriodicalTask {
public void run() {
myUpdateAlarm.addRequest(this, delay);
LongRunningReadTask task = taskProvider.compute();
task.init();
boolean invalidRequest = !task.init();
//noinspection unchecked
if (task.shouldStart(currentTask)) {
currentTask = task;
currentTask.run();
}
else if (invalidRequest) {
currentTask = null;
}
}
}, delay);
@@ -125,11 +125,18 @@ public abstract class LongRunningReadTask<RequestInfo, ResultData> {
});
}
public final void init() {
/**
* Executed in GUI Thread.
*
* @return true if new request was successfully created, false if request is invalid and shouldn't be started
*/
public final boolean init() {
ApplicationManager.getApplication().assertIsDispatchThread();
requestInfo = prepareRequestInfo();
currentState = State.INITIALIZED;
return requestInfo != null;
}
private void resultReady(ResultData resultData) {