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}