-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathuml.puml
244 lines (141 loc) · 4.55 KB
/
uml.puml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
@startuml
'https://plantuml.com/class-diagram
class MainActivity extends AppCompatActivity{
- Wave cWave
- CardView mCard
- ResultView mResults;
- SubResultView mSubResults
- HeaderView mHeader;
- TextView actionTV;
- ActionButton actionBtn;
- ShareButton shareBtn;
- SaveButton saveBtn;
- SpeedManager sm;
- Handler handler;
- Runnable task;
- final static int MEASURING_DELAY = 200;
- final static int TASK_DELAY = 1000;
# void onCreate(Bundle savedInstanceState)
- void init()
+ void onClick(View v)
- List<String> readSpeedFromAssetsCSV(String filename)
- void measureDownloadSpeed()
- void measureUploadSpeed()
- void stopMeasuring()
+ void onPlayUI()
+ void onStopUI()
- void onResultUI(String downloadSpeed, String uploadSpeed, String ping)
- String getSpeedString(Pair<Integer, Integer> speed)
}
class ActionButton extends androidx.appcompat.widget.AppCompatButton {
+ ActionButton(Context context, AttributeSet attrs)
+ void setStop()
+ void setPlay()
+ void setStart()
+ void setRestart()
}
class SaveButton extends androidx.appcompat.widget.AppCompatButton {
+ SaveButton(Context context, AttributeSet attrs)
- void saveTask()
}
class ShareButton extends androidx.appcompat.widget.AppCompatButton {
+ ShareButton(Context context, AttributeSet attrs)
- void shareTask()
}
class CardView extends LinearLayout {
- TextView integerSpeedTV;
- TextView fractionSpeedTV;
- TextView pingTV;
- TextView dotCaption;
- TextView mbpsCaption;
- TextView pingCaption;
- Wave mWave;
- String mStatus;
+ CardView(Context context, AttributeSet attrs)
- void init()
- void parseAttrs(Context context, AttributeSet attrs)
- void setPing(int ping)
- void setIntegerSpeed(int speed)
- void setFractionSpeed(int speed)
- void setDrawableStatus()
- void setStatus(String status)
+ void setInstantSpeed(int integerSpeed, int fractionSpeed)
+ void setDefaultCaptions()
+ void setEmptyCaptions()
+ void setMessage(String msg)
+ String getPing()
+ Wave getWave()
}
class HeaderView extends LinearLayout {
- boolean isActiveReturnBtn;
- boolean isActiveButtonGroup;
- String sectionNameStr;
- Button returnBtn;
- Button historyBtn;
- Button modeBtn;
- TextView sectionNameTV;
+ HeaderView(Context context, AttributeSet attrs)
- void init()
- void parseAttrs(Context context, AttributeSet attrs)
- void goToStart(Context context)
- void goToHistory(Context context)
- void goToDev(Context context)
- void changeStateButtonGroup(boolean flag)
- void changeVisibilityReturnBtn(boolean flag)
+ void disableButtonGroup()
+ void enableButtonGroup()
+ void setSectionName(String sectionName)
+ void hideReturnBtn()
+ void showReturnBtn()
}
class ResultView extends TableLayout {
- TextView downloadSpeedTV;
- TextView uploadSpeedTV;
- TextView pingTV;
+ ResultView(Context context, AttributeSet attrs)
- void init()
+ void setDownloadSpeed(String speed)
+ void setUploadSpeed(String speed)
+ void setPing(String ping)
}
class SubResultView extends LinearLayout {
- TextView downloadSpeedTV;
- TextView uploadSpeedTV;
+ SubResultView(Context context, AttributeSet attrs)
- void init()
+ void setUploadSpeed(String speed)
+ void setDownloadSpeed(String speed)
+ String getDownloadSpeed()
+ String getUploadSpeed()
+ void setEmpty()
}
class SpeedManager {
+ List<String> uploadList;
+ List<String> downloadList;
+ SpeedManager(List<String> list)
- Pair<Integer, Integer> convertBitToMbps(String speed)
+ Pair<Integer, Integer> getSpeedWithPrecision(String strSpeed, int precision)
- Pair<Integer, Integer> getAverageSpeed(List<String> list)
+ Pair<Integer, Integer> getAverageUploadSpeed()
+ Pair<Integer, Integer> getAverageDownloadSpeed()
}
class Wave extends View {
- Paint mPaint;
- RectF mRect;
- int currentSpeed;
+ Wave(Context context, @Nullable AttributeSet attrs)
- void init()
+ void onDraw(Canvas canvas)
+ void attachSpeed(int speed)
+ void attachColor(int color)
}
MainActivity *-- HeaderView
MainActivity *-- CardView
MainActivity *-- SubResultView
MainActivity *-- ResultView
MainActivity *-- ShareButton
MainActivity *-- SaveButton
MainActivity *-- ActionButton
CardView *-- Wave
MainActivity *-- SpeedManager
@enduml