|
|
|
@ -339,11 +339,9 @@ object ReadBook { |
|
|
|
|
index = content.indexOf(query, index + 1); |
|
|
|
|
count += 1 |
|
|
|
|
} |
|
|
|
|
Log.d("h11128", "new index $index") |
|
|
|
|
val contentPosition = index |
|
|
|
|
var pageIndex = 0 |
|
|
|
|
var length = pages[pageIndex].text.length |
|
|
|
|
Log.d("h11128", "page size ${pages.size}") |
|
|
|
|
while (length < contentPosition){ |
|
|
|
|
pageIndex += 1 |
|
|
|
|
if (pageIndex >pages.size){ |
|
|
|
@ -351,16 +349,12 @@ object ReadBook { |
|
|
|
|
break |
|
|
|
|
} |
|
|
|
|
length += pages[pageIndex].text.length |
|
|
|
|
Log.d("h11128", "to next page , add length change to $length") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Log.d("h11128", "at pageindex $pageIndex") |
|
|
|
|
|
|
|
|
|
// calculate search result's lineIndex |
|
|
|
|
val currentPage = pages[pageIndex] |
|
|
|
|
var lineIndex = 0 |
|
|
|
|
length = length - currentPage.text.length + currentPage.textLines[lineIndex].text.length |
|
|
|
|
Log.d("h11128", "currentLine ${currentPage.textLines[lineIndex].text}") |
|
|
|
|
while (length < contentPosition){ |
|
|
|
|
lineIndex += 1 |
|
|
|
|
if (lineIndex >currentPage.textLines.size){ |
|
|
|
@ -368,15 +362,11 @@ object ReadBook { |
|
|
|
|
break |
|
|
|
|
} |
|
|
|
|
length += currentPage.textLines[lineIndex].text.length |
|
|
|
|
Log.d("h11128", "currentLine ${currentPage.textLines[lineIndex].text}") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// charIndex |
|
|
|
|
Log.d("h11128", "currentLine ${currentPage.textLines[lineIndex].text}") |
|
|
|
|
Log.d("h11128", "currentLength $length") |
|
|
|
|
val currentLine = currentPage.textLines[lineIndex] |
|
|
|
|
length -= currentLine.text.length |
|
|
|
|
Log.d("h11128", "currentLength $length") |
|
|
|
|
val charIndex = contentPosition - length |
|
|
|
|
var addLine = 0 |
|
|
|
|
var charIndex2 = 0 |
|
|
|
@ -390,7 +380,6 @@ object ReadBook { |
|
|
|
|
addLine = -1 |
|
|
|
|
charIndex2 = charIndex + query.length - currentLine.text.length - 1 |
|
|
|
|
} |
|
|
|
|
Log.d("h11128", "charIndex2 $charIndex $addLine $charIndex2") |
|
|
|
|
return arrayOf(pageIndex, lineIndex, charIndex, addLine, charIndex2) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|