diff --git a/platform/platform-impl/src/com/intellij/openapi/application/ConfigImportHelper.java b/platform/platform-impl/src/com/intellij/openapi/application/ConfigImportHelper.java index 481bea195ae1..2c3b48d4d8f7 100644 --- a/platform/platform-impl/src/com/intellij/openapi/application/ConfigImportHelper.java +++ b/platform/platform-impl/src/com/intellij/openapi/application/ConfigImportHelper.java @@ -37,7 +37,7 @@ import com.intellij.openapi.util.text.NaturalComparator; import com.intellij.openapi.util.text.StringUtilRt; import com.intellij.openapi.util.text.Strings; import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.platform.ide.bootstrap.IdeStartupExperiment; +import com.intellij.platform.ide.bootstrap.IdeStartupWizardKt; import com.intellij.platform.ide.bootstrap.StartupErrorReporter; import com.intellij.ui.AppUIUtilKt; import com.intellij.util.PlatformUtils; @@ -150,7 +150,7 @@ public final class ConfigImportHelper { log.error("Couldn't backup current config or delete current config directory", e); } } - else if (Boolean.getBoolean("intellij.startup.wizard") && IdeStartupExperiment.INSTANCE.shouldEnableNewStartupFlow()) { + else if (IdeStartupWizardKt.isIdeStartupWizardEnabled()) { if (!guessedOldConfigDirs.isEmpty() && !shouldAskForConfig()) { Pair bestConfigGuess = guessedOldConfigDirs.getFirstItem(); if (!isConfigOld(bestConfigGuess.second)) { diff --git a/platform/platform-impl/src/com/intellij/platform/ide/bootstrap/IdeStartupWizard.kt b/platform/platform-impl/src/com/intellij/platform/ide/bootstrap/IdeStartupWizard.kt index 2a310915d333..ecb37f49516a 100644 --- a/platform/platform-impl/src/com/intellij/platform/ide/bootstrap/IdeStartupWizard.kt +++ b/platform/platform-impl/src/com/intellij/platform/ide/bootstrap/IdeStartupWizard.kt @@ -23,6 +23,9 @@ import kotlin.time.Duration.Companion.seconds private val log = logger() +val isIdeStartupWizardEnabled: Boolean + get() = java.lang.Boolean.getBoolean("intellij.startup.wizard") && IdeStartupExperiment.isExperimentEnabled() + internal suspend fun runStartupWizard(isInitialStart: Job, app: Application) { log.info("Entering startup wizard workflow.") @@ -97,7 +100,7 @@ object IdeStartupWizardCollector : CounterUsagesCollector() { ) fun logExperimentState() { if (ConfigImportHelper.isFirstSession()) { - val isEnabled = IdeStartupExperiment.shouldEnableNewStartupFlow() + val isEnabled = IdeStartupExperiment.isExperimentEnabled() log.info("IDE startup isEnabled = $isEnabled, experimentGroupKind = ${IdeStartupExperiment.experimentGroupKind}, experimentGroup = ${IdeStartupExperiment.experimentGroup}") experimentState.log( IdeStartupExperiment.experimentGroupKind, @@ -150,7 +153,7 @@ object IdeStartupExperiment { getGroupKind(experimentGroup) } - fun shouldEnableNewStartupFlow(): Boolean { + fun isExperimentEnabled(): Boolean { return when (experimentGroupKind) { GroupKind.Experimental -> true GroupKind.Control -> false diff --git a/platform/platform-impl/src/com/intellij/platform/ide/bootstrap/main.kt b/platform/platform-impl/src/com/intellij/platform/ide/bootstrap/main.kt index 2f729948d53c..089edc306065 100644 --- a/platform/platform-impl/src/com/intellij/platform/ide/bootstrap/main.kt +++ b/platform/platform-impl/src/com/intellij/platform/ide/bootstrap/main.kt @@ -228,7 +228,7 @@ fun CoroutineScope.startApplication(args: List, }.getOrLogException(log) } - if (IdeStartupExperiment.shouldEnableNewStartupFlow()) { + if (isIdeStartupWizardEnabled) { log.info("Will enter initial app wizard flow.") val result = CompletableDeferred() isInitialStart = result diff --git a/plugins/ide-startup/importSettings/src/com/intellij/ide/startup/importSettings/IdeStartupWizardImpl.kt b/plugins/ide-startup/importSettings/src/com/intellij/ide/startup/importSettings/IdeStartupWizardImpl.kt index abc38c8d4ac8..f8f1ca8d952d 100644 --- a/plugins/ide-startup/importSettings/src/com/intellij/ide/startup/importSettings/IdeStartupWizardImpl.kt +++ b/plugins/ide-startup/importSettings/src/com/intellij/ide/startup/importSettings/IdeStartupWizardImpl.kt @@ -8,6 +8,7 @@ import com.intellij.openapi.application.ApplicationNamesInfo import com.intellij.openapi.application.EDT import com.intellij.openapi.diagnostic.logger import com.intellij.platform.ide.bootstrap.IdeStartupWizard +import com.intellij.platform.ide.bootstrap.isIdeStartupWizardEnabled import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.async import kotlinx.coroutines.coroutineScope @@ -15,11 +16,8 @@ import kotlinx.coroutines.withContext internal class IdeStartupWizardImpl : IdeStartupWizard { - private val isEnabledViaSystemProperty - get() = System.getProperty("intellij.startup.wizard", "false").toBoolean() - override suspend fun run() { - if (!isEnabledViaSystemProperty) return + if (!isIdeStartupWizardEnabled) return logger.info("Initial startup wizard is enabled. Will start the wizard.") coroutineScope {