This commit is contained in:
Horis 2024-03-05 17:50:13 +08:00
parent 29c4d63c32
commit 14b8e6fc9c
9 changed files with 61 additions and 57 deletions

View File

@ -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)
}
}
}

View File

@ -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<Array<Int>>(EventBus.UP_CONFIG) {
observeEvent<ArrayList<Int>>(EventBus.UP_CONFIG) {
it.forEach { value ->
when (value) {
0 -> upSystemUiVisibility()

View File

@ -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))
}
}
}

View File

@ -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)
}

View File

@ -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))
}
}
}

View File

@ -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))
}
}

View File

@ -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<FontSelectDialog>()
@ -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))
}
}

View File

@ -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()

View File

@ -901,7 +901,7 @@ object ChapterProvider {
viewWidth = width
viewHeight = height
upLayout()
postEvent(EventBus.UP_CONFIG, arrayOf(5))
postEvent(EventBus.UP_CONFIG, arrayListOf(5))
}
}