1<!--
2  ~ Copyright (C) 2021 The Android Open Source Project
3  ~
4  ~ Licensed under the Apache License, Version 2.0 (the "License");
5  ~ you may not use this file except in compliance with the License.
6  ~ You may obtain a copy of the License at
7  ~
8  ~      http://www.apache.org/licenses/LICENSE-2.0
9  ~
10  ~ Unless required by applicable law or agreed to in writing, software
11  ~ distributed under the License is distributed on an "AS IS" BASIS,
12  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  ~ See the License for the specific language governing permissions and
14  ~ limitations under the License.
15  -->
16
17<ScrollView
18    xmlns:android="http://schemas.android.com/apk/res/android"
19    android:layout_width="match_parent"
20    android:layout_height="match_parent"
21    android:fadeScrollbars="false">
22    <LinearLayout
23        android:layout_width="match_parent"
24        android:layout_height="wrap_content"
25        android:orientation="vertical">
26
27        <LinearLayout
28            android:layout_width="match_parent"
29            android:layout_height="wrap_content"
30            android:orientation="horizontal">
31            <Button
32                android:id="@+id/toggle_metrics_configs_btn"
33                android:layout_width="wrap_content"
34                android:layout_height="wrap_content"
35                android:text="Configs ▶"/>
36            <Button
37                android:id="@+id/print_mem_info_btn"
38                android:layout_width="wrap_content"
39                android:layout_height="wrap_content"
40                android:text="@string/print_mem_info"/>
41            <Button
42                android:id="@+id/enable_report_notification_btn"
43                android:layout_width="wrap_content"
44                android:layout_height="wrap_content"/>
45        </LinearLayout>
46
47        <LinearLayout
48            android:id="@+id/metrics_config_buttons_view"
49            android:layout_width="match_parent"
50            android:layout_height="wrap_content"
51            android:visibility="gone"
52            android:orientation="vertical">
53            <LinearLayout
54                android:layout_width="match_parent"
55                android:layout_height="wrap_content"
56                android:orientation="horizontal">
57                <TextView
58                    android:layout_width="wrap_content"
59                    android:layout_height="wrap_content"
60                    android:text="@string/gear_change_config"/>
61                <Button
62                    android:id="@+id/send_on_gear_change_config"
63                    android:layout_width="wrap_content"
64                    android:layout_height="wrap_content"
65                    android:text="@string/add_metrics_config"/>
66                <Button
67                    android:id="@+id/remove_on_gear_change_config"
68                    android:layout_width="wrap_content"
69                    android:layout_height="wrap_content"
70                    android:text="@string/remove_metrics_config"/>
71                <Button
72                    android:id="@+id/get_on_gear_change_report"
73                    android:layout_width="wrap_content"
74                    android:layout_height="wrap_content"
75                    android:text="@string/get_report"/>
76            </LinearLayout>
77
78            <LinearLayout
79                android:layout_width="match_parent"
80                android:layout_height="wrap_content"
81                android:orientation="horizontal">
82                <TextView
83                    android:layout_width="wrap_content"
84                    android:layout_height="wrap_content"
85                    android:text="@string/process_memory_config"/>
86                <Button
87                    android:id="@+id/send_on_process_memory_config"
88                    android:layout_width="wrap_content"
89                    android:layout_height="wrap_content"
90                    android:text="@string/add_metrics_config"/>
91                <Button
92                    android:id="@+id/remove_on_process_memory_config"
93                    android:layout_width="wrap_content"
94                    android:layout_height="wrap_content"
95                    android:text="@string/remove_metrics_config"/>
96                <Button
97                    android:id="@+id/get_on_process_memory_report"
98                    android:layout_width="wrap_content"
99                    android:layout_height="wrap_content"
100                    android:text="@string/get_report"/>
101            </LinearLayout>
102
103            <LinearLayout
104                android:layout_width="match_parent"
105                android:layout_height="wrap_content"
106                android:orientation="horizontal">
107                <TextView
108                    android:layout_width="wrap_content"
109                    android:layout_height="wrap_content"
110                    android:text="@string/app_start_memory_state_captured_config"/>
111                <Button
112                    android:id="@+id/send_on_app_start_memory_state_captured_config"
113                    android:layout_width="wrap_content"
114                    android:layout_height="wrap_content"
115                    android:text="@string/add_metrics_config"/>
116                <Button
117                    android:id="@+id/remove_on_app_start_memory_state_captured_config"
118                    android:layout_width="wrap_content"
119                    android:layout_height="wrap_content"
120                    android:text="@string/remove_metrics_config"/>
121                <Button
122                    android:id="@+id/get_on_app_start_memory_state_captured_report"
123                    android:layout_width="wrap_content"
124                    android:layout_height="wrap_content"
125                    android:text="@string/get_report"/>
126            </LinearLayout>
127
128            <LinearLayout
129                android:layout_width="match_parent"
130                android:layout_height="wrap_content"
131                android:orientation="horizontal">
132                <TextView
133                    android:layout_width="wrap_content"
134                    android:layout_height="wrap_content"
135                    android:text="@string/activity_foreground_state_changed_config"/>
136                <Button
137                    android:id="@+id/send_on_activity_foreground_state_changed_config"
138                    android:layout_width="wrap_content"
139                    android:layout_height="wrap_content"
140                    android:text="@string/add_metrics_config"/>
141                <Button
142                    android:id="@+id/remove_on_activity_foreground_state_changed_config"
143                    android:layout_width="wrap_content"
144                    android:layout_height="wrap_content"
145                    android:text="@string/remove_metrics_config"/>
146                <Button
147                    android:id="@+id/get_on_activity_foreground_state_changed_report"
148                    android:layout_width="wrap_content"
149                    android:layout_height="wrap_content"
150                    android:text="@string/get_report"/>
151            </LinearLayout>
152
153            <LinearLayout
154                android:layout_width="match_parent"
155                android:layout_height="wrap_content"
156                android:orientation="horizontal">
157                <TextView
158                    android:layout_width="wrap_content"
159                    android:layout_height="wrap_content"
160                    android:text="@string/process_cpu_time_config"/>
161                <Button
162                    android:id="@+id/send_on_process_cpu_time_config"
163                    android:layout_width="wrap_content"
164                    android:layout_height="wrap_content"
165                    android:text="@string/add_metrics_config"/>
166                <Button
167                    android:id="@+id/remove_on_process_cpu_time_config"
168                    android:layout_width="wrap_content"
169                    android:layout_height="wrap_content"
170                    android:text="@string/remove_metrics_config"/>
171                <Button
172                    android:id="@+id/get_on_process_cpu_time_report"
173                    android:layout_width="wrap_content"
174                    android:layout_height="wrap_content"
175                    android:text="@string/get_report"/>
176            </LinearLayout>
177
178            <LinearLayout
179                android:layout_width="match_parent"
180                android:layout_height="wrap_content"
181                android:orientation="horizontal">
182                <TextView
183                    android:layout_width="wrap_content"
184                    android:layout_height="wrap_content"
185                    android:text="@string/app_crash_occurred_config"/>
186                <Button
187                    android:id="@+id/send_on_app_crash_occurred_config"
188                    android:layout_width="wrap_content"
189                    android:layout_height="wrap_content"
190                    android:text="@string/add_metrics_config"/>
191                <Button
192                    android:id="@+id/remove_on_app_crash_occurred_config"
193                    android:layout_width="wrap_content"
194                    android:layout_height="wrap_content"
195                    android:text="@string/remove_metrics_config"/>
196                <Button
197                    android:id="@+id/get_on_app_crash_occurred_report"
198                    android:layout_width="wrap_content"
199                    android:layout_height="wrap_content"
200                    android:text="@string/get_report"/>
201            </LinearLayout>
202
203            <LinearLayout
204                android:layout_width="match_parent"
205                android:layout_height="wrap_content"
206                android:orientation="horizontal">
207                <TextView
208                    android:layout_width="wrap_content"
209                    android:layout_height="wrap_content"
210                    android:text="@string/anr_occurred_config"/>
211                <Button
212                    android:id="@+id/send_on_anr_occurred_config"
213                    android:layout_width="wrap_content"
214                    android:layout_height="wrap_content"
215                    android:text="@string/add_metrics_config"/>
216                <Button
217                    android:id="@+id/remove_on_anr_occurred_config"
218                    android:layout_width="wrap_content"
219                    android:layout_height="wrap_content"
220                    android:text="@string/remove_metrics_config"/>
221                <Button
222                    android:id="@+id/get_on_anr_occurred_report"
223                    android:layout_width="wrap_content"
224                    android:layout_height="wrap_content"
225                    android:text="@string/get_report"/>
226            </LinearLayout>
227
228            <LinearLayout
229                android:layout_width="match_parent"
230                android:layout_height="wrap_content"
231                android:orientation="horizontal">
232                <TextView
233                    android:layout_width="wrap_content"
234                    android:layout_height="wrap_content"
235                    android:text="@string/wtf_occurred_config"/>
236                <Button
237                    android:id="@+id/send_on_wtf_occurred_config"
238                    android:layout_width="wrap_content"
239                    android:layout_height="wrap_content"
240                    android:text="@string/add_metrics_config"/>
241                <Button
242                    android:id="@+id/remove_on_wtf_occurred_config"
243                    android:layout_width="wrap_content"
244                    android:layout_height="wrap_content"
245                    android:text="@string/remove_metrics_config"/>
246                <Button
247                    android:id="@+id/get_on_wtf_occurred_report"
248                    android:layout_width="wrap_content"
249                    android:layout_height="wrap_content"
250                    android:text="@string/get_report"/>
251            </LinearLayout>
252
253            <LinearLayout
254                android:layout_width="match_parent"
255                android:layout_height="wrap_content"
256                android:orientation="horizontal">
257                <TextView
258                    android:layout_width="wrap_content"
259                    android:layout_height="wrap_content"
260                    android:text="@string/wifi_netstats_config"/>
261                <Button
262                    android:id="@+id/send_on_wifi_netstats_config"
263                    android:layout_width="wrap_content"
264                    android:layout_height="wrap_content"
265                    android:text="@string/add_metrics_config"/>
266                <Button
267                    android:id="@+id/remove_on_wifi_netstats_config"
268                    android:layout_width="wrap_content"
269                    android:layout_height="wrap_content"
270                    android:text="@string/remove_metrics_config"/>
271                <Button
272                    android:id="@+id/get_on_wifi_netstats_report"
273                    android:layout_width="wrap_content"
274                    android:layout_height="wrap_content"
275                    android:text="@string/get_report"/>
276            </LinearLayout>
277
278            <LinearLayout
279                android:layout_width="match_parent"
280                android:layout_height="wrap_content"
281                android:orientation="horizontal">
282                <TextView
283                    android:layout_width="wrap_content"
284                    android:layout_height="wrap_content"
285                    android:text="@string/stats_and_connectivity_config"/>
286                <Button
287                    android:id="@+id/send_stats_and_connectivity_config"
288                    android:layout_width="wrap_content"
289                    android:layout_height="wrap_content"
290                    android:text="@string/add_metrics_config"/>
291                <Button
292                    android:id="@+id/remove_stats_and_connectivity_config"
293                    android:layout_width="wrap_content"
294                    android:layout_height="wrap_content"
295                    android:text="@string/remove_metrics_config"/>
296                <Button
297                    android:id="@+id/get_stats_and_connectivity_report"
298                    android:layout_width="wrap_content"
299                    android:layout_height="wrap_content"
300                    android:text="@string/get_report"/>
301            </LinearLayout>
302
303            <LinearLayout
304                android:layout_width="match_parent"
305                android:layout_height="wrap_content"
306                android:orientation="horizontal">
307                <TextView
308                    android:layout_width="wrap_content"
309                    android:layout_height="wrap_content"
310                    android:text="@string/driving_sessions_config"/>
311                <Button
312                    android:id="@+id/send_driving_sessions_config"
313                    android:layout_width="wrap_content"
314                    android:layout_height="wrap_content"
315                    android:text="@string/add_metrics_config"/>
316                <Button
317                    android:id="@+id/download_data"
318                    android:layout_width="wrap_content"
319                    android:layout_height="wrap_content"
320                    android:text="@string/download_data"/>
321                <Button
322                    android:id="@+id/emulate_suspend_to_RAM"
323                    android:layout_width="wrap_content"
324                    android:layout_height="wrap_content"
325                    android:text="@string/emulate_suspend_to_RAM"/>
326                <Button
327                    android:id="@+id/emulate_reboot"
328                    android:layout_width="wrap_content"
329                    android:layout_height="wrap_content"
330                    android:text="@string/emulate_reboot"/>
331                <Button
332                    android:id="@+id/remove_driving_sessions_config"
333                    android:layout_width="wrap_content"
334                    android:layout_height="wrap_content"
335                    android:text="@string/remove_metrics_config"/>
336                <Button
337                    android:id="@+id/get_driving_sessions_report"
338                    android:layout_width="wrap_content"
339                    android:layout_height="wrap_content"
340                    android:text="@string/get_report"/>
341            </LinearLayout>
342
343            <LinearLayout
344                android:layout_width="match_parent"
345                android:layout_height="wrap_content"
346                android:orientation="horizontal">
347                <TextView
348                    android:layout_width="wrap_content"
349                    android:layout_height="wrap_content"
350                    android:text="@string/memory_config"/>
351                <Button
352                    android:id="@+id/send_memory_config"
353                    android:layout_width="wrap_content"
354                    android:layout_height="wrap_content"
355                    android:text="@string/add_metrics_config"/>
356                <Button
357                    android:id="@+id/remove_memory_config"
358                    android:layout_width="wrap_content"
359                    android:layout_height="wrap_content"
360                    android:text="@string/remove_metrics_config"/>
361                <Button
362                    android:id="@+id/get_memory_report"
363                    android:layout_width="wrap_content"
364                    android:layout_height="wrap_content"
365                    android:text="@string/get_report"/>
366            </LinearLayout>
367
368            <LinearLayout
369                android:layout_width="match_parent"
370                android:layout_height="wrap_content"
371                android:orientation="horizontal">
372                <TextView
373                    android:layout_width="wrap_content"
374                    android:layout_height="wrap_content"
375                    android:text="@string/process_memory_snapshot_config"/>
376                <Button
377                    android:id="@+id/send_on_process_memory_snapshot_config"
378                    android:layout_width="wrap_content"
379                    android:layout_height="wrap_content"
380                    android:text="@string/add_metrics_config"/>
381                <Button
382                    android:id="@+id/remove_on_process_memory_snapshot_config"
383                    android:layout_width="wrap_content"
384                    android:layout_height="wrap_content"
385                    android:text="@string/remove_metrics_config"/>
386                <Button
387                    android:id="@+id/get_on_process_memory_snapshot_report"
388                    android:layout_width="wrap_content"
389                    android:layout_height="wrap_content"
390                    android:text="@string/get_report"/>
391            </LinearLayout>
392
393            <LinearLayout
394                android:layout_width="match_parent"
395                android:layout_height="wrap_content"
396                android:orientation="horizontal">
397                <TextView
398                    android:layout_width="wrap_content"
399                    android:layout_height="wrap_content"
400                    android:text="@string/process_start_time_config"/>
401                <Button
402                    android:id="@+id/send_on_process_start_time_config"
403                    android:layout_width="wrap_content"
404                    android:layout_height="wrap_content"
405                    android:text="@string/add_metrics_config"/>
406                <Button
407                    android:id="@+id/remove_on_process_start_time_config"
408                    android:layout_width="wrap_content"
409                    android:layout_height="wrap_content"
410                    android:text="@string/remove_metrics_config"/>
411                <Button
412                    android:id="@+id/get_on_process_start_time_report"
413                    android:layout_width="wrap_content"
414                    android:layout_height="wrap_content"
415                    android:text="@string/get_report"/>
416            </LinearLayout>
417
418        </LinearLayout> <!-- @+id/metrics_config_buttons -->
419
420        <TextView
421            android:id="@+id/output_textview"
422            android:layout_width="wrap_content"
423            android:layout_height="wrap_content"
424            android:layout_marginTop="20dp"/>
425    </LinearLayout>
426</ScrollView>
427