From 14b8e6fc9c381c365c02efcdc68471a2db0dab6d Mon Sep 17 00:00:00 2001 From: Horis <821938089@qq.com> Date: Tue, 5 Mar 2024 17:50:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/io/legado/app/model/ReadBook.kt | 6 +++- .../app/ui/book/read/ReadBookActivity.kt | 10 +++---- .../app/ui/book/read/config/BgAdapter.kt | 2 +- .../ui/book/read/config/BgTextConfigDialog.kt | 14 +++++----- .../ui/book/read/config/MoreConfigDialog.kt | 8 +++--- .../book/read/config/PaddingConfigDialog.kt | 28 +++++++++---------- .../ui/book/read/config/ReadStyleDialog.kt | 20 ++++++------- .../ui/book/read/config/TipConfigDialog.kt | 28 +++++++++---------- .../read/page/provider/ChapterProvider.kt | 2 +- 9 files changed, 61 insertions(+), 57 deletions(-) diff --git a/app/src/main/java/io/legado/app/model/ReadBook.kt b/app/src/main/java/io/legado/app/model/ReadBook.kt index d69abfe2d..bb93fbcdf 100644 --- a/app/src/main/java/io/legado/app/model/ReadBook.kt +++ b/app/src/main/java/io/legado/app/model/ReadBook.kt @@ -343,7 +343,11 @@ object ReadBook : CoroutineScope by MainScope() { fun readAloud(play: Boolean = true, startPos: Int = 0) { book ?: return if (isLayoutAvailable) { - ReadAloud.play(appCtx, play, startPos = startPos) + if (!BaseReadAloudService.isRun) { + ReadAloud.play(appCtx, play, startPos = startPos) + } else { + ReadAloud.playByEventBus(play, startPos = startPos) + } } } diff --git a/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt b/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt index 79665a87f..f9bcd86a4 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt @@ -1306,24 +1306,24 @@ class ReadBookActivity : BaseReadBookActivity(), when (dialogId) { TEXT_COLOR -> { setCurTextColor(color) - postEvent(EventBus.UP_CONFIG, arrayOf(2, 9, 11)) + postEvent(EventBus.UP_CONFIG, arrayListOf(2, 9, 11)) } BG_COLOR -> { setCurBg(0, "#${color.hexString}") - postEvent(EventBus.UP_CONFIG, arrayOf(1)) + postEvent(EventBus.UP_CONFIG, arrayListOf(1)) } TIP_COLOR -> { ReadTipConfig.tipColor = color postEvent(EventBus.TIP_COLOR, "") - postEvent(EventBus.UP_CONFIG, arrayOf(2)) + postEvent(EventBus.UP_CONFIG, arrayListOf(2)) } TIP_DIVIDER_COLOR -> { ReadTipConfig.tipDividerColor = color postEvent(EventBus.TIP_COLOR, "") - postEvent(EventBus.UP_CONFIG, arrayOf(2)) + postEvent(EventBus.UP_CONFIG, arrayListOf(2)) } } } @@ -1492,7 +1492,7 @@ class ReadBookActivity : BaseReadBookActivity(), ReadBook.readAloud(!BaseReadAloudService.pause) } } - observeEvent>(EventBus.UP_CONFIG) { + observeEvent>(EventBus.UP_CONFIG) { it.forEach { value -> when (value) { 0 -> upSystemUiVisibility() diff --git a/app/src/main/java/io/legado/app/ui/book/read/config/BgAdapter.kt b/app/src/main/java/io/legado/app/ui/book/read/config/BgAdapter.kt index 1d3d41d71..0765f4d0e 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/config/BgAdapter.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/config/BgAdapter.kt @@ -41,7 +41,7 @@ class BgAdapter(context: Context, val textColor: Int) : this.setOnClickListener { getItemByLayoutPosition(holder.layoutPosition)?.let { ReadBookConfig.durConfig.setCurBg(1, it) - postEvent(EventBus.UP_CONFIG, arrayOf(1)) + postEvent(EventBus.UP_CONFIG, arrayListOf(1)) } } } diff --git a/app/src/main/java/io/legado/app/ui/book/read/config/BgTextConfigDialog.kt b/app/src/main/java/io/legado/app/ui/book/read/config/BgTextConfigDialog.kt index 11435386f..f0910a29e 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/config/BgTextConfigDialog.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/config/BgTextConfigDialog.kt @@ -190,7 +190,7 @@ class BgTextConfigDialog : BaseDialogFragment(R.layout.dialog_read_bg_text) { if (i >= 0) { ReadBookConfig.durConfig = defaultConfigs[i].copy().apply { initColorInt() } initData() - postEvent(EventBus.UP_CONFIG, arrayOf(1, 2, 5)) + postEvent(EventBus.UP_CONFIG, arrayListOf(1, 2, 5)) } } } @@ -200,7 +200,7 @@ class BgTextConfigDialog : BaseDialogFragment(R.layout.dialog_read_bg_text) { } binding.swUnderline.setOnCheckedChangeListener { _, isChecked -> underline = isChecked - postEvent(EventBus.UP_CONFIG, arrayOf(9, 11)) + postEvent(EventBus.UP_CONFIG, arrayListOf(9, 11)) } binding.tvTextColor.setOnClickListener { ColorPickerDialog.newBuilder() @@ -239,7 +239,7 @@ class BgTextConfigDialog : BaseDialogFragment(R.layout.dialog_read_bg_text) { } binding.ivDelete.setOnClickListener { if (ReadBookConfig.deleteDur()) { - postEvent(EventBus.UP_CONFIG, arrayOf(1, 2, 5)) + postEvent(EventBus.UP_CONFIG, arrayListOf(1, 2, 5)) dismissAllowingStateLoss() } else { toastOnUi("数量已是最少,不能删除.") @@ -248,11 +248,11 @@ class BgTextConfigDialog : BaseDialogFragment(R.layout.dialog_read_bg_text) { binding.sbBgAlpha.setOnSeekBarChangeListener(object : SeekBarChangeListener { override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) { ReadBookConfig.bgAlpha = progress - postEvent(EventBus.UP_CONFIG, arrayOf(3)) + postEvent(EventBus.UP_CONFIG, arrayListOf(3)) } override fun onStopTrackingTouch(seekBar: SeekBar) { - postEvent(EventBus.UP_CONFIG, arrayOf(3)) + postEvent(EventBus.UP_CONFIG, arrayListOf(3)) } }) } @@ -382,7 +382,7 @@ class BgTextConfigDialog : BaseDialogFragment(R.layout.dialog_read_bg_text) { ReadBookConfig.import(byteArray).getOrThrow() }.onSuccess { ReadBookConfig.durConfig = it - postEvent(EventBus.UP_CONFIG, arrayOf(1, 2, 5)) + postEvent(EventBus.UP_CONFIG, arrayListOf(1, 2, 5)) toastOnUi("导入成功") }.onError { it.printOnDebug() @@ -403,7 +403,7 @@ class BgTextConfigDialog : BaseDialogFragment(R.layout.dialog_read_bg_text) { inputStream.copyTo(outputStream) } ReadBookConfig.durConfig.setCurBg(2, fileName) - postEvent(EventBus.UP_CONFIG, arrayOf(1)) + postEvent(EventBus.UP_CONFIG, arrayListOf(1)) }.onFailure { appCtx.toastOnUi(it.localizedMessage) } diff --git a/app/src/main/java/io/legado/app/ui/book/read/config/MoreConfigDialog.kt b/app/src/main/java/io/legado/app/ui/book/read/config/MoreConfigDialog.kt index 1ef45ae8b..22192b58f 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/config/MoreConfigDialog.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/config/MoreConfigDialog.kt @@ -107,12 +107,12 @@ class MoreConfigDialog : DialogFragment() { PreferKey.readBodyToLh -> activity?.recreate() PreferKey.hideStatusBar -> { ReadBookConfig.hideStatusBar = getPrefBoolean(PreferKey.hideStatusBar) - postEvent(EventBus.UP_CONFIG, arrayOf(0)) + postEvent(EventBus.UP_CONFIG, arrayListOf(0)) } PreferKey.hideNavigationBar -> { ReadBookConfig.hideNavigationBar = getPrefBoolean(PreferKey.hideNavigationBar) - postEvent(EventBus.UP_CONFIG, arrayOf(0)) + postEvent(EventBus.UP_CONFIG, arrayListOf(0)) } PreferKey.keepLight -> postEvent(key, true) @@ -124,7 +124,7 @@ class MoreConfigDialog : DialogFragment() { PreferKey.textFullJustify, PreferKey.textBottomJustify, PreferKey.useZhLayout -> { - postEvent(EventBus.UP_CONFIG, arrayOf(5)) + postEvent(EventBus.UP_CONFIG, arrayListOf(5)) } PreferKey.showBrightnessView -> { @@ -170,7 +170,7 @@ class MoreConfigDialog : DialogFragment() { .setValue(AppConfig.pageTouchSlop) .show { AppConfig.pageTouchSlop = it - postEvent(EventBus.UP_CONFIG, arrayOf(4)) + postEvent(EventBus.UP_CONFIG, arrayListOf(4)) } } } diff --git a/app/src/main/java/io/legado/app/ui/book/read/config/PaddingConfigDialog.kt b/app/src/main/java/io/legado/app/ui/book/read/config/PaddingConfigDialog.kt index debf0c2a5..6019c782a 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/config/PaddingConfigDialog.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/config/PaddingConfigDialog.kt @@ -63,61 +63,61 @@ class PaddingConfigDialog : BaseDialogFragment(R.layout.dialog_read_padding) { //正文 dsbPaddingTop.onChanged = { ReadBookConfig.paddingTop = it - postEvent(EventBus.UP_CONFIG, arrayOf(10, 5)) + postEvent(EventBus.UP_CONFIG, arrayListOf(10, 5)) } dsbPaddingBottom.onChanged = { ReadBookConfig.paddingBottom = it - postEvent(EventBus.UP_CONFIG, arrayOf(10, 5)) + postEvent(EventBus.UP_CONFIG, arrayListOf(10, 5)) } dsbPaddingLeft.onChanged = { ReadBookConfig.paddingLeft = it - postEvent(EventBus.UP_CONFIG, arrayOf(10, 5)) + postEvent(EventBus.UP_CONFIG, arrayListOf(10, 5)) } dsbPaddingRight.onChanged = { ReadBookConfig.paddingRight = it - postEvent(EventBus.UP_CONFIG, arrayOf(10, 5)) + postEvent(EventBus.UP_CONFIG, arrayListOf(10, 5)) } //页眉 dsbHeaderPaddingTop.onChanged = { ReadBookConfig.headerPaddingTop = it - postEvent(EventBus.UP_CONFIG, arrayOf(2)) + postEvent(EventBus.UP_CONFIG, arrayListOf(2)) } dsbHeaderPaddingBottom.onChanged = { ReadBookConfig.headerPaddingBottom = it - postEvent(EventBus.UP_CONFIG, arrayOf(2)) + postEvent(EventBus.UP_CONFIG, arrayListOf(2)) } dsbHeaderPaddingLeft.onChanged = { ReadBookConfig.headerPaddingLeft = it - postEvent(EventBus.UP_CONFIG, arrayOf(2)) + postEvent(EventBus.UP_CONFIG, arrayListOf(2)) } dsbHeaderPaddingRight.onChanged = { ReadBookConfig.headerPaddingRight = it - postEvent(EventBus.UP_CONFIG, arrayOf(2)) + postEvent(EventBus.UP_CONFIG, arrayListOf(2)) } //页脚 dsbFooterPaddingTop.onChanged = { ReadBookConfig.footerPaddingTop = it - postEvent(EventBus.UP_CONFIG, arrayOf(2)) + postEvent(EventBus.UP_CONFIG, arrayListOf(2)) } dsbFooterPaddingBottom.onChanged = { ReadBookConfig.footerPaddingBottom = it - postEvent(EventBus.UP_CONFIG, arrayOf(2)) + postEvent(EventBus.UP_CONFIG, arrayListOf(2)) } dsbFooterPaddingLeft.onChanged = { ReadBookConfig.footerPaddingLeft = it - postEvent(EventBus.UP_CONFIG, arrayOf(2)) + postEvent(EventBus.UP_CONFIG, arrayListOf(2)) } dsbFooterPaddingRight.onChanged = { ReadBookConfig.footerPaddingRight = it - postEvent(EventBus.UP_CONFIG, arrayOf(2)) + postEvent(EventBus.UP_CONFIG, arrayListOf(2)) } cbShowTopLine.onCheckedChangeListener = { _, isChecked -> ReadBookConfig.showHeaderLine = isChecked - postEvent(EventBus.UP_CONFIG, arrayOf(2)) + postEvent(EventBus.UP_CONFIG, arrayListOf(2)) } cbShowBottomLine.onCheckedChangeListener = { _, isChecked -> ReadBookConfig.showFooterLine = isChecked - postEvent(EventBus.UP_CONFIG, arrayOf(2)) + postEvent(EventBus.UP_CONFIG, arrayListOf(2)) } } diff --git a/app/src/main/java/io/legado/app/ui/book/read/config/ReadStyleDialog.kt b/app/src/main/java/io/legado/app/ui/book/read/config/ReadStyleDialog.kt index dab2f80c6..607d8ba1e 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/config/ReadStyleDialog.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/config/ReadStyleDialog.kt @@ -108,10 +108,10 @@ class ReadStyleDialog : BaseDialogFragment(R.layout.dialog_read_book_style), private fun initViewEvent() = binding.run { chineseConverter.onChanged { ChineseUtils.unLoad(*TransType.entries.toTypedArray()) - postEvent(EventBus.UP_CONFIG, arrayOf(5)) + postEvent(EventBus.UP_CONFIG, arrayListOf(5)) } textFontWeightConverter.onChanged { - postEvent(EventBus.UP_CONFIG, arrayOf(8, 9, 6)) + postEvent(EventBus.UP_CONFIG, arrayListOf(8, 9, 6)) } tvTextFont.setOnClickListener { showDialogFragment() @@ -122,7 +122,7 @@ class ReadStyleDialog : BaseDialogFragment(R.layout.dialog_read_book_style), items = resources.getStringArray(R.array.indent).toList() ) { _, index -> ReadBookConfig.paragraphIndent = " ".repeat(index) - postEvent(EventBus.UP_CONFIG, arrayOf(5)) + postEvent(EventBus.UP_CONFIG, arrayListOf(5)) } } tvPadding.setOnClickListener { @@ -141,23 +141,23 @@ class ReadStyleDialog : BaseDialogFragment(R.layout.dialog_read_book_style), cbShareLayout.onCheckedChangeListener = { _, isChecked -> ReadBookConfig.shareLayout = isChecked upView() - postEvent(EventBus.UP_CONFIG, arrayOf(1, 2, 5)) + postEvent(EventBus.UP_CONFIG, arrayListOf(1, 2, 5)) } dsbTextSize.onChanged = { ReadBookConfig.textSize = it + 5 - postEvent(EventBus.UP_CONFIG, arrayOf(8, 5)) + postEvent(EventBus.UP_CONFIG, arrayListOf(8, 5)) } dsbTextLetterSpacing.onChanged = { ReadBookConfig.letterSpacing = (it - 50) / 100f - postEvent(EventBus.UP_CONFIG, arrayOf(8, 5)) + postEvent(EventBus.UP_CONFIG, arrayListOf(8, 5)) } dsbLineSize.onChanged = { ReadBookConfig.lineSpacingExtra = it - postEvent(EventBus.UP_CONFIG, arrayOf(8, 5)) + postEvent(EventBus.UP_CONFIG, arrayListOf(8, 5)) } dsbParagraphSpacing.onChanged = { ReadBookConfig.paragraphSpacing = it - postEvent(EventBus.UP_CONFIG, arrayOf(8, 5)) + postEvent(EventBus.UP_CONFIG, arrayListOf(8, 5)) } } @@ -168,7 +168,7 @@ class ReadStyleDialog : BaseDialogFragment(R.layout.dialog_read_book_style), upView() styleAdapter.notifyItemChanged(oldIndex) styleAdapter.notifyItemChanged(index) - postEvent(EventBus.UP_CONFIG, arrayOf(1, 2, 5)) + postEvent(EventBus.UP_CONFIG, arrayListOf(1, 2, 5)) } } @@ -200,7 +200,7 @@ class ReadStyleDialog : BaseDialogFragment(R.layout.dialog_read_book_style), override fun selectFont(path: String) { if (path != ReadBookConfig.textFont) { ReadBookConfig.textFont = path - postEvent(EventBus.UP_CONFIG, arrayOf(8, 5)) + postEvent(EventBus.UP_CONFIG, arrayListOf(8, 5)) } } diff --git a/app/src/main/java/io/legado/app/ui/book/read/config/TipConfigDialog.kt b/app/src/main/java/io/legado/app/ui/book/read/config/TipConfigDialog.kt index fc55292c2..1a201e7dc 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/config/TipConfigDialog.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/config/TipConfigDialog.kt @@ -96,26 +96,26 @@ class TipConfigDialog : BaseDialogFragment(R.layout.dialog_tip_config) { private fun initEvent() = binding.run { rgTitleMode.setOnCheckedChangeListener { _, checkedId -> ReadBookConfig.titleMode = rgTitleMode.getIndexById(checkedId) - postEvent(EventBus.UP_CONFIG, arrayOf(5)) + postEvent(EventBus.UP_CONFIG, arrayListOf(5)) } dsbTitleSize.onChanged = { ReadBookConfig.titleSize = it - postEvent(EventBus.UP_CONFIG, arrayOf(8, 5)) + postEvent(EventBus.UP_CONFIG, arrayListOf(8, 5)) } dsbTitleTop.onChanged = { ReadBookConfig.titleTopSpacing = it - postEvent(EventBus.UP_CONFIG, arrayOf(8, 5)) + postEvent(EventBus.UP_CONFIG, arrayListOf(8, 5)) } dsbTitleBottom.onChanged = { ReadBookConfig.titleBottomSpacing = it - postEvent(EventBus.UP_CONFIG, arrayOf(8, 5)) + postEvent(EventBus.UP_CONFIG, arrayListOf(8, 5)) } llHeaderShow.setOnClickListener { val headerModes = ReadTipConfig.getHeaderModes(requireContext()) context?.selector(items = headerModes.values.toList()) { _, i -> ReadTipConfig.headerMode = headerModes.keys.toList()[i] tvHeaderShow.text = headerModes[ReadTipConfig.headerMode] - postEvent(EventBus.UP_CONFIG, arrayOf(2)) + postEvent(EventBus.UP_CONFIG, arrayListOf(2)) } } llFooterShow.setOnClickListener { @@ -123,7 +123,7 @@ class TipConfigDialog : BaseDialogFragment(R.layout.dialog_tip_config) { context?.selector(items = footerModes.values.toList()) { _, i -> ReadTipConfig.footerMode = footerModes.keys.toList()[i] tvFooterShow.text = footerModes[ReadTipConfig.footerMode] - postEvent(EventBus.UP_CONFIG, arrayOf(2)) + postEvent(EventBus.UP_CONFIG, arrayListOf(2)) } } llHeaderLeft.setOnClickListener { @@ -132,7 +132,7 @@ class TipConfigDialog : BaseDialogFragment(R.layout.dialog_tip_config) { clearRepeat(tipValue) ReadTipConfig.tipHeaderLeft = tipValue tvHeaderLeft.text = ReadTipConfig.tipNames[i] - postEvent(EventBus.UP_CONFIG, arrayOf(2, 6)) + postEvent(EventBus.UP_CONFIG, arrayListOf(2, 6)) } } llHeaderMiddle.setOnClickListener { @@ -141,7 +141,7 @@ class TipConfigDialog : BaseDialogFragment(R.layout.dialog_tip_config) { clearRepeat(tipValue) ReadTipConfig.tipHeaderMiddle = tipValue tvHeaderMiddle.text = ReadTipConfig.tipNames[i] - postEvent(EventBus.UP_CONFIG, arrayOf(2, 6)) + postEvent(EventBus.UP_CONFIG, arrayListOf(2, 6)) } } llHeaderRight.setOnClickListener { @@ -150,7 +150,7 @@ class TipConfigDialog : BaseDialogFragment(R.layout.dialog_tip_config) { clearRepeat(tipValue) ReadTipConfig.tipHeaderRight = tipValue tvHeaderRight.text = ReadTipConfig.tipNames[i] - postEvent(EventBus.UP_CONFIG, arrayOf(2, 6)) + postEvent(EventBus.UP_CONFIG, arrayListOf(2, 6)) } } llFooterLeft.setOnClickListener { @@ -159,7 +159,7 @@ class TipConfigDialog : BaseDialogFragment(R.layout.dialog_tip_config) { clearRepeat(tipValue) ReadTipConfig.tipFooterLeft = tipValue tvFooterLeft.text = ReadTipConfig.tipNames[i] - postEvent(EventBus.UP_CONFIG, arrayOf(2, 6)) + postEvent(EventBus.UP_CONFIG, arrayListOf(2, 6)) } } llFooterMiddle.setOnClickListener { @@ -168,7 +168,7 @@ class TipConfigDialog : BaseDialogFragment(R.layout.dialog_tip_config) { clearRepeat(tipValue) ReadTipConfig.tipFooterMiddle = tipValue tvFooterMiddle.text = ReadTipConfig.tipNames[i] - postEvent(EventBus.UP_CONFIG, arrayOf(2, 6)) + postEvent(EventBus.UP_CONFIG, arrayListOf(2, 6)) } } llFooterRight.setOnClickListener { @@ -177,7 +177,7 @@ class TipConfigDialog : BaseDialogFragment(R.layout.dialog_tip_config) { clearRepeat(tipValue) ReadTipConfig.tipFooterRight = tipValue tvFooterRight.text = ReadTipConfig.tipNames[i] - postEvent(EventBus.UP_CONFIG, arrayOf(2, 6)) + postEvent(EventBus.UP_CONFIG, arrayListOf(2, 6)) } } llTipColor.setOnClickListener { @@ -186,7 +186,7 @@ class TipConfigDialog : BaseDialogFragment(R.layout.dialog_tip_config) { 0 -> { ReadTipConfig.tipColor = 0 upTvTipColor() - postEvent(EventBus.UP_CONFIG, arrayOf(2)) + postEvent(EventBus.UP_CONFIG, arrayListOf(2)) } 1 -> ColorPickerDialog.newBuilder() @@ -203,7 +203,7 @@ class TipConfigDialog : BaseDialogFragment(R.layout.dialog_tip_config) { 0, 1 -> { ReadTipConfig.tipDividerColor = i - 1 upTvTipDividerColor() - postEvent(EventBus.UP_CONFIG, arrayOf(2)) + postEvent(EventBus.UP_CONFIG, arrayListOf(2)) } 2 -> ColorPickerDialog.newBuilder() diff --git a/app/src/main/java/io/legado/app/ui/book/read/page/provider/ChapterProvider.kt b/app/src/main/java/io/legado/app/ui/book/read/page/provider/ChapterProvider.kt index 107cfb831..a498de9be 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/page/provider/ChapterProvider.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/page/provider/ChapterProvider.kt @@ -901,7 +901,7 @@ object ChapterProvider { viewWidth = width viewHeight = height upLayout() - postEvent(EventBus.UP_CONFIG, arrayOf(5)) + postEvent(EventBus.UP_CONFIG, arrayListOf(5)) } }