[RIDER] Add EAP feedback notification and toolbar action (fix RIDER-114875)

GitOrigin-RevId: 48f26c9cec44e83c10fd6bf4be24e0a9461827ed
This commit is contained in:
Nikita.Lyubimov
2024-07-17 12:20:06 +02:00
committed by intellij-monorepo-bot
parent 3dbe588eb0
commit 57a2db90fa
3 changed files with 23 additions and 5 deletions

View File

@@ -10,6 +10,7 @@
overrides="true"/>
<applicationService serviceImplementation="com.intellij.platform.feedback.impl.state.DontShowAgainFeedbackService"/>
<applicationService serviceImplementation="com.intellij.platform.feedback.eap.EAPFeedbackUrlProvider"/>
<notificationGroup displayType="BALLOON" id="Feedback In IDE" bundle="messages.CommonFeedbackMessagesBundle"
key="notification.group.feedback"/>

View File

@@ -8,10 +8,12 @@ import com.intellij.notification.NotificationAction
import com.intellij.openapi.application.ApplicationInfo
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.application.ApplicationNamesInfo
import com.intellij.openapi.components.service
import com.intellij.openapi.extensions.ExtensionNotApplicableException
import com.intellij.openapi.util.NlsSafe
import com.intellij.openapi.util.registry.Registry
import com.intellij.platform.feedback.impl.notification.RequestFeedbackNotification
import com.intellij.util.application
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
@@ -93,11 +95,7 @@ class EAPApplicationInitializedListener : ApplicationInitializedListener {
}
fun executeEAPFeedbackAction() {
BrowserUtil.browse(
"https://surveys.jetbrains.com/s3/${getProductName().lowercase()}-${
getProductVersion().replace('.', '-')
}-eap-user-survey",
null)
BrowserUtil.browse(application.service<EAPFeedbackUrlProvider>().surveyUrl(), null)
}
fun isEAPEnv(): Boolean {

View File

@@ -0,0 +1,19 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.platform.feedback.eap
import com.intellij.openapi.application.ApplicationInfo
import com.intellij.openapi.application.ApplicationNamesInfo
import com.intellij.openapi.util.NlsSafe
import org.jetbrains.annotations.ApiStatus.Internal
@Internal
open class EAPFeedbackUrlProvider {
open fun surveyUrl(): String {
return "https://surveys.jetbrains.com/s3/${getProductName().lowercase()}-${
getProductVersion().replace('.', '-')
}-eap-user-survey"
}
private fun getProductName(): @NlsSafe String = ApplicationNamesInfo.getInstance().productName
private fun getProductVersion(): @NlsSafe String = ApplicationInfo.getInstance().shortVersion
}