From 3bb8c0c3ab79fa26f2230bdaaf6a072e71a20a0e Mon Sep 17 00:00:00 2001 From: gedoor Date: Tue, 11 Jan 2022 14:42:59 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/legado/app/utils/NetworkUtils.kt | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/io/legado/app/utils/NetworkUtils.kt b/app/src/main/java/io/legado/app/utils/NetworkUtils.kt index cee94904d..477a2e11f 100644 --- a/app/src/main/java/io/legado/app/utils/NetworkUtils.kt +++ b/app/src/main/java/io/legado/app/utils/NetworkUtils.kt @@ -140,7 +140,7 @@ object NetworkUtils { } fun getBaseUrl(url: String?): String? { - if (url == null || !url.startsWith("http")) return null + url ?: return null val index = url.indexOf("/", 9) return if (index == -1) { url @@ -156,14 +156,20 @@ object NetworkUtils { */ fun getSubDomain(url: String): String { val baseUrl = getBaseUrl(url) ?: return url - return kotlin.runCatching { - val mURL = URL(baseUrl) - val host: String = mURL.host - //判断是否为ip - if (isIPAddress(host)) return baseUrl - //PublicSuffixDatabase处理域名 - PublicSuffixDatabase.get().getEffectiveTldPlusOne(host) ?: baseUrl - }.getOrDefault(url) + return if (url.startsWith("http://", true) + || url.startsWith("https://", true) + ) { + kotlin.runCatching { + val mURL = URL(baseUrl) + val host: String = mURL.host + //判断是否为ip + if (isIPAddress(host)) return baseUrl + //PublicSuffixDatabase处理域名 + PublicSuffixDatabase.get().getEffectiveTldPlusOne(host) ?: baseUrl + }.getOrDefault(baseUrl) + } else { + baseUrl + } } /** From 4fd13433ed2ef7d9b96fd2754b6b3b2dc09b787f Mon Sep 17 00:00:00 2001 From: gedoor Date: Tue, 11 Jan 2022 14:53:16 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/legado/app/utils/NetworkUtils.kt | 35 +++++++++---------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/io/legado/app/utils/NetworkUtils.kt b/app/src/main/java/io/legado/app/utils/NetworkUtils.kt index 477a2e11f..978844a8d 100644 --- a/app/src/main/java/io/legado/app/utils/NetworkUtils.kt +++ b/app/src/main/java/io/legado/app/utils/NetworkUtils.kt @@ -141,10 +141,15 @@ object NetworkUtils { fun getBaseUrl(url: String?): String? { url ?: return null - val index = url.indexOf("/", 9) - return if (index == -1) { - url - } else url.substring(0, index) + if (url.startsWith("http://", true) + || url.startsWith("https://", true) + ) { + val index = url.indexOf("/", 9) + return if (index == -1) { + url + } else url.substring(0, index) + } + return null } /** @@ -156,20 +161,14 @@ object NetworkUtils { */ fun getSubDomain(url: String): String { val baseUrl = getBaseUrl(url) ?: return url - return if (url.startsWith("http://", true) - || url.startsWith("https://", true) - ) { - kotlin.runCatching { - val mURL = URL(baseUrl) - val host: String = mURL.host - //判断是否为ip - if (isIPAddress(host)) return baseUrl - //PublicSuffixDatabase处理域名 - PublicSuffixDatabase.get().getEffectiveTldPlusOne(host) ?: baseUrl - }.getOrDefault(baseUrl) - } else { - baseUrl - } + return kotlin.runCatching { + val mURL = URL(baseUrl) + val host: String = mURL.host + //判断是否为ip + if (isIPAddress(host)) return baseUrl + //PublicSuffixDatabase处理域名 + PublicSuffixDatabase.get().getEffectiveTldPlusOne(host) ?: baseUrl + }.getOrDefault(baseUrl) } /** From dc2db2941bb5d040c6af70a917a64dcb0ab4d7b1 Mon Sep 17 00:00:00 2001 From: gedoor Date: Tue, 11 Jan 2022 14:55:07 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/io/legado/app/ui/about/AppLogDialog.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/io/legado/app/ui/about/AppLogDialog.kt b/app/src/main/java/io/legado/app/ui/about/AppLogDialog.kt index 258d9cc9a..81f5323fd 100644 --- a/app/src/main/java/io/legado/app/ui/about/AppLogDialog.kt +++ b/app/src/main/java/io/legado/app/ui/about/AppLogDialog.kt @@ -50,7 +50,10 @@ class AppLogDialog : BaseDialogFragment(R.layout.dialog_recycler_view), override fun onMenuItemClick(item: MenuItem?): Boolean { when (item?.itemId) { - R.id.menu_clear -> AppLog.clear() + R.id.menu_clear -> { + AppLog.clear() + adapter.clearItems() + } } return true } From 34ad6007b219e38c2193a4e291aa395a528d40b9 Mon Sep 17 00:00:00 2001 From: Xwite <1797350009@qq.com> Date: Tue, 11 Jan 2022 15:22:15 +0800 Subject: [PATCH 4/6] =?UTF-8?q?fix=EF=BC=9A=E4=BA=8C=E7=BA=A7=E7=9B=AE?= =?UTF-8?q?=E5=BD=95=E4=B9=A6=E6=BA=90=20=E6=AD=A3=E6=96=87=E4=B8=8D?= =?UTF-8?q?=E8=83=BD=E9=80=9A=E8=BF=87=E4=B9=A6=E6=BA=90=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/legado/app/model/webBook/BookChapterList.kt | 2 +- app/src/main/java/io/legado/app/model/webBook/WebBook.kt | 7 +++++-- .../app/ui/book/read/page/provider/ChapterProvider.kt | 4 ++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/io/legado/app/model/webBook/BookChapterList.kt b/app/src/main/java/io/legado/app/model/webBook/BookChapterList.kt index 2f250ca1e..72d13880d 100644 --- a/app/src/main/java/io/legado/app/model/webBook/BookChapterList.kt +++ b/app/src/main/java/io/legado/app/model/webBook/BookChapterList.kt @@ -194,7 +194,7 @@ object BookChapterList { if (bookChapter.url.isEmpty()) { if (bookChapter.isVolume) { bookChapter.url = bookChapter.title - Debug.log(bookSource.bookSourceUrl, "目录${index}(Volume)未获取到url,使用章节标题替代") + Debug.log(bookSource.bookSourceUrl, "一级目录${index}未获取到url,使用章节标题替代") } else { bookChapter.url = baseUrl Debug.log(bookSource.bookSourceUrl, "目录${index}未获取到url,使用baseUrl替代") diff --git a/app/src/main/java/io/legado/app/model/webBook/WebBook.kt b/app/src/main/java/io/legado/app/model/webBook/WebBook.kt index c95843c7f..8cb3d151a 100644 --- a/app/src/main/java/io/legado/app/model/webBook/WebBook.kt +++ b/app/src/main/java/io/legado/app/model/webBook/WebBook.kt @@ -261,8 +261,11 @@ object WebBook { Debug.log(bookSource.bookSourceUrl, "⇒正文规则为空,使用章节链接:${bookChapter.url}") return bookChapter.url } - //章节名为卷名时 且 章节url没获取到,返回空白 - if(bookChapter.isVolume && bookChapter.url == bookChapter.title) return "" + if(bookChapter.isVolume && bookChapter.url == bookChapter.title) { + //不返回空值,是为了过书源检测 + Debug.log(bookSource.bookSourceUrl, "⇒一级目录正文,使用章节标题:${bookChapter.title}") + return bookChapter.title + } return if (bookChapter.url == book.bookUrl && !book.tocHtml.isNullOrEmpty()) { BookContent.analyzeContent( scope = scope, 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 e9dadb9aa..9f7e3f3a8 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 @@ -332,7 +332,7 @@ object ChapterProvider { } lineIndex == layout.lineCount - 1 -> { //最后一行 - textLine.text = "$words\n" + textLine.text = if(isVolumeTitle) "" else "$words\n" isLastLine = true //标题居中 val startX = if (isTitle && ReadBookConfig.titleMode == 1 || isVolumeTitle) @@ -349,7 +349,7 @@ object ChapterProvider { } else -> { //中间行 - textLine.text = words + textLine.text = if(isVolumeTitle) "" else words addCharsToLineMiddle( absStartX, textLine, From 8f7242f42da817b9c59e8e87c337500c9bde18ae Mon Sep 17 00:00:00 2001 From: gedoor Date: Tue, 11 Jan 2022 15:34:01 +0800 Subject: [PATCH 5/6] =?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/receiver/MediaButtonReceiver.kt | 1 - .../main/java/io/legado/app/service/BaseReadAloudService.kt | 3 --- 2 files changed, 4 deletions(-) diff --git a/app/src/main/java/io/legado/app/receiver/MediaButtonReceiver.kt b/app/src/main/java/io/legado/app/receiver/MediaButtonReceiver.kt index 39f3df781..7a62179e7 100644 --- a/app/src/main/java/io/legado/app/receiver/MediaButtonReceiver.kt +++ b/app/src/main/java/io/legado/app/receiver/MediaButtonReceiver.kt @@ -42,7 +42,6 @@ class MediaButtonReceiver : BroadcastReceiver() { val keycode: Int = keyEvent.keyCode val action: Int = keyEvent.action if (action == KeyEvent.ACTION_DOWN) { - AppLog.put("mediaButton $action") when (keycode) { KeyEvent.KEYCODE_MEDIA_PREVIOUS -> { if (context.getPrefBoolean("mediaButtonPerNext", false)) { 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 49e2a907e..b1e1bb324 100644 --- a/app/src/main/java/io/legado/app/service/BaseReadAloudService.kt +++ b/app/src/main/java/io/legado/app/service/BaseReadAloudService.kt @@ -279,18 +279,15 @@ abstract class BaseReadAloudService : BaseService(), override fun onAudioFocusChange(focusChange: Int) { when (focusChange) { AudioManager.AUDIOFOCUS_GAIN -> { - AppLog.put("重新获得焦点, 恢复播放") audioFocusLossTransient = false if (!pause) resumeReadAloud() } AudioManager.AUDIOFOCUS_LOSS -> { - AppLog.put("永久丢失焦点") if (audioFocusLossTransient) { pauseReadAloud(true) } } AudioManager.AUDIOFOCUS_LOSS_TRANSIENT -> { - AppLog.put("暂时丢失焦点, 暂停播放") audioFocusLossTransient = true if (!pause) pauseReadAloud(false) } From 878a4a211f0e6f1123193d4f1469e67837e08205 Mon Sep 17 00:00:00 2001 From: gedoor Date: Tue, 11 Jan 2022 15:34:29 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/io/legado/app/receiver/MediaButtonReceiver.kt | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/src/main/java/io/legado/app/receiver/MediaButtonReceiver.kt b/app/src/main/java/io/legado/app/receiver/MediaButtonReceiver.kt index 7a62179e7..0c66e9181 100644 --- a/app/src/main/java/io/legado/app/receiver/MediaButtonReceiver.kt +++ b/app/src/main/java/io/legado/app/receiver/MediaButtonReceiver.kt @@ -4,7 +4,6 @@ import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import android.view.KeyEvent -import io.legado.app.constant.AppLog import io.legado.app.constant.EventBus import io.legado.app.data.appDb import io.legado.app.help.AppConfig @@ -87,7 +86,6 @@ class MediaButtonReceiver : BroadcastReceiver() { LifecycleHelp.isExistActivity(AudioPlayActivity::class.java) -> postEvent(EventBus.MEDIA_BUTTON, true) else -> if (AppConfig.mediaButtonOnExit || LifecycleHelp.activitySize() > 0 || !isMediaKey) { - AppLog.put("readAloud start Service") if (ReadBook.book != null) { ReadBook.readAloud() } else {