From 8e28ae1c4a42e4d49dab786b7aeb767302c29256 Mon Sep 17 00:00:00 2001 From: Horis <821938089@qq.com> Date: Sat, 24 Feb 2024 09:39:31 +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 --- .../java/io/legado/app/ui/book/read/page/ContentTextView.kt | 3 +++ .../io/legado/app/ui/book/read/page/entities/TextChapter.kt | 1 + .../java/io/legado/app/ui/book/read/page/entities/TextPos.kt | 4 ++++ 3 files changed, 8 insertions(+) diff --git a/app/src/main/java/io/legado/app/ui/book/read/page/ContentTextView.kt b/app/src/main/java/io/legado/app/ui/book/read/page/ContentTextView.kt index aba5502db..9dbabcb46 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/page/ContentTextView.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/page/ContentTextView.kt @@ -536,6 +536,9 @@ class ContentTextView(context: Context, attrs: AttributeSet?) : View(context, at } private fun upSelectChars() { + if (!selectStart.isSelected() || !selectEnd.isSelected()) { + return + } val last = if (callBack.isScroll) 2 else 0 val textPos = TextPos(0, 0, 0) for (relativePos in 0..last) { diff --git a/app/src/main/java/io/legado/app/ui/book/read/page/entities/TextChapter.kt b/app/src/main/java/io/legado/app/ui/book/read/page/entities/TextChapter.kt index b01ecebe3..b86c846dd 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/page/entities/TextChapter.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/page/entities/TextChapter.kt @@ -104,6 +104,7 @@ data class TextChapter( * @return 已读长度 */ fun getReadLength(pageIndex: Int): Int { + if (pageIndex < 0) return 0 return pages[min(pageIndex, lastIndex)].lines.first().chapterPosition /* var length = 0 diff --git a/app/src/main/java/io/legado/app/ui/book/read/page/entities/TextPos.kt b/app/src/main/java/io/legado/app/ui/book/read/page/entities/TextPos.kt index b28defd0e..cfb3080bb 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/page/entities/TextPos.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/page/entities/TextPos.kt @@ -69,4 +69,8 @@ data class TextPos( isLast = false } + fun isSelected(): Boolean { + return lineIndex >= 0 && columnIndex >= 0 + } + } \ No newline at end of file