|
@@ -13,6 +13,7 @@ import android.view.animation.LinearInterpolator
|
|
|
import androidx.activity.addCallback
|
|
import androidx.activity.addCallback
|
|
|
import androidx.activity.viewModels
|
|
import androidx.activity.viewModels
|
|
|
import androidx.appcompat.app.AlertDialog
|
|
import androidx.appcompat.app.AlertDialog
|
|
|
|
|
+import androidx.core.graphics.toColorInt
|
|
|
import androidx.core.view.doOnLayout
|
|
import androidx.core.view.doOnLayout
|
|
|
import androidx.core.view.isGone
|
|
import androidx.core.view.isGone
|
|
|
import androidx.core.view.isVisible
|
|
import androidx.core.view.isVisible
|
|
@@ -25,6 +26,7 @@ import com.bumptech.glide.request.target.Target.SIZE_ORIGINAL
|
|
|
import com.bumptech.glide.util.FixedPreloadSizeProvider
|
|
import com.bumptech.glide.util.FixedPreloadSizeProvider
|
|
|
import com.google.android.material.transition.platform.MaterialContainerTransform
|
|
import com.google.android.material.transition.platform.MaterialContainerTransform
|
|
|
import com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback
|
|
import com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback
|
|
|
|
|
+import com.jaredrummler.android.colorpicker.ColorPickerDialogListener
|
|
|
import io.legado.app.BuildConfig
|
|
import io.legado.app.BuildConfig
|
|
|
import io.legado.app.R
|
|
import io.legado.app.R
|
|
|
import io.legado.app.base.VMBaseActivity
|
|
import io.legado.app.base.VMBaseActivity
|
|
@@ -52,6 +54,7 @@ import io.legado.app.ui.book.manga.config.MangaClickActionConfigDialog
|
|
|
import io.legado.app.ui.book.manga.config.MangaColorFilterConfig
|
|
import io.legado.app.ui.book.manga.config.MangaColorFilterConfig
|
|
|
import io.legado.app.ui.book.manga.config.MangaColorFilterDialog
|
|
import io.legado.app.ui.book.manga.config.MangaColorFilterDialog
|
|
|
import io.legado.app.ui.book.manga.config.MangaFooterSettingDialog
|
|
import io.legado.app.ui.book.manga.config.MangaFooterSettingDialog
|
|
|
|
|
+import io.legado.app.ui.book.manga.config.MangaFooterSettingDialog.Companion.MANGA_B
|
|
|
import io.legado.app.ui.book.manga.config.MangaScrollMode
|
|
import io.legado.app.ui.book.manga.config.MangaScrollMode
|
|
|
import io.legado.app.ui.book.manga.entities.BaseMangaPage
|
|
import io.legado.app.ui.book.manga.entities.BaseMangaPage
|
|
|
import io.legado.app.ui.book.manga.entities.MangaFooterConfig
|
|
import io.legado.app.ui.book.manga.entities.MangaFooterConfig
|
|
@@ -88,7 +91,7 @@ import kotlin.math.ceil
|
|
|
class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewModel>(),
|
|
class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewModel>(),
|
|
|
ReadManga.Callback, ChangeBookSourceDialog.CallBack, MangaMenu.CallBack,
|
|
ReadManga.Callback, ChangeBookSourceDialog.CallBack, MangaMenu.CallBack,
|
|
|
MangaColorFilterDialog.Callback, ScrollTimer.ScrollCallback, MangaFooterSettingDialog.Callback,
|
|
MangaColorFilterDialog.Callback, ScrollTimer.ScrollCallback, MangaFooterSettingDialog.Callback,
|
|
|
- MangaAutoReadDialog.Callback {
|
|
|
|
|
|
|
+ MangaAutoReadDialog.Callback, ColorPickerDialogListener {
|
|
|
|
|
|
|
|
private val mLayoutManager by lazy {
|
|
private val mLayoutManager by lazy {
|
|
|
MangaLayoutManager(this)
|
|
MangaLayoutManager(this)
|
|
@@ -300,8 +303,7 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
|
|
+ setBackground()
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun onNewIntent(intent: Intent) {
|
|
override fun onNewIntent(intent: Intent) {
|
|
@@ -451,6 +453,16 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
|
|
|
mScrollTimer.isEnabled = false
|
|
mScrollTimer.isEnabled = false
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ override fun onColorSelected(dialogId: Int, color: Int){
|
|
|
|
|
+ if (dialogId == MANGA_B)
|
|
|
|
|
+ {
|
|
|
|
|
+ AppConfig.mangaBackground = color
|
|
|
|
|
+ setBackground()
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ override fun onDialogDismissed(dialogId: Int) = Unit
|
|
|
|
|
+
|
|
|
override fun loadFail(msg: String) {
|
|
override fun loadFail(msg: String) {
|
|
|
lifecycleScope.launch {
|
|
lifecycleScope.launch {
|
|
|
if (loadingViewVisible) {
|
|
if (loadingViewVisible) {
|
|
@@ -814,6 +826,10 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ private fun setBackground() {
|
|
|
|
|
+ binding.webtoonFrame.setBackgroundColor(AppConfig.mangaBackground)
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
|
|
|
private fun setRecyclerViewPreloader(maxPreload: Int) {
|
|
private fun setRecyclerViewPreloader(maxPreload: Int) {
|
|
|
if (mRecyclerViewPreloader != null) {
|
|
if (mRecyclerViewPreloader != null) {
|