1 |
|
package com.choibean.android.hangeulider; |
2 |
|
|
3 |
|
import android.content.Intent; |
4 |
|
import android.text.ClipboardManager; |
5 |
|
import android.text.Editable; |
6 |
|
import android.view.View; |
7 |
|
import android.view.View.OnClickListener; |
8 |
|
import android.widget.EditText; |
9 |
|
import android.widget.Toast; |
10 |
|
|
|
|
| 86,6% |
Uncovered Elements: 21 (157) |
Complexity: 43 |
Complexity Density: 0,32 |
|
11 |
|
public class MyButtonListener implements OnClickListener { |
12 |
|
Hangeulider mHangeulider; |
13 |
|
EditText view; |
14 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (2) |
Complexity: 1 |
Complexity Density: 0,5 |
|
15 |
1
|
public MyButtonListener(Hangeulider h, EditText tv) {... |
16 |
1
|
this.mHangeulider = h; |
17 |
1
|
this.view = tv; |
18 |
|
} |
19 |
|
|
|
|
| 86,3% |
Uncovered Elements: 21 (153) |
Complexity: 42 |
Complexity Density: 0,32 |
|
20 |
123
|
public void onClick(View v) {... |
21 |
123
|
int id = v.getId(); |
22 |
123
|
HangeulParser parser = Hangeulider.parser; |
23 |
123
|
Hangeulider.logD("click", "<id> = " + id); |
24 |
123
|
if (id == R.id.modeButton) { |
25 |
0
|
mHangeulider.toggleDubeolshikMode(); |
26 |
123
|
} else if (id == R.id.previewButton) { |
27 |
14
|
parser.grabText(); |
28 |
109
|
} else if (id == R.id.outputClearButton) { |
29 |
3
|
((EditText) mHangeulider.findViewById(R.id.outputEdit)).setText(""); |
30 |
106
|
} else if (id == R.id.helpButton) { |
31 |
4
|
Hangeulider hang = Hangeulider.getInstance(); |
32 |
4
|
Intent myIntent = new Intent(hang, HelpActivity.class); |
33 |
|
|
34 |
4
|
hang.startActivity(myIntent); |
35 |
102
|
} else if (id == R.id.copyButton) { |
36 |
3
|
if (this.view == null) |
37 |
1
|
this.view = (EditText) this.mHangeulider |
38 |
|
.findViewById(R.id.outputEdit); |
39 |
3
|
Editable text = this.view.getText(); |
40 |
3
|
if (text.length() > 0) { |
41 |
3
|
ClipboardManager clipboard = (ClipboardManager) mHangeulider |
42 |
|
.getSystemService(android.content.Context.CLIPBOARD_SERVICE); |
43 |
3
|
clipboard.setText(text); |
44 |
3
|
CharSequence msg = mHangeulider |
45 |
|
.getString(R.string.copied_to_clipboard); |
46 |
3
|
StringBuffer message = new StringBuffer().append('[').append( |
47 |
|
this.view.getText()).append(']').append(' ') |
48 |
|
.append(msg); |
49 |
3
|
Toast.makeText(Hangeulider.getInstance(), message, |
50 |
|
Toast.LENGTH_SHORT).show(); |
51 |
|
} else { |
52 |
0
|
CharSequence msg = mHangeulider.getString(R.string.copy_failed); |
53 |
0
|
Toast.makeText(Hangeulider.getInstance(), msg, |
54 |
|
Toast.LENGTH_SHORT).show(); |
55 |
|
} |
56 |
|
} else { |
57 |
99
|
String ch = ""; |
58 |
99
|
EditText input = parser.input; |
59 |
99
|
EditText output = parser.output; |
60 |
99
|
Editable editable = input.getText(); |
61 |
|
|
62 |
99
|
switch (id) { |
63 |
5
|
case R.id.keyG: |
64 |
5
|
ch = "g"; |
65 |
5
|
break; |
66 |
3
|
case R.id.keyN: |
67 |
3
|
ch = "n"; |
68 |
3
|
break; |
69 |
5
|
case R.id.keyD: |
70 |
5
|
ch = "d"; |
71 |
5
|
break; |
72 |
4
|
case R.id.keyR: |
73 |
4
|
ch = "r"; |
74 |
4
|
break; |
75 |
6
|
case R.id.keyM: |
76 |
6
|
ch = "m"; |
77 |
6
|
break; |
78 |
3
|
case R.id.keyB: |
79 |
3
|
ch = "b"; |
80 |
3
|
break; |
81 |
3
|
case R.id.keyS: |
82 |
3
|
ch = "s"; |
83 |
3
|
break; |
84 |
0
|
case R.id.keyNg: |
85 |
0
|
ch = "ng"; |
86 |
0
|
break; |
87 |
1
|
case R.id.keyJ: |
88 |
1
|
ch = "j"; |
89 |
1
|
break; |
90 |
4
|
case R.id.keyCh: |
91 |
4
|
ch = "ch"; |
92 |
4
|
break; |
93 |
4
|
case R.id.keyK: |
94 |
4
|
ch = "k"; |
95 |
4
|
break; |
96 |
4
|
case R.id.keyT: |
97 |
4
|
ch = "t"; |
98 |
4
|
break; |
99 |
1
|
case R.id.keyP: |
100 |
1
|
ch = "p"; |
101 |
1
|
break; |
102 |
3
|
case R.id.keyH: |
103 |
3
|
ch = "h"; |
104 |
3
|
break; |
105 |
0
|
case R.id.keyA: |
106 |
0
|
ch = "a"; |
107 |
0
|
break; |
108 |
2
|
case R.id.keyAe: |
109 |
2
|
ch = "ae"; |
110 |
2
|
break; |
111 |
1
|
case R.id.keyYa: |
112 |
1
|
ch = "ya"; |
113 |
1
|
break; |
114 |
0
|
case R.id.keyYae: |
115 |
0
|
ch = "yae"; |
116 |
0
|
break; |
117 |
0
|
case R.id.keyEo: |
118 |
0
|
ch = "eo"; |
119 |
0
|
break; |
120 |
4
|
case R.id.keyE: |
121 |
4
|
ch = "e"; |
122 |
4
|
break; |
123 |
3
|
case R.id.keyYeo: |
124 |
3
|
ch = "yeo"; |
125 |
3
|
break; |
126 |
5
|
case R.id.keyYe: |
127 |
5
|
ch = "ye"; |
128 |
5
|
break; |
129 |
2
|
case R.id.keyO: |
130 |
2
|
ch = "o"; |
131 |
2
|
break; |
132 |
5
|
case R.id.keyYo: |
133 |
5
|
ch = "yo"; |
134 |
5
|
break; |
135 |
2
|
case R.id.keyU: |
136 |
2
|
ch = "u"; |
137 |
2
|
break; |
138 |
4
|
case R.id.keyYu: |
139 |
4
|
ch = "yu"; |
140 |
4
|
break; |
141 |
1
|
case R.id.keyEu: |
142 |
1
|
ch = "eu"; |
143 |
1
|
break; |
144 |
1
|
case R.id.keyI: |
145 |
1
|
ch = "i"; |
146 |
1
|
break; |
147 |
17
|
case R.id.keySpace: |
148 |
17
|
if (input.getText().length() == 0) { |
149 |
17
|
input.setText(" "); |
150 |
|
} |
151 |
17
|
parser.grabText(); |
152 |
17
|
ch = ""; |
153 |
17
|
break; |
154 |
6
|
case R.id.keyDelete: |
155 |
6
|
if (editable.length() > 0) { |
156 |
0
|
input.setText(editable |
157 |
|
.subSequence(0, editable.length() - 1)); |
158 |
|
} else { |
159 |
6
|
int len = output.length(); |
160 |
6
|
if (len > 0) { |
161 |
6
|
output |
162 |
|
.setText(output.getText().subSequence(0, |
163 |
|
len - 1)); |
164 |
|
} |
165 |
|
} |
166 |
6
|
ch = ""; |
167 |
6
|
break; |
168 |
|
} |
169 |
99
|
Hangeulider.logD("press", ch); |
170 |
99
|
if (!ch.equals("")) |
171 |
76
|
input.setText(input.getText().append(ch)); |
172 |
|
|
173 |
|
} |
174 |
|
} |
175 |
|
} |