Skip to content

Commit

Permalink
Revert "Fix url trailing symbol."
Browse files Browse the repository at this point in the history
This reverts commit 86227fb.
  • Loading branch information
cody-signal committed Jul 14, 2022
1 parent 96539d7 commit 93d3701
Showing 1 changed file with 3 additions and 21 deletions.
Expand Up @@ -149,8 +149,6 @@
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import kotlin.Unit;
import kotlin.jvm.functions.Function1;
Expand Down Expand Up @@ -178,8 +176,6 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
private static final long MAX_CLUSTERING_TIME_DIFF = TimeUnit.MINUTES.toMillis(3);
private static final int CONDENSED_MODE_MAX_LINES = 3;

private static final Pattern NOT_URL_PATTERN = Pattern.compile("[^a-zA-Z0-9-._~:/?#\\[\\]@!$&'()\\*+,;=]");

private ConversationMessage conversationMessage;
private MessageRecord messageRecord;
private Optional<MessageRecord> nextMessageRecord;
Expand Down Expand Up @@ -1477,26 +1473,12 @@ static void linkifyUrlLinks(@NonNull Spannable messageBody, boolean shouldLinkif
boolean hasLinks = LinkifyCompat.addLinks(messageBody, shouldLinkifyAllLinks ? linkPattern : 0);

if (hasLinks) {
URLSpan[] urlSpans = messageBody.getSpans(0, messageBody.length(), URLSpan.class);

for (URLSpan urlSpan : urlSpans) {
int start = messageBody.getSpanStart(urlSpan);
int end = messageBody.getSpanEnd(urlSpan);

Matcher matcher = NOT_URL_PATTERN.matcher(messageBody.toString().substring(end));
if (matcher.find()) {
int newEnd = end + matcher.start();
URLSpan newSpan = new URLSpan(messageBody.toString().substring(start, newEnd));
messageBody.removeSpan(urlSpan);
messageBody.setSpan(newSpan, start, newEnd, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}

Stream.of(urlSpans)
Stream.of(messageBody.getSpans(0, messageBody.length(), URLSpan.class))
.filterNot(url -> LinkUtil.isLegalUrl(url.getURL()))
.forEach(messageBody::removeSpan);

urlSpans = messageBody.getSpans(0, messageBody.length(), URLSpan.class);
URLSpan[] urlSpans = messageBody.getSpans(0, messageBody.length(), URLSpan.class);

for (URLSpan urlSpan : urlSpans) {
int start = messageBody.getSpanStart(urlSpan);
int end = messageBody.getSpanEnd(urlSpan);
Expand Down

0 comments on commit 93d3701

Please sign in to comment.