|
|
@@ -392,11 +392,12 @@ class ContentTextView(context: Context, attrs: AttributeSet?) : View(context, at
|
|
|
pos.lineIndex = lineIndex
|
|
|
textLine.textChars.forEachIndexed { charIndex, textChar ->
|
|
|
pos.charIndex = charIndex
|
|
|
- if (pos.compare(selectStart) >= 0
|
|
|
- && pos.compare(selectEnd) <= 0
|
|
|
- ) {
|
|
|
+ val compareStart = pos.compare(selectStart)
|
|
|
+ val compareEnd = pos.compare(selectEnd)
|
|
|
+ if (compareStart >= 0 && compareEnd <= 0) {
|
|
|
builder.append(textChar.charData)
|
|
|
- if (charIndex == textLine.charSize - 1
|
|
|
+ if (compareEnd != 0
|
|
|
+ && charIndex == textLine.charSize - 1
|
|
|
&& textLine.text.endsWith("\n")
|
|
|
) {
|
|
|
builder.append("\n")
|
|
|
@@ -405,9 +406,6 @@ class ContentTextView(context: Context, attrs: AttributeSet?) : View(context, at
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if (builder.endsWith("\n")) {
|
|
|
- return builder.substring(0, builder.lastIndex)
|
|
|
- }
|
|
|
return builder.toString()
|
|
|
}
|
|
|
|