IJPL-43794 Features Trainer: show old onboarding lesson in the essential section if experiment is enabled

To not mention 'onboarding' again, because this term now means New Users Onboarding.

GitOrigin-RevId: 864b72b6a7f2ee63363071914a3fdc6f50bbf03d
This commit is contained in:
Konstantin Hudyakov
2024-07-22 10:55:41 +00:00
committed by intellij-monorepo-bot
parent e50282df3d
commit b70f9fe0de
3 changed files with 20 additions and 5 deletions
@@ -19,6 +19,7 @@ import com.intellij.util.PlatformUtils
import training.dsl.LessonUtil
import training.learn.CourseManager
import training.learn.LessonsBundle
import training.learn.NewUsersOnboardingExperimentAccessor
import training.learn.course.IftModule
import training.learn.course.LearningCourseBase
import training.learn.course.LearningModule
@@ -36,7 +37,7 @@ class JavaLearningCourse : LearningCourseBase(JavaLanguage.INSTANCE.id) {
override fun modules(): List<IftModule> = onboardingTour() + stableModules() + CourseManager.instance.findCommonModules("Git")
private val isOnboardingLessonEnabled: Boolean
get() = PlatformUtils.isIntelliJ() && !useShortOnboardingLesson
get() = PlatformUtils.isIntelliJ() && !useShortOnboardingLesson && !NewUsersOnboardingExperimentAccessor.isExperimentEnabled()
private fun onboardingTour() = if (isOnboardingLessonEnabled) listOf(
LearningModule(id = "Java.Onboarding",
@@ -56,8 +57,13 @@ class JavaLearningCourse : LearningCourseBase(JavaLanguage.INSTANCE.id) {
primaryLanguage = langSupport,
moduleType = LessonType.SCRATCH) {
fun ls(sampleName: String) = loadSample("EditorBasics/$sampleName")
val adjust = if (useShortOnboardingLesson) listOf(JavaReworkedOnboardingTourLesson()) else emptyList()
adjust + listOf(
val onboarding = when {
!NewUsersOnboardingExperimentAccessor.isExperimentEnabled() -> emptyList()
useShortOnboardingLesson -> listOf(JavaReworkedOnboardingTourLesson())
else -> listOf(JavaOnboardingTourLesson())
}
onboarding + listOf(
JavaContextActionsLesson(),
GotoActionLesson(ls("00.Actions.java.sample"), firstLesson = false),
JavaSearchEverywhereLesson(),
@@ -16,6 +16,7 @@ import com.intellij.util.ui.tree.TreeUtil
import training.dsl.*
import training.dsl.LessonUtil.restoreIfModified
import training.learn.LearnBundle
import training.learn.course.LessonType
import training.learn.lesson.general.run.clearBreakpoints
import training.project.ProjectUtils
import training.ui.LearningUiHighlightingManager
@@ -25,6 +26,8 @@ import javax.swing.JTree
import javax.swing.tree.TreePath
abstract class OnboardingTourLessonBase(id: String) : CommonLogicForOnboardingTours(id, JavaLessonsBundle.message("java.onboarding.lesson.name")) {
override val lessonType: LessonType = LessonType.PROJECT
private lateinit var openLearnTaskId: TaskContext.TaskId
private val demoFileDirectory: String = "src"
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.training.ift.lesson.refactorings.KotlinRefactoringMe
import training.dsl.LessonUtil
import training.learn.CourseManager
import training.learn.LessonsBundle
import training.learn.NewUsersOnboardingExperimentAccessor
import training.learn.course.LearningCourseBase
import training.learn.course.LearningModule
import training.learn.course.LessonType
@@ -34,7 +35,7 @@ class KotlinLearningCourse : LearningCourseBase(KotlinLanguage.INSTANCE.id) {
override fun modules() = onboardingTour() + stableModules() + CourseManager.instance.findCommonModules("Git")
private val isOnboardingLessonEnabled: Boolean
get() = PlatformUtils.isIdeaCommunity() || PlatformUtils.isIdeaUltimate()
get() = (PlatformUtils.isIdeaCommunity() || PlatformUtils.isIdeaUltimate()) && !NewUsersOnboardingExperimentAccessor.isExperimentEnabled()
private fun onboardingTour() = if (isOnboardingLessonEnabled) listOf(
LearningModule(
@@ -60,7 +61,12 @@ class KotlinLearningCourse : LearningCourseBase(KotlinLanguage.INSTANCE.id) {
moduleType = LessonType.SINGLE_EDITOR // todo: change to SCRATCH when KTIJ-20742 will be resolved
) {
fun ls(sampleName: String) = loadSample("EditorBasics/$sampleName")
listOf(
val onboarding = if (NewUsersOnboardingExperimentAccessor.isExperimentEnabled()) {
listOf(KotlinOnboardingTourLesson())
}
else emptyList()
onboarding + listOf(
KotlinContextActionsLesson(),
GotoActionLesson(ls("Actions.kt.sample"), firstLesson = false),
KotlinSearchEverywhereLesson(),