|
|
@ -36,7 +36,7 @@ import androidx.core.view.ViewCompat
|
|
|
|
import androidx.recyclerview.widget.RecyclerView
|
|
|
|
import androidx.recyclerview.widget.RecyclerView
|
|
|
|
import kotlin.math.*
|
|
|
|
import kotlin.math.*
|
|
|
|
|
|
|
|
|
|
|
|
class ChaptersController : NucleusController<ChaptersPresenter>(),
|
|
|
|
class ChaptersController() : NucleusController<ChaptersPresenter>(),
|
|
|
|
ActionMode.Callback,
|
|
|
|
ActionMode.Callback,
|
|
|
|
FlexibleAdapter.OnItemClickListener,
|
|
|
|
FlexibleAdapter.OnItemClickListener,
|
|
|
|
FlexibleAdapter.OnItemLongClickListener,
|
|
|
|
FlexibleAdapter.OnItemLongClickListener,
|
|
|
@ -47,6 +47,10 @@ class ChaptersController : NucleusController<ChaptersPresenter>(),
|
|
|
|
DownloadCustomChaptersDialog.Listener,
|
|
|
|
DownloadCustomChaptersDialog.Listener,
|
|
|
|
DeleteChaptersDialog.Listener {
|
|
|
|
DeleteChaptersDialog.Listener {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
constructor(startY: Float?) : this() {
|
|
|
|
|
|
|
|
this.startingChapterYPos = startY
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Adapter containing a list of chapters.
|
|
|
|
* Adapter containing a list of chapters.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
@ -69,6 +73,7 @@ class ChaptersController : NucleusController<ChaptersPresenter>(),
|
|
|
|
setHasOptionsMenu(true)
|
|
|
|
setHasOptionsMenu(true)
|
|
|
|
setOptionsMenuHidden(true)
|
|
|
|
setOptionsMenuHidden(true)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
var startingChapterYPos:Float? = null
|
|
|
|
|
|
|
|
|
|
|
|
override fun createPresenter(): ChaptersPresenter {
|
|
|
|
override fun createPresenter(): ChaptersPresenter {
|
|
|
|
val ctrl = parentController as MangaController
|
|
|
|
val ctrl = parentController as MangaController
|
|
|
@ -233,11 +238,15 @@ class ChaptersController : NucleusController<ChaptersPresenter>(),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private fun scrollToUnread() {
|
|
|
|
private fun scrollToUnread() {
|
|
|
|
|
|
|
|
if (adapter?.items.isNullOrEmpty()) return
|
|
|
|
if (scrollToUnread) {
|
|
|
|
if (scrollToUnread) {
|
|
|
|
val index = presenter.getFirstUnreadIndex()
|
|
|
|
val index = presenter.getFirstUnreadIndex()
|
|
|
|
val centerOfScreen = recycler.height / 2 - 96
|
|
|
|
val centerOfScreen =
|
|
|
|
(recycler.layoutManager as LinearLayoutManager).scrollToPositionWithOffset(index,
|
|
|
|
if (startingChapterYPos != null) startingChapterYPos!!.toInt() - recycler.top - 96
|
|
|
|
centerOfScreen)
|
|
|
|
else recycler.height / 2 - 96
|
|
|
|
|
|
|
|
(recycler.layoutManager as LinearLayoutManager).scrollToPositionWithOffset(
|
|
|
|
|
|
|
|
index, centerOfScreen
|
|
|
|
|
|
|
|
)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
scrollToUnread = false
|
|
|
|
scrollToUnread = false
|
|
|
|
}
|
|
|
|
}
|
|
|
|