@@ -296,7 +296,8 @@ object ReadManga : CoroutineScope by MainScope() {
|
||||
mChapterPagePos = durChapterPagePos.plus(1),
|
||||
mChapterNextPagePos = durChapterPagePos.plus(1),
|
||||
mImageUrl = src,
|
||||
mDurChapterPos = index.plus(1)
|
||||
mDurChapterPos = index.plus(1),
|
||||
mChapterName = chapterTitle
|
||||
)
|
||||
}.toList().apply {
|
||||
this.forEach {
|
||||
|
||||
@@ -7,5 +7,6 @@ data class MangaContent(
|
||||
var mChapterNextPagePos: Int = 0,//下一章
|
||||
val mImageUrl: String = "",//当前URL
|
||||
var mDurChapterPos: Int = 0,//当前章节位置
|
||||
var mDurChapterCount: Int = 0//当前章节内容总数
|
||||
var mDurChapterCount: Int = 0,//当前章节内容总数
|
||||
var mChapterName:String="",//章节名称
|
||||
)
|
||||
@@ -233,6 +233,15 @@ class MangaViewModel(application: Application) : BaseViewModel(application) {
|
||||
}
|
||||
}
|
||||
|
||||
fun removeFromBookshelf(success: (() -> Unit)?) {
|
||||
val book = ReadManga.book
|
||||
Coroutine.async {
|
||||
book?.delete()
|
||||
}.onSuccess {
|
||||
success?.invoke()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCleared() {
|
||||
super.onCleared()
|
||||
changeSourceCoroutine?.cancel()
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package io.legado.app.ui.book.manga
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.app.Activity
|
||||
import android.content.Intent
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
@@ -26,6 +27,7 @@ import com.bumptech.glide.util.FixedPreloadSizeProvider
|
||||
import io.legado.app.BuildConfig
|
||||
import io.legado.app.R
|
||||
import io.legado.app.base.VMBaseActivity
|
||||
import io.legado.app.constant.BookType
|
||||
import io.legado.app.constant.EventBus
|
||||
import io.legado.app.data.entities.Book
|
||||
import io.legado.app.data.entities.BookChapter
|
||||
@@ -34,6 +36,7 @@ import io.legado.app.data.entities.BookSource
|
||||
import io.legado.app.databinding.ActivityMangaBinding
|
||||
import io.legado.app.databinding.ViewLoadMoreBinding
|
||||
import io.legado.app.help.book.isImage
|
||||
import io.legado.app.help.book.removeType
|
||||
import io.legado.app.help.config.AppConfig
|
||||
import io.legado.app.help.storage.Backup
|
||||
import io.legado.app.lib.dialogs.alert
|
||||
@@ -187,7 +190,8 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, MangaViewModel>()
|
||||
ReadManga.durChapterPagePos.plus(1),
|
||||
ReadManga.durChapterPageCount,
|
||||
ReadManga.durChapterPos.plus(1),
|
||||
ReadManga.durChapterCount
|
||||
ReadManga.durChapterCount,
|
||||
ReadManga.chapterTitle
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -227,7 +231,8 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, MangaViewModel>()
|
||||
content.mChapterPagePos,
|
||||
content.mChapterPageCount,
|
||||
content.mDurChapterPos,
|
||||
content.mDurChapterCount
|
||||
content.mDurChapterCount,
|
||||
content.mChapterName
|
||||
)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
@@ -283,7 +288,8 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, MangaViewModel>()
|
||||
ReadManga.durChapterPagePos.plus(1),
|
||||
ReadManga.durChapterPageCount,
|
||||
ReadManga.durChapterPos.plus(1),
|
||||
ReadManga.durChapterCount
|
||||
ReadManga.durChapterCount,
|
||||
ReadManga.chapterTitle
|
||||
)
|
||||
}
|
||||
|
||||
@@ -309,7 +315,11 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, MangaViewModel>()
|
||||
}
|
||||
|
||||
private fun upInfoBar(
|
||||
chapterPagePos: Int, chapterPageCount: Int, chapterPos: Int, chapterCount: Int,
|
||||
chapterPagePos: Int,
|
||||
chapterPageCount: Int,
|
||||
chapterPos: Int,
|
||||
chapterCount: Int,
|
||||
chapterName: String
|
||||
) {
|
||||
mMangaFooterConfig.run {
|
||||
mLabelBuilder.clear()
|
||||
@@ -334,6 +344,11 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, MangaViewModel>()
|
||||
mLabelBuilder.append(getString(R.string.manga_check_progress))
|
||||
}
|
||||
mLabelBuilder.append("${chapterPagePos.div(chapterPageCount).times(100)}%")
|
||||
.append(" ")
|
||||
}
|
||||
|
||||
if (!hideChapterName) {
|
||||
mLabelBuilder.append(chapterName)
|
||||
}
|
||||
}
|
||||
binding.infobar.update(
|
||||
@@ -658,4 +673,27 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, MangaViewModel>()
|
||||
callback.invoke(it)
|
||||
}
|
||||
}
|
||||
|
||||
override fun finish() {
|
||||
val book = ReadManga.book ?: return super.finish()
|
||||
|
||||
if (ReadManga.inBookshelf) {
|
||||
return super.finish()
|
||||
}
|
||||
|
||||
if (!AppConfig.showAddToShelfAlert) {
|
||||
viewModel.removeFromBookshelf { super.finish() }
|
||||
} else {
|
||||
alert(title = getString(R.string.add_to_bookshelf)) {
|
||||
setMessage(getString(R.string.check_add_bookshelf, book.name))
|
||||
okButton {
|
||||
ReadManga.book?.removeType(BookType.notShelf)
|
||||
ReadManga.book?.save()
|
||||
ReadManga.inBookshelf = true
|
||||
setResult(Activity.RESULT_OK)
|
||||
}
|
||||
noButton { viewModel.removeFromBookshelf { super.finish() } }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -12,5 +12,6 @@ data class MangaFooterConfig(
|
||||
var hideProgressRatioLabel: Boolean = false,
|
||||
var hideProgressRatio: Boolean = false,
|
||||
var footerOrientation: Int = ReaderInfoBarView.ALIGN_LEFT,//默认靠左
|
||||
var hideFooter: Boolean = false
|
||||
var hideFooter: Boolean = false,
|
||||
var hideChapterName:Boolean=false,
|
||||
)
|
||||
@@ -69,6 +69,13 @@ class MangaFooterSettingDialog : BaseDialogFragment(R.layout.dialog_manga_footer
|
||||
postEvent(EventBus.UP_MANGA_CONFIG, config)
|
||||
}
|
||||
}
|
||||
binding.cbChapterName.run {
|
||||
isChecked = config.hideChapterName
|
||||
setOnCheckedChangeListener { _, isChecked ->
|
||||
config.hideChapterName = isChecked
|
||||
postEvent(EventBus.UP_MANGA_CONFIG, config)
|
||||
}
|
||||
}
|
||||
binding.rgFooterOrientation.check(if (config.footerOrientation == ReaderInfoBarView.ALIGN_CENTER) R.id.rb_center else R.id.rb_left)
|
||||
binding.rgFooterOrientation.setOnCheckedChangeListener { _, checkedId ->
|
||||
when (checkedId) {
|
||||
|
||||
@@ -39,6 +39,14 @@
|
||||
android:layout_marginStart="10dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/manga_check_chapter" />
|
||||
|
||||
<io.legado.app.lib.theme.view.ThemeCheckBox
|
||||
android:id="@+id/cb_chapter_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="10dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/manga_check_chapter_name" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
|
||||
@@ -1195,6 +1195,7 @@
|
||||
<string name="manga_header_chapter">《章节和文案》隐藏</string>
|
||||
<string name="manga_check_chapter_label">《章节.》文案</string>
|
||||
<string name="manga_check_chapter">章节</string>
|
||||
<string name="manga_check_chapter_name">章节名称</string>
|
||||
<string name="manga_header_page">《页数和文案》隐藏</string>
|
||||
<string name="manga_check_page_label">《页数.》文案</string>
|
||||
<string name="manga_check_page_number">页数</string>
|
||||
|
||||
@@ -1198,6 +1198,7 @@
|
||||
<string name="manga_header_chapter">《章节和文案》隐藏</string>
|
||||
<string name="manga_check_chapter_label">《章节.》文案</string>
|
||||
<string name="manga_check_chapter">章节</string>
|
||||
<string name="manga_check_chapter_name">章节名称</string>
|
||||
<string name="manga_header_page">《页数和文案》隐藏</string>
|
||||
<string name="manga_check_page_label">《页数.》文案</string>
|
||||
<string name="manga_check_page_number">页数</string>
|
||||
|
||||
@@ -1198,6 +1198,7 @@
|
||||
<string name="manga_header_chapter">《章节和文案》隐藏</string>
|
||||
<string name="manga_check_chapter_label">《章节.》文案</string>
|
||||
<string name="manga_check_chapter">章节</string>
|
||||
<string name="manga_check_chapter_name">章节名称</string>
|
||||
<string name="manga_header_page">《页数和文案》隐藏</string>
|
||||
<string name="manga_check_page_label">《页数.》文案</string>
|
||||
<string name="manga_check_page_number">页数</string>
|
||||
|
||||
@@ -1194,6 +1194,7 @@ Còn </string>
|
||||
<string name="manga_header_chapter">《章节和文案》隐藏</string>
|
||||
<string name="manga_check_chapter_label">《章节.》文案</string>
|
||||
<string name="manga_check_chapter">章节</string>
|
||||
<string name="manga_check_chapter_name">章节名称</string>
|
||||
<string name="manga_header_page">《页数和文案》隐藏</string>
|
||||
<string name="manga_check_page_label">《页数.》文案</string>
|
||||
<string name="manga_check_page_number">页数</string>
|
||||
|
||||
@@ -1195,6 +1195,7 @@
|
||||
<string name="manga_header_chapter">《章节和文案》隐藏</string>
|
||||
<string name="manga_check_chapter_label">《章节.》文案</string>
|
||||
<string name="manga_check_chapter">章节</string>
|
||||
<string name="manga_check_chapter_name">章节名称</string>
|
||||
<string name="manga_header_page">《页数和文案》隐藏</string>
|
||||
<string name="manga_check_page_label">《页数.》文案</string>
|
||||
<string name="manga_check_page_number">页数</string>
|
||||
|
||||
@@ -1197,6 +1197,7 @@
|
||||
<string name="manga_header_chapter">《章节和文案》隐藏</string>
|
||||
<string name="manga_check_chapter_label">《章节.》文案</string>
|
||||
<string name="manga_check_chapter">章节</string>
|
||||
<string name="manga_check_chapter_name">章节名称</string>
|
||||
<string name="manga_header_page">《页数和文案》隐藏</string>
|
||||
<string name="manga_check_page_label">《页数.》文案</string>
|
||||
<string name="manga_check_page_number">页数</string>
|
||||
|
||||
@@ -1197,6 +1197,7 @@
|
||||
<string name="manga_header_chapter">《章节和文案》隐藏</string>
|
||||
<string name="manga_check_chapter_label">《章节.》文案</string>
|
||||
<string name="manga_check_chapter">章节</string>
|
||||
<string name="manga_check_chapter_name">章节名称</string>
|
||||
<string name="manga_header_page">《页数和文案》隐藏</string>
|
||||
<string name="manga_check_page_label">《页数.》文案</string>
|
||||
<string name="manga_check_page_number">页数</string>
|
||||
|
||||
@@ -1198,6 +1198,7 @@
|
||||
<string name="manga_header_chapter">《章节和文案》隐藏</string>
|
||||
<string name="manga_check_chapter_label">《章节.》文案</string>
|
||||
<string name="manga_check_chapter">章节</string>
|
||||
<string name="manga_check_chapter_name">章节名称</string>
|
||||
<string name="manga_header_page">《页数和文案》隐藏</string>
|
||||
<string name="manga_check_page_label">《页数.》文案</string>
|
||||
<string name="manga_check_page_number">页数</string>
|
||||
|
||||
Reference in New Issue
Block a user