QuoteHelper.java

 1package eu.siacs.conversations.ui.util;
 2
 3import eu.siacs.conversations.utils.UIHelper;
 4
 5public class QuoteHelper {
 6
 7    public static boolean isPositionQuoteCharacter(CharSequence body, int pos){
 8        return body.charAt(pos) == '>';
 9    }
10
11    public static boolean isPositionFollowedByQuoteChar(CharSequence body, int pos) {
12        return body.length() > pos + 1 && isPositionQuoteCharacter(body, pos +1 );
13    }
14
15    // 'Prequote' means anything we require or can accept in front of a QuoteChar
16    public static boolean isPositionPrecededByPrequote(CharSequence body, int pos){
17        return UIHelper.isPositionPrecededByLineStart(body, pos);
18    }
19
20    public static boolean isPositionQuoteStart (CharSequence body, int pos){
21        return isPositionQuoteCharacter(body, pos)
22                && isPositionPrecededByPrequote(body, pos)
23                && (UIHelper.isPositionFollowedByWhitespace(body, pos)
24                    || isPositionFollowedByQuoteChar(body, pos));
25    }
26
27    public static boolean bodyContainsQuoteStart (CharSequence body){
28       for (int i = 0; i < body.length(); i++){
29            if (isPositionQuoteStart(body, i)){
30                return true;
31            }
32        }
33        return false;
34    }
35    /*public static int getQuoteColors(XmppActivity activity, boolean darkBackground, int quoteDepth){
36        int[] colorsLight = R.style.ConversationsTheme_Dark;
37        int[] colorsDark = Config.QUOTE_COLOR_ARRAY_DARK;
38
39       Collections.rotate(Collections.singletonList(colorsLight), quoteDepth);
40       Collections.rotate(Collections.singletonList(colorsDark), quoteDepth);
41
42       Arrays.stream(colorsLight).toArray();
43
44        int quoteColors =  darkBackground ? ContextCompat.getColor(activity, colorsLight[quoteDepth-1])
45                : ContextCompat.getColor(activity, colorsDark[quoteDepth-1]);
46
47        Collections.rotate
48
49        return quoteColors;
50    };*/
51}