mirror of
https://github.com/Kunzisoft/KeePassDX.git
synced 2025-12-04 15:49:33 +01:00
Simpler entry edit viewModel
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user