diff --git a/catroid/src/androidTest/java/org/catrobat/catroid/uiespresso/ui/fragment/MainMenuFragmentTest.kt b/catroid/src/androidTest/java/org/catrobat/catroid/uiespresso/ui/fragment/MainMenuFragmentTest.kt index 843fd65aa2b..ae711cb78ea 100644 --- a/catroid/src/androidTest/java/org/catrobat/catroid/uiespresso/ui/fragment/MainMenuFragmentTest.kt +++ b/catroid/src/androidTest/java/org/catrobat/catroid/uiespresso/ui/fragment/MainMenuFragmentTest.kt @@ -1,6 +1,6 @@ /* * Catroid: An on-device visual programming system for Android devices - * Copyright (C) 2010-2022 The Catrobat Team + * Copyright (C) 2010-2023 The Catrobat Team * () * * This program is free software: you can redistribute it and/or modify @@ -196,6 +196,17 @@ class MainMenuFragmentTest : KoinTest { .check(matches(isDisplayed())) } + @Test + fun testBackButtonAfterTappingOnPlayButton() { + syncBeforeLaunch(false) + onView(withId(R.id.playProject)) + .perform(ViewActions.click()) + pressBack() + pressBack() + onView(withId(R.id.projectImageView)) + .check(matches(isDisplayed())) + } + private fun createProject() { projectManager.createNewEmptyProject( javaClass.simpleName, diff --git a/catroid/src/main/java/org/catrobat/catroid/ui/recyclerview/fragment/MainMenuFragment.kt b/catroid/src/main/java/org/catrobat/catroid/ui/recyclerview/fragment/MainMenuFragment.kt index 2f14b246e81..3c21293ac76 100644 --- a/catroid/src/main/java/org/catrobat/catroid/ui/recyclerview/fragment/MainMenuFragment.kt +++ b/catroid/src/main/java/org/catrobat/catroid/ui/recyclerview/fragment/MainMenuFragment.kt @@ -1,6 +1,6 @@ /* * Catroid: An on-device visual programming system for Android devices - * Copyright (C) 2010-2022 The Catrobat Team + * Copyright (C) 2010-2023 The Catrobat Team * () * * This program is free software: you can redistribute it and/or modify @@ -47,6 +47,7 @@ import org.catrobat.catroid.io.ProjectAndSceneScreenshotLoader import org.catrobat.catroid.io.asynctask.ProjectLoader import org.catrobat.catroid.io.asynctask.ProjectLoader.ProjectLoadListener import org.catrobat.catroid.io.asynctask.loadProject +import org.catrobat.catroid.stage.StageActivity import org.catrobat.catroid.ui.PROJECT_DIR import org.catrobat.catroid.ui.ProjectActivity import org.catrobat.catroid.ui.ProjectListActivity @@ -119,6 +120,7 @@ class MainMenuFragment : Fragment(), binding.newProjectFloatingActionButton.setOnClickListener(this) binding.myProjectsTextView.setOnClickListener(this) binding.projectImageView.setOnClickListener(this) + binding.playProject.setOnClickListener(this) binding.featuredProjectsTextView.setOnClickListener(this) setFragment(this) @@ -329,6 +331,11 @@ class MainMenuFragment : Fragment(), startActivity(intent) } + R.id.playProject -> { + viewModel.setIsLoading(true) + StageActivity.handlePlayButton(projectManager, activity) + } + R.id.myProjectsTextView -> { viewModel.setIsLoading(true) startActivity(Intent(activity, ProjectListActivity::class.java)) diff --git a/catroid/src/main/res/drawable/ic_play_circle.xml b/catroid/src/main/res/drawable/ic_play_circle.xml new file mode 100644 index 00000000000..968d41227d8 --- /dev/null +++ b/catroid/src/main/res/drawable/ic_play_circle.xml @@ -0,0 +1,45 @@ + + + + + + + diff --git a/catroid/src/main/res/layout/fragment_main_menu.xml b/catroid/src/main/res/layout/fragment_main_menu.xml index 0b92d2d96bc..6c31b77e802 100644 --- a/catroid/src/main/res/layout/fragment_main_menu.xml +++ b/catroid/src/main/res/layout/fragment_main_menu.xml @@ -1,7 +1,7 @@