diff --git a/platform/platform-impl/src/com/intellij/diagnostic/ExceptionAutoReportUtil.kt b/platform/platform-impl/src/com/intellij/diagnostic/ExceptionAutoReportUtil.kt index 294c1a8ea1bc..ba9922c3564b 100644 --- a/platform/platform-impl/src/com/intellij/diagnostic/ExceptionAutoReportUtil.kt +++ b/platform/platform-impl/src/com/intellij/diagnostic/ExceptionAutoReportUtil.kt @@ -10,6 +10,7 @@ import com.intellij.ide.plugins.PluginUtil import com.intellij.ide.util.PropertiesComponent import com.intellij.idea.AppMode import com.intellij.internal.statistic.utils.getPluginInfoByDescriptor +import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.application.impl.ApplicationInfoImpl import com.intellij.openapi.diagnostic.thisLogger import com.intellij.openapi.project.Project @@ -38,6 +39,14 @@ object ExceptionAutoReportUtil { return consent?.isAccepted == true && !needsReconfirm } + @JvmStatic + val isAutoReportEnabledOrUndecided: Boolean + get() { + if (!isAutoReportVisible) return false + val (consent, needsReconfirm) = getConsentAndNeedsReconfirm() + return consent?.isAccepted == true || needsReconfirm + } + private fun getConsentAndNeedsReconfirm(): Pair { val (consents, needsReconfirm) = ConsentOptions.getInstance().getConsents(ConsentOptions.condEAAutoReportConsent()) thisLogger().assertTrue(consents.size <= 1) { @@ -88,7 +97,12 @@ object ExceptionAutoReportUtil { return Pair(submitter, plugin) } - private fun isDefaultSubmitter(submitter: ITNReporter): Boolean = submitter.javaClass == ITNReporter::class.java + private fun isDefaultSubmitter(submitter: ITNReporter): Boolean { + val cls = submitter.javaClass + return cls == ITNReporter::class.java + || cls.name == $$"com.intellij.rustrover.RustRoverMessagePoolAutoReporter$MyITNReporter" + && ApplicationManager.getApplication().isEAP + } } internal class ReporterIdForEAAutoReporters : AboutPopupDescriptionProvider {