From c3e827fd3dbcb4480a2e955cc67154e1ebeb8d63 Mon Sep 17 00:00:00 2001 From: Sasha Blashenkov Date: Tue, 19 Dec 2023 16:10:59 +0100 Subject: [PATCH] [feature-usage-database] IDEA-340827 Slow Op Grouped issue based on 19033033 1700014620000 GitOrigin-RevId: 8544e39c96d09e9a7d528055ea42a24741148af1 --- .../counters/community/events/CodingTimeUserActivity.kt | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/plugins/feature-usage-database-counters/src/com/intellij/ae/database/counters/community/events/CodingTimeUserActivity.kt b/plugins/feature-usage-database-counters/src/com/intellij/ae/database/counters/community/events/CodingTimeUserActivity.kt index d72d3907453a..bdbd9f5fead7 100644 --- a/plugins/feature-usage-database-counters/src/com/intellij/ae/database/counters/community/events/CodingTimeUserActivity.kt +++ b/plugins/feature-usage-database-counters/src/com/intellij/ae/database/counters/community/events/CodingTimeUserActivity.kt @@ -6,7 +6,7 @@ import com.intellij.ae.database.createMap import com.intellij.ae.database.runUpdateEvent import com.intellij.ae.database.utils.InstantUtils import com.intellij.lang.Language -import com.intellij.openapi.application.EDT +import com.intellij.openapi.application.readAction import com.intellij.openapi.editor.event.DocumentEvent import com.intellij.openapi.editor.event.DocumentListener import com.intellij.openapi.editor.event.EditorFactoryEvent @@ -19,8 +19,6 @@ import com.intellij.openapi.vfs.validOrNull import com.intellij.psi.impl.PsiManagerEx import com.intellij.psi.util.validOrNull import com.intellij.util.io.DigestUtil -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.withContext import org.jetbrains.sqlite.ObjectBinderFactory import java.math.BigInteger import java.time.Instant @@ -106,7 +104,7 @@ internal class CodingTimeUserActivityEditorFactoryListener : EditorFactoryListen override fun documentChanged(event: DocumentEvent) { FeatureUsageDatabaseCountersScopeProvider.getScope().runUpdateEvent(CodingTimeUserActivity) { val vf = editor.virtualFile?.validOrNull() ?: return@runUpdateEvent - val psiFile = withContext(Dispatchers.EDT) { + val psiFile = readAction { PsiManagerEx.getInstance(project).findFile(vf)?.validOrNull() } ?: return@runUpdateEvent it.write(editorId, psiFile.language, vf)