1<?xml version="1.0" encoding="utf-8"?>
2<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
3    android:layout_width="match_parent"
4    android:layout_height="match_parent">
5
6  <LinearLayout android:layout_height="wrap_content"
7                android:layout_width="fill_parent"
8                android:orientation="vertical">
9
10      <TextView
11         android:layout_width="fill_parent"
12         android:layout_height="wrap_content"
13         android:text="Policy:"
14         />
15
16      <CheckBox
17         android:id="@+id/policy_no_write"
18         android:layout_height="wrap_content"
19         android:layout_width="fill_parent"
20         android:text="Detect writes" />
21
22      <CheckBox
23         android:id="@+id/policy_no_reads"
24         android:layout_height="wrap_content"
25         android:layout_width="fill_parent"
26         android:text="Detect reads" />
27
28      <CheckBox
29         android:id="@+id/policy_no_network"
30         android:layout_height="wrap_content"
31         android:layout_width="fill_parent"
32         android:text="Detect network" />
33
34      <CheckBox
35         android:id="@+id/policy_custom"
36         android:layout_height="wrap_content"
37         android:layout_width="fill_parent"
38         android:text="Detect custom events" />
39
40      <CheckBox
41         android:id="@+id/policy_penalty_log"
42         android:layout_height="wrap_content"
43         android:layout_width="fill_parent"
44         android:text="Penalty: Log?" />
45
46      <CheckBox
47         android:id="@+id/policy_penalty_flash"
48         android:layout_height="wrap_content"
49         android:layout_width="fill_parent"
50         android:text="Penalty: Flash?" />
51
52      <CheckBox
53         android:id="@+id/policy_penalty_dialog"
54         android:layout_height="wrap_content"
55         android:layout_width="fill_parent"
56         android:text="Penalty: Dialog" />
57
58      <CheckBox
59         android:id="@+id/policy_penalty_dropbox"
60         android:layout_height="wrap_content"
61         android:layout_width="fill_parent"
62         android:text="Penalty: Dropbox" />
63
64      <CheckBox
65         android:id="@+id/policy_penalty_death"
66         android:layout_height="wrap_content"
67         android:layout_width="fill_parent"
68         android:text="Penalty: Death" />
69
70      <CheckBox
71         android:id="@+id/policy_penalty_network_death"
72         android:layout_height="wrap_content"
73         android:layout_width="fill_parent"
74         android:text="Penalty: Death-on-network" />
75
76      <TextView
77         android:layout_width="fill_parent"
78         android:layout_height="wrap_content"
79         android:text="Actions:"
80         />
81
82      <Button
83         android:id="@+id/write_button"
84         android:layout_width="fill_parent"
85         android:layout_height="wrap_content"
86         android:text="sqlite write on UI thread"
87         />
88
89      <Button
90         android:id="@+id/write_loop_button"
91         android:layout_width="fill_parent"
92         android:layout_height="wrap_content"
93         android:text="fake write (in a loop)"
94         />
95
96      <Button
97         android:id="@+id/read_button"
98         android:layout_width="fill_parent"
99         android:layout_height="wrap_content"
100         android:text="sqlite read on UI thread"
101         />
102
103      <Button
104         android:id="@+id/dns_button"
105         android:layout_width="fill_parent"
106         android:layout_height="wrap_content"
107         android:text="DNS lookup on main thread"
108         />
109
110      <Button
111         android:id="@+id/http_button"
112         android:layout_width="fill_parent"
113         android:layout_height="wrap_content"
114         android:text="(Default) HTTP on main thread"
115         />
116
117      <Button
118         android:id="@+id/http2_button"
119         android:layout_width="fill_parent"
120         android:layout_height="wrap_content"
121         android:text="HttpURLConnection on main thread"
122         />
123
124      <Button
125         android:id="@+id/http3_button"
126         android:layout_width="fill_parent"
127         android:layout_height="wrap_content"
128         android:text="HttpURLConnection (to raw IP)"
129         />
130
131      <Button
132         android:id="@+id/binder_local_button"
133         android:layout_width="fill_parent"
134         android:layout_height="wrap_content"
135         android:text="Binder call (local) to write disk"
136         />
137
138      <Button
139         android:id="@+id/binder_remote_button"
140         android:layout_width="fill_parent"
141         android:layout_height="wrap_content"
142         android:text="Binder call (remote) to write disk"
143         />
144
145      <Button
146         android:id="@+id/binder_oneway_button"
147         android:layout_width="fill_parent"
148         android:layout_height="wrap_content"
149         android:text="Binder 1-way to write disk"
150         />
151
152      <Button
153         android:id="@+id/service_dump"
154         android:layout_width="fill_parent"
155         android:layout_height="wrap_content"
156         android:text="Dump (remote) service which writes"
157         />
158
159      <Button
160         android:id="@+id/binder_check_button"
161         android:layout_width="fill_parent"
162         android:layout_height="wrap_content"
163         android:text="Check binder/service policies"
164         />
165
166      <Button
167         android:id="@+id/linger_close_button"
168         android:layout_width="fill_parent"
169         android:layout_height="wrap_content"
170         android:text="Linger close()"
171         />
172
173      <Button
174         android:id="@+id/nonlinger_close_button"
175         android:layout_width="fill_parent"
176         android:layout_height="wrap_content"
177         android:text="Non-linger close()"
178         />
179
180      <Button
181         android:id="@+id/leak_cursor_button"
182         android:layout_width="fill_parent"
183         android:layout_height="wrap_content"
184         android:text="Leak an SQLiteCursor"
185         />
186
187      <Button
188         android:id="@+id/custom_button"
189         android:layout_width="fill_parent"
190         android:layout_height="wrap_content"
191         android:text="Custom slow call"
192         />
193
194      <Button
195         android:id="@+id/gc_instance_button"
196         android:layout_width="fill_parent"
197         android:layout_height="wrap_content"
198         android:text="Class instances test"
199         />
200
201  </LinearLayout>
202
203</ScrollView>
204