Automatic newest chapter placement on recently read to manga chapters
This commit is contained in:
parent
8936138da5
commit
28a4f0e237
@ -43,6 +43,6 @@ class RecentlyReadAdapter(controller: RecentlyReadController)
|
|||||||
}
|
}
|
||||||
|
|
||||||
interface OnCoverClickListener {
|
interface OnCoverClickListener {
|
||||||
fun onCoverClick(position: Int)
|
fun onCoverClick(position: Int, lastTouchY: Float)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -102,9 +102,9 @@ class RecentlyReadController : NucleusController<RecentlyReadPresenter>(),
|
|||||||
RemoveHistoryDialog(this, manga, history).showDialog(router)
|
RemoveHistoryDialog(this, manga, history).showDialog(router)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCoverClick(position: Int) {
|
override fun onCoverClick(position: Int, lastTouchY: Float) {
|
||||||
val manga = adapter?.getItem(position)?.mch?.manga ?: return
|
val manga = adapter?.getItem(position)?.mch?.manga ?: return
|
||||||
router.pushController(MangaController(manga).withFadeTransaction())
|
router.pushController(MangaController(manga, lastTouchY).withFadeTransaction())
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun removeHistory(manga: Manga, history: History, all: Boolean) {
|
override fun removeHistory(manga: Manga, history: History, all: Boolean) {
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package eu.kanade.tachiyomi.ui.recently_read
|
package eu.kanade.tachiyomi.ui.recently_read
|
||||||
|
|
||||||
|
import android.os.Build
|
||||||
|
import android.view.MotionEvent
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import com.bumptech.glide.load.engine.DiskCacheStrategy
|
import com.bumptech.glide.load.engine.DiskCacheStrategy
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
@ -8,6 +10,7 @@ import eu.kanade.tachiyomi.data.glide.GlideApp
|
|||||||
import eu.kanade.tachiyomi.ui.base.holder.BaseFlexibleViewHolder
|
import eu.kanade.tachiyomi.ui.base.holder.BaseFlexibleViewHolder
|
||||||
import kotlinx.android.synthetic.main.recently_read_item.*
|
import kotlinx.android.synthetic.main.recently_read_item.*
|
||||||
import java.util.Date
|
import java.util.Date
|
||||||
|
import kotlin.math.max
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holder that contains recent manga item
|
* Holder that contains recent manga item
|
||||||
@ -23,6 +26,7 @@ class RecentlyReadHolder(
|
|||||||
val adapter: RecentlyReadAdapter
|
val adapter: RecentlyReadAdapter
|
||||||
) : BaseFlexibleViewHolder(view, adapter) {
|
) : BaseFlexibleViewHolder(view, adapter) {
|
||||||
|
|
||||||
|
private var lastTouchUpY = 0f
|
||||||
init {
|
init {
|
||||||
remove.setOnClickListener {
|
remove.setOnClickListener {
|
||||||
adapter.removeClickListener.onRemoveClick(adapterPosition)
|
adapter.removeClickListener.onRemoveClick(adapterPosition)
|
||||||
@ -33,7 +37,17 @@ class RecentlyReadHolder(
|
|||||||
}
|
}
|
||||||
|
|
||||||
cover.setOnClickListener {
|
cover.setOnClickListener {
|
||||||
adapter.coverClickListener.onCoverClick(adapterPosition)
|
adapter.coverClickListener.onCoverClick(adapterPosition, lastTouchUpY)
|
||||||
|
}
|
||||||
|
cover.setOnTouchListener { v, event ->
|
||||||
|
when (event?.action) {
|
||||||
|
MotionEvent.ACTION_UP -> {
|
||||||
|
val topH = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
|
||||||
|
v.rootWindowInsets.systemWindowInsetTop else 38
|
||||||
|
lastTouchUpY = max(topH + 175f, event.rawY - topH - 154f)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user