From a9d8e24266be0dc850cc03b78611e1e9e1027a54 Mon Sep 17 00:00:00 2001 From: John Trujillo Date: Thu, 8 May 2025 13:29:25 -0500 Subject: [PATCH 1/3] fix/ADFA-675 Directly open created project after creation The `TemplateDetailsFragment` now directly opens the newly created project after successful creation, instead of first transitioning back to the main screen. This avoids a brief screen flash during the transition. The success message is flashed, and the project is added to recent projects before opening. --- .../fragments/TemplateDetailsFragment.kt | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/itsaky/androidide/fragments/TemplateDetailsFragment.kt b/app/src/main/java/com/itsaky/androidide/fragments/TemplateDetailsFragment.kt index 089b134da0..8b0e04c1e8 100644 --- a/app/src/main/java/com/itsaky/androidide/fragments/TemplateDetailsFragment.kt +++ b/app/src/main/java/com/itsaky/androidide/fragments/TemplateDetailsFragment.kt @@ -77,6 +77,7 @@ class TemplateDetailsFragment : viewModel.setScreen(MainViewModel.SCREEN_TEMPLATE_LIST) } + // Fix for TemplateDetailsFragment.kt - Modified finish button click listener binding.finish.setOnClickListener { viewModel.creatingProject.value = true val template = viewModel.template.value ?: run { @@ -115,21 +116,24 @@ class TemplateDetailsFragment : return@executeAsyncProvideError } - viewModel.setScreen(MainViewModel.SCREEN_MAIN) - flashSuccess(string.project_created_successfully) + // Store the result for direct opening + val projectDir = result.data.projectDir + // Add to recent projects recentProjectsViewModel.insertProject( RecentProject( - location = result.data.projectDir.path, + location = projectDir.path, name = result.data.name, createdAt = Date().toString() ) ) - viewModel.postTransition(viewLifecycleOwner) { - // open the project - (requireActivity() as MainActivity).openProject(result.data.projectDir) - } + // Flash success message + flashSuccess(string.project_created_successfully) + + // Open project directly WITHOUT first returning to main screen + // This avoids the screen transition flash + (requireActivity() as MainActivity).openProject(projectDir) } } From 5b8b60d00e2a5e725d21fb7177b28dce13744dec Mon Sep 17 00:00:00 2001 From: John Trujillo Date: Thu, 8 May 2025 13:51:49 -0500 Subject: [PATCH 2/3] fix/ADFA-675 Directly open created project after creation The `TemplateDetailsFragment` now directly opens the newly created project after successful creation, instead of first transitioning back to the main screen. This avoids a brief screen flash during the transition. The success message is flashed, and the project is added to recent projects before opening. --- .../itsaky/androidide/fragments/TemplateDetailsFragment.kt | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/app/src/main/java/com/itsaky/androidide/fragments/TemplateDetailsFragment.kt b/app/src/main/java/com/itsaky/androidide/fragments/TemplateDetailsFragment.kt index 8b0e04c1e8..6867daff3f 100644 --- a/app/src/main/java/com/itsaky/androidide/fragments/TemplateDetailsFragment.kt +++ b/app/src/main/java/com/itsaky/androidide/fragments/TemplateDetailsFragment.kt @@ -77,7 +77,6 @@ class TemplateDetailsFragment : viewModel.setScreen(MainViewModel.SCREEN_TEMPLATE_LIST) } - // Fix for TemplateDetailsFragment.kt - Modified finish button click listener binding.finish.setOnClickListener { viewModel.creatingProject.value = true val template = viewModel.template.value ?: run { @@ -116,10 +115,8 @@ class TemplateDetailsFragment : return@executeAsyncProvideError } - // Store the result for direct opening val projectDir = result.data.projectDir - // Add to recent projects recentProjectsViewModel.insertProject( RecentProject( location = projectDir.path, @@ -128,11 +125,9 @@ class TemplateDetailsFragment : ) ) - // Flash success message flashSuccess(string.project_created_successfully) - // Open project directly WITHOUT first returning to main screen - // This avoids the screen transition flash + (requireActivity() as MainActivity).openProject(projectDir) } } From 08324466c6b09375d000c6b79429ca418d7e2661 Mon Sep 17 00:00:00 2001 From: John Trujillo Date: Thu, 8 May 2025 17:52:22 -0500 Subject: [PATCH 3/3] lint --- .../itsaky/androidide/fragments/TemplateDetailsFragment.kt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/app/src/main/java/com/itsaky/androidide/fragments/TemplateDetailsFragment.kt b/app/src/main/java/com/itsaky/androidide/fragments/TemplateDetailsFragment.kt index 6867daff3f..d6e3f594bb 100644 --- a/app/src/main/java/com/itsaky/androidide/fragments/TemplateDetailsFragment.kt +++ b/app/src/main/java/com/itsaky/androidide/fragments/TemplateDetailsFragment.kt @@ -116,7 +116,6 @@ class TemplateDetailsFragment : } val projectDir = result.data.projectDir - recentProjectsViewModel.insertProject( RecentProject( location = projectDir.path, @@ -124,10 +123,7 @@ class TemplateDetailsFragment : createdAt = Date().toString() ) ) - flashSuccess(string.project_created_successfully) - - (requireActivity() as MainActivity).openProject(projectDir) } }