Simpler entry edit viewModel

This commit is contained in:
J-Jamet
2021-08-27 22:07:39 +02:00
parent 09d79d52ae
commit d8ae212df0
3 changed files with 55 additions and 62 deletions

View File

@@ -166,7 +166,37 @@ class EntryEditActivity : DatabaseLockActivity(),
// Save button
validateButton?.setOnClickListener { saveEntry() }
mEntryEditViewModel.entryInfo.observe(this) {
mEntryEditViewModel.templatesEntry.observe(this) { templatesEntry ->
// Change template dynamically
templatesEntry?.templates?.let { templates ->
val defaultTemplate = templatesEntry.defaultTemplate
templateSelectorSpinner?.apply {
// Build template selector
if (templates.isNotEmpty()) {
adapter = TemplatesSelectorAdapter(
this@EntryEditActivity,
mIconDrawableFactory,
templates
)
setSelection(templates.indexOf(defaultTemplate))
onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(
parent: AdapterView<*>?,
view: View?,
position: Int,
id: Long
) {
mEntryEditViewModel.changeTemplate(templates[position])
}
override fun onNothingSelected(parent: AdapterView<*>?) {}
}
} else {
visibility = View.GONE
}
}
}
loadingView?.hideByFading()
}
@@ -238,27 +268,6 @@ class EntryEditActivity : DatabaseLockActivity(),
mAttachmentFileBinderManager?.removeBinaryAttachment(it)
}
// Change template dynamically
mEntryEditViewModel.templates.observe(this) { templatesLoaded ->
val templates = templatesLoaded.templates
val defaultTemplate = templatesLoaded.defaultTemplate
templateSelectorSpinner?.apply {
// Build template selector
if (templates.isNotEmpty()) {
adapter = TemplatesSelectorAdapter(this@EntryEditActivity, mIconDrawableFactory, templates)
setSelection(templates.indexOf(defaultTemplate))
onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
mEntryEditViewModel.changeTemplate(templates[position])
}
override fun onNothingSelected(parent: AdapterView<*>?) {}
}
} else {
visibility = View.GONE
}
}
}
// Build new entry from the entry info retrieved
mEntryEditViewModel.onEntrySaved.observe(this) { entrySave ->
// Open a progress dialog and save entry