diff options
author | Stefan Niedermann <info@niedermann.it> | 2020-12-19 12:38:32 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2020-12-19 12:40:14 +0300 |
commit | 5fe811ba1d7baeb4afcc61cf5b67c377634d6a5c (patch) | |
tree | a66f15a12f2e21af10e3ab85721f111dd44becb7 | |
parent | f26622cb3c3bb2004774c1e33ba1e9a7787cc158 (diff) |
Use Editable directly
Signed-off-by: Stefan Niedermann <info@niedermann.it>
-rw-r--r-- | markdown/src/main/java/it/niedermann/android/markdown/markwon/MarkwonMarkdownUtil.java | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/markdown/src/main/java/it/niedermann/android/markdown/markwon/MarkwonMarkdownUtil.java b/markdown/src/main/java/it/niedermann/android/markdown/markwon/MarkwonMarkdownUtil.java index 78f95f720..900a29ed2 100644 --- a/markdown/src/main/java/it/niedermann/android/markdown/markwon/MarkwonMarkdownUtil.java +++ b/markdown/src/main/java/it/niedermann/android/markdown/markwon/MarkwonMarkdownUtil.java @@ -149,14 +149,13 @@ public class MarkwonMarkdownUtil { case "*": case "_": case "~~": { - final String text = editable.toString(); - final boolean selectionIsSurroundedByPunctuation = selectionIsSurroundedByPunctuation(text, selectionStart, selectionEnd, punctuation); + final boolean selectionIsSurroundedByPunctuation = selectionIsSurroundedByPunctuation(editable, selectionStart, selectionEnd, punctuation); if (selectionIsSurroundedByPunctuation) { editable.delete(selectionEnd, selectionEnd + punctuation.length()); editable.delete(selectionStart - punctuation.length(), selectionStart); return selectionEnd - punctuation.length(); } else { - final int containedPunctuationCount = getContainedPunctuationCount(text, selectionStart, selectionEnd, punctuation); + final int containedPunctuationCount = getContainedPunctuationCount(editable, selectionStart, selectionEnd, punctuation); if (containedPunctuationCount == 0) { editable.insert(selectionEnd, punctuation); editable.insert(selectionStart, punctuation); @@ -234,7 +233,7 @@ public class MarkwonMarkdownUtil { } private static void removeContainingPunctuation(@NonNull Editable editable, int start, int end, @NonNull String punctuation) { - final Matcher matcher = Pattern.compile(Pattern.quote(punctuation)).matcher(editable.toString().subSequence(start, end)); + final Matcher matcher = Pattern.compile(Pattern.quote(punctuation)).matcher(editable.subSequence(start, end)); int countDeletedPunctuations = 0; while (matcher.find()) { editable.delete(start + matcher.start() - countDeletedPunctuations * punctuation.length(), start + matcher.end() - countDeletedPunctuations * punctuation.length()); |