1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (C) 2011 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 xmlns:android="http://schemas.android.com/apk/res/android"
18        android:layout_width="match_parent"
19        android:layout_height="wrap_content">
20    <LinearLayout android:layout_width="match_parent"
21            android:layout_height="wrap_content"
22            android:orientation="vertical"
23            android:padding="24dp">
24
25        <LinearLayout android:id="@+id/editor"
26                android:layout_width="match_parent"
27                android:layout_height="wrap_content"
28                android:orientation="vertical"
29                android:visibility="gone">
30
31            <TextView style="@style/vpn_label"
32                    android:text="@string/vpn_name"
33                    android:labelFor="@+id/name"/>
34            <EditText style="@style/vpn_value" android:id="@+id/name"
35                    android:inputType="textCapWords"/>
36
37            <TextView style="@style/vpn_label"
38                    android:text="@string/vpn_type"
39                    android:labelFor="@+id/type"/>
40            <Spinner style="@style/vpn_value"
41                     android:id="@+id/type"
42                    android:prompt="@string/vpn_type"
43                    android:entries="@array/vpn_types"/>
44
45            <TextView style="@style/vpn_label"
46                    android:text="@string/vpn_server"
47                    android:labelFor="@+id/server"/>
48            <EditText style="@style/vpn_value" android:id="@+id/server"/>
49
50            <CheckBox style="@style/vpn_value" android:id="@+id/mppe"
51                    android:text="@string/vpn_mppe"
52                    android:singleLine="false"
53                    android:visibility="gone"/>
54
55            <LinearLayout android:id="@+id/l2tp"
56                    android:layout_width="match_parent"
57                    android:layout_height="wrap_content"
58                    android:orientation="vertical"
59                    android:visibility="gone">
60                <TextView style="@style/vpn_label"
61                        android:text="@string/vpn_l2tp_secret"
62                        android:labelFor="@+id/l2tp_secret"/>
63                <EditText style="@style/vpn_value" android:id="@+id/l2tp_secret"
64                        android:password="true"
65                        android:hint="@string/vpn_not_used"/>
66            </LinearLayout>
67
68            <LinearLayout android:id="@+id/options_ipsec_identity"
69                    android:layout_width="match_parent"
70                    android:layout_height="wrap_content"
71                    android:orientation="vertical"
72                    android:visibility="gone">
73                <TextView style="@style/vpn_label"
74                        android:text="@string/vpn_ipsec_identifier"
75                        android:labelFor="@+id/ipsec_identifier"/>
76                <EditText style="@style/vpn_value" android:id="@+id/ipsec_identifier"
77                        android:hint="@string/vpn_not_used"/>
78            </LinearLayout>
79
80            <LinearLayout android:id="@+id/ipsec_psk"
81                    android:layout_width="match_parent"
82                    android:layout_height="wrap_content"
83                    android:orientation="vertical"
84                    android:visibility="gone">
85                <TextView style="@style/vpn_label"
86                        android:text="@string/vpn_ipsec_secret"
87                        android:labelFor="@+id/ipsec_secret"/>
88                <EditText style="@style/vpn_value" android:id="@+id/ipsec_secret"
89                        android:password="true"/>
90            </LinearLayout>
91
92            <LinearLayout android:id="@+id/ipsec_user"
93                    android:layout_width="match_parent"
94                    android:layout_height="wrap_content"
95                    android:orientation="vertical"
96                    android:visibility="gone">
97                <TextView style="@style/vpn_label"
98                        android:text="@string/vpn_ipsec_user_cert"
99                        android:labelFor="@+id/ipsec_user_cert"/>
100                <Spinner style="@style/vpn_value" android:id="@+id/ipsec_user_cert"
101                        android:prompt="@string/vpn_ipsec_user_cert" />
102            </LinearLayout>
103
104            <LinearLayout android:id="@+id/ipsec_peer"
105                    android:layout_width="match_parent"
106                    android:layout_height="wrap_content"
107                    android:orientation="vertical"
108                    android:visibility="gone">
109                <TextView style="@style/vpn_label"
110                        android:text="@string/vpn_ipsec_ca_cert"
111                        android:labelFor="@+id/ipsec_ca_cert"/>
112                <Spinner style="@style/vpn_value" android:id="@+id/ipsec_ca_cert"
113                        android:prompt="@string/vpn_ipsec_ca_cert" />
114
115                <TextView style="@style/vpn_label"
116                        android:text="@string/vpn_ipsec_server_cert"
117                        android:labelFor="@+id/ipsec_server_cert"/>
118                <Spinner style="@style/vpn_value" android:id="@+id/ipsec_server_cert"
119                        android:prompt="@string/vpn_ipsec_server_cert" />
120            </LinearLayout>
121
122            <CheckBox style="@style/vpn_value" android:id="@+id/show_options"
123                    android:singleLine="false"
124                    android:text="@string/vpn_show_options"/>
125        </LinearLayout>
126
127        <LinearLayout android:id="@+id/options"
128                android:layout_width="match_parent"
129                android:layout_height="wrap_content"
130                android:orientation="vertical"
131                android:visibility="gone">
132            <LinearLayout android:id="@+id/network_options"
133                android:layout_width="match_parent"
134                android:layout_height="wrap_content"
135                android:orientation="vertical">
136                <TextView style="@style/vpn_label"
137                        android:text="@string/vpn_search_domains"
138                        android:labelFor="@+id/search_domains"/>
139                <EditText style="@style/vpn_value" android:id="@+id/search_domains"
140                        android:hint="@string/vpn_not_used"/>
141
142                <TextView style="@style/vpn_label"
143                        android:text="@string/vpn_dns_servers"
144                        android:labelFor="@+id/dns_servers"/>
145                <EditText style="@style/vpn_value" android:id="@+id/dns_servers"
146                        android:hint="@string/vpn_not_used"/>
147
148                <TextView style="@style/vpn_label"
149                        android:text="@string/vpn_routes"
150                        android:labelFor="@+id/routes"/>
151                <EditText style="@style/vpn_value" android:id="@+id/routes"
152                        android:hint="@string/vpn_not_used"/>
153            </LinearLayout>
154
155            <TextView android:id="@+id/vpn_proxy_settings_title"
156                      style="@style/vpn_label"
157                      android:text="@string/proxy_settings_title"
158                      android:labelFor="@+id/vpn_proxy_settings" />
159
160            <Spinner android:id="@+id/vpn_proxy_settings"
161                     style="@style/vpn_value"
162                     android:prompt="@string/proxy_settings_title"
163                     android:entries="@array/vpn_proxy_settings" />
164
165            <LinearLayout
166                android:id="@+id/vpn_proxy_fields"
167                android:layout_width="match_parent"
168                android:layout_height="wrap_content"
169                android:orientation="vertical"
170                android:visibility="gone" >
171
172                <TextView
173                    style="@style/vpn_label"
174                    android:text="@string/proxy_hostname_label"
175                    android:labelFor="@+id/vpn_proxy_host" />
176
177                <EditText
178                    android:id="@+id/vpn_proxy_host"
179                    style="@style/vpn_value"
180                    android:hint="@string/proxy_hostname_hint"
181                    android:inputType="textNoSuggestions" />
182
183                <TextView
184                    style="@style/vpn_label"
185                    android:text="@string/proxy_port_label"
186                    android:labelFor="@+id/vpn_proxy_port" />
187
188                <EditText
189                    android:id="@+id/vpn_proxy_port"
190                    style="@style/vpn_value"
191                    android:hint="@string/proxy_port_hint"
192                    android:inputType="number" />
193            </LinearLayout>
194        </LinearLayout>
195
196        <LinearLayout android:id="@+id/userpass"
197                android:layout_width="match_parent"
198                android:layout_height="wrap_content"
199                android:orientation="vertical">
200
201            <TextView style="@style/vpn_label"
202                    android:text="@string/vpn_username"
203                    android:labelFor="@+id/username"/>
204            <EditText style="@style/vpn_value" android:id="@+id/username"/>
205
206            <TextView style="@style/vpn_label"
207                    android:text="@string/vpn_password"
208                    android:labelFor="@+id/password"/>
209            <EditText style="@style/vpn_value" android:id="@+id/password"
210                    android:password="true"/>
211
212            <CheckBox style="@style/vpn_value" android:id="@+id/save_login"
213                    android:singleLine="false"
214                    android:text="@string/vpn_save_login"/>
215        </LinearLayout>
216
217        <LinearLayout android:id="@+id/connect"
218                android:layout_width="match_parent"
219                android:layout_height="wrap_content"
220                android:orientation="vertical"
221                android:animateLayoutChanges="true">
222            <CheckBox style="@style/vpn_value" android:id="@+id/always_on_vpn"
223                android:singleLine="false"
224                android:text="@string/vpn_menu_lockdown"/>
225            <TextView style="@style/vpn_warning" android:id="@+id/always_on_invalid_reason"
226                android:singleLine="false"
227                android:visibility="gone"/>
228        </LinearLayout>
229    </LinearLayout>
230</ScrollView>
231