This CL updates Settings for IKEv2/IPsec Platform VPN profiles.
Platform VPN profiles currently configure DNS and routes based on the
configuration received from the server. As such, these parameters are
not required to start an always-on VPN.
Similarly, a numeric server address is not required, as the IKEv2
library will do the DNS resolution based on the current Network. This
has the nice property of allowing the VPN to run with IPv4 or IPv6 outer
addresses (as opposed to LegacyVpn, which runs only in IPv4)
Lastly, this always allows configuration of the IKEv2 local identifier,
whether MSCHAPv2, RSA or PSK authentication is used.
Bug: 148991741
Test: Compiles, manually tested.
Change-Id: Ib1049fdc602e349bb0d24de536767a6e15adf194
Previously, the user input fields in the legacy VPN config dialog would
simply be read out as "edit box", "drop-down list", etc., without
reference to their corresponding labels. This is not optimal for
low-vision users.
In this CL, we add a "labelFor" attribute to the prompt TextView of each
field. The resulting input fields would instead be read out as "edit box
for username", "drop-down list for type", etc., which are much less
ambiguous than before.
Bug: 37202471
Test: make SettingsGoogle and navigate the dialog with TalkBack on
Change-Id: Id23d0563984e3de4a4a3d03a587ca130b50508fc
In the ConfigDialog for legacy VPNs, many configurations do not support
Always-on VPN. Previously, when a user entered an unsupported set of
settings, the Always-on VPN checkbox could still be ticked, and the
Save or Connect action buttons would be disabled. This was not intuitive
as the user could not easily figure out which part of the settings was
incompatible that grayed out the action buttons.
With this change, we disable the Always-on VPN checkbox immediately as
the user enters any incompatible setting. We also display the reason why
Always-on VPN is disabled. This will make it more straightforward for
the users to understand which setting is conflicting with the Always-on
feature.
This change is also the first step towards refactoring the ConfigDialog
for legacy VPNs with PreferenceFragment.
Test: manual
Bug: 29208008
Bug: 28072644
Change-Id: I1e6d32a1069ca0b936513f4985ffb9a9412b249c
A little more consistent with the new app VPNs' dialogs. To make this
work it was also necessary to restart the lockdown VPN every time it is
edited, which makes sense because the expected action after editing a
VPN is that it reconnects with the new settings.
Bug: 28072644
Change-Id: I4b6a6f0a6ed96d2ec6f62889fdae4abb60d0646c
- Move always-on option for legacy vpn into the legacy vpn config page
- This implementation doesn't show dialogue when replacing existing always-on vpn
- Continue to disable lockdown option for legacy vpn when "persist.radio.imsregrequired" is true.
Not applying to vpn app
- Force to save account info when legacy vpn is always-on
- When legacy vpn is always-on, don't try to connect. (Otherwise, an exception is thrown)
TODO: Remove EXTRA_PICK_LOCKDOWN in LockdownVpnTracker in framework
Bug: 26950700
Change-Id: Ia80669359c0b7cdb955c84937156c020ac6e9af5
VPN apps are shown alongside configured VPNs now. The requirement that
a password is set is now only enforced when setting up a configured
VPN as this is not necessary for apps.
Some UI redesign.
Bug: 19573824
Bug: 17474682
Bug: 19575658
Change-Id: I02bd977136929647d65b9784fb4cc5df24b45428
1. Support identifier in L2TP/IPSec PSK.
2. Fix profile validation for IPSec Hybrid RSA.
3. Fix crash when the user does not want to initialize keystore.
Change-Id: Id46dbbc84915dfb69f8bab6b540426e7614ab7c6
Now users can manually override DNS search domains, DNS servers,
and forwarding routes for each VPN network.
Change-Id: I10b8e383ac19fd19d23938dff78201a71724d58f