[Feedback] IDEA-331610 Separate flags for the evaluation and for the general feedback forms

GitOrigin-RevId: aa992fdbcd4ab9e8fafd0a9ece64329d38e3184b
This commit is contained in:
Dmitry Pogrebnoy
2023-10-23 18:01:00 +02:00
committed by intellij-monorepo-bot
parent 2d884c1bdd
commit a588a85171
3 changed files with 18 additions and 12 deletions

View File

@@ -19,7 +19,7 @@ class IntelliJIdeaExternalResourceUrls : BaseJetBrainsExternalProductResourceUrl
override val shortProductNameUsedInForms: String
get() = "IDEA"
override val useInIdeFeedback: Boolean
override val useInIdeGeneralFeedback: Boolean
get() = true
override val youTubeChannelUrl: Url

View File

@@ -50,11 +50,16 @@ abstract class BaseJetBrainsExternalProductResourceUrls : ExternalProductResourc
open val intellijSupportFormId: Int
get() = 66731
/**
* Use in-product form for `Help | Submit Feedback...`
*/
open val useInIdeGeneralFeedback: Boolean
get() = false
/**
* Use in-product forms for Help | Submit Feedback... and evaluation feedback
* Use in-product form for evaluation feedback
*/
open val useInIdeFeedback: Boolean
open val useInIdeEvaluationFeedback: Boolean
get() = false
override val updateMetadataUrl: Url
@@ -94,7 +99,7 @@ abstract class BaseJetBrainsExternalProductResourceUrls : ExternalProductResourc
override val feedbackReporter: FeedbackReporter?
get() = shortProductNameUsedInForms?.let { productName ->
JetBrainsFeedbackReporter(productName, useInIdeFeedback)
JetBrainsFeedbackReporter(productName, useInIdeGeneralFeedback, useInIdeEvaluationFeedback)
}
override val downloadPageUrl: Url?

View File

@@ -12,7 +12,8 @@ import org.jetbrains.annotations.ApiStatus
@ApiStatus.Internal
class JetBrainsFeedbackReporter(private val productName: String,
private val useInIdeFeedback: Boolean) : FeedbackReporter {
private val useInIdeGeneralFeedback: Boolean,
private val useInIdeEvaluationFeedback: Boolean) : FeedbackReporter {
override val destinationDescription: String
get() = "jetbrains.com"
@@ -30,15 +31,15 @@ class JetBrainsFeedbackReporter(private val productName: String,
}
override fun showFeedbackForm(project: Project?, requestedForEvaluation: Boolean): Boolean {
if (useInIdeFeedback) {
if (requestedForEvaluation && useInIdeEvaluationFeedback) {
val feedbackDialogs = PlatformFeedbackDialogs.getInstance()
val evaluationFeedbackDialog = feedbackDialogs.createEvaluationFeedbackDialog(project) ?: return false
evaluationFeedbackDialog.show()
return true
}
if (requestedForEvaluation) {
val evaluationFeedbackDialog = feedbackDialogs.createEvaluationFeedbackDialog(project) ?: return false
evaluationFeedbackDialog.show()
return true
}
if (!requestedForEvaluation && useInIdeGeneralFeedback) {
val feedbackDialogs = PlatformFeedbackDialogs.getInstance()
val generalFeedbackDialog = feedbackDialogs.createGeneralFeedbackDialog(project) ?: return false
generalFeedbackDialog.show()
return true