IJPL-210395 Get rid of the LLMC consent in Settings

GitOrigin-RevId: 90696c7f7a1d37318e17e9dc8fba6433b26ee8d3
This commit is contained in:
Ilia Smirnov
2025-09-30 13:35:38 +00:00
committed by intellij-monorepo-bot
parent ce977dfec9
commit 9ac802e777
4 changed files with 2 additions and 38 deletions
@@ -2723,10 +2723,6 @@ gdpr.usage.statistics.disabled.externally.warning=Sending usage statistics is te
gdpr.usage.statistics.enabled.for.free.license.warning=Under a non-commercial license, the IDE collects usage data to verify compliance \
with the license terms and sends anonymous feature usage statistics to JetBrains to help improve the product. \
For more information, refer to the <a href="https://www.jetbrains.com/legal/docs/privacy/privacy/">JetBrains Privacy Policy</a>.
gdpr.ai.data.collection.consent.additional.notice.1=This option enables or disables the detailed data collection by JetBrains AI in all IDEs.
gdpr.ai.data.collection.consent.additional.notice.2=\
Even if this setting is disabled, the AI Assistant plugin will send the data essential for this feature to large language model providers \
and models hosted on JetBrains servers. If you work on a project where you don't want to share your data, you can disable the plugin.
gdpr.consent.externally.disabled.warning=This option is disabled externally
gdpr.data.collection.consent.group.comment.text=Help shape the future of JetBrains products. By sharing your data and usage statistics, you allow us to better understand how you use our tools and how we can improve them. Learn more <a href="https://www.jetbrains.com/legal/docs/terms/product_data_collection/">here</a>.
gdpr.data.collection.consent.group.setting.enabled.warning.text=Data collection has been enabled by your organization administrator.
@@ -107,9 +107,6 @@ public class ConsentSettingsUi extends JPanel implements ConfigurableUi<List<Con
if (ConsentOptions.condUsageStatsConsent().test(consent)) {
return new UsageStatisticsConsentUi(consent);
}
if (ConsentOptions.condAiDataCollectionConsent().test(consent)) {
return new AiDataCollectionConsentUi(consent);
}
if (ConsentOptions.condTraceDataCollectionComConsent().test(consent) ||
ConsentOptions.condTraceDataCollectionNonComConsent().test(consent)) {
return new TraceDataCollectionConsentUI(consent);
@@ -1,25 +0,0 @@
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.ide.gdpr.ui.consents
import com.intellij.ide.IdeBundle
import com.intellij.ide.gdpr.Consent
import com.intellij.openapi.util.NlsSafe
import com.intellij.openapi.util.text.StringUtil
internal class AiDataCollectionConsentUi(private val consent: Consent) : ConsentUi {
override fun getCheckBoxText(): @NlsSafe String = StringUtil.capitalize(consent.name)
override fun getCheckBoxCommentText(): @NlsSafe String = """${consent.text}
${IdeBundle.message("gdpr.ai.data.collection.consent.additional.notice.1")}
${IdeBundle.message("gdpr.ai.data.collection.consent.additional.notice.2")}"""
override fun getForcedState(): ConsentForcedState? {
val externalSettings = AiDataCollectionExternalSettings.findSettingsImplementedByAiAssistant()
if (externalSettings != null && externalSettings.isForciblyDisabled()) {
val description = externalSettings.getForciblyDisabledDescription()
?: IdeBundle.message("gdpr.consent.externally.disabled.warning")
return ConsentForcedState.ExternallyDisabled(description)
}
return null
}
}
@@ -346,12 +346,8 @@ object AppUIUtil {
}
}
result.removeIf(ConsentOptions.condTraceDataCollectionConsent()) // IJPL-208500
val traceConsentManager = TraceConsentManager.getInstance()
if (traceConsentManager != null && traceConsentManager.isTraceConsentEnabled()) {
val isLegacyAiDataCollectionConsent = ConsentOptions.condAiDataCollectionConsent()
result.removeIf(isLegacyAiDataCollectionConsent) // IJPL-195651; AI data collection (LLMC) consent should not be present on UI while it's staying a default consent as a part of migration from LLMC to TRACE consent
}
if (traceConsentManager?.canDisplayTraceConsent() != true) {
result.removeIf(ConsentOptions.condAiDataCollectionConsent()) // IJPL-195651; AI data collection (LLMC) consent should not be present on UI while it's staying a default consent as a part of migration from LLMC to TRACE consent
if (TraceConsentManager.getInstance()?.canDisplayTraceConsent() != true) {
removeTraceConsents(result)
} else {
val licenseTypeFlag = LicensingFacade.getInstance()?.metadata?.getOrNull(10)