1 |
|
|
2 |
|
package pl.magot.vetch.widgets; |
3 |
|
|
4 |
|
|
5 |
|
import java.util.ArrayList; |
6 |
|
|
7 |
|
import android.view.*; |
8 |
|
|
9 |
|
|
|
|
| 87,5% |
Uncovered Elements: 11 (88) |
Complexity: 29 |
Complexity Density: 0,54 |
|
10 |
|
public class KeyItemLayout |
11 |
|
{ |
12 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
109 |
|
private ArrayList<KeyItem> layoutAlpha = new ArrayList<KeyItem>(); |
110 |
|
private ArrayList<KeyItem> layoutDigit = new ArrayList<KeyItem>(); |
111 |
|
|
112 |
|
|
113 |
|
private int iCurrentLayoutMode = 0; |
114 |
|
|
115 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (9) |
Complexity: 1 |
Complexity Density: 0,11 |
|
116 |
5
|
public KeyItemLayout()... |
117 |
|
{ |
118 |
|
|
119 |
5
|
generateLayout(alphaRow1, layoutAlpha); |
120 |
5
|
generateLayout(alphaRow2, layoutAlpha); |
121 |
5
|
generateLayout(alphaRow3, layoutAlpha); |
122 |
5
|
generateLayout(specialKeys, layoutAlpha); |
123 |
|
|
124 |
|
|
125 |
5
|
generateLayout(digitRow1, layoutDigit); |
126 |
5
|
generateLayout(digitRow2, layoutDigit); |
127 |
5
|
generateLayout(digitRow3, layoutDigit); |
128 |
5
|
generateLayout(specialKeys, layoutDigit); |
129 |
|
|
130 |
|
|
131 |
5
|
setLayoutMode(0); |
132 |
|
} |
133 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 2 |
Complexity Density: 1 |
|
134 |
40
|
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 |
|
|
|
|
| 87,5% |
Uncovered Elements: 1 (8) |
Complexity: 4 |
Complexity Density: 0,5 |
|
140 |
168
|
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 |
|
|
|
|
| 87,5% |
Uncovered Elements: 1 (8) |
Complexity: 4 |
Complexity Density: 0,5 |
|
151 |
99
|
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 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
163 |
5
|
public void setLayoutMode(int iModeIndex)... |
164 |
|
{ |
165 |
5
|
iCurrentLayoutMode = iModeIndex; |
166 |
|
} |
167 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
168 |
1
|
public void setLayoutBigCaps()... |
169 |
|
{ |
170 |
1
|
iCurrentLayoutMode = 0; |
171 |
|
} |
172 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
173 |
3
|
public void setLayoutSmallCaps()... |
174 |
|
{ |
175 |
3
|
iCurrentLayoutMode = 1; |
176 |
|
} |
177 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
178 |
0
|
public void setLayoutDigits()... |
179 |
|
{ |
180 |
0
|
iCurrentLayoutMode = 2; |
181 |
|
} |
182 |
|
|
|
|
| 60% |
Uncovered Elements: 2 (5) |
Complexity: 2 |
Complexity Density: 0,67 |
|
183 |
1
|
public void cycleLayoutMode()... |
184 |
|
{ |
185 |
1
|
iCurrentLayoutMode++; |
186 |
1
|
if (iCurrentLayoutMode > 2) |
187 |
0
|
iCurrentLayoutMode = 0; |
188 |
|
} |
189 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
190 |
0
|
public int getLayoutMode()... |
191 |
|
{ |
192 |
0
|
return iCurrentLayoutMode; |
193 |
|
} |
194 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
195 |
25
|
public boolean isCapitalMode()... |
196 |
|
{ |
197 |
25
|
return (iCurrentLayoutMode == 0); |
198 |
|
} |
199 |
|
|
|
|
| 91,7% |
Uncovered Elements: 3 (36) |
Complexity: 10 |
Complexity Density: 0,56 |
|
200 |
3037
|
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 |
|
|