优化
This commit is contained in:
@@ -30,6 +30,7 @@ import io.legado.app.ui.book.changecover.ChangeCoverDialog
|
||||
import io.legado.app.ui.book.changesource.ChangeBookSourceDialog
|
||||
import io.legado.app.ui.book.group.GroupSelectDialog
|
||||
import io.legado.app.ui.book.info.edit.BookInfoEditActivity
|
||||
import io.legado.app.ui.book.read.PhotoDialog
|
||||
import io.legado.app.ui.book.read.ReadBookActivity
|
||||
import io.legado.app.ui.book.search.SearchActivity
|
||||
import io.legado.app.ui.book.source.edit.BookSourceEditActivity
|
||||
@@ -104,7 +105,7 @@ class BookInfoActivity :
|
||||
viewModel.bookData.observe(this) { showBook(it) }
|
||||
viewModel.chapterListData.observe(this) { upLoading(false, it) }
|
||||
viewModel.initData(intent)
|
||||
initOnClick()
|
||||
initViewEvent()
|
||||
}
|
||||
|
||||
override fun onCompatCreateOptionsMenu(menu: Menu): Boolean {
|
||||
@@ -263,7 +264,7 @@ class BookInfoActivity :
|
||||
}
|
||||
}
|
||||
|
||||
private fun initOnClick() = binding.run {
|
||||
private fun initViewEvent() = binding.run {
|
||||
ivCover.setOnClickListener {
|
||||
viewModel.bookData.value?.let {
|
||||
showDialogFragment(
|
||||
@@ -271,6 +272,12 @@ class BookInfoActivity :
|
||||
)
|
||||
}
|
||||
}
|
||||
ivCover.setOnLongClickListener {
|
||||
viewModel.bookData.value?.getDisplayCover()?.let { path ->
|
||||
showDialogFragment(PhotoDialog(path))
|
||||
}
|
||||
true
|
||||
}
|
||||
tvRead.setOnClickListener {
|
||||
viewModel.bookData.value?.let {
|
||||
readBook(it)
|
||||
|
||||
@@ -5,6 +5,7 @@ import android.view.View
|
||||
import io.legado.app.R
|
||||
import io.legado.app.base.BaseDialogFragment
|
||||
import io.legado.app.databinding.DialogPhotoViewBinding
|
||||
import io.legado.app.model.BookCover
|
||||
import io.legado.app.model.ReadBook
|
||||
import io.legado.app.ui.book.read.page.provider.ImageProvider
|
||||
import io.legado.app.utils.setLayout
|
||||
@@ -22,6 +23,12 @@ class PhotoDialog() : BaseDialogFragment(R.layout.dialog_photo_view) {
|
||||
}
|
||||
}
|
||||
|
||||
constructor(path: String) : this() {
|
||||
arguments = Bundle().apply {
|
||||
putString("path", path)
|
||||
}
|
||||
}
|
||||
|
||||
private val binding by viewBinding(DialogPhotoViewBinding::bind)
|
||||
|
||||
override fun onStart() {
|
||||
@@ -31,18 +38,24 @@ class PhotoDialog() : BaseDialogFragment(R.layout.dialog_photo_view) {
|
||||
|
||||
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
|
||||
arguments?.let {
|
||||
val chapterIndex = it.getInt("chapterIndex")
|
||||
val src = it.getString("src")
|
||||
ReadBook.book?.let { book ->
|
||||
src?.let {
|
||||
execute {
|
||||
ImageProvider.getImage(book, chapterIndex, src, ReadBook.bookSource)
|
||||
}.onSuccess { bitmap ->
|
||||
if (bitmap != null) {
|
||||
binding.photoView.setImageBitmap(bitmap)
|
||||
val path = it.getString("path")
|
||||
if (path.isNullOrEmpty()) {
|
||||
val chapterIndex = it.getInt("chapterIndex")
|
||||
val src = it.getString("src")
|
||||
ReadBook.book?.let { book ->
|
||||
src?.let {
|
||||
execute {
|
||||
ImageProvider.getImage(book, chapterIndex, src, ReadBook.bookSource)
|
||||
}.onSuccess { bitmap ->
|
||||
if (bitmap != null) {
|
||||
binding.photoView.setImageBitmap(bitmap)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
BookCover.load(requireContext(), path = path)
|
||||
.into(binding.photoView)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user