From 916adb7f8e37c87c513ee5a75815fd8dff00c678 Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Tue, 4 Jun 2024 15:09:07 +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 #3969 #3970 --- .../io/legado/app/ui/book/read/page/ContentTextView.kt | 8 ++++---- .../java/me/ag2s/epublib/epub/PackageDocumentReader.java | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) 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 a43278198..6e769b121 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 @@ -278,7 +278,7 @@ class ContentTextView(context: Context, attrs: AttributeSet?) : View(context, at if (textPos.compare(selectEnd) <= 0) { selectStart.upData(pos = textPos) upSelectedStart( - if (textPos.columnIndex < textLine.columns.lastIndex) textColumn.start else textColumn.end, + if (textPos.columnIndex < textLine.columns.size) textColumn.start else textColumn.end, textLine.lineBottom + relativeOffset, textLine.lineTop + relativeOffset ) @@ -318,7 +318,7 @@ class ContentTextView(context: Context, attrs: AttributeSet?) : View(context, at selectEndMoveIndex(selectStart) selectStart.upData(textPos) upSelectedStart( - if (textPos.columnIndex < textLine.columns.lastIndex) textColumn.start else textColumn.end, + if (textPos.columnIndex < textLine.columns.size) textColumn.start else textColumn.end, textLine.lineBottom + relativeOffset, textLine.lineTop + relativeOffset ) @@ -534,7 +534,7 @@ class ContentTextView(context: Context, attrs: AttributeSet?) : View(context, at } private fun upSelectChars() { - if (!selectStart.isSelected() || !selectEnd.isSelected()) { + if (!selectStart.isSelected() && !selectEnd.isSelected()) { return } val last = if (callBack.isScroll) 2 else 0 @@ -621,7 +621,7 @@ class ContentTextView(context: Context, attrs: AttributeSet?) : View(context, at if (column is TextColumn) { when { compareStart == 0 -> { - if (textPos.columnIndex < textLine.columns.lastIndex) { + if (textPos.columnIndex < textLine.columns.size) { builder.append(column.charData) } if ( diff --git a/modules/book/src/main/java/me/ag2s/epublib/epub/PackageDocumentReader.java b/modules/book/src/main/java/me/ag2s/epublib/epub/PackageDocumentReader.java index e14dd2a34..0b019dda6 100644 --- a/modules/book/src/main/java/me/ag2s/epublib/epub/PackageDocumentReader.java +++ b/modules/book/src/main/java/me/ag2s/epublib/epub/PackageDocumentReader.java @@ -106,7 +106,7 @@ public class PackageDocumentReader extends PackageDocumentBase { NodeList originItemElements = manifestElement .getElementsByTagNameNS(NAMESPACE_OPF, OPFTags.item); for (int i = 0; i < originItemElements.getLength(); i++) { - Element itemElement = (Element) originItemElements.item(i); + Element itemElement = (Element) originItemElements.item(i).cloneNode(false); String href = DOMUtil.getAttribute(itemElement, NAMESPACE_OPF, OPFAttributes.href); String resolvedHref = packagePath.resolve(href).toString(); itemElement.setAttribute("href", resolvedHref);