Files
packages_apps_Settings/res/layout/vpn_dialog.xml
Weng Su e82b0b2eea Update the required or optional styles of EditText in VPN settings
- Follow the Required text indicator in the Google Material 3 guidelines

Bug: 401956268
Flag: EXEMPT refactor
Test: Manual testing
Change-Id: Ifeb1b882b34151ebef18edc32e7f2a3c116921c2
2025-03-10 15:32:42 +08:00

252 lines
12 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2011 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:theme="@style/Theme.Network"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="0dp"
android:paddingLeft="24dp"
android:paddingRight="24dp" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="@android:style/TextAppearance.DeviceDefault.Small"
android:id="@+id/dialog_alert_subtitle"
android:text="@string/vpn_insecure_dialog_subtitle"
android:textColor="?android:attr/colorError"
android:visibility="gone"
android:includeFontPadding="false"
android:padding="0dp" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="24dp">
<LinearLayout android:id="@+id/editor"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<com.google.android.material.textfield.TextInputLayout
style="@style/vpn_input_label"
android:id="@+id/name_layout"
android:hint="@string/vpn_name"
app:endIconMode="clear_text"
app:helperTextEnabled="true"
app:helperText="@string/vpn_field_required">
<com.google.android.material.textfield.TextInputEditText
style="@style/vpn_value"
android:id="@+id/name"
android:inputType="textCapWords"/>
</com.google.android.material.textfield.TextInputLayout>
<TextView style="@style/vpn_label"
android:text="@string/vpn_type"
android:labelFor="@+id/type"/>
<Spinner style="@style/vpn_value"
android:id="@+id/type"
android:prompt="@string/vpn_type"
android:entries="@array/vpn_types"/>
<com.google.android.material.textfield.TextInputLayout
style="@style/vpn_input_label"
android:id="@+id/server_layout"
android:hint="@string/vpn_server"
app:endIconMode="clear_text"
app:helperTextEnabled="true"
app:helperText="@string/vpn_field_required">
<com.google.android.material.textfield.TextInputEditText
style="@style/vpn_value"
android:id="@+id/server"/>
</com.google.android.material.textfield.TextInputLayout>
<LinearLayout android:id="@+id/options_ipsec_identity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<com.google.android.material.textfield.TextInputLayout
style="@style/vpn_input_label"
android:id="@+id/ipsec_identifier_layout"
android:hint="@string/vpn_ipsec_identifier"
app:endIconMode="clear_text"
app:helperTextEnabled="true"
app:helperText="@string/vpn_field_required">
<com.google.android.material.textfield.TextInputEditText
style="@style/vpn_value"
android:id="@+id/ipsec_identifier"/>
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
<LinearLayout android:id="@+id/ipsec_psk"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<com.google.android.material.textfield.TextInputLayout
style="@style/vpn_input_label"
android:id="@+id/ipsec_secret_layout"
android:hint="@string/vpn_ipsec_secret"
app:endIconMode="password_toggle"
app:helperTextEnabled="true"
app:helperText="@string/vpn_field_required">
<com.google.android.material.textfield.TextInputEditText
style="@style/vpn_value"
android:id="@+id/ipsec_secret"
android:inputType="textPassword"/>
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
<LinearLayout android:id="@+id/ipsec_user"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<TextView style="@style/vpn_label"
android:text="@string/vpn_ipsec_user_cert"
android:labelFor="@+id/ipsec_user_cert"/>
<Spinner style="@style/vpn_value"
android:id="@+id/ipsec_user_cert"
android:prompt="@string/vpn_ipsec_user_cert" />
</LinearLayout>
<LinearLayout android:id="@+id/ipsec_peer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<TextView style="@style/vpn_label"
android:text="@string/vpn_ipsec_ca_cert"
android:labelFor="@+id/ipsec_ca_cert"/>
<Spinner style="@style/vpn_value"
android:id="@+id/ipsec_ca_cert"
android:prompt="@string/vpn_ipsec_ca_cert" />
<TextView style="@style/vpn_label"
android:text="@string/vpn_ipsec_server_cert"
android:labelFor="@+id/ipsec_server_cert"/>
<Spinner style="@style/vpn_value"
android:id="@+id/ipsec_server_cert"
android:prompt="@string/vpn_ipsec_server_cert" />
</LinearLayout>
<CheckBox style="@style/vpn_value"
android:id="@+id/show_options"
android:text="@string/vpn_show_options"/>
</LinearLayout>
<LinearLayout android:id="@+id/options"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<TextView android:id="@+id/vpn_proxy_settings_title"
style="@style/vpn_label"
android:text="@string/proxy_settings_title"
android:labelFor="@+id/vpn_proxy_settings" />
<Spinner android:id="@+id/vpn_proxy_settings"
style="@style/vpn_value"
android:prompt="@string/proxy_settings_title"
android:entries="@array/vpn_proxy_settings" />
<LinearLayout
android:id="@+id/vpn_proxy_fields"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone" >
<com.google.android.material.textfield.TextInputLayout
style="@style/vpn_input_label"
android:id="@+id/vpn_proxy_host_layout"
android:hint="@string/proxy_hostname_label"
app:endIconMode="clear_text">
<com.google.android.material.textfield.TextInputEditText
style="@style/vpn_value"
android:id="@+id/vpn_proxy_host"
android:inputType="textNoSuggestions"/>
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
style="@style/vpn_input_label"
android:id="@+id/vpn_proxy_port_layout"
android:hint="@string/proxy_port_label"
app:endIconMode="clear_text">
<com.google.android.material.textfield.TextInputEditText
style="@style/vpn_value"
android:id="@+id/vpn_proxy_port"
android:inputType="number"/>
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout android:id="@+id/userpass"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.google.android.material.textfield.TextInputLayout
style="@style/vpn_input_label"
android:id="@+id/username_layout"
android:hint="@string/vpn_username_optional"
app:endIconMode="clear_text">
<com.google.android.material.textfield.TextInputEditText
style="@style/vpn_value"
android:id="@+id/username"/>
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
style="@style/vpn_input_label"
android:id="@+id/password_layout"
android:hint="@string/vpn_password_optional"
app:endIconMode="password_toggle">
<com.google.android.material.textfield.TextInputEditText
style="@style/vpn_value"
android:id="@+id/password"
android:inputType="textPassword"/>
</com.google.android.material.textfield.TextInputLayout>
<CheckBox style="@style/vpn_value"
android:id="@+id/save_login"
android:text="@string/vpn_save_login"/>
</LinearLayout>
<LinearLayout android:id="@+id/connect"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:animateLayoutChanges="true">
<CheckBox style="@style/vpn_value"
android:id="@+id/always_on_vpn"
android:text="@string/vpn_menu_lockdown"/>
<TextView style="@style/vpn_warning"
android:id="@+id/always_on_invalid_reason"
android:visibility="gone"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>