Loading res/layout/vpn_dialog.xml +22 −17 Original line number Diff line number Diff line Loading @@ -64,8 +64,9 @@ <TextView style="@style/vpn_label" android:text="@string/vpn_type" android:labelFor="@+id/type"/> <Spinner style="@style/vpn_value" <Spinner android:id="@+id/type" style="@style/vpn_spinner" android:prompt="@string/vpn_type" android:entries="@array/vpn_types"/> Loading Loading @@ -126,8 +127,9 @@ <TextView style="@style/vpn_label" android:text="@string/vpn_ipsec_user_cert" android:labelFor="@+id/ipsec_user_cert"/> <Spinner style="@style/vpn_value" <Spinner android:id="@+id/ipsec_user_cert" style="@style/vpn_spinner" android:prompt="@string/vpn_ipsec_user_cert"/> </LinearLayout> Loading @@ -139,15 +141,17 @@ <TextView style="@style/vpn_label" android:text="@string/vpn_ipsec_ca_cert" android:labelFor="@+id/ipsec_ca_cert"/> <Spinner style="@style/vpn_value" <Spinner android:id="@+id/ipsec_ca_cert" style="@style/vpn_spinner" 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" <Spinner android:id="@+id/ipsec_server_cert" style="@style/vpn_spinner" android:prompt="@string/vpn_ipsec_server_cert"/> </LinearLayout> Loading @@ -167,8 +171,9 @@ android:text="@string/proxy_settings_title" android:labelFor="@+id/vpn_proxy_settings" /> <Spinner android:id="@+id/vpn_proxy_settings" style="@style/vpn_value" <Spinner android:id="@+id/vpn_proxy_settings" style="@style/vpn_spinner" android:prompt="@string/proxy_settings_title" android:entries="@array/vpn_proxy_settings"/> Loading res/values/styles.xml +18 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,15 @@ <item name="android:scrollbarStyle">outsideOverlay</item> </style> <style name="Dialog.Spinner" parent="@style/SettingslibSpinnerStyle.Expressive"> <item name="android:layout_width">wrap_content</item> <item name="android:layout_height">wrap_content</item> <item name="android:minHeight">40dp</item> <item name="android:layout_marginTop">4dp</item> <item name="android:layout_marginBottom">4dp</item> <item name="android:dropDownVerticalOffset">@dimen/min_tap_target_size</item> </style> <style name="Theme.Network" parent="@style/Theme.Material3.DynamicColors.DayNight"> <item name="textInputStyle">@style/Widget.Network.TextInputLayout</item> </style> Loading Loading @@ -245,6 +254,10 @@ <style name="vpn_label"> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">wrap_content</item> <item name="android:layout_marginStart">8dp</item> <item name="android:minHeight">@dimen/min_tap_target_size</item> <item name="android:paddingBottom">8dp</item> <item name="android:gravity">bottom</item> <item name="android:textAppearance">?android:attr/textAppearanceSmall</item> </style> Loading @@ -258,6 +271,11 @@ <item name="android:textColorHint">?android:attr/textColorSecondary</item> </style> <style name="vpn_spinner" parent="@style/Dialog.Spinner"> <item name="android:singleLine">true</item> <item name="android:textAlignment">viewStart</item> </style> <style name="vpn_input_label" parent="vpn_label"> <item name="android:paddingBottom">8dp</item> </style> Loading src/com/android/settings/vpn2/ConfigDialog.java +15 −9 Original line number Diff line number Diff line Loading @@ -28,7 +28,6 @@ import android.util.Log; import android.view.View; import android.view.WindowManager; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.Spinner; Loading @@ -40,6 +39,7 @@ import com.android.internal.net.VpnProfile; import com.android.net.module.util.ProxyUtils; import com.android.settings.R; import com.android.settings.utils.AndroidKeystoreAliasLoader; import com.android.settings.widget.EnhancedSettingsSpinnerAdapter; import com.android.settings.wifi.utils.TextInputGroup; import java.util.Collection; Loading Loading @@ -117,6 +117,7 @@ class ConfigDialog extends AlertDialog implements TextWatcher, mPasswordInput = new TextInputGroup(mView, R.id.password_layout, R.id.password, R.string.vpn_field_required); mProxySettings = (Spinner) mView.findViewById(R.id.vpn_proxy_settings); loadProxySettings(mProxySettings); mProxyHost = (TextView) mView.findViewById(R.id.vpn_proxy_host); mProxyPort = (TextView) mView.findViewById(R.id.vpn_proxy_port); mIpsecIdentifierInput = new TextInputGroup(mView, R.id.ipsec_identifier_layout, Loading Loading @@ -149,8 +150,8 @@ class ConfigDialog extends AlertDialog implements TextWatcher, mIpsecSecretInput.setText(mProfile.ipsecSecret); final AndroidKeystoreAliasLoader androidKeystoreAliasLoader = new AndroidKeystoreAliasLoader(null); loadCertificates(mIpsecUserCert, androidKeystoreAliasLoader.getKeyCertAliases(), 0, mProfile.ipsecUserCert); loadCertificates(mIpsecUserCert, androidKeystoreAliasLoader.getKeyCertAliases(), R.string.vpn_not_used, mProfile.ipsecUserCert); loadCertificates(mIpsecCaCert, androidKeystoreAliasLoader.getCaCertAliases(), R.string.vpn_no_ca_cert, mProfile.ipsecCaCert); loadCertificates(mIpsecServerCert, androidKeystoreAliasLoader.getKeyCertAliases(), Loading Loading @@ -450,9 +451,8 @@ class ConfigDialog extends AlertDialog implements TextWatcher, mProfile.type = VpnProfile.TYPE_IKEV2_IPSEC_USER_PASS; } final ArrayAdapter<String> adapter = new ArrayAdapter<String>( getContext(), android.R.layout.simple_spinner_item, types); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); EnhancedSettingsSpinnerAdapter<String> adapter = new EnhancedSettingsSpinnerAdapter<>(getContext(), types); typeSpinner.setAdapter(adapter); } Loading @@ -473,9 +473,8 @@ class ConfigDialog extends AlertDialog implements TextWatcher, } } ArrayAdapter<String> adapter = new ArrayAdapter<String>( context, android.R.layout.simple_spinner_item, myChoices); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); EnhancedSettingsSpinnerAdapter<String> adapter = new EnhancedSettingsSpinnerAdapter<>(context, myChoices); spinner.setAdapter(adapter); for (int i = 1; i < myChoices.length; ++i) { Loading @@ -486,6 +485,13 @@ class ConfigDialog extends AlertDialog implements TextWatcher, } } private void loadProxySettings(Spinner spinner) { String[] types = getContext().getResources().getStringArray(R.array.vpn_proxy_settings); EnhancedSettingsSpinnerAdapter<String> adapter = new EnhancedSettingsSpinnerAdapter<>(getContext(), types); spinner.setAdapter(adapter); } private void setUsernamePasswordVisibility(int type) { mView.findViewById(R.id.userpass).setVisibility( requiresUsernamePassword(type) ? View.VISIBLE : View.GONE); Loading Loading
res/layout/vpn_dialog.xml +22 −17 Original line number Diff line number Diff line Loading @@ -64,8 +64,9 @@ <TextView style="@style/vpn_label" android:text="@string/vpn_type" android:labelFor="@+id/type"/> <Spinner style="@style/vpn_value" <Spinner android:id="@+id/type" style="@style/vpn_spinner" android:prompt="@string/vpn_type" android:entries="@array/vpn_types"/> Loading Loading @@ -126,8 +127,9 @@ <TextView style="@style/vpn_label" android:text="@string/vpn_ipsec_user_cert" android:labelFor="@+id/ipsec_user_cert"/> <Spinner style="@style/vpn_value" <Spinner android:id="@+id/ipsec_user_cert" style="@style/vpn_spinner" android:prompt="@string/vpn_ipsec_user_cert"/> </LinearLayout> Loading @@ -139,15 +141,17 @@ <TextView style="@style/vpn_label" android:text="@string/vpn_ipsec_ca_cert" android:labelFor="@+id/ipsec_ca_cert"/> <Spinner style="@style/vpn_value" <Spinner android:id="@+id/ipsec_ca_cert" style="@style/vpn_spinner" 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" <Spinner android:id="@+id/ipsec_server_cert" style="@style/vpn_spinner" android:prompt="@string/vpn_ipsec_server_cert"/> </LinearLayout> Loading @@ -167,8 +171,9 @@ android:text="@string/proxy_settings_title" android:labelFor="@+id/vpn_proxy_settings" /> <Spinner android:id="@+id/vpn_proxy_settings" style="@style/vpn_value" <Spinner android:id="@+id/vpn_proxy_settings" style="@style/vpn_spinner" android:prompt="@string/proxy_settings_title" android:entries="@array/vpn_proxy_settings"/> Loading
res/values/styles.xml +18 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,15 @@ <item name="android:scrollbarStyle">outsideOverlay</item> </style> <style name="Dialog.Spinner" parent="@style/SettingslibSpinnerStyle.Expressive"> <item name="android:layout_width">wrap_content</item> <item name="android:layout_height">wrap_content</item> <item name="android:minHeight">40dp</item> <item name="android:layout_marginTop">4dp</item> <item name="android:layout_marginBottom">4dp</item> <item name="android:dropDownVerticalOffset">@dimen/min_tap_target_size</item> </style> <style name="Theme.Network" parent="@style/Theme.Material3.DynamicColors.DayNight"> <item name="textInputStyle">@style/Widget.Network.TextInputLayout</item> </style> Loading Loading @@ -245,6 +254,10 @@ <style name="vpn_label"> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">wrap_content</item> <item name="android:layout_marginStart">8dp</item> <item name="android:minHeight">@dimen/min_tap_target_size</item> <item name="android:paddingBottom">8dp</item> <item name="android:gravity">bottom</item> <item name="android:textAppearance">?android:attr/textAppearanceSmall</item> </style> Loading @@ -258,6 +271,11 @@ <item name="android:textColorHint">?android:attr/textColorSecondary</item> </style> <style name="vpn_spinner" parent="@style/Dialog.Spinner"> <item name="android:singleLine">true</item> <item name="android:textAlignment">viewStart</item> </style> <style name="vpn_input_label" parent="vpn_label"> <item name="android:paddingBottom">8dp</item> </style> Loading
src/com/android/settings/vpn2/ConfigDialog.java +15 −9 Original line number Diff line number Diff line Loading @@ -28,7 +28,6 @@ import android.util.Log; import android.view.View; import android.view.WindowManager; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.Spinner; Loading @@ -40,6 +39,7 @@ import com.android.internal.net.VpnProfile; import com.android.net.module.util.ProxyUtils; import com.android.settings.R; import com.android.settings.utils.AndroidKeystoreAliasLoader; import com.android.settings.widget.EnhancedSettingsSpinnerAdapter; import com.android.settings.wifi.utils.TextInputGroup; import java.util.Collection; Loading Loading @@ -117,6 +117,7 @@ class ConfigDialog extends AlertDialog implements TextWatcher, mPasswordInput = new TextInputGroup(mView, R.id.password_layout, R.id.password, R.string.vpn_field_required); mProxySettings = (Spinner) mView.findViewById(R.id.vpn_proxy_settings); loadProxySettings(mProxySettings); mProxyHost = (TextView) mView.findViewById(R.id.vpn_proxy_host); mProxyPort = (TextView) mView.findViewById(R.id.vpn_proxy_port); mIpsecIdentifierInput = new TextInputGroup(mView, R.id.ipsec_identifier_layout, Loading Loading @@ -149,8 +150,8 @@ class ConfigDialog extends AlertDialog implements TextWatcher, mIpsecSecretInput.setText(mProfile.ipsecSecret); final AndroidKeystoreAliasLoader androidKeystoreAliasLoader = new AndroidKeystoreAliasLoader(null); loadCertificates(mIpsecUserCert, androidKeystoreAliasLoader.getKeyCertAliases(), 0, mProfile.ipsecUserCert); loadCertificates(mIpsecUserCert, androidKeystoreAliasLoader.getKeyCertAliases(), R.string.vpn_not_used, mProfile.ipsecUserCert); loadCertificates(mIpsecCaCert, androidKeystoreAliasLoader.getCaCertAliases(), R.string.vpn_no_ca_cert, mProfile.ipsecCaCert); loadCertificates(mIpsecServerCert, androidKeystoreAliasLoader.getKeyCertAliases(), Loading Loading @@ -450,9 +451,8 @@ class ConfigDialog extends AlertDialog implements TextWatcher, mProfile.type = VpnProfile.TYPE_IKEV2_IPSEC_USER_PASS; } final ArrayAdapter<String> adapter = new ArrayAdapter<String>( getContext(), android.R.layout.simple_spinner_item, types); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); EnhancedSettingsSpinnerAdapter<String> adapter = new EnhancedSettingsSpinnerAdapter<>(getContext(), types); typeSpinner.setAdapter(adapter); } Loading @@ -473,9 +473,8 @@ class ConfigDialog extends AlertDialog implements TextWatcher, } } ArrayAdapter<String> adapter = new ArrayAdapter<String>( context, android.R.layout.simple_spinner_item, myChoices); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); EnhancedSettingsSpinnerAdapter<String> adapter = new EnhancedSettingsSpinnerAdapter<>(context, myChoices); spinner.setAdapter(adapter); for (int i = 1; i < myChoices.length; ++i) { Loading @@ -486,6 +485,13 @@ class ConfigDialog extends AlertDialog implements TextWatcher, } } private void loadProxySettings(Spinner spinner) { String[] types = getContext().getResources().getStringArray(R.array.vpn_proxy_settings); EnhancedSettingsSpinnerAdapter<String> adapter = new EnhancedSettingsSpinnerAdapter<>(getContext(), types); spinner.setAdapter(adapter); } private void setUsernamePasswordVisibility(int type) { mView.findViewById(R.id.userpass).setVisibility( requiresUsernamePassword(type) ? View.VISIBLE : View.GONE); Loading