RUST-19790 Use ExceptionAutoReporter in RustRover EAP

(cherry picked from commit d5ae2c1b8a1dc50fc0668f23f23f9257e1dc8de3)

IJ-CR-193464

GitOrigin-RevId: 5c429251a2c4218adcd1cf4abf87196766436147
This commit is contained in:
Vladislav Beskrovny
2026-02-26 12:57:35 +00:00
committed by intellij-monorepo-bot
parent 940d523390
commit a3a693fb75
@@ -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<Consent?, Boolean> {
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 {