diff --git a/app/src/main/java/com/itsaky/androidide/activities/MainActivity.kt b/app/src/main/java/com/itsaky/androidide/activities/MainActivity.kt index c5bf69584..5621e16e9 100755 --- a/app/src/main/java/com/itsaky/androidide/activities/MainActivity.kt +++ b/app/src/main/java/com/itsaky/androidide/activities/MainActivity.kt @@ -252,7 +252,7 @@ class MainActivity : IDEActivity() { builder.show() } - private fun openProject(root: File) { + internal fun openProject(root: File) { projectPath = root.absolutePath startActivity(Intent(this, EditorActivityKt::class.java)) } diff --git a/app/src/main/java/com/itsaky/androidide/activities/editor/EditorActivityKt.kt b/app/src/main/java/com/itsaky/androidide/activities/editor/EditorActivityKt.kt index 6dc2fe5ef..72e97a9fa 100644 --- a/app/src/main/java/com/itsaky/androidide/activities/editor/EditorActivityKt.kt +++ b/app/src/main/java/com/itsaky/androidide/activities/editor/EditorActivityKt.kt @@ -20,5 +20,4 @@ package com.itsaky.androidide.activities.editor /** * @author Akash Yadav */ -class EditorActivityKt : EditorHandlerActivity() { -} \ No newline at end of file +class EditorActivityKt : EditorHandlerActivity() \ No newline at end of file diff --git a/app/src/main/java/com/itsaky/androidide/fragments/MainFragment.kt b/app/src/main/java/com/itsaky/androidide/fragments/MainFragment.kt index bf8172449..746b0a4e5 100644 --- a/app/src/main/java/com/itsaky/androidide/fragments/MainFragment.kt +++ b/app/src/main/java/com/itsaky/androidide/fragments/MainFragment.kt @@ -9,9 +9,9 @@ import android.widget.TextView import androidx.fragment.app.viewModels import com.blankj.utilcode.util.ThreadUtils import com.google.android.material.progressindicator.LinearProgressIndicator +import com.itsaky.androidide.activities.MainActivity import com.itsaky.androidide.activities.PreferencesActivity import com.itsaky.androidide.activities.TerminalActivity -import com.itsaky.androidide.activities.editor.EditorActivityKt import com.itsaky.androidide.adapters.MainActionsListAdapter import com.itsaky.androidide.app.BaseApplication import com.itsaky.androidide.common.databinding.LayoutDialogProgressBinding @@ -19,7 +19,6 @@ import com.itsaky.androidide.databinding.FragmentMainBinding import com.itsaky.androidide.fragments.WizardFragment.OnProjectCreatedListener import com.itsaky.androidide.models.MainScreenAction import com.itsaky.androidide.preferences.databinding.LayoutDialogTextInputBinding -import com.itsaky.androidide.projects.ProjectManager.projectPath import com.itsaky.androidide.resources.R import com.itsaky.androidide.resources.R.string import com.itsaky.androidide.tasks.executeAsyncProvideError @@ -88,8 +87,7 @@ class MainFragment : BaseFragment(), OnProjectCreatedListener { } override fun openProject(root: File) { - projectPath = root.absolutePath - startActivity(Intent(requireActivity(), EditorActivityKt::class.java)) + (requireActivity() as MainActivity).openProject(root) } private fun cloneGitRepo() { 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 bdc39ee94..6049078f1 100644 --- a/app/src/main/java/com/itsaky/androidide/fragments/TemplateDetailsFragment.kt +++ b/app/src/main/java/com/itsaky/androidide/fragments/TemplateDetailsFragment.kt @@ -25,12 +25,15 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.transition.TransitionManager import com.itsaky.androidide.R import com.itsaky.androidide.R.string +import com.itsaky.androidide.activities.MainActivity import com.itsaky.androidide.adapters.TemplateWidgetsListAdapter import com.itsaky.androidide.databinding.FragmentTemplateDetailsBinding import com.itsaky.androidide.tasks.executeAsyncProvideError +import com.itsaky.androidide.templates.ProjectTemplateRecipeResult import com.itsaky.androidide.templates.StringParameter import com.itsaky.androidide.templates.Template import com.itsaky.androidide.templates.impl.ConstraintVerifier +import com.itsaky.androidide.utils.ILogger import com.itsaky.androidide.utils.TemplateRecipeExecutor import com.itsaky.androidide.utils.flashError import com.itsaky.androidide.utils.flashSuccess @@ -45,6 +48,7 @@ class TemplateDetailsFragment : FragmentWithBinding( R.layout.fragment_template_details, FragmentTemplateDetailsBinding::bind) { + private val log = ILogger.newInstance("TemplateDetailsFragment") private val viewModel by viewModels( ownerProducer = { requireActivity() }) @@ -88,18 +92,24 @@ class TemplateDetailsFragment : viewModel.creatingProject.value = true executeAsyncProvideError({ template.recipe.execute(TemplateRecipeExecutor()) - true }) { result, err -> viewModel.creatingProject.value = false - if (result == false || err != null) { + if (result == null || err != null || result !is ProjectTemplateRecipeResult) { err?.printStackTrace() + log.error( + "Failed to create project. result=$result, err=${err?.message}") flashError(string.project_creation_failed) return@executeAsyncProvideError } viewModel.setScreen(MainViewModel.SCREEN_MAIN) flashSuccess(string.project_created_successfully) + + viewModel.postTransition(viewLifecycleOwner) { + // open the project + (requireActivity() as MainActivity).openProject(result.data.projectDir) + } } } diff --git a/app/src/main/java/com/itsaky/androidide/fragments/TemplateListFragment.kt b/app/src/main/java/com/itsaky/androidide/fragments/TemplateListFragment.kt index ecb4d6da5..0a2009d56 100644 --- a/app/src/main/java/com/itsaky/androidide/fragments/TemplateListFragment.kt +++ b/app/src/main/java/com/itsaky/androidide/fragments/TemplateListFragment.kt @@ -28,6 +28,7 @@ import com.itsaky.androidide.R import com.itsaky.androidide.adapters.TemplateListAdapter import com.itsaky.androidide.databinding.FragmentTemplateListBinding import com.itsaky.androidide.templates.ITemplateProvider +import com.itsaky.androidide.templates.ProjectTemplate import com.itsaky.androidide.viewmodel.MainViewModel import kotlin.math.ceil @@ -48,7 +49,11 @@ class TemplateListFragment : FragmentWithBinding( override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - val templates = ITemplateProvider.getInstance().getTemplates() + // Show only project templates + val templates = ITemplateProvider.getInstance() + .getTemplates() + .filterIsInstance() + layoutManager = FlexboxLayoutManager(requireContext(), FlexDirection.ROW).apply { justifyContent = JustifyContent.SPACE_EVENLY diff --git a/templates-api/src/main/java/com/itsaky/androidide/templates/base/templateBuilders.kt b/templates-api/src/main/java/com/itsaky/androidide/templates/base/templateBuilders.kt index 30dbded7e..6446ae1cb 100644 --- a/templates-api/src/main/java/com/itsaky/androidide/templates/base/templateBuilders.kt +++ b/templates-api/src/main/java/com/itsaky/androidide/templates/base/templateBuilders.kt @@ -19,7 +19,6 @@ package com.itsaky.androidide.templates.base import com.itsaky.androidide.templates.EMPTY_RECIPE import com.itsaky.androidide.templates.RecipeExecutor -import com.itsaky.androidide.templates.Template import com.itsaky.androidide.templates.TemplateBuilder import com.itsaky.androidide.templates.TemplateData import com.itsaky.androidide.templates.TemplateRecipe @@ -27,18 +26,27 @@ import com.itsaky.androidide.templates.TemplateRecipeConfigurator import com.itsaky.androidide.templates.TemplateRecipeFinalizer import com.itsaky.androidide.templates.TemplateRecipeResult -sealed class PrePostRecipeTemplateBuilder : TemplateBuilder() { +sealed class PrePostRecipeTemplateBuilder : + TemplateBuilder() { internal var preRecipe: TemplateRecipeConfigurator = {} internal var postRecipe: TemplateRecipeFinalizer = {} - override var recipe: TemplateRecipe? = null + private var _recipe: TemplateRecipe? = null + + val isRecipeSet: Boolean + get() = _recipe != null + + override var recipe: TemplateRecipe? get() = TemplateRecipe { preRecipe(it) - val result = (field ?: EMPTY_RECIPE).execute(it) + val result = (_recipe ?: EMPTY_RECIPE).execute(it) postRecipe(it) result } + set(value) { + _recipe = value + } } /** diff --git a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/base.kt b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/base.kt index 0d99cd25f..c1b9b9e2c 100644 --- a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/base.kt +++ b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/base.kt @@ -17,7 +17,11 @@ package com.itsaky.androidide.templates.impl +import com.itsaky.androidide.templates.ProjectTemplate import com.itsaky.androidide.templates.base.AndroidModuleTemplateBuilder +import com.itsaky.androidide.templates.base.ProjectTemplateBuilder +import com.itsaky.androidide.templates.base.baseProject +import com.itsaky.androidide.templates.impl.base.createRecipe /** * Indents the given string for the given [indentation level][level]. @@ -32,7 +36,19 @@ fun String.indent(level: Int): String { }.toString() } -internal fun AndroidModuleTemplateBuilder.templateAsset(name: String, path: String +@Suppress("UnusedReceiverParameter") +internal fun AndroidModuleTemplateBuilder.templateAsset(name: String, + path: String ): String { return "templates/${name}/${path}" +} + +internal fun baseProjectImpl(block: ProjectTemplateBuilder.() -> Unit +): ProjectTemplate = baseProject { + block() + + // make sure we return a proper result + if (!isRecipeSet) { + recipe = createRecipe {} + } } \ No newline at end of file diff --git a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/base/layout.kt b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/base/layout.kt index 04a4ee98e..7f489c5df 100644 --- a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/base/layout.kt +++ b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/base/layout.kt @@ -17,8 +17,7 @@ package com.itsaky.androidide.templates.impl.base -internal fun baseLayoutContentMain() = - """ +internal fun baseLayoutContentMain() = """ ExecutorDataTemplateBuilder<*, *>.createRecipe( action: RecipeExecutor.() -> R @@ -28,4 +32,22 @@ internal fun ExecutorDataTemplateBuilder<*, *>.create return TemplateRecipe { return@TemplateRecipe executor.run(action) } +} + +internal fun AndroidModuleTemplateBuilder.createRecipe( + action: RecipeExecutor.() -> Unit +): TemplateRecipe { + return TemplateRecipe { + executor.run(action) + recipeResult() + } +} + +internal fun ProjectTemplateBuilder.createRecipe( + action: RecipeExecutor.() -> Unit +): TemplateRecipe { + return TemplateRecipe { + executor.run(action) + recipeResult() + } } \ No newline at end of file diff --git a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/basicActivity/basicActivityTemplate.kt b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/basicActivity/basicActivityTemplate.kt index 2876de482..0072bf6e7 100644 --- a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/basicActivity/basicActivityTemplate.kt +++ b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/basicActivity/basicActivityTemplate.kt @@ -19,18 +19,17 @@ package com.itsaky.androidide.templates.impl.basicActivity import com.itsaky.androidide.templates.ProjectTemplate import com.itsaky.androidide.templates.base.AndroidModuleTemplateBuilder -import com.itsaky.androidide.templates.base.baseProject import com.itsaky.androidide.templates.base.modules.android.defaultAppModule import com.itsaky.androidide.templates.base.util.AndroidModuleResManager.ResourceType.LAYOUT import com.itsaky.androidide.templates.base.util.SourceWriter import com.itsaky.androidide.templates.impl.R import com.itsaky.androidide.templates.impl.base.createRecipe import com.itsaky.androidide.templates.impl.base.emptyThemesAndColors -import com.itsaky.androidide.templates.impl.base.recipeResult import com.itsaky.androidide.templates.impl.base.writeMainActivity +import com.itsaky.androidide.templates.impl.baseProjectImpl fun basicActivityProject(): ProjectTemplate { - return baseProject { + return baseProjectImpl { templateName = R.string.template_basic thumb = R.drawable.template_basic_activity defaultAppModule { @@ -43,8 +42,6 @@ fun basicActivityProject(): ProjectTemplate { writeBasicActivityLayout() emptyThemesAndColors() } - - recipeResult() } } } diff --git a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/bottomNavActivity/bottomNavActivityTemplate.kt b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/bottomNavActivity/bottomNavActivityTemplate.kt index 37bf65165..a6717100c 100644 --- a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/bottomNavActivity/bottomNavActivityTemplate.kt +++ b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/bottomNavActivity/bottomNavActivityTemplate.kt @@ -19,18 +19,17 @@ package com.itsaky.androidide.templates.impl.bottomNavActivity import com.itsaky.androidide.templates.Language.Kotlin import com.itsaky.androidide.templates.base.AndroidModuleTemplateBuilder -import com.itsaky.androidide.templates.base.baseProject import com.itsaky.androidide.templates.base.models.Dependency import com.itsaky.androidide.templates.base.modules.android.defaultAppModule import com.itsaky.androidide.templates.base.util.AndroidModuleResManager.ResourceType.NAVIGATION import com.itsaky.androidide.templates.impl.R import com.itsaky.androidide.templates.impl.base.createRecipe import com.itsaky.androidide.templates.impl.base.emptyThemesAndColors -import com.itsaky.androidide.templates.impl.base.recipeResult import com.itsaky.androidide.templates.impl.base.writeMainActivity +import com.itsaky.androidide.templates.impl.baseProjectImpl import com.itsaky.androidide.templates.impl.templateAsset -fun bottomNavActivityProject() = baseProject { +fun bottomNavActivityProject() = baseProjectImpl { templateName = R.string.template_navigation_tabs thumb = R.drawable.template_bottom_navigation_activity defaultAppModule { @@ -58,8 +57,6 @@ fun bottomNavActivityProject() = baseProject { } else { bottomNavActivityProjectJava() } - - recipeResult() } } } diff --git a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/bottomNavActivity/srcActivity.kt b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/bottomNavActivity/srcActivity.kt index bafbe7420..be951b641 100644 --- a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/bottomNavActivity/srcActivity.kt +++ b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/bottomNavActivity/srcActivity.kt @@ -19,8 +19,7 @@ package com.itsaky.androidide.templates.impl.bottomNavActivity import com.itsaky.androidide.templates.base.AndroidModuleTemplateBuilder -internal fun AndroidModuleTemplateBuilder.bottomNavActivitySrcKt() -= """ +internal fun AndroidModuleTemplateBuilder.bottomNavActivitySrcKt() = """ package ${data.packageName} import android.os.Bundle @@ -59,8 +58,7 @@ class MainActivity : AppCompatActivity() { } """.trim() -internal fun AndroidModuleTemplateBuilder. bottomNavActivitySrcJava() - = """ +internal fun AndroidModuleTemplateBuilder.bottomNavActivitySrcJava() = """ package ${data.packageName}; import android.os.Bundle; diff --git a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/bottomNavActivity/srcFragmentDashboard.kt b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/bottomNavActivity/srcFragmentDashboard.kt index 58b189742..8632f3487 100644 --- a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/bottomNavActivity/srcFragmentDashboard.kt +++ b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/bottomNavActivity/srcFragmentDashboard.kt @@ -19,8 +19,7 @@ package com.itsaky.androidide.templates.impl.bottomNavActivity import com.itsaky.androidide.templates.base.AndroidModuleTemplateBuilder -internal fun AndroidModuleTemplateBuilder.bottomNavFragmentDashSrcKt() -= """ +internal fun AndroidModuleTemplateBuilder.bottomNavFragmentDashSrcKt() = """ package ${data.packageName}.ui.dashboard import android.os.Bundle @@ -65,8 +64,7 @@ class DashboardFragment : Fragment() { } """.trim() -internal fun AndroidModuleTemplateBuilder.bottomNavFragmentDashSrcJava() - = """ +internal fun AndroidModuleTemplateBuilder.bottomNavFragmentDashSrcJava() = """ package ${data.packageName}.ui.dashboard; import android.os.Bundle; diff --git a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/bottomNavActivity/srcViewModelDashboard.kt b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/bottomNavActivity/srcViewModelDashboard.kt index d86f3f372..fc3393846 100644 --- a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/bottomNavActivity/srcViewModelDashboard.kt +++ b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/bottomNavActivity/srcViewModelDashboard.kt @@ -19,8 +19,7 @@ package com.itsaky.androidide.templates.impl.bottomNavActivity import com.itsaky.androidide.templates.base.AndroidModuleTemplateBuilder -internal fun AndroidModuleTemplateBuilder.bottomNavModelDashSrcKt() - = """ +internal fun AndroidModuleTemplateBuilder.bottomNavModelDashSrcKt() = """ package ${data.packageName}.ui.dashboard import androidx.lifecycle.LiveData @@ -36,8 +35,7 @@ class DashboardViewModel : ViewModel() { } """.trim() -internal fun AndroidModuleTemplateBuilder.bottomNavModelDashSrcJava() - = """ +internal fun AndroidModuleTemplateBuilder.bottomNavModelDashSrcJava() = """ package ${data.packageName}.ui.dashboard; import androidx.lifecycle.LiveData; diff --git a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/bottomNavActivity/srcViewModelHome.kt b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/bottomNavActivity/srcViewModelHome.kt index a7e7fd7bb..3eaf3f97d 100644 --- a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/bottomNavActivity/srcViewModelHome.kt +++ b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/bottomNavActivity/srcViewModelHome.kt @@ -19,8 +19,7 @@ package com.itsaky.androidide.templates.impl.bottomNavActivity import com.itsaky.androidide.templates.base.AndroidModuleTemplateBuilder -internal fun AndroidModuleTemplateBuilder.bottomNavModelHomeSrcKt() - = """ +internal fun AndroidModuleTemplateBuilder.bottomNavModelHomeSrcKt() = """ package ${data.packageName}.ui.home import androidx.lifecycle.LiveData @@ -36,8 +35,7 @@ class HomeViewModel : ViewModel() { } """.trim() -internal fun AndroidModuleTemplateBuilder.bottomNavModelHomeSrcJava() - = """ +internal fun AndroidModuleTemplateBuilder.bottomNavModelHomeSrcJava() = """ package ${data.packageName}.ui.home; import androidx.lifecycle.LiveData; diff --git a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/emptyActivity/emptyActivityTemplate.kt b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/emptyActivity/emptyActivityTemplate.kt index 841b4cf2c..947bc74f9 100644 --- a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/emptyActivity/emptyActivityTemplate.kt +++ b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/emptyActivity/emptyActivityTemplate.kt @@ -19,17 +19,16 @@ package com.itsaky.androidide.templates.impl.emptyActivity import com.itsaky.androidide.templates.ProjectTemplate import com.itsaky.androidide.templates.base.AndroidModuleTemplateBuilder -import com.itsaky.androidide.templates.base.baseProject import com.itsaky.androidide.templates.base.modules.android.defaultAppModule import com.itsaky.androidide.templates.base.util.AndroidModuleResManager.ResourceType.LAYOUT import com.itsaky.androidide.templates.base.util.SourceWriter import com.itsaky.androidide.templates.impl.R import com.itsaky.androidide.templates.impl.base.createRecipe import com.itsaky.androidide.templates.impl.base.emptyThemesAndColors -import com.itsaky.androidide.templates.impl.base.recipeResult import com.itsaky.androidide.templates.impl.base.writeMainActivity +import com.itsaky.androidide.templates.impl.baseProjectImpl -fun emptyActivityProject(): ProjectTemplate = baseProject { +fun emptyActivityProject(): ProjectTemplate = baseProjectImpl { templateName = R.string.template_empty thumb = R.drawable.template_empty_activity defaultAppModule { @@ -41,8 +40,6 @@ fun emptyActivityProject(): ProjectTemplate = baseProject { res { writeEmptyActivity() } - - recipeResult() } } } diff --git a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/navDrawerActivity/navDrawerActivityTemplate.kt b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/navDrawerActivity/navDrawerActivityTemplate.kt index d67118b20..326b5573b 100644 --- a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/navDrawerActivity/navDrawerActivityTemplate.kt +++ b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/navDrawerActivity/navDrawerActivityTemplate.kt @@ -19,18 +19,17 @@ package com.itsaky.androidide.templates.impl.navDrawerActivity import com.itsaky.androidide.templates.Language.Kotlin import com.itsaky.androidide.templates.base.AndroidModuleTemplateBuilder -import com.itsaky.androidide.templates.base.baseProject import com.itsaky.androidide.templates.base.models.Dependency import com.itsaky.androidide.templates.base.modules.android.defaultAppModule import com.itsaky.androidide.templates.base.util.AndroidModuleResManager.ResourceType.NAVIGATION import com.itsaky.androidide.templates.impl.R import com.itsaky.androidide.templates.impl.base.createRecipe import com.itsaky.androidide.templates.impl.base.emptyThemesAndColors -import com.itsaky.androidide.templates.impl.base.recipeResult import com.itsaky.androidide.templates.impl.base.writeMainActivity +import com.itsaky.androidide.templates.impl.baseProjectImpl import com.itsaky.androidide.templates.impl.templateAsset -fun navDrawerActivityProject() = baseProject { +fun navDrawerActivityProject() = baseProjectImpl { templateName = R.string.template_navigation_drawer thumb = R.drawable.template_blank_activity_drawer defaultAppModule { @@ -64,8 +63,6 @@ fun navDrawerActivityProject() = baseProject { } else { navDrawerActivityProjectJava() } - - recipeResult() } } } diff --git a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/noActivity/noActivityTemplate.kt b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/noActivity/noActivityTemplate.kt index 0431ba715..be28db77b 100644 --- a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/noActivity/noActivityTemplate.kt +++ b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/noActivity/noActivityTemplate.kt @@ -17,14 +17,13 @@ package com.itsaky.androidide.templates.impl.noActivity -import com.itsaky.androidide.templates.base.baseProject import com.itsaky.androidide.templates.base.modules.android.defaultAppModule import com.itsaky.androidide.templates.impl.R import com.itsaky.androidide.templates.impl.base.createRecipe import com.itsaky.androidide.templates.impl.base.emptyThemesAndColors -import com.itsaky.androidide.templates.impl.base.recipeResult +import com.itsaky.androidide.templates.impl.baseProjectImpl -fun noActivityProjectTemplate() = baseProject { +fun noActivityProjectTemplate() = baseProjectImpl { templateName = R.string.template_no_activity thumb = R.drawable.template_no_activity defaultAppModule { @@ -32,8 +31,6 @@ fun noActivityProjectTemplate() = baseProject { res { emptyThemesAndColors(actionBar = true) } - - recipeResult() } } } \ No newline at end of file diff --git a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/tabbedActivity/srcPageViewModel.kt b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/tabbedActivity/srcPageViewModel.kt index d0fa9e28c..ed9e1dca0 100644 --- a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/tabbedActivity/srcPageViewModel.kt +++ b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/tabbedActivity/srcPageViewModel.kt @@ -19,8 +19,7 @@ package com.itsaky.androidide.templates.impl.tabbedActivity import com.itsaky.androidide.templates.base.AndroidModuleTemplateBuilder -internal fun AndroidModuleTemplateBuilder.tabbedPageViewModelSrcKt() - = """ +internal fun AndroidModuleTemplateBuilder.tabbedPageViewModelSrcKt() = """ package ${data.packageName}.ui.main import androidx.lifecycle.LiveData @@ -42,8 +41,7 @@ class PageViewModel : ViewModel() { } """.trim() -internal fun AndroidModuleTemplateBuilder.tabbedPageViewModelSrcJava() - = """ +internal fun AndroidModuleTemplateBuilder.tabbedPageViewModelSrcJava() = """ package ${data.packageName}.ui.main; import androidx.arch.core.util.Function; diff --git a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/tabbedActivity/srcPagerAdapter.kt b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/tabbedActivity/srcPagerAdapter.kt index a3af7e9fc..9ae056c10 100644 --- a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/tabbedActivity/srcPagerAdapter.kt +++ b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/tabbedActivity/srcPagerAdapter.kt @@ -19,8 +19,7 @@ package com.itsaky.androidide.templates.impl.tabbedActivity import com.itsaky.androidide.templates.base.AndroidModuleTemplateBuilder -internal fun AndroidModuleTemplateBuilder.tabbedPagerAdapterSrcKt() - = """ +internal fun AndroidModuleTemplateBuilder.tabbedPagerAdapterSrcKt() = """ package ${data.packageName}.ui.main import android.content.Context @@ -59,8 +58,7 @@ class SectionsPagerAdapter(private val context: Context, fm: FragmentManager) : } """.trim() -internal fun AndroidModuleTemplateBuilder.tabbedPagerAdapterSrcJava() - = """ +internal fun AndroidModuleTemplateBuilder.tabbedPagerAdapterSrcJava() = """ package ${data.packageName}.ui.main; import android.content.Context; diff --git a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/tabbedActivity/srcPlaceholderFragment.kt b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/tabbedActivity/srcPlaceholderFragment.kt index 540420684..f287a8a6c 100644 --- a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/tabbedActivity/srcPlaceholderFragment.kt +++ b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/tabbedActivity/srcPlaceholderFragment.kt @@ -19,8 +19,7 @@ package com.itsaky.androidide.templates.impl.tabbedActivity import com.itsaky.androidide.templates.base.AndroidModuleTemplateBuilder -internal fun AndroidModuleTemplateBuilder.tabbedPlaceholderFragmentSrcKt() - = """ +internal fun AndroidModuleTemplateBuilder.tabbedPlaceholderFragmentSrcKt() = """ package ${data.packageName}.ui.main import android.os.Bundle @@ -96,8 +95,8 @@ class PlaceholderFragment : Fragment() { } """.trim() -internal fun AndroidModuleTemplateBuilder.tabbedPlaceholderFragmentSrcJava() - = """ +internal fun AndroidModuleTemplateBuilder.tabbedPlaceholderFragmentSrcJava() = + """ package ${data.packageName}.ui.main; import android.os.Bundle; diff --git a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/tabbedActivity/tabbedActivityTemplate.kt b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/tabbedActivity/tabbedActivityTemplate.kt index 164891557..23724a0a4 100644 --- a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/tabbedActivity/tabbedActivityTemplate.kt +++ b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/tabbedActivity/tabbedActivityTemplate.kt @@ -19,17 +19,16 @@ package com.itsaky.androidide.templates.impl.tabbedActivity import com.itsaky.androidide.templates.Language import com.itsaky.androidide.templates.base.AndroidModuleTemplateBuilder -import com.itsaky.androidide.templates.base.baseProject import com.itsaky.androidide.templates.base.models.Dependency import com.itsaky.androidide.templates.base.modules.android.defaultAppModule import com.itsaky.androidide.templates.impl.R import com.itsaky.androidide.templates.impl.base.createRecipe import com.itsaky.androidide.templates.impl.base.emptyThemesAndColors -import com.itsaky.androidide.templates.impl.base.recipeResult import com.itsaky.androidide.templates.impl.base.writeMainActivity +import com.itsaky.androidide.templates.impl.baseProjectImpl import com.itsaky.androidide.templates.impl.templateAsset -fun tabbedActivityProject() = baseProject { +fun tabbedActivityProject() = baseProjectImpl { templateName = R.string.template_tabs thumb = R.drawable.template_blank_activity_tabs defaultAppModule { @@ -54,8 +53,6 @@ fun tabbedActivityProject() = baseProject { } else { tabbedActivityProjectJava() } - - recipeResult() } } }