main.xml revision 4162d18ec381bc683fa61d5aaa73565742f922ca
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_penalty_log"
36         android:layout_height="wrap_content"
37         android:layout_width="fill_parent"
38         android:text="Penalty: Log?" />
39
40      <CheckBox
41         android:id="@+id/policy_penalty_dialog"
42         android:layout_height="wrap_content"
43         android:layout_width="fill_parent"
44         android:text="Penalty: Dialog" />
45
46      <CheckBox
47         android:id="@+id/policy_penalty_dropbox"
48         android:layout_height="wrap_content"
49         android:layout_width="fill_parent"
50         android:text="Penalty: Dropbox" />
51
52      <CheckBox
53         android:id="@+id/policy_penalty_death"
54         android:layout_height="wrap_content"
55         android:layout_width="fill_parent"
56         android:text="Penalty: Death" />
57
58      <CheckBox
59         android:id="@+id/policy_penalty_network_death"
60         android:layout_height="wrap_content"
61         android:layout_width="fill_parent"
62         android:text="Penalty: Death-on-network" />
63
64      <TextView  
65         android:layout_width="fill_parent" 
66         android:layout_height="wrap_content" 
67         android:text="Actions:"
68         />
69
70      <Button
71         android:id="@+id/write_button"
72         android:layout_width="fill_parent" 
73         android:layout_height="wrap_content" 
74         android:text="sqlite write on UI thread"
75         />
76
77      <Button
78         android:id="@+id/write_loop_button"
79         android:layout_width="fill_parent"
80         android:layout_height="wrap_content"
81         android:text="fake write (in a loop)"
82         />
83
84      <Button
85         android:id="@+id/read_button"
86         android:layout_width="fill_parent" 
87         android:layout_height="wrap_content" 
88         android:text="sqlite read on UI thread"
89         />
90
91      <Button
92         android:id="@+id/dns_button"
93         android:layout_width="fill_parent"
94         android:layout_height="wrap_content"
95         android:text="DNS lookup on main thread"
96         />
97
98      <Button
99         android:id="@+id/http_button"
100         android:layout_width="fill_parent"
101         android:layout_height="wrap_content"
102         android:text="(Default) HTTP on main thread"
103         />
104
105      <Button
106         android:id="@+id/http2_button"
107         android:layout_width="fill_parent"
108         android:layout_height="wrap_content"
109         android:text="HttpURLConnection on main thread"
110         />
111
112      <Button
113         android:id="@+id/http3_button"
114         android:layout_width="fill_parent"
115         android:layout_height="wrap_content"
116         android:text="HttpURLConnection (to raw IP)"
117         />
118
119      <Button
120         android:id="@+id/binder_local_button"
121         android:layout_width="fill_parent"
122         android:layout_height="wrap_content"
123         android:text="Binder call (local) to write disk"
124         />
125
126      <Button
127         android:id="@+id/binder_remote_button"
128         android:layout_width="fill_parent"
129         android:layout_height="wrap_content"
130         android:text="Binder call (remote) to write disk"
131         />
132
133      <Button
134         android:id="@+id/binder_oneway_button"
135         android:layout_width="fill_parent"
136         android:layout_height="wrap_content"
137         android:text="Binder 1-way to write disk"
138         />
139
140      <Button
141         android:id="@+id/service_dump"
142         android:layout_width="fill_parent"
143         android:layout_height="wrap_content"
144         android:text="Dump (remote) service which writes"
145         />
146
147      <Button
148         android:id="@+id/binder_check_button"
149         android:layout_width="fill_parent"
150         android:layout_height="wrap_content"
151         android:text="Check binder/service policies"
152         />
153
154      <Button
155         android:id="@+id/linger_close_button"
156         android:layout_width="fill_parent"
157         android:layout_height="wrap_content"
158         android:text="Linger close()"
159         />
160
161      <Button
162         android:id="@+id/nonlinger_close_button"
163         android:layout_width="fill_parent"
164         android:layout_height="wrap_content"
165         android:text="Non-linger close()"
166         />
167
168      <Button
169         android:id="@+id/leak_cursor_button"
170         android:layout_width="fill_parent"
171         android:layout_height="wrap_content"
172         android:text="Leak an SQLiteCursor"
173         />
174
175  </LinearLayout>
176
177</ScrollView>
178