1<?xml version="1.0" encoding="utf-8"?> 2<!-- Copyright (C) 2019 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/ipsec_psk" 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 79 <TextView style="@style/vpn_label" 80 android:text="@string/vpn_ipsec_secret" 81 android:labelFor="@+id/ipsec_secret"/> 82 <EditText style="@style/vpn_value" android:id="@+id/ipsec_secret" 83 android:password="true"/> 84 </LinearLayout> 85 86 <LinearLayout android:id="@+id/ipsec_user" 87 android:layout_width="match_parent" 88 android:layout_height="wrap_content" 89 android:orientation="vertical" 90 android:visibility="gone"> 91 <TextView style="@style/vpn_label" 92 android:text="@string/vpn_ipsec_user_cert" 93 android:labelFor="@+id/ipsec_user_cert"/> 94 <Spinner style="@style/vpn_value" android:id="@+id/ipsec_user_cert" 95 android:prompt="@string/vpn_ipsec_user_cert" /> 96 </LinearLayout> 97 98 <LinearLayout android:id="@+id/ipsec_peer" 99 android:layout_width="match_parent" 100 android:layout_height="wrap_content" 101 android:orientation="vertical" 102 android:visibility="gone"> 103 <TextView style="@style/vpn_label" 104 android:text="@string/vpn_ipsec_ca_cert" 105 android:labelFor="@+id/ipsec_ca_cert"/> 106 <Spinner style="@style/vpn_value" android:id="@+id/ipsec_ca_cert" 107 android:prompt="@string/vpn_ipsec_ca_cert" /> 108 109 <TextView style="@style/vpn_label" 110 android:text="@string/vpn_ipsec_server_cert" 111 android:labelFor="@+id/ipsec_server_cert"/> 112 <Spinner style="@style/vpn_value" android:id="@+id/ipsec_server_cert" 113 android:prompt="@string/vpn_ipsec_server_cert" /> 114 </LinearLayout> 115 116 <CheckBox style="@style/vpn_value" android:id="@+id/show_options" 117 android:singleLine="false" 118 android:text="@string/vpn_show_options"/> 119 </LinearLayout> 120 121 <LinearLayout android:id="@+id/options" 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_search_domains" 128 android:labelFor="@+id/search_domains"/> 129 <EditText style="@style/vpn_value" android:id="@+id/search_domains" 130 android:hint="@string/vpn_not_used"/> 131 132 <TextView style="@style/vpn_label" 133 android:text="@string/vpn_dns_servers" 134 android:labelFor="@+id/dns_servers"/> 135 <EditText style="@style/vpn_value" android:id="@+id/dns_servers" 136 android:hint="@string/vpn_not_used"/> 137 138 <TextView style="@style/vpn_label" 139 android:text="@string/vpn_routes" 140 android:labelFor="@+id/routes"/> 141 <EditText style="@style/vpn_value" android:id="@+id/routes" 142 android:hint="@string/vpn_not_used"/> 143 144 <TextView android:id="@+id/vpn_proxy_settings_title" 145 style="@style/vpn_label" 146 android:text="@string/proxy_settings_title" 147 android:labelFor="@+id/vpn_proxy_settings" /> 148 149 <Spinner android:id="@+id/vpn_proxy_settings" 150 style="@style/vpn_value" 151 android:prompt="@string/proxy_settings_title" 152 android:entries="@array/vpn_proxy_settings" /> 153 154 <LinearLayout 155 android:id="@+id/vpn_proxy_fields" 156 android:layout_width="match_parent" 157 android:layout_height="wrap_content" 158 android:orientation="vertical" 159 android:visibility="gone" > 160 161 <TextView 162 style="@style/vpn_label" 163 android:text="@string/proxy_hostname_label" 164 android:labelFor="@+id/vpn_proxy_host" /> 165 166 <EditText 167 android:id="@+id/vpn_proxy_host" 168 style="@style/vpn_value" 169 android:hint="@string/proxy_hostname_hint" 170 android:inputType="textNoSuggestions" /> 171 172 <TextView 173 style="@style/vpn_label" 174 android:text="@string/proxy_port_label" 175 android:labelFor="@+id/vpn_proxy_port" /> 176 177 <EditText 178 android:id="@+id/vpn_proxy_port" 179 style="@style/vpn_value" 180 android:hint="@string/proxy_port_hint" 181 android:inputType="number" /> 182 </LinearLayout> 183 </LinearLayout> 184 185 <LinearLayout android:id="@+id/login" 186 android:layout_width="match_parent" 187 android:layout_height="wrap_content" 188 android:orientation="vertical" 189 android:animateLayoutChanges="true"> 190 191 <TextView style="@style/vpn_label" 192 android:text="@string/vpn_username" 193 android:labelFor="@+id/username"/> 194 <EditText style="@style/vpn_value" android:id="@+id/username"/> 195 196 <TextView style="@style/vpn_label" 197 android:text="@string/vpn_password" 198 android:labelFor="@+id/password"/> 199 <EditText style="@style/vpn_value" android:id="@+id/password" 200 android:password="true"/> 201 202 <CheckBox style="@style/vpn_value" android:id="@+id/save_login" 203 android:singleLine="false" 204 android:text="@string/vpn_save_login"/> 205 <CheckBox style="@style/vpn_value" android:id="@+id/always_on_vpn" 206 android:singleLine="false" 207 android:text="@string/vpn_menu_lockdown"/> 208 <TextView style="@style/vpn_warning" android:id="@+id/always_on_invalid_reason" 209 android:singleLine="false" 210 android:visibility="gone"/> 211 </LinearLayout> 212 </LinearLayout> 213</ScrollView> 214