Refactoring: extract function for getting project

This commit is contained in:
Nikolay Krasko
2018-05-24 12:14:54 +03:00
parent 6f8e25eae7
commit e6905c9b3d
@@ -19,22 +19,22 @@ package org.jetbrains.kotlin.idea.configuration
import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskId import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskId
import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskNotificationListenerAdapter import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskNotificationListenerAdapter
import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskType import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskType
import com.intellij.openapi.project.Project
import org.jetbrains.kotlin.idea.configuration.ui.KotlinConfigurationCheckerComponent import org.jetbrains.kotlin.idea.configuration.ui.KotlinConfigurationCheckerComponent
class KotlinExternalSystemSyncListener : ExternalSystemTaskNotificationListenerAdapter() { class KotlinExternalSystemSyncListener : ExternalSystemTaskNotificationListenerAdapter() {
override fun onStart(id: ExternalSystemTaskId, workingDir: String) { override fun onStart(id: ExternalSystemTaskId, workingDir: String) {
if (id.type == ExternalSystemTaskType.RESOLVE_PROJECT) { val project = id.findResolvedProject() ?: return
id.findProject()?.let { project -> KotlinConfigurationCheckerComponent.getInstance(project).syncStarted()
KotlinConfigurationCheckerComponent.getInstance(project).syncStarted()
}
}
} }
override fun onEnd(id: ExternalSystemTaskId) { override fun onEnd(id: ExternalSystemTaskId) {
if (id.type == ExternalSystemTaskType.RESOLVE_PROJECT) { val project = id.findResolvedProject() ?: return
id.findProject()?.let { project -> KotlinConfigurationCheckerComponent.getInstance(project).syncDone()
KotlinConfigurationCheckerComponent.getInstance(project).syncDone()
}
}
} }
} }
internal fun ExternalSystemTaskId.findResolvedProject(): Project? {
if (type != ExternalSystemTaskType.RESOLVE_PROJECT) return null
return findProject()
}