This commit is contained in:
kunfei
2023-04-01 12:13:34 +08:00
parent d81685ab86
commit b4837a8d46
11 changed files with 132 additions and 90 deletions
@@ -60,8 +60,9 @@ class GroupEditDialog() : BaseDialogFragment(R.layout.dialog_book_group_edit) {
bookGroup?.let {
binding.btnDelete.visible(it.groupId > 0 || it.groupId == Long.MIN_VALUE)
binding.tieGroupName.setText(it.groupName)
binding.spSort.setSelection(it.bookSort + 1)
binding.ivCover.load(it.cover)
binding.spSort.setSelection(it.bookSort + 1)
binding.cbEnableRefresh.isChecked = it.enableRefresh
} ?: let {
binding.toolBar.title = getString(R.string.add_group)
binding.btnDelete.gone()
@@ -79,15 +80,24 @@ class GroupEditDialog() : BaseDialogFragment(R.layout.dialog_book_group_edit) {
if (groupName.isNullOrEmpty()) {
toastOnUi("分组名称不能为空")
} else {
val bookSort = binding.spSort.selectedItemPosition - 1
val coverPath = binding.ivCover.bitmapPath
val enableRefresh = binding.cbEnableRefresh.isChecked
bookGroup?.let {
it.groupName = groupName
it.cover = binding.ivCover.bitmapPath
it.bookSort = binding.spSort.selectedItemPosition - 1
it.cover = coverPath
it.bookSort = bookSort
it.enableRefresh = enableRefresh
viewModel.upGroup(it) {
dismiss()
}
} ?: let {
viewModel.addGroup(groupName, binding.ivCover.bitmapPath) {
viewModel.addGroup(
groupName,
bookSort,
enableRefresh,
coverPath
) {
dismiss()
}
}
@@ -15,13 +15,21 @@ class GroupViewModel(application: Application) : BaseViewModel(application) {
}
}
fun addGroup(groupName: String, cover: String?, finally: () -> Unit) {
fun addGroup(
groupName: String,
bookSort: Int,
enableRefresh: Boolean,
cover: String?,
finally: () -> Unit
) {
execute {
val groupId = appDb.bookGroupDao.getUnusedId()
val bookGroup = BookGroup(
groupId = groupId,
groupName = groupName,
cover = cover,
bookSort = bookSort,
enableRefresh = enableRefresh,
order = appDb.bookGroupDao.maxOrder.plus(1)
)
appDb.bookGroupDao.getByID(groupId) ?: appDb.bookDao.removeGroup(groupId)