1<?xml version="1.0" encoding="utf-8"?>
2<!--
3  ~ Copyright (C) 2017 The Android Open Source Project
4  ~
5  ~ Licensed under the Apache License, Version 2.0 (the "License");
6  ~ you may not use this file except in compliance with the License.
7  ~ You may obtain a copy of the License at
8  ~
9  ~      http://www.apache.org/licenses/LICENSE-2.0
10  ~
11  ~ Unless required by applicable law or agreed to in writing, software
12  ~ distributed under the License is distributed on an "AS IS" BASIS,
13  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  ~ See the License for the specific language governing permissions and
15  ~ limitations under the License.
16  -->
17
18<ScrollView
19        xmlns:tools="http://schemas.android.com/tools"
20        xmlns:android="http://schemas.android.com/apk/res/android"
21        android:layout_width="match_parent"
22        android:layout_height="match_parent"
23        tools:context="androidx.work.integration.testapp.MainActivity">
24
25    <LinearLayout
26            android:layout_width="match_parent"
27            android:layout_height="wrap_content"
28            android:orientation="vertical">
29
30        <Button android:id="@+id/enqueue_infinite_work_charging"
31                android:layout_width="wrap_content"
32                android:layout_height="wrap_content"
33                android:layout_marginLeft="16dp"
34                android:layout_marginStart="16dp"
35                android:layout_marginTop="16dp"
36                android:text="Infinite Work + Charging Constraint"/>
37
38        <Button android:id="@+id/enqueue_infinite_work_network"
39                android:layout_width="wrap_content"
40                android:layout_height="wrap_content"
41                android:layout_marginLeft="16dp"
42                android:layout_marginStart="16dp"
43                android:layout_marginTop="12dp"
44                android:text="Infinite Work + Network Constraint"/>
45
46        <Button android:id="@+id/enqueue_battery_not_low"
47                android:layout_width="wrap_content"
48                android:layout_height="wrap_content"
49                android:layout_marginLeft="16dp"
50                android:layout_marginStart="16dp"
51                android:layout_marginTop="16dp"
52                android:text="Enqueue Battery Not Low Work"/>
53
54        <Button android:id="@+id/sherlock_holmes"
55                android:layout_width="wrap_content"
56                android:layout_height="wrap_content"
57                android:layout_marginLeft="16dp"
58                android:layout_marginStart="16dp"
59                android:layout_marginTop="12dp"
60                android:text="Sherlock Holmes"/>
61
62        <Button android:id="@+id/image_processing"
63                android:layout_width="wrap_content"
64                android:layout_height="wrap_content"
65                android:layout_marginLeft="16dp"
66                android:layout_marginStart="16dp"
67                android:layout_marginTop="12dp"
68                android:text="Image Processing"/>
69
70        <Button android:id="@+id/image_uri"
71                android:layout_width="wrap_content"
72                android:layout_height="wrap_content"
73                android:layout_marginLeft="16dp"
74                android:layout_marginStart="16dp"
75                android:layout_marginTop="12dp"
76                android:text="Observe Image URI"/>
77
78        <EditText android:id="@+id/delay_in_ms"
79                  android:layout_width="wrap_content"
80                  android:layout_height="wrap_content"
81                  android:layout_marginLeft="16dp"
82                  android:layout_marginStart="16dp"
83                  android:layout_marginTop="12dp"
84                  android:ems="10"
85                  android:hint="Delay in ms"
86                  android:inputType="number"
87                  android:singleLine="true"
88                  android:text="0"/>
89
90
91        <LinearLayout
92                android:layout_width="wrap_content"
93                android:layout_height="wrap_content"
94                android:orientation="horizontal">
95
96            <Button android:id="@+id/schedule_delay"
97                    android:layout_width="wrap_content"
98                    android:layout_height="wrap_content"
99                    android:layout_marginLeft="16dp"
100                    android:layout_marginStart="16dp"
101                    android:layout_marginTop="12dp"
102                    android:text="Schedule w/ Delay"/>
103
104            <Button android:id="@+id/coroutine_sleep"
105                    android:layout_width="wrap_content"
106                    android:layout_height="wrap_content"
107                    android:layout_marginLeft="16dp"
108                    android:layout_marginStart="16dp"
109                    android:layout_marginTop="12dp"
110                    android:text="Coroutine Sleep"/>
111
112        </LinearLayout>
113
114        <Button android:id="@+id/coroutine_cancel"
115                android:layout_width="wrap_content"
116                android:layout_height="wrap_content"
117                android:layout_marginLeft="16dp"
118                android:layout_marginStart="16dp"
119                android:layout_marginTop="12dp"
120                android:text="Coroutine Cancel"/>
121
122        <Button android:text="@string/enqueue_periodic_work"
123                android:layout_width="wrap_content"
124                android:layout_height="wrap_content"
125                android:layout_marginLeft="16dp"
126                android:layout_marginStart="16dp"
127                android:id="@+id/enqueue_periodic_work"
128                android:layout_marginTop="12dp"/>
129
130        <Button android:text="@string/enqueue_periodic_work_flex"
131            android:layout_width="wrap_content"
132            android:layout_height="wrap_content"
133            android:layout_marginLeft="16dp"
134            android:layout_marginStart="16dp"
135            android:id="@+id/enqueue_periodic_work_flex"
136            android:layout_marginTop="12dp"/>
137
138        <Button android:text="@string/enqueue_periodic_initial_delay"
139            android:layout_width="wrap_content"
140            android:layout_height="wrap_content"
141            android:layout_marginLeft="16dp"
142            android:layout_marginStart="16dp"
143            android:id="@+id/enqueue_periodic_initial_delay"
144            android:layout_marginTop="12dp"/>
145
146        <LinearLayout
147                android:layout_width="wrap_content"
148                android:layout_height="wrap_content"
149                android:orientation="horizontal">
150
151            <Button android:text="@string/loop_unique_work"
152                    android:layout_width="wrap_content"
153                    android:layout_height="wrap_content"
154                    android:layout_marginLeft="16dp"
155                    android:layout_marginStart="16dp"
156                    android:id="@+id/begin_unique_work_loop"
157                    android:layout_marginTop="12dp"/>
158
159            <CheckBox android:text="@string/keep"
160                      android:layout_width="wrap_content"
161                      android:layout_height="wrap_content"
162                      android:id="@+id/keep"
163                      android:layout_marginLeft="8dp"
164                      android:layout_marginStart="8dp"
165                      android:layout_marginTop="8dp"
166                      android:layout_marginBottom="8dp"/>
167
168        </LinearLayout>
169
170        <Button android:text="@string/enqueue_lots_of_work"
171                android:layout_width="wrap_content"
172                android:layout_height="wrap_content"
173                android:layout_marginLeft="16dp"
174                android:layout_marginStart="16dp"
175                android:id="@+id/enqueue_lots_of_work"
176                android:layout_marginTop="12dp"/>
177
178        <Button android:text="@string/exploding_work"
179                android:layout_width="wrap_content"
180                android:layout_height="wrap_content"
181                android:id="@+id/exploding_work"
182                android:layout_marginTop="12dp"
183                android:layout_marginLeft="16dp"
184                android:layout_marginStart="16dp"/>
185
186        <Button android:text="@string/replace_completed_work"
187                android:layout_width="wrap_content"
188                android:layout_height="wrap_content"
189                android:id="@+id/replace_completed_work"
190                android:layout_marginTop="12dp"
191                android:layout_marginLeft="16dp"
192                android:layout_marginStart="16dp"/>
193
194        <Button android:text="@string/run_retry_worker"
195            android:layout_width="wrap_content"
196            android:layout_height="wrap_content"
197            android:id="@+id/run_retry_worker"
198            android:layout_marginTop="12dp"
199            android:layout_marginLeft="16dp"
200            android:layout_marginStart="16dp"/>
201
202        <Button android:text="@string/run_recursive_worker"
203            android:layout_width="wrap_content"
204            android:layout_height="wrap_content"
205            android:id="@+id/run_recursive_worker"
206            android:layout_marginTop="12dp"
207            android:layout_marginLeft="16dp"
208            android:layout_marginStart="16dp"/>
209
210        <Button android:text="@string/run_constraint_tracking_worker"
211            android:layout_width="wrap_content"
212            android:layout_height="wrap_content"
213            android:id="@+id/run_constraint_tracking_worker"
214            android:layout_marginTop="12dp"
215            android:layout_marginLeft="16dp"
216            android:layout_marginStart="16dp"/>
217
218        <Button android:text="@string/cancel_constraint_tracking_worker"
219            android:layout_width="wrap_content"
220            android:layout_height="wrap_content"
221            android:id="@+id/cancel_constraint_tracking_worker"
222            android:layout_marginTop="12dp"
223            android:layout_marginLeft="16dp"
224            android:layout_marginStart="16dp"/>
225
226        <Button android:text="@string/run_foreground_worker"
227            android:layout_width="wrap_content"
228            android:layout_height="wrap_content"
229            android:id="@+id/run_foreground_worker"
230            android:layout_marginTop="12dp"
231            android:layout_marginLeft="16dp"
232            android:layout_marginStart="16dp"/>
233
234        <Button android:text="@string/run_foreground_worker_network_request"
235            android:layout_width="wrap_content"
236            android:layout_height="wrap_content"
237            android:id="@+id/run_foreground_worker_network_request"
238            android:layout_marginTop="12dp"
239            android:layout_marginLeft="16dp"
240            android:layout_marginStart="16dp"/>
241
242        <Button android:text="@string/run_foreground_worker_location"
243            android:layout_width="wrap_content"
244            android:layout_height="wrap_content"
245            android:id="@+id/run_foreground_worker_location"
246            android:layout_marginTop="12dp"
247            android:layout_marginLeft="16dp"
248            android:layout_marginStart="16dp"/>
249
250        <Button android:text="@string/cancel_foreground_worker"
251            android:layout_width="wrap_content"
252            android:layout_height="wrap_content"
253            android:id="@+id/cancel_foreground_worker"
254            android:layout_marginTop="12dp"
255            android:layout_marginLeft="16dp"
256            android:layout_marginStart="16dp"/>
257
258        <Button android:text="@string/cancel_foreground_worker_intent"
259            android:layout_width="wrap_content"
260            android:layout_height="wrap_content"
261            android:id="@+id/cancel_foreground_worker_intent"
262            android:layout_marginTop="12dp"
263            android:layout_marginLeft="16dp"
264            android:layout_marginStart="16dp"/>
265
266        <Button android:text="@string/enqueue_work_multi_process"
267            android:layout_width="wrap_content"
268            android:layout_height="wrap_content"
269            android:id="@+id/enqueue_work_multi_process"
270            android:layout_marginTop="12dp"
271            android:layout_marginLeft="16dp"
272            android:layout_marginStart="16dp"/>
273
274        <Button android:text="@string/enqueue_continuation_multi_process"
275            android:layout_width="wrap_content"
276            android:layout_height="wrap_content"
277            android:id="@+id/enqueue_continuation_multi_process"
278            android:layout_marginTop="12dp"
279            android:layout_marginLeft="16dp"
280            android:layout_marginStart="16dp"/>
281
282        <Button android:text="@string/cancel_work_tag_multiprocess"
283            android:layout_width="wrap_content"
284            android:layout_height="wrap_content"
285            android:id="@+id/cancel_work_tag_multiprocess"
286            android:layout_marginTop="12dp"
287            android:layout_marginLeft="16dp"
288            android:layout_marginStart="16dp"/>
289
290        <Button android:text="@string/cancel_all_work_multiprocess"
291            android:layout_width="wrap_content"
292            android:layout_height="wrap_content"
293            android:id="@+id/cancel_all_work_multiprocess"
294            android:layout_marginTop="12dp"
295            android:layout_marginLeft="16dp"
296            android:layout_marginStart="16dp"/>
297
298        <Button android:text="@string/query_work_multiprocess"
299            android:layout_width="wrap_content"
300            android:layout_height="wrap_content"
301            android:id="@+id/query_work_multiprocess"
302            android:layout_marginTop="12dp"
303            android:layout_marginLeft="16dp"
304            android:layout_marginStart="16dp"/>
305
306        <Button android:text="@string/enqueue_periodic_work_multiprocess"
307            android:layout_width="wrap_content"
308            android:layout_height="wrap_content"
309            android:id="@+id/enqueue_periodic_work_multiprocess"
310            android:layout_marginTop="12dp"
311            android:layout_marginLeft="16dp"
312            android:layout_marginStart="16dp"/>
313
314        <Button android:text="@string/update_periodic_work_multiprocess"
315            android:layout_width="wrap_content"
316            android:layout_height="wrap_content"
317            android:id="@+id/update_periodic_work_multiprocess"
318            android:layout_marginTop="12dp"
319            android:layout_marginLeft="16dp"
320            android:layout_marginStart="16dp"/>
321
322        <Button android:text="@string/run_remote_worker_1"
323            android:layout_width="wrap_content"
324            android:layout_height="wrap_content"
325            android:id="@+id/enqueue_remote_worker_1"
326            android:layout_marginTop="12dp"
327            android:layout_marginLeft="16dp"
328            android:layout_marginStart="16dp"/>
329
330        <Button android:text="@string/run_remote_worker_2"
331            android:layout_width="wrap_content"
332            android:layout_height="wrap_content"
333            android:id="@+id/enqueue_remote_worker_2"
334            android:layout_marginTop="12dp"
335            android:layout_marginLeft="16dp"
336            android:layout_marginStart="16dp"/>
337
338        <Button android:text="@string/cancel_remote_workers"
339            android:layout_width="wrap_content"
340            android:layout_height="wrap_content"
341            android:id="@+id/cancel_remote_workers"
342            android:layout_marginTop="12dp"
343            android:layout_marginLeft="16dp"
344            android:layout_marginStart="16dp"/>
345
346        <Button android:text="@string/crash_app"
347            android:layout_width="wrap_content"
348            android:layout_height="wrap_content"
349            android:id="@+id/crash_app"
350            android:layout_marginTop="12dp"
351            android:layout_marginLeft="16dp"
352            android:layout_marginStart="16dp"/>
353
354        <Button android:text="@string/create_hundred_job_exception"
355            android:layout_width="wrap_content"
356            android:layout_height="wrap_content"
357            android:id="@+id/create_hundred_job_exception"
358            android:layout_marginTop="12dp"
359            android:layout_marginLeft="16dp"
360            android:layout_marginStart="16dp"/>
361
362        <Button android:text="@string/stress_test"
363            android:layout_width="wrap_content"
364            android:layout_height="wrap_content"
365            android:id="@+id/stress_test"
366            android:layout_marginTop="12dp"
367            android:layout_marginLeft="16dp"
368            android:layout_marginStart="16dp"/>
369
370        <Button android:text="@string/enqueue_network_request"
371            android:layout_width="wrap_content"
372            android:layout_height="wrap_content"
373            android:id="@+id/enqueue_network_request"
374            android:layout_marginTop="12dp"
375            android:layout_marginLeft="16dp"
376            android:layout_marginStart="16dp"/>
377
378    </LinearLayout>
379</ScrollView>
380