Clover Coverage Report - AnCal Coverage Report
Coverage timestamp: gio dic 18 2014 12:18:42 EST
../../../../img/srcFileCovDistChart9.png 40% of files have more coverage
54   225   29   4,5
22   181   0,54   12
12     2,42  
1    
This report was generated with an evaluation server license. Purchase Clover or configure your license.
 
  KeyItemLayout       Line # 10 54 29 87,5% 0.875
 
No Tests
 
1   
2    package pl.magot.vetch.widgets;
3   
4   
5    import java.util.ArrayList;
6   
7    import android.view.*;
8   
9   
 
10    public class KeyItemLayout
11    {
12    //alpha layout
13    public final KeyItem[] alphaRow1 = {
14    new KeyItem("Q", KeyEvent.KEYCODE_Q, KeyItem.kDefault, false),
15    new KeyItem("W", KeyEvent.KEYCODE_W, KeyItem.kDefault, false),
16    new KeyItem("E", KeyEvent.KEYCODE_E, KeyItem.kDefault, false),
17    new KeyItem("R", KeyEvent.KEYCODE_R, KeyItem.kDefault, false),
18    new KeyItem("T", KeyEvent.KEYCODE_T, KeyItem.kDefault, false),
19    new KeyItem("Y", KeyEvent.KEYCODE_Y, KeyItem.kDefault, false),
20    new KeyItem("U", KeyEvent.KEYCODE_U, KeyItem.kDefault, false),
21    new KeyItem("I", KeyEvent.KEYCODE_I, KeyItem.kDefault, false),
22    new KeyItem("O", KeyEvent.KEYCODE_O, KeyItem.kDefault, false),
23    new KeyItem("P", KeyEvent.KEYCODE_P, KeyItem.kDefault, false),
24    };
25   
26    public final KeyItem[] alphaRow2 = {
27    new KeyItem("A", KeyEvent.KEYCODE_A, KeyItem.kDefault, false),
28    new KeyItem("S", KeyEvent.KEYCODE_S, KeyItem.kDefault, false),
29    new KeyItem("D", KeyEvent.KEYCODE_D, KeyItem.kDefault, false),
30    new KeyItem("F", KeyEvent.KEYCODE_F, KeyItem.kDefault, false),
31    new KeyItem("G", KeyEvent.KEYCODE_G, KeyItem.kDefault, false),
32    new KeyItem("H", KeyEvent.KEYCODE_H, KeyItem.kDefault, false),
33    new KeyItem("J", KeyEvent.KEYCODE_J, KeyItem.kDefault, false),
34    new KeyItem("K", KeyEvent.KEYCODE_K, KeyItem.kDefault, false),
35    new KeyItem("L", KeyEvent.KEYCODE_L, KeyItem.kDefault, false),
36    };
37   
38    public final KeyItem[] alphaRow3 = {
39    new KeyItem("Z", KeyEvent.KEYCODE_Z, KeyItem.kDefault, false),
40    new KeyItem("X", KeyEvent.KEYCODE_X, KeyItem.kDefault, false),
41    new KeyItem("C", KeyEvent.KEYCODE_C, KeyItem.kDefault, false),
42    new KeyItem("V", KeyEvent.KEYCODE_V, KeyItem.kDefault, false),
43    new KeyItem("B", KeyEvent.KEYCODE_B, KeyItem.kDefault, false),
44    new KeyItem("N", KeyEvent.KEYCODE_N, KeyItem.kDefault, false),
45    new KeyItem("M", KeyEvent.KEYCODE_M, KeyItem.kDefault, false),
46    };
47   
48    //digit layout
49    public final KeyItem[] digitRow1 = {
50    new KeyItem("1", KeyEvent.KEYCODE_1, KeyItem.kDefault, false),
51    new KeyItem("2", KeyEvent.KEYCODE_2, KeyItem.kDefault, false),
52    new KeyItem("3", KeyEvent.KEYCODE_3, KeyItem.kDefault, false),
53    new KeyItem("4", KeyEvent.KEYCODE_4, KeyItem.kDefault, false),
54    new KeyItem("5", KeyEvent.KEYCODE_5, KeyItem.kDefault, false),
55    new KeyItem("6", KeyEvent.KEYCODE_6, KeyItem.kDefault, false),
56    new KeyItem("7", KeyEvent.KEYCODE_7, KeyItem.kDefault, false),
57    new KeyItem("8", KeyEvent.KEYCODE_8, KeyItem.kDefault, false),
58    new KeyItem("9", KeyEvent.KEYCODE_9, KeyItem.kDefault, false),
59    new KeyItem("0", KeyEvent.KEYCODE_0, KeyItem.kDefault, false),
60    };
61   
62    public final KeyItem[] digitRow2 = {
63    new KeyItem("!", KeyEvent.KEYCODE_1, KeyItem.kDefault, true),
64    new KeyItem("@", KeyEvent.KEYCODE_AT, KeyItem.kDefault, false),
65    new KeyItem("#", KeyEvent.KEYCODE_3, KeyItem.kDefault, true),
66    new KeyItem("$", KeyEvent.KEYCODE_4, KeyItem.kDefault, true),
67    new KeyItem("%", KeyEvent.KEYCODE_5, KeyItem.kDefault, true),
68    new KeyItem("&", KeyEvent.KEYCODE_7, KeyItem.kDefault, true),
69    new KeyItem("*", KeyEvent.KEYCODE_STAR, KeyItem.kDefault, false),
70    new KeyItem("(", KeyEvent.KEYCODE_9, KeyItem.kDefault, true),
71    new KeyItem(")", KeyEvent.KEYCODE_0, KeyItem.kDefault, true),
72    };
73   
74    public final KeyItem[] digitRow3 = {
75    new KeyItem("-", KeyEvent.KEYCODE_I, KeyItem.kDefault, true),
76    new KeyItem("+", KeyEvent.KEYCODE_O, KeyItem.kDefault, true),
77    new KeyItem("=", KeyEvent.KEYCODE_P, KeyItem.kDefault, true),
78    new KeyItem("/", KeyEvent.KEYCODE_SLASH, KeyItem.kDefault, false),
79    new KeyItem("\\", KeyEvent.KEYCODE_S, KeyItem.kDefault, true),
80    new KeyItem("\"", KeyEvent.KEYCODE_E, KeyItem.kDefault, true),
81    new KeyItem(":", KeyEvent.KEYCODE_L, KeyItem.kDefault, true),
82    };
83   
84    //alpha cycle keys chain
85    public final KeyItem[] cycleKeysAlpha = {
86    new KeyItem(".", KeyEvent.KEYCODE_PERIOD, KeyItem.kDefault, false),
87    new KeyItem(",", KeyEvent.KEYCODE_COMMA, KeyItem.kDefault, false),
88    new KeyItem("?", KeyEvent.KEYCODE_SLASH, KeyItem.kDefault, true),
89    new KeyItem(";", KeyEvent.KEYCODE_K, KeyItem.kDefault, true),
90    };
91   
92    //special keys indexes
93    public final static int iSpecKeyMode = 0;
94    public final static int iSpecKeyDel = 1;
95    public final static int iSpecKeyReturn = 2;
96    public final static int iSpecKeySpace = 3;
97    public final static int iSpecKeyCycle = 4;
98   
99    //special keys
100    public final KeyItem[] specialKeys = {
101    new KeyItem("ABC", 0, KeyItem.kMode, false),
102    new KeyItem("del", KeyEvent.KEYCODE_DEL, KeyItem.kDelete, false),
103    new KeyItem("return", KeyEvent.KEYCODE_ENTER, KeyItem.kReturn, false),
104    new KeyItem("space", KeyEvent.KEYCODE_SPACE, KeyItem.kDefaultSpace, false),
105    new KeyItem(".,?;", cycleKeysAlpha),
106    };
107   
108    //fields
109    private ArrayList<KeyItem> layoutAlpha = new ArrayList<KeyItem>();
110    private ArrayList<KeyItem> layoutDigit = new ArrayList<KeyItem>();
111   
112    //fields
113    private int iCurrentLayoutMode = 0;
114   
115    //methods
 
116  5 toggle public KeyItemLayout()
117    {
118    //generate alpha layout
119  5 generateLayout(alphaRow1, layoutAlpha);
120  5 generateLayout(alphaRow2, layoutAlpha);
121  5 generateLayout(alphaRow3, layoutAlpha);
122  5 generateLayout(specialKeys, layoutAlpha);
123   
124    //generate alpha layout
125  5 generateLayout(digitRow1, layoutDigit);
126  5 generateLayout(digitRow2, layoutDigit);
127  5 generateLayout(digitRow3, layoutDigit);
128  5 generateLayout(specialKeys, layoutDigit);
129   
130    //current layout mode
131  5 setLayoutMode(0);
132    }
133   
 
134  40 toggle private void generateLayout(KeyItem[] srcItems, ArrayList<KeyItem> destLayout)
135    {
136  350 for (int i = 0; i < srcItems.length; i++)
137  310 destLayout.add(srcItems[i]);
138    }
139   
 
140  168 toggle public ArrayList<KeyItem> getLayout()
141    {
142  168 switch (iCurrentLayoutMode)
143    {
144  50 case 0: return layoutAlpha;
145  113 case 1: return layoutAlpha;
146  5 case 2: return layoutDigit;
147    }
148  0 return null;
149    }
150   
 
151  99 toggle public String getLayoutModeSymbol()
152    {
153  99 switch (iCurrentLayoutMode)
154    {
155  34 case 0: return "ABC";
156  62 case 1: return "abc";
157  3 case 2: return "123";
158    }
159  0 return "";
160    }
161   
162    //values: 0,1,2 (ABC/abc/123)
 
163  5 toggle public void setLayoutMode(int iModeIndex)
164    {
165  5 iCurrentLayoutMode = iModeIndex;
166    }
167   
 
168  1 toggle public void setLayoutBigCaps()
169    {
170  1 iCurrentLayoutMode = 0;
171    }
172   
 
173  3 toggle public void setLayoutSmallCaps()
174    {
175  3 iCurrentLayoutMode = 1;
176    }
177   
 
178  0 toggle public void setLayoutDigits()
179    {
180  0 iCurrentLayoutMode = 2;
181    }
182   
 
183  1 toggle public void cycleLayoutMode()
184    {
185  1 iCurrentLayoutMode++;
186  1 if (iCurrentLayoutMode > 2)
187  0 iCurrentLayoutMode = 0;
188    }
189   
 
190  0 toggle public int getLayoutMode()
191    {
192  0 return iCurrentLayoutMode;
193    }
194   
 
195  25 toggle public boolean isCapitalMode()
196    {
197  25 return (iCurrentLayoutMode == 0);
198    }
199   
 
200  3037 toggle public String getKeySymbol(KeyItem key)
201    {
202  3037 if (key.iType == KeyItem.kMode)
203  99 return getLayoutModeSymbol();
204  2938 if (key.iType == KeyItem.kDefault)
205    {
206  2539 if (iCurrentLayoutMode == 0)
207  894 return key.sChar;
208  1645 if (iCurrentLayoutMode == 1)
209  1567 return key.sCharSmall;
210  78 if (iCurrentLayoutMode == 2)
211  78 return key.sChar;
212    }
213  399 if (key.iType == KeyItem.kDefaultSpace)
214  104 return key.sCharSmall;
215  295 if (key.iType == KeyItem.kDelete)
216  99 return key.sCharSmall;
217  196 if (key.iType == KeyItem.kReturn)
218  98 return key.sCharSmall;
219  98 if (key.iType == KeyItem.kAlphaCycle)
220  98 return key.sCharSmall;
221  0 return "";
222    }
223   
224    }
225