|
|
@@ -9,6 +9,7 @@ import android.view.KeyEvent
|
|
|
import android.view.Menu
|
|
|
import android.view.MenuItem
|
|
|
import android.view.WindowManager
|
|
|
+import android.view.animation.LinearInterpolator
|
|
|
import androidx.activity.viewModels
|
|
|
import androidx.appcompat.app.AlertDialog
|
|
|
import androidx.core.view.isGone
|
|
|
@@ -76,7 +77,7 @@ import java.text.DecimalFormat
|
|
|
|
|
|
class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewModel>(),
|
|
|
ReadManga.Callback, ChangeBookSourceDialog.CallBack, MangaMenu.CallBack,
|
|
|
- MangaColorFilterDialog.Callback {
|
|
|
+ MangaColorFilterDialog.Callback, ScrollTimer.ScrollCallback {
|
|
|
|
|
|
private val mLayoutManager by lazy {
|
|
|
LinearLayoutManager(this)
|
|
|
@@ -120,6 +121,9 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
|
|
|
private lateinit var mScrollTimer: ScrollTimer
|
|
|
private var enableAutoPageScroll = false
|
|
|
private var enableAutoScroll = false
|
|
|
+ private val mLinearInterpolator by lazy {
|
|
|
+ LinearInterpolator()
|
|
|
+ }
|
|
|
|
|
|
private val loadMoreView by lazy {
|
|
|
LoadMoreView(this).apply {
|
|
|
@@ -178,6 +182,7 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
|
|
|
?: MangaFooterConfig()
|
|
|
mScrollTimer = ScrollTimer(this).apply {
|
|
|
setSpeed(AppConfig.mangaAutoPageSpeed)
|
|
|
+ callback = this@ReadMangaActivity
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -424,13 +429,13 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- override fun scrollBy(delta: Int) {
|
|
|
+ override fun scrollBy(distance: Int) {
|
|
|
if (binding.mRecyclerManga.isAtBottom()) {
|
|
|
return
|
|
|
}
|
|
|
binding.mRecyclerManga.smoothScrollBy(
|
|
|
- if (mAdapter.isHorizontal) delta else 0,
|
|
|
- if (mAdapter.isHorizontal) 0 else delta, null, 16
|
|
|
+ if (mAdapter.isHorizontal) distance else 0,
|
|
|
+ if (mAdapter.isHorizontal) 0 else distance, mLinearInterpolator, 16
|
|
|
)
|
|
|
}
|
|
|
|