Horis 2 лет назад
Родитель
Сommit
00b8be368c

+ 4 - 4
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 (

+ 1 - 1
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);