From 38390e8ce67a3aac60207e722ddc60560f0ad058 Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Fri, 10 Jan 2025 14:18:07 +0800 Subject: [PATCH 1/4] Fix default font change not update content --- .../java/io/legado/app/ui/book/read/config/ReadStyleDialog.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 0089967662d6..e04dcd1656bb 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 @@ -202,7 +202,7 @@ class ReadStyleDialog : BaseDialogFragment(R.layout.dialog_read_book_style), get() = ReadBookConfig.textFont override fun selectFont(path: String) { - if (path != ReadBookConfig.textFont) { + if (path != ReadBookConfig.textFont || path.isEmpty()) { ReadBookConfig.textFont = path postEvent(EventBus.UP_CONFIG, arrayListOf(2, 5)) } From c882265de2c5f96f0f147efe34c31d378d5f0929 Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Fri, 10 Jan 2025 17:29:13 +0800 Subject: [PATCH 2/4] Fix notification wake screen on --- app/src/main/java/io/legado/app/service/AudioPlayService.kt | 1 + app/src/main/java/io/legado/app/service/BaseReadAloudService.kt | 1 + app/src/main/java/io/legado/app/service/CacheBookService.kt | 1 + app/src/main/java/io/legado/app/service/CheckSourceService.kt | 1 + app/src/main/java/io/legado/app/service/DownloadService.kt | 1 + app/src/main/java/io/legado/app/service/ExportBookService.kt | 1 + 6 files changed, 6 insertions(+) diff --git a/app/src/main/java/io/legado/app/service/AudioPlayService.kt b/app/src/main/java/io/legado/app/service/AudioPlayService.kt index 2b60784e0449..086fd3c14a92 100644 --- a/app/src/main/java/io/legado/app/service/AudioPlayService.kt +++ b/app/src/main/java/io/legado/app/service/AudioPlayService.kt @@ -568,6 +568,7 @@ class AudioPlayService : BaseService(), .setSmallIcon(R.drawable.ic_volume_up) .setSubText(getString(R.string.audio)) .setOngoing(true) + .setOnlyAlertOnce(true) .setContentTitle(nTitle) .setContentText(nSubtitle) .setContentIntent( diff --git a/app/src/main/java/io/legado/app/service/BaseReadAloudService.kt b/app/src/main/java/io/legado/app/service/BaseReadAloudService.kt index 38f7729a6811..29628b627fe4 100644 --- a/app/src/main/java/io/legado/app/service/BaseReadAloudService.kt +++ b/app/src/main/java/io/legado/app/service/BaseReadAloudService.kt @@ -551,6 +551,7 @@ abstract class BaseReadAloudService : BaseService(), .setSmallIcon(R.drawable.ic_volume_up) .setSubText(getString(R.string.read_aloud)) .setOngoing(true) + .setOnlyAlertOnce(true) .setContentTitle(nTitle) .setContentText(nSubtitle) .setContentIntent( diff --git a/app/src/main/java/io/legado/app/service/CacheBookService.kt b/app/src/main/java/io/legado/app/service/CacheBookService.kt index 448b57fd62eb..706b7228c7c7 100644 --- a/app/src/main/java/io/legado/app/service/CacheBookService.kt +++ b/app/src/main/java/io/legado/app/service/CacheBookService.kt @@ -51,6 +51,7 @@ class CacheBookService : BaseService() { val builder = NotificationCompat.Builder(this, AppConst.channelIdDownload) .setSmallIcon(R.drawable.ic_download) .setOngoing(true) + .setOnlyAlertOnce(true) .setContentTitle(getString(R.string.offline_cache)) .setContentIntent(activityPendingIntent("cacheActivity")) builder.addAction( diff --git a/app/src/main/java/io/legado/app/service/CheckSourceService.kt b/app/src/main/java/io/legado/app/service/CheckSourceService.kt index f16ff3a87b6a..4d08b1d6d7df 100644 --- a/app/src/main/java/io/legado/app/service/CheckSourceService.kt +++ b/app/src/main/java/io/legado/app/service/CheckSourceService.kt @@ -63,6 +63,7 @@ class CheckSourceService : BaseService() { NotificationCompat.Builder(this, AppConst.channelIdReadAloud) .setSmallIcon(R.drawable.ic_network_check) .setOngoing(true) + .setOnlyAlertOnce(true) .setContentTitle(getString(R.string.check_book_source)) .setContentIntent( activityPendingIntent("activity") diff --git a/app/src/main/java/io/legado/app/service/DownloadService.kt b/app/src/main/java/io/legado/app/service/DownloadService.kt index 3e119c026f85..be917314478a 100644 --- a/app/src/main/java/io/legado/app/service/DownloadService.kt +++ b/app/src/main/java/io/legado/app/service/DownloadService.kt @@ -249,6 +249,7 @@ class DownloadService : BaseService() { .setSmallIcon(R.drawable.ic_download) .setSubText(getString(R.string.action_download)) .setContentTitle(content) + .setOnlyAlertOnce(true) .setContentIntent( servicePendingIntent(IntentAction.play, downloadId.toInt()) { putExtra("downloadId", downloadId) diff --git a/app/src/main/java/io/legado/app/service/ExportBookService.kt b/app/src/main/java/io/legado/app/service/ExportBookService.kt index 951c1cb78aeb..5bbf6787f963 100644 --- a/app/src/main/java/io/legado/app/service/ExportBookService.kt +++ b/app/src/main/java/io/legado/app/service/ExportBookService.kt @@ -160,6 +160,7 @@ class ExportBookService : BaseService() { .setContentText(notificationContentText) .setDeleteIntent(servicePendingIntent(IntentAction.stop)) .setGroup(groupKey) + .setOnlyAlertOnce(true) if (!finish) { notification.setOngoing(true) notification.addAction( From 0c2cbe809da3d41dde91cba7ca659b766eba337d Mon Sep 17 00:00:00 2001 From: Sun-QAQ <75133710+Sun-QAQ@users.noreply.github.com> Date: Fri, 10 Jan 2025 18:30:32 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F=E5=8D=95=E9=A1=B5=E6=98=BE=E7=A4=BA=E9=80=BB?= =?UTF-8?q?=E8=BE=91=20(#4518)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 优化图片样式单页显示逻辑 - 当书籍图片样式为空或书源内容规则为单页样式时,自动切换为单页显示 - 在切换为单页样式时,将页面切换动画设置为覆盖 * Revert "优化图片样式单页显示逻辑" This reverts commit 2c415ef60169c0545301e2ea4314f255ffe65d22. * 优化图片样式单页显示逻辑 - 当书源内容规则为单页样式时,自动切换为单页显示 - 在切换为单页样式时,将页面切换动画设置为覆盖 --- app/src/main/java/io/legado/app/model/ReadBook.kt | 4 ++++ .../main/java/io/legado/app/ui/book/read/ReadBookActivity.kt | 2 ++ 2 files changed, 6 insertions(+) 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 07efe28d75d3..42a7e9ccde15 100644 --- a/app/src/main/java/io/legado/app/model/ReadBook.kt +++ b/app/src/main/java/io/legado/app/model/ReadBook.kt @@ -172,6 +172,10 @@ object ReadBook : CoroutineScope by MainScope() { if (book.getImageStyle().isNullOrBlank()) { book.setImageStyle(it.getContentRule().imageStyle) } + if (it.getContentRule().imageStyle == Book.imgStyleSingle) { + book.setImageStyle(it.getContentRule().imageStyle) + book.setPageAnim(0) + } } ?: let { bookSource = null } 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 608b83457efb..6a19fa2c4b1f 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 @@ -571,6 +571,8 @@ class ReadBookActivity : BaseReadBookActivity(), imgStyles ) { _, index -> ReadBook.book?.setImageStyle(imgStyles[index]) + ReadBook.book?.setPageAnim(0) // 切换图片样式single后,自动切换为覆盖 + binding.readView.upPageAnim() ReadBook.loadContent(false) } } From 22862f60dcd4a8c7ef538e49731b273e933bc111 Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Fri, 10 Jan 2025 18:40:33 +0800 Subject: [PATCH 4/4] Fix page animation switch --- app/src/main/java/io/legado/app/model/ReadBook.kt | 10 +++++----- .../io/legado/app/ui/book/read/ReadBookActivity.kt | 14 ++++++++++---- .../app/ui/book/read/config/ReadStyleDialog.kt | 2 +- 3 files changed, 16 insertions(+), 10 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 42a7e9ccde15..c778fd242ea1 100644 --- a/app/src/main/java/io/legado/app/model/ReadBook.kt +++ b/app/src/main/java/io/legado/app/model/ReadBook.kt @@ -170,11 +170,11 @@ object ReadBook : CoroutineScope by MainScope() { appDb.bookSourceDao.getBookSource(book.origin)?.let { bookSource = it if (book.getImageStyle().isNullOrBlank()) { - book.setImageStyle(it.getContentRule().imageStyle) - } - if (it.getContentRule().imageStyle == Book.imgStyleSingle) { - book.setImageStyle(it.getContentRule().imageStyle) - book.setPageAnim(0) + val imageStyle = it.getContentRule().imageStyle + book.setImageStyle(imageStyle) + if (imageStyle.equals(Book.imgStyleSingle, true)) { + book.setPageAnim(0) + } } } ?: let { bookSource = null 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 6a19fa2c4b1f..0ee492cbe6d9 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 @@ -565,14 +565,20 @@ class ReadBookActivity : BaseReadBookActivity(), R.id.menu_set_charset -> showCharsetConfig() R.id.menu_image_style -> { val imgStyles = - arrayListOf(Book.imgStyleDefault, Book.imgStyleFull, Book.imgStyleText, Book.imgStyleSingle) + arrayListOf( + Book.imgStyleDefault, Book.imgStyleFull, Book.imgStyleText, + Book.imgStyleSingle + ) selector( R.string.image_style, imgStyles ) { _, index -> - ReadBook.book?.setImageStyle(imgStyles[index]) - ReadBook.book?.setPageAnim(0) // 切换图片样式single后,自动切换为覆盖 - binding.readView.upPageAnim() + val imageStyle = imgStyles[index] + ReadBook.book?.setImageStyle(imageStyle) + if (imageStyle == Book.imgStyleSingle) { + ReadBook.book?.setPageAnim(0) // 切换图片样式single后,自动切换为覆盖 + binding.readView.upPageAnim() + } ReadBook.loadContent(false) } } 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 e04dcd1656bb..2ad6dd49714b 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 @@ -134,7 +134,7 @@ class ReadStyleDialog : BaseDialogFragment(R.layout.dialog_read_book_style), TipConfigDialog().show(childFragmentManager, "tipConfigDialog") } rgPageAnim.setOnCheckedChangeListener { _, checkedId -> - ReadBook.book?.setPageAnim(null) + ReadBook.book?.setPageAnim(-1) ReadBookConfig.pageAnim = binding.rgPageAnim.getIndexById(checkedId) callBack?.upPageAnim() ReadBook.loadContent(false)