• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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<LinearLayout
17    xmlns:android="http://schemas.android.com/apk/res/android"
18    xmlns:app="http://schemas.android.com/apk/res-auto"
19    android:theme="@style/Theme.Network"
20    android:layout_width="match_parent"
21    android:layout_height="wrap_content"
22    android:orientation="vertical"
23    android:paddingTop="0dp"
24    android:paddingLeft="24dp"
25    android:paddingRight="24dp" >
26    <TextView
27        android:layout_width="match_parent"
28        android:layout_height="wrap_content"
29        android:textAppearance="@android:style/TextAppearance.DeviceDefault.Small"
30        android:id="@+id/dialog_alert_subtitle"
31        android:text="@string/vpn_insecure_dialog_subtitle"
32        android:textColor="?android:attr/colorError"
33        android:visibility="gone"
34        android:includeFontPadding="false"
35        android:padding="0dp" />
36
37    <ScrollView
38            android:layout_width="match_parent"
39            android:layout_height="wrap_content">
40        <LinearLayout android:layout_width="match_parent"
41                android:layout_height="wrap_content"
42                android:orientation="vertical"
43                android:paddingTop="24dp">
44
45            <LinearLayout android:id="@+id/editor"
46                    android:layout_width="match_parent"
47                    android:layout_height="wrap_content"
48                    android:orientation="vertical"
49                    android:visibility="gone">
50
51                <com.google.android.material.textfield.TextInputLayout
52                    style="@style/vpn_input_label"
53                    android:id="@+id/name_layout"
54                    android:hint="@string/vpn_name"
55                    app:endIconMode="clear_text"
56                    app:helperTextEnabled="true"
57                    app:helperText="@string/vpn_field_required">
58                    <com.google.android.material.textfield.TextInputEditText
59                        style="@style/vpn_value"
60                        android:id="@+id/name"
61                        android:inputType="textCapWords"/>
62                </com.google.android.material.textfield.TextInputLayout>
63
64                <TextView style="@style/vpn_label"
65                        android:text="@string/vpn_type"
66                        android:labelFor="@+id/type"/>
67                <Spinner style="@style/vpn_value"
68                        android:id="@+id/type"
69                        android:prompt="@string/vpn_type"
70                        android:entries="@array/vpn_types"/>
71
72                <com.google.android.material.textfield.TextInputLayout
73                    style="@style/vpn_input_label"
74                    android:id="@+id/server_layout"
75                    android:hint="@string/vpn_server"
76                    app:endIconMode="clear_text"
77                    app:helperTextEnabled="true"
78                    app:helperText="@string/vpn_field_required">
79                    <com.google.android.material.textfield.TextInputEditText
80                        style="@style/vpn_value"
81                        android:id="@+id/server"/>
82                </com.google.android.material.textfield.TextInputLayout>
83
84                <LinearLayout android:id="@+id/options_ipsec_identity"
85                        android:layout_width="match_parent"
86                        android:layout_height="wrap_content"
87                        android:orientation="vertical"
88                        android:visibility="gone">
89                    <com.google.android.material.textfield.TextInputLayout
90                        style="@style/vpn_input_label"
91                        android:id="@+id/ipsec_identifier_layout"
92                        android:hint="@string/vpn_ipsec_identifier"
93                        app:endIconMode="clear_text"
94                        app:helperTextEnabled="true"
95                        app:helperText="@string/vpn_field_required">
96                        <com.google.android.material.textfield.TextInputEditText
97                            style="@style/vpn_value"
98                            android:id="@+id/ipsec_identifier"/>
99                    </com.google.android.material.textfield.TextInputLayout>
100                </LinearLayout>
101
102                <LinearLayout android:id="@+id/ipsec_psk"
103                        android:layout_width="match_parent"
104                        android:layout_height="wrap_content"
105                        android:orientation="vertical"
106                        android:visibility="gone">
107                    <com.google.android.material.textfield.TextInputLayout
108                        style="@style/vpn_input_label"
109                        android:id="@+id/ipsec_secret_layout"
110                        android:hint="@string/vpn_ipsec_secret"
111                        app:endIconMode="password_toggle"
112                        app:helperTextEnabled="true"
113                        app:helperText="@string/vpn_field_required">
114                        <com.google.android.material.textfield.TextInputEditText
115                            style="@style/vpn_value"
116                            android:id="@+id/ipsec_secret"
117                            android:inputType="textPassword"/>
118                    </com.google.android.material.textfield.TextInputLayout>
119                </LinearLayout>
120
121                <LinearLayout android:id="@+id/ipsec_user"
122                        android:layout_width="match_parent"
123                        android:layout_height="wrap_content"
124                        android:orientation="vertical"
125                        android:visibility="gone">
126                    <TextView style="@style/vpn_label"
127                            android:text="@string/vpn_ipsec_user_cert"
128                            android:labelFor="@+id/ipsec_user_cert"/>
129                    <Spinner style="@style/vpn_value"
130                            android:id="@+id/ipsec_user_cert"
131                            android:prompt="@string/vpn_ipsec_user_cert" />
132                </LinearLayout>
133
134                <LinearLayout android:id="@+id/ipsec_peer"
135                        android:layout_width="match_parent"
136                        android:layout_height="wrap_content"
137                        android:orientation="vertical"
138                        android:visibility="gone">
139                    <TextView style="@style/vpn_label"
140                            android:text="@string/vpn_ipsec_ca_cert"
141                            android:labelFor="@+id/ipsec_ca_cert"/>
142                    <Spinner style="@style/vpn_value"
143                            android:id="@+id/ipsec_ca_cert"
144                            android:prompt="@string/vpn_ipsec_ca_cert" />
145
146                    <TextView style="@style/vpn_label"
147                            android:text="@string/vpn_ipsec_server_cert"
148                            android:labelFor="@+id/ipsec_server_cert"/>
149                    <Spinner style="@style/vpn_value"
150                            android:id="@+id/ipsec_server_cert"
151                            android:prompt="@string/vpn_ipsec_server_cert" />
152                </LinearLayout>
153
154                <CheckBox style="@style/vpn_value"
155                        android:id="@+id/show_options"
156                        android:text="@string/vpn_show_options"/>
157            </LinearLayout>
158
159            <LinearLayout android:id="@+id/options"
160                    android:layout_width="match_parent"
161                    android:layout_height="wrap_content"
162                    android:orientation="vertical"
163                    android:visibility="gone">
164
165                <TextView android:id="@+id/vpn_proxy_settings_title"
166                          style="@style/vpn_label"
167                          android:text="@string/proxy_settings_title"
168                          android:labelFor="@+id/vpn_proxy_settings" />
169
170                <Spinner android:id="@+id/vpn_proxy_settings"
171                         style="@style/vpn_value"
172                         android:prompt="@string/proxy_settings_title"
173                         android:entries="@array/vpn_proxy_settings" />
174
175                <LinearLayout
176                    android:id="@+id/vpn_proxy_fields"
177                    android:layout_width="match_parent"
178                    android:layout_height="wrap_content"
179                    android:orientation="vertical"
180                    android:visibility="gone" >
181
182                    <com.google.android.material.textfield.TextInputLayout
183                        style="@style/vpn_input_label"
184                        android:id="@+id/vpn_proxy_host_layout"
185                        android:hint="@string/proxy_hostname_label"
186                        app:endIconMode="clear_text">
187                        <com.google.android.material.textfield.TextInputEditText
188                            style="@style/vpn_value"
189                            android:id="@+id/vpn_proxy_host"
190                            android:inputType="textNoSuggestions"/>
191                    </com.google.android.material.textfield.TextInputLayout>
192
193                    <com.google.android.material.textfield.TextInputLayout
194                        style="@style/vpn_input_label"
195                        android:id="@+id/vpn_proxy_port_layout"
196                        android:hint="@string/proxy_port_label"
197                        app:endIconMode="clear_text">
198                        <com.google.android.material.textfield.TextInputEditText
199                            style="@style/vpn_value"
200                            android:id="@+id/vpn_proxy_port"
201                            android:inputType="number"/>
202                    </com.google.android.material.textfield.TextInputLayout>
203                </LinearLayout>
204            </LinearLayout>
205
206            <LinearLayout android:id="@+id/userpass"
207                    android:layout_width="match_parent"
208                    android:layout_height="wrap_content"
209                    android:orientation="vertical">
210
211                <com.google.android.material.textfield.TextInputLayout
212                    style="@style/vpn_input_label"
213                    android:id="@+id/username_layout"
214                    android:hint="@string/vpn_username_optional"
215                    app:endIconMode="clear_text">
216                    <com.google.android.material.textfield.TextInputEditText
217                        style="@style/vpn_value"
218                        android:id="@+id/username"/>
219                </com.google.android.material.textfield.TextInputLayout>
220
221                <com.google.android.material.textfield.TextInputLayout
222                    style="@style/vpn_input_label"
223                    android:id="@+id/password_layout"
224                    android:hint="@string/vpn_password_optional"
225                    app:endIconMode="password_toggle">
226                    <com.google.android.material.textfield.TextInputEditText
227                        style="@style/vpn_value"
228                        android:id="@+id/password"
229                        android:inputType="textPassword"/>
230                </com.google.android.material.textfield.TextInputLayout>
231
232                <CheckBox style="@style/vpn_value"
233                        android:id="@+id/save_login"
234                        android:text="@string/vpn_save_login"/>
235            </LinearLayout>
236
237            <LinearLayout android:id="@+id/connect"
238                    android:layout_width="match_parent"
239                    android:layout_height="wrap_content"
240                    android:orientation="vertical"
241                    android:animateLayoutChanges="true">
242                <CheckBox style="@style/vpn_value"
243                        android:id="@+id/always_on_vpn"
244                        android:text="@string/vpn_menu_lockdown"/>
245                <TextView style="@style/vpn_warning"
246                        android:id="@+id/always_on_invalid_reason"
247                        android:visibility="gone"/>
248            </LinearLayout>
249        </LinearLayout>
250    </ScrollView>
251</LinearLayout>
252