Floating notification shouldn't be shown during import

It depends on up to date check that is correct only after all caches are updated after import
This commit is contained in:
Natalia Selezneva
2020-06-18 17:28:42 +03:00
parent 59183a8142
commit 66e23c9767
3 changed files with 7 additions and 7 deletions
@@ -52,6 +52,10 @@ sealed class GradleBuildRoot(
fun fileChanged(filePath: String, ts: Long) {
lastModifiedFiles.fileChanged(ts, filePath)
}
fun isImportingInProgress(): Boolean {
return importing.get() != ImportingStatus.updated
}
}
sealed class WithoutScriptModels(
@@ -104,8 +104,7 @@ abstract class GradleBuildRootsLocator {
}
private val importing: Boolean
get() = nearest != null &&
nearest.importing.get() != GradleBuildRoot.ImportingStatus.updated
get() = nearest != null && nearest.isImportingInProgress()
private val isImported: Boolean
get() = script != null
@@ -30,7 +30,6 @@ import org.jetbrains.kotlin.idea.scripting.gradle.roots.GradleBuildRoot.Importin
import org.jetbrains.kotlin.idea.util.application.runReadAction
import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstance
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
import org.jetbrains.plugins.gradle.config.GradleSettingsListenerAdapter
import org.jetbrains.plugins.gradle.service.GradleInstallationManager
import org.jetbrains.plugins.gradle.settings.*
@@ -91,15 +90,13 @@ class GradleBuildRootsManager(val project: Project) : GradleBuildRootsLocator(),
}
override fun isConfigurationLoadingInProgress(file: KtFile): Boolean {
return when (val root = findScriptBuildRoot(file.originalFile.virtualFile)?.nearest) {
is GradleBuildRoot -> root.importing.get() != updated
else -> false
}
return findScriptBuildRoot(file.originalFile.virtualFile)?.nearest?.isImportingInProgress() ?: return false
}
@Suppress("MemberVisibilityCanBePrivate") // used in GradleImportHelper.kt.201
fun isConfigurationOutOfDate(file: VirtualFile): Boolean {
val script = getScriptInfo(file) ?: return false
if (script.buildRoot.isImportingInProgress()) return false
return !script.model.inputs.isUpToDate(project, file)
}