Fix infinite analyze in Java files after opening Kotlin view in Kotlin file
This commit is contained in:
@@ -42,13 +42,17 @@ public class InfinitePeriodicalTask {
|
|||||||
public void run() {
|
public void run() {
|
||||||
myUpdateAlarm.addRequest(this, delay);
|
myUpdateAlarm.addRequest(this, delay);
|
||||||
LongRunningReadTask task = taskProvider.compute();
|
LongRunningReadTask task = taskProvider.compute();
|
||||||
task.init();
|
|
||||||
|
boolean invalidRequest = !task.init();
|
||||||
|
|
||||||
//noinspection unchecked
|
//noinspection unchecked
|
||||||
if (task.shouldStart(currentTask)) {
|
if (task.shouldStart(currentTask)) {
|
||||||
currentTask = task;
|
currentTask = task;
|
||||||
currentTask.run();
|
currentTask.run();
|
||||||
}
|
}
|
||||||
|
else if (invalidRequest) {
|
||||||
|
currentTask = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}, delay);
|
}, 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();
|
ApplicationManager.getApplication().assertIsDispatchThread();
|
||||||
|
|
||||||
requestInfo = prepareRequestInfo();
|
requestInfo = prepareRequestInfo();
|
||||||
currentState = State.INITIALIZED;
|
currentState = State.INITIALIZED;
|
||||||
|
|
||||||
|
return requestInfo != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void resultReady(ResultData resultData) {
|
private void resultReady(ResultData resultData) {
|
||||||
|
|||||||
Reference in New Issue
Block a user