don't quote text when '>' is followed by numeber

This commit is contained in:
Daniel Gultsch 2017-01-21 11:07:23 +01:00
parent 780d1daf7e
commit 96a6460744
2 changed files with 17 additions and 2 deletions

View file

@ -351,7 +351,7 @@ public class MessageAdapter extends ArrayAdapter<Message> implements CopyTextVie
char current = body.length() > i ? body.charAt(i) : '\n'; char current = body.length() > i ? body.charAt(i) : '\n';
if (lineStart == -1) { if (lineStart == -1) {
if (previous == '\n') { if (previous == '\n') {
if (current == '>' || current == '\u00bb') { if ((current == '>' && !UIHelper.isPositionFollowedByNumber(body,i)) || current == '\u00bb') {
// Line start with quote // Line start with quote
lineStart = i; lineStart = i;
if (quoteStart == -1) quoteStart = i; if (quoteStart == -1) quoteStart = i;

View file

@ -202,7 +202,7 @@ public class UIHelper {
for(String l : lines) { for(String l : lines) {
if (l.length() > 0) { if (l.length() > 0) {
char first = l.charAt(0); char first = l.charAt(0);
if (first != '>' && first != '\u00bb') { if ((first != '>' || isPositionFollowedByNumber(l,0)) && first != '\u00bb') {
String line = l.trim(); String line = l.trim();
if (line.isEmpty()) { if (line.isEmpty()) {
continue; continue;
@ -226,6 +226,21 @@ public class UIHelper {
} }
} }
public static boolean isPositionFollowedByNumber(CharSequence body, int pos) {
boolean previousWasNumber = false;
for (int i = pos +1; i < body.length(); i++) {
char c = body.charAt(i);
if (Character.isDigit(body.charAt(i))) {
previousWasNumber = true;
} else if (previousWasNumber && (c == '.' || c == ',')) {
previousWasNumber = false;
} else {
return Character.isWhitespace(c) && previousWasNumber;
}
}
return previousWasNumber;
}
public static String getFileDescriptionString(final Context context, final Message message) { public static String getFileDescriptionString(final Context context, final Message message) {
if (message.getType() == Message.TYPE_IMAGE) { if (message.getType() == Message.TYPE_IMAGE) {
return context.getString(R.string.image); return context.getString(R.string.image);