@@ -5,7 +5,7 @@ import com.dengzii.plugin.template.model.Module
55import com.dengzii.plugin.template.template.AucTemplate
66import com.dengzii.plugin.template.template.Template
77import com.dengzii.plugin.template.utils.Logger
8- import com.google.gson.Gson
8+ import com.google.gson.GsonBuilder
99import com.intellij.ide.util.PropertiesComponent
1010
1111/* *
@@ -19,44 +19,45 @@ import com.intellij.ide.util.PropertiesComponent
1919 */
2020
2121object Config {
22+ private val TAG = Config ::class .java.simpleName
2223
2324 private const val KEY_TEMPLATES = " KEY_TEMPLATES"
2425 private const val KEY_INIT = " KEY_INIT"
2526
26- private val GSON = Gson ()
27+ private val GSON by lazy { GsonBuilder ().setLenient().serializeNulls().create() }
2728 private val STORE by lazy { PropertiesComponent .getInstance() }
2829
29- private val DEFAULT_MODULE_TEMPLATES = listOf (
30- Module .create(AucTemplate .MODULE , " feature " , " com.example " , " Auc Feature Module" ),
31- Module .create(AucTemplate .APP , " app " , " com.example " , " Auc App Module" ),
32- Module .create(AucTemplate .PKG , " pkg " , " com.example " , " Auc Pkg Module" ),
33- Module .create(AucTemplate .EXPORT , " export " , " com.example " , " Auc Export Module" )
30+ private val AUC_MODULE_TEMPLATES = listOf (
31+ Module .create(AucTemplate .MODULE , " Auc Feature Module" ),
32+ Module .create(AucTemplate .APP , " Auc App Module" ),
33+ Module .create(AucTemplate .PKG , " Auc Pkg Module" ),
34+ Module .create(AucTemplate .EXPORT , " Auc Export Module" )
3435 )
3536
36- val MODULE_ANDROID_APPLICATION =
37- Module .create(Template .ANDROID_APP , " app" , " com.example" , " Android Application" )
37+ val TEMPLATE_ANDROID_APPLICATION = Module .create(Template .ANDROID_APP , " Android Application" )
3838
3939 fun clear () = STORE .unsetValue(KEY_TEMPLATES )
4040
4141 fun loadModuleTemplates (): MutableList <Module > {
4242 val result = mutableListOf<Module >()
4343 val arr = STORE .getValues(KEY_TEMPLATES )
4444
45- if (STORE .getBoolean(KEY_INIT , true )) {
46- result.addAll(DEFAULT_MODULE_TEMPLATES )
45+ if (STORE .getBoolean(KEY_INIT )) {
46+ Logger .i(TAG , " INIT..." )
47+ result.addAll(AUC_MODULE_TEMPLATES )
4748 }
4849 if (arr.isNullOrEmpty()) {
4950 return result
5051 }
51- Logger .d(Config :: class .java.simpleName , " loadModuleTemplates" )
52+ Logger .d(TAG , " loadModuleTemplates" )
5253 arr.forEach {
5354 try {
5455 val module = GSON .fromJson(it, Module ::class .java)
5556 setParent(module.template)
5657 result.add(module)
5758 } catch (e: Exception ) {
5859 clear()
59- Logger .e(Config :: class .java.simpleName , e)
60+ Logger .e(TAG , e)
6061 return result
6162 }
6263 }
@@ -68,10 +69,10 @@ object Config {
6869 val t = mutableListOf<String >()
6970 templates.forEach {
7071 t.add(GSON .toJson(it))
71- Logger .d(Config :: class .java.simpleName , " saveModuleTemplates ${t[t.lastIndex]} " )
72+ Logger .d(TAG , " saveModuleTemplates ${t[t.lastIndex]} " )
7273 }
74+ STORE .setValue(KEY_INIT , false , false )
7375 STORE .setValues(KEY_TEMPLATES , t.toTypedArray())
74- STORE .setValue(KEY_INIT , false )
7576 }
7677
7778 private fun setParent (node : FileTreeNode ) {
0 commit comments