mirror of
https://gitee.com/zhangsken/AndroidIDE.git
synced 2026-10-16 07:49:44 +08:00
fix: template recipe result not set to ProjectTemplate
This commit is contained in:
@@ -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))
|
||||
}
|
||||
|
||||
@@ -20,5 +20,4 @@ package com.itsaky.androidide.activities.editor
|
||||
/**
|
||||
* @author Akash Yadav
|
||||
*/
|
||||
class EditorActivityKt : EditorHandlerActivity() {
|
||||
}
|
||||
class EditorActivityKt : EditorHandlerActivity()
|
||||
@@ -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() {
|
||||
|
||||
@@ -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<FragmentTemplateDetailsBinding>(
|
||||
R.layout.fragment_template_details, FragmentTemplateDetailsBinding::bind) {
|
||||
|
||||
private val log = ILogger.newInstance("TemplateDetailsFragment")
|
||||
private val viewModel by viewModels<MainViewModel>(
|
||||
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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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<FragmentTemplateListBinding>(
|
||||
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<ProjectTemplate>()
|
||||
|
||||
layoutManager =
|
||||
FlexboxLayoutManager(requireContext(), FlexDirection.ROW).apply {
|
||||
justifyContent = JustifyContent.SPACE_EVENLY
|
||||
|
||||
+12
-4
@@ -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<R : TemplateRecipeResult> : TemplateBuilder<R>() {
|
||||
sealed class PrePostRecipeTemplateBuilder<R : TemplateRecipeResult> :
|
||||
TemplateBuilder<R>() {
|
||||
|
||||
internal var preRecipe: TemplateRecipeConfigurator = {}
|
||||
internal var postRecipe: TemplateRecipeFinalizer = {}
|
||||
|
||||
override var recipe: TemplateRecipe<R>? = null
|
||||
private var _recipe: TemplateRecipe<R>? = null
|
||||
|
||||
val isRecipeSet: Boolean
|
||||
get() = _recipe != null
|
||||
|
||||
override var recipe: TemplateRecipe<R>?
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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 {}
|
||||
}
|
||||
}
|
||||
@@ -17,8 +17,7 @@
|
||||
|
||||
package com.itsaky.androidide.templates.impl.base
|
||||
|
||||
internal fun baseLayoutContentMain() =
|
||||
"""
|
||||
internal fun baseLayoutContentMain() = """
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
|
||||
@@ -17,10 +17,14 @@
|
||||
|
||||
package com.itsaky.androidide.templates.impl.base
|
||||
|
||||
import com.itsaky.androidide.templates.ModuleTemplateRecipeResult
|
||||
import com.itsaky.androidide.templates.ProjectTemplateRecipeResult
|
||||
import com.itsaky.androidide.templates.RecipeExecutor
|
||||
import com.itsaky.androidide.templates.TemplateRecipe
|
||||
import com.itsaky.androidide.templates.TemplateRecipeResult
|
||||
import com.itsaky.androidide.templates.base.AndroidModuleTemplateBuilder
|
||||
import com.itsaky.androidide.templates.base.ExecutorDataTemplateBuilder
|
||||
import com.itsaky.androidide.templates.base.ProjectTemplateBuilder
|
||||
|
||||
internal fun <R : TemplateRecipeResult> ExecutorDataTemplateBuilder<*, *>.createRecipe(
|
||||
action: RecipeExecutor.() -> R
|
||||
@@ -28,4 +32,22 @@ internal fun <R : TemplateRecipeResult> ExecutorDataTemplateBuilder<*, *>.create
|
||||
return TemplateRecipe {
|
||||
return@TemplateRecipe executor.run(action)
|
||||
}
|
||||
}
|
||||
|
||||
internal fun AndroidModuleTemplateBuilder.createRecipe(
|
||||
action: RecipeExecutor.() -> Unit
|
||||
): TemplateRecipe<ModuleTemplateRecipeResult> {
|
||||
return TemplateRecipe {
|
||||
executor.run(action)
|
||||
recipeResult()
|
||||
}
|
||||
}
|
||||
|
||||
internal fun ProjectTemplateBuilder.createRecipe(
|
||||
action: RecipeExecutor.() -> Unit
|
||||
): TemplateRecipe<ProjectTemplateRecipeResult> {
|
||||
return TemplateRecipe {
|
||||
executor.run(action)
|
||||
recipeResult()
|
||||
}
|
||||
}
|
||||
+2
-5
@@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-5
@@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-4
@@ -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;
|
||||
|
||||
+2
-4
@@ -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;
|
||||
|
||||
+2
-4
@@ -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;
|
||||
|
||||
+2
-4
@@ -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;
|
||||
|
||||
+2
-5
@@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-5
@@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-5
@@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
+2
-4
@@ -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;
|
||||
|
||||
+2
-4
@@ -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;
|
||||
|
||||
+3
-4
@@ -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;
|
||||
|
||||
+2
-5
@@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user