From 0f049fd536555c3583279d5279078fdcca5f6794 Mon Sep 17 00:00:00 2001 From: Anton Yalyshev Date: Fri, 24 Jan 2020 09:40:11 +0300 Subject: [PATCH] Properly handle a case when Code Style settings = null --- .../formatter/KotlinFormatterUsageCollector.kt | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/formatter/KotlinFormatterUsageCollector.kt b/idea/src/org/jetbrains/kotlin/idea/formatter/KotlinFormatterUsageCollector.kt index b7cf268f3e4..a7155d08f6f 100644 --- a/idea/src/org/jetbrains/kotlin/idea/formatter/KotlinFormatterUsageCollector.kt +++ b/idea/src/org/jetbrains/kotlin/idea/formatter/KotlinFormatterUsageCollector.kt @@ -24,19 +24,27 @@ class KotlinFormatterUsageCollector : ProjectUsagesCollector() { override fun getMetrics(project: Project): Set { val usedFormatter = getKotlinFormatterKind(project) - val settings = CodeStyle.getSettings(project) - val kotlinCommonSettings = settings.kotlinCommonSettings - val kotlinCustomSettings = settings.kotlinCustomSettings - val data = FeatureUsageData() .addData("kind", usedFormatter.name) - .addData("defaults", kotlinCustomSettings.CODE_STYLE_DEFAULTS ?: kotlinCommonSettings.CODE_STYLE_DEFAULTS) + .addData("defaults", getDefaultCodeStyle(project)) return setOf( newMetric("settings", data) ) } + private fun getDefaultCodeStyle(project: Project): String { + + val settings = CodeStyle.getSettings(project) + val kotlinCommonSettings = settings.kotlinCommonSettings + val kotlinCustomSettings = settings.kotlinCustomSettings + + val defaults = kotlinCustomSettings.CODE_STYLE_DEFAULTS ?: kotlinCommonSettings.CODE_STYLE_DEFAULTS + + return defaults ?: "ide_defaults" + } + + companion object { private val KOTLIN_DEFAULT_COMMON = KotlinLanguageCodeStyleSettingsProvider().defaultCommonSettings