Fixes to merged settings dialog and edit manga dialog

This commit is contained in:
Jobobby04 2020-12-13 22:35:14 -05:00
parent 3300eb0e79
commit beaf6284fd
2 changed files with 14 additions and 32 deletions

View File

@ -62,17 +62,13 @@ class EditMangaDialog : DialogController {
} }
override fun onCreateDialog(savedViewState: Bundle?): Dialog { override fun onCreateDialog(savedViewState: Bundle?): Dialog {
binding = EditMangaDialogBinding.inflate(activity!!.layoutInflater)
val dialog = MaterialDialog(activity!!).apply { val dialog = MaterialDialog(activity!!).apply {
customView(viewRes = R.layout.edit_manga_dialog, scrollable = true) customView(view = binding.root, scrollable = true)
negativeButton(android.R.string.cancel) negativeButton(android.R.string.cancel)
positiveButton(R.string.action_save) { onPositiveButtonClick() } positiveButton(R.string.action_save) { onPositiveButtonClick() }
} }
binding = EditMangaDialogBinding.bind(dialog.view.contentLayout.customView!!)
onViewCreated() onViewCreated()
dialog.setOnShowListener {
val dView = (it as? MaterialDialog)?.view
dView?.contentLayout?.scrollView?.scrollTo(0, 0)
}
return dialog return dialog
} }

View File

@ -2,7 +2,6 @@ package eu.kanade.tachiyomi.ui.manga.merged
import android.app.Dialog import android.app.Dialog
import android.os.Bundle import android.os.Bundle
import android.view.View
import androidx.recyclerview.widget.ConcatAdapter import androidx.recyclerview.widget.ConcatAdapter
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.afollestad.materialdialogs.MaterialDialog import com.afollestad.materialdialogs.MaterialDialog
@ -19,9 +18,6 @@ import exh.merged.sql.models.MergedMangaReference
import uy.kohesive.injekt.injectLazy import uy.kohesive.injekt.injectLazy
class EditMergedSettingsDialog : DialogController, EditMergedMangaAdapter.EditMergedMangaItemListener { class EditMergedSettingsDialog : DialogController, EditMergedMangaAdapter.EditMergedMangaItemListener {
private var dialogView: View? = null
private val manga: Manga private val manga: Manga
val mergedMangas: MutableList<Pair<Manga?, MergedMangaReference>> = mutableListOf() val mergedMangas: MutableList<Pair<Manga?, MergedMangaReference>> = mutableListOf()
@ -55,22 +51,17 @@ class EditMergedSettingsDialog : DialogController, EditMergedMangaAdapter.EditMe
private var mergedMangaAdapter: EditMergedMangaAdapter? = null private var mergedMangaAdapter: EditMergedMangaAdapter? = null
override fun onCreateDialog(savedViewState: Bundle?): Dialog { override fun onCreateDialog(savedViewState: Bundle?): Dialog {
val dialog = MaterialDialog(activity!!).apply { binding = EditMergedSettingsDialogBinding.inflate(activity!!.layoutInflater)
customView(viewRes = R.layout.edit_merged_settings_dialog, scrollable = true) val dialog = MaterialDialog(activity!!)
negativeButton(android.R.string.cancel) .customView(view = binding.root, scrollable = true)
positiveButton(R.string.action_save) { onPositiveButtonClick() } .negativeButton(android.R.string.cancel)
} .positiveButton(R.string.action_save) { onPositiveButtonClick() }
dialogView = dialog.view
onViewCreated(dialog.view) onViewCreated()
dialog.setOnShowListener {
val dView = (it as? MaterialDialog)?.view
dView?.contentLayout?.scrollView?.scrollTo(0, 0)
}
return dialog return dialog
} }
fun onViewCreated(view: View) { fun onViewCreated() {
binding = EditMergedSettingsDialogBinding.bind(view)
val mergedManga = db.getMergedMangas(manga.id!!).executeAsBlocking() val mergedManga = db.getMergedMangas(manga.id!!).executeAsBlocking()
val mergedReferences = db.getMergedMangaReferences(manga.id!!).executeAsBlocking() val mergedReferences = db.getMergedMangaReferences(manga.id!!).executeAsBlocking()
if (mergedReferences.isEmpty() || mergedReferences.size == 1) { if (mergedReferences.isEmpty() || mergedReferences.size == 1) {
@ -86,18 +77,13 @@ class EditMergedSettingsDialog : DialogController, EditMergedMangaAdapter.EditMe
mergedHeaderAdapter = EditMergedSettingsHeaderAdapter(this, mergedMangaAdapter!!) mergedHeaderAdapter = EditMergedSettingsHeaderAdapter(this, mergedMangaAdapter!!)
binding.recycler.adapter = ConcatAdapter(mergedHeaderAdapter, mergedMangaAdapter) binding.recycler.adapter = ConcatAdapter(mergedHeaderAdapter, mergedMangaAdapter)
binding.recycler.layoutManager = LinearLayoutManager(view.context) binding.recycler.layoutManager = LinearLayoutManager(activity!!)
mergedMangaAdapter?.isHandleDragEnabled = isPriorityOrder mergedMangaAdapter?.isHandleDragEnabled = isPriorityOrder
mergedMangaAdapter?.updateDataSet(mergedMangas.map { it.toModel() }) mergedMangaAdapter?.updateDataSet(mergedMangas.map { it.toModel() })
} }
override fun onDestroyView(view: View) {
super.onDestroyView(view)
dialogView = null
}
private fun onPositiveButtonClick() { private fun onPositiveButtonClick() {
mangaController.presenter.updateMergeSettings(mergeReference, mergedMangas.map { it.second }) mangaController.presenter.updateMergeSettings(mergeReference, mergedMangas.map { it.second })
} }
@ -115,7 +101,7 @@ class EditMergedSettingsDialog : DialogController, EditMergedMangaAdapter.EditMe
val mergedMangaAdapter = mergedMangaAdapter ?: return val mergedMangaAdapter = mergedMangaAdapter ?: return
val mergeMangaReference = mergedMangaAdapter.currentItems.getOrNull(position)?.mergedMangaReference ?: return val mergeMangaReference = mergedMangaAdapter.currentItems.getOrNull(position)?.mergedMangaReference ?: return
MaterialDialog(dialogView!!.context) MaterialDialog(activity!!)
.title(R.string.delete_merged_manga) .title(R.string.delete_merged_manga)
.message(R.string.delete_merged_manga_desc) .message(R.string.delete_merged_manga_desc)
.positiveButton(android.R.string.ok) { .positiveButton(android.R.string.ok) {
@ -128,7 +114,7 @@ class EditMergedSettingsDialog : DialogController, EditMergedMangaAdapter.EditMe
} }
override fun onToggleChapterUpdatesClicked(position: Int) { override fun onToggleChapterUpdatesClicked(position: Int) {
MaterialDialog(dialogView!!.context) MaterialDialog(activity!!)
.title(R.string.chapter_updates_merged_manga) .title(R.string.chapter_updates_merged_manga)
.message(R.string.chapter_updates_merged_manga_desc) .message(R.string.chapter_updates_merged_manga_desc)
.positiveButton(android.R.string.ok) { .positiveButton(android.R.string.ok) {
@ -152,7 +138,7 @@ class EditMergedSettingsDialog : DialogController, EditMergedMangaAdapter.EditMe
} }
override fun onToggleChapterDownloadsClicked(position: Int) { override fun onToggleChapterDownloadsClicked(position: Int) {
MaterialDialog(dialogView!!.context) MaterialDialog(activity!!)
.title(R.string.download_merged_manga) .title(R.string.download_merged_manga)
.message(R.string.download_merged_manga_desc) .message(R.string.download_merged_manga_desc)
.positiveButton(android.R.string.ok) { .positiveButton(android.R.string.ok) {