Commit Graph

177 Commits

Author SHA1 Message Date
Jeremy Goldman
025301da1f Merge "Connect VPN warning help icon with the network & internet page." into sc-dev 2021-03-24 05:18:46 +00:00
Bonian Chen
8debbfa8a4 Merge "[Settings] Support getSystemService(Class<T>)" into sc-dev 2021-03-24 04:13:35 +00:00
Jeremy Goldman
76de845f3d Connect VPN warning help icon with the network & internet page.
New VpnInfoPreference created to control the presence or absence
of the warning icon based on the vpn type.

The VpnPreferenceController type casts the preference based on
whether the provider model is enabled. It also detects legacy vpns
by using the LegacyVpnProfileStore, and comparing VPN profile
usernames with the active VPN config's user.

Screenshot: https://screenshot.googleplex.com/AfGrH8wRusTvbf4
Test: atest -c SettingsUnitTests
Bug: Bug: 176821216
Change-Id: I1aa93be5b90b404d9d9cb9bf47ea76fdc9aad401
Merged-In: I1aa93be5b90b404d9d9cb9bf47ea76fdc9aad401
(cherry picked from commit 7a68eb3b5e)
2021-03-24 01:07:28 +00:00
Jeremy Goldman
bd9a65cca6 Merge "Gear Preference on VPN page includes subtitle if the vpn is an insecure type" into sc-dev 2021-03-24 01:01:07 +00:00
Bonian Chen
d5ccde31a8 [Settings] Support getSystemService(Class<T>)
Add getSystemService(Class<T>) to align the capability with framework
part.

This is a back port from aosp/1639943, aosp/1645152 and aosp/1648047

Bug: 179640862
Test: local
Change-Id: I035db55a71f94000ca35f8d71f03c19208423c73
2021-03-24 00:59:46 +08:00
Jeremy Goldman
ab8eeca966 Gear Preference on VPN page includes subtitle if the vpn is an insecure
type

Test: atest SettingsUnitTests
Screenshot: https://screenshot.googleplex.com/BWfUf6hcHNnbLvH
Bug: 176821216
Change-Id: I2bee3ba100bfe636221264492a2ce98b6a664cd5
Merged-In: I2bee3ba100bfe636221264492a2ce98b6a664cd5
(cherry picked from commit 3922249709)
2021-03-23 08:38:12 +00:00
Jeremy Goldman
222dd91102 Legacy VPN Configuration Dialog includes error message if VPN is an
insecure type.

Screenshot: https://screenshot.googleplex.com/53pAJuhTDLJW4Em
Bug: 176821216
Test: atest SettingsUnitTests

Change-Id: I528d46654a39df04b647d6d0137aaf80e7adb05c
Merged-In: I528d46654a39df04b647d6d0137aaf80e7adb05c
(cherry picked from commit 5d92ad5232)
2021-03-23 08:37:11 +00:00
Jeremy Goldman
19c5d0a749 Merge "Add goldmanj to the Settings' vpn2 directory Owners file" 2021-03-19 06:15:40 +00:00
Chiachang Wang
eb16ebd14a Replace the hidden ProxyInfo methods usage
The hidden ProxyInfo methods usage should be replaced because
ProxyInfo is moving to connectivity mainline module. Setting
will not be able to access it. Replace the usage with
corresponding APIs.

Bug: 172183305
Test: make RunSettingsRoboTests ROBOTEST_FILTER=\
      com.android.settings.wifi.WifiConfigControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=\
      com.android.settings.wifi.WifiConfigController2Test
Test: manually update proxy from setting and check the result
Change-Id: I59192d0d5d38c833eb83cc930e358a738ebe3d13
2021-03-17 12:47:22 +00:00
Jeremy Goldman
22b94fb3fd Add goldmanj to the Settings' vpn2 directory Owners file
Change-Id: I91f560230a5dde1014a18c3d3bd03d1ed6f91dd6
2021-03-15 03:20:32 +00:00
Janis Danisevskis
146a0dab01 Keystore 2.0: Make Legacy VPN settings ready for Keystore 2.0
Keystore 2.0 no longer stores vpn profiles. It still offers a
Legacy VPN profile store, to access existing profiles.

Test: N/A
Bug: 171305607
Bug: 171305388
Merged-In: I40dea0b9c3824b56814ae4c2fb6c7663c7d97af5
Change-Id: I40dea0b9c3824b56814ae4c2fb6c7663c7d97af5
2021-03-03 22:30:48 -08:00
Lorenzo Colitti
1434c08600 Stop using ConnectivityManager for VPNs.
These methods have all moved to VpnManager.

Bug: 173331190
Test: atest SettingsRoboTests
Change-Id: I1dd57fa2213b1785a94ec9d6ab4cce3a5d2684ff
Merged-In: I1dd57fa2213b1785a94ec9d6ab4cce3a5d2684ff
2021-02-18 23:50:59 +09:00
Treehugger Robot
ace5a90870 Merge "Switch Settings from IConnectivityManager to VpnManager." 2021-02-09 09:09:35 +00:00
Lorenzo Colitti
04d34ced59 Switch Settings from IConnectivityManager to VpnManager.
The VPN code is moving out of ConnectivityService to a new
VpnManagerService. Update Settings to call into the VpnManager
class instead of using the AIDL interface directly. This way,
the VPN code can be moved without touching Settings.

Bug: 173331190
Test: builds, boots
Test: manually verified VPN settings page
Change-Id: Id2731a166b5d6783acb1c711a54604b69aa8c0d7
2021-02-08 16:50:25 +09:00
Chiachang Wang
9aaad19a82 Replace Proxy hidden constants and methods usages
Proxy is a part of incoming connectivity mainline module. The
hidden APIs are no longer available outside the module. These
shared constants and methods are moving to ProxyUtils insdide
net shared lib. Update the corresponding usage in the caller
side.

Bug: 172183305
Test: atest SettingsRoboTests
Change-Id: I2d51442e65dbcdf1a36940d8a25c7571363d56e6
2021-02-05 17:37:14 +08:00
Benedict Wong
6f7a25cedc Merge "Hide IKEv2 VPN options if not supported" am: 806523a7cd am: 63a1447508
Change-Id: I33bc05a44f0c7a1862fdd725a6dcff2d848df4ed
2020-05-16 00:46:18 +00:00
Benedict Wong
ad2421fe5b Hide IKEv2 VPN options if not supported
This change hides the VPN type options if the FEATURE_IPSEC_TUNNELS is
not supported on the device.

Bug: 156681625
Test: Manually tested
Change-Id: I3ef2e6144371596380351341e58c4ee84d49f39d
2020-05-14 19:13:53 -07:00
Benedict Wong
50e94f5678 Merge "Fix VPN settings UI to validate IPsec Identifier" am: 04bfcb89ad am: 3d009137d0
Change-Id: If8da943c64f8d665f36b0ab8c4d92a0516640d0c
2020-04-08 18:48:25 +00:00
Benedict Wong
1c69a8282c Fix VPN settings UI to validate IPsec Identifier
This change ensures that the updateUiControls() (and validate()
transitively) is called whenever the IPsec identifier is updated.

Bug: 152811464
Test: Manual testing with settings UI
Change-Id: I6536652a60244c3fde3f65211f9d0709145c6cd9
2020-04-07 11:34:46 -07:00
Automerger Merge Worker
c7bd3a2336 Merge "Address cleanup comments from aosp/1234607" am: 9dec7506d3 am: 008480e019
Change-Id: I4c52881346cada4fa65d8d9d39f9b461177a3c8e
2020-03-13 23:42:29 +00:00
Benedict Wong
1e2a91ba1a Address cleanup comments from aosp/1234607
This change addresses minor cleanup comments from aosp/1234607, renaming
a method.

Bug: 148991741
Test: Compiles
Change-Id: I2f31f8045040e6065a89e842b034aea605a99bd4
2020-03-11 05:46:27 +00:00
TreeHugger Robot
3c96925aef Merge "Disable Settings toggle if admin has set always-on VPN" 2020-02-20 10:09:35 +00:00
Rubin Xu
b3ca3c5fb6 Disable Settings toggle if admin has set always-on VPN
If the admin has turned on always-on VPN, do not allow the user
to modify it.

Bug: 137938969
Test: manually set always-on VPN and check Settings is disabled
Change-Id: Id2541e120f043ce24e52c3189d3a6fb1d85b432b
2020-02-18 17:56:54 +00:00
Benedict Wong
0c1abce1a6 Update Settings UI for IKEv2/IPsec VPNs
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
2020-02-17 16:19:20 -08:00
Automerger Merge Worker
2fec4ba1ed Add Platform VPNs to VPN list am: bcd6b8cbca am: 846de91c30 am: 00e44f608c
Change-Id: Ie11a67984c29b71302239e4491269e50be9be1fb
2020-02-05 00:38:40 +00:00
Benedict Wong
62e55361a8 Update setVpnPackageAuthorization call with VPN type
This commit updates the Settings to also pass the additional
VPN type for app-based VPNs.

Bug: 144246835
Test: Compiles, manually tested to be working
Change-Id: I10cf17419636c3c30e1ec06bb3e6751cb5c65d9b
Merged-In: I10cf17419636c3c30e1ec06bb3e6751cb5c65d9b
2020-02-04 21:06:07 +00:00
Benedict Wong
98678221fa Update setVpnPackageAuthorization call with VPN type
This commit updates the Settings to also pass the additional
VPN type for app-based VPNs.

Bug: 144246835
Test: Compiles, manually tested to be working
Change-Id: I10cf17419636c3c30e1ec06bb3e6751cb5c65d9b
2020-02-03 21:28:26 -08:00
Benedict Wong
bcd6b8cbca Add Platform VPNs to VPN list
This change allows the Settings VPN pages to pull the apps providing a
new Platform VPN.

Bug: 144246835
Test: Compiles, manual testing
Change-Id: Ibb7e79ccde754724c9fc00c88da98e975f325ba7
2020-01-30 01:46:19 -08:00
Colin Cross
807e861105 Use if instead of switch for resources
Converting to Soong will move some code from directly compiled
into the app to compiled into an Android library and then
shared between the app and the tests.  This will cause resource
IDs in the library to become non-final, which means they can
no longer be used in case statements.  Convert affect case
statements to if blocks.

Test: m RunSettingsRoboTests
Change-Id: I25742a374f06d3fa4decbfc0d223a350acc50881
2019-05-13 13:42:01 -07:00
Robin Lee
5e20a543f8 Merge "Change the owners of vpn2 settings again" into qt-dev
am: de827cb353

Change-Id: I1d52a9100570718b14decb68a742d3933b3e85b7
2019-04-11 15:20:00 -07:00
Robin Lee
fd60c585a5 Change the owners of vpn2 settings again
Test: N/A
Change-Id: I3fa4bc4101a5942bbd9c95d7b0a8456801ba75f7
Fix: 130346282
2019-04-11 17:28:28 +02:00
Robin Lee
e7cf4fce8b Merge "Add OWNERS file for settings/vpn2" into qt-dev
am: fd3cf32ad8

Change-Id: I8c2bdb76d4cf587579bba0544ba417dbfacbae5c
2019-04-11 08:11:26 -07:00
Robin Lee
7463700fb4 Add OWNERS file for settings/vpn2
Adds more people who can approve changes to the VPN Settings UI.

Test: repo upload .
Fix: 130346282
Change-Id: I8bb8a7559b5967189476406a00467c6b8bcdc52e
2019-04-11 14:52:37 +00:00
sj.cha
26412bb907 Merge "Fix code for NPE when click add and cancel repeatly VPN profile" am: 70cae1ce8d
am: 2c0ba8b48e

Change-Id: I853372683440048c16141b0fb2b46bbc6f27e972
2019-04-09 11:44:05 -07:00
lindatseng
e0f24e6f5e Make the text appearance consistant in add vpn dialog
Set the password fields text appearance programatically to get the
appearance consistant.

The style set in xml will be overriden if the field is set to password.

I set the text appearance programmatically in order to keep the
appearance consistent with the others.  The color of the text become
gray after setting the text appearance for some reason.

Note that I also do changes to the password field which is not mentioned
in the bug.

Test: visual inspection.
Bug: 127728228
Change-Id: Ie206f60877eb39addc1370ae4e2aee379597960e
2019-03-28 11:16:35 -07:00
sj.cha
36b314c6e0 Fix code for NPE when click add and cancel repeatly VPN profile
Symptom: NPE is happened when click add and cancel repeatly VPN profile

Root Cause: Exception handling for ConfigDialog object

Steps to reproduce :
1. Go to VPN menu in Settings without Secure LockScreen
2. Click add VPN profile button
3. Keyguard dialog show
4. Click cancel button
5. Repeat 2 - 4 step

Test: refer a "Steps to reproduce"

Solution: Add exception handling for ConfigDialog object. This is a very rare case. But exception handling code should be needed.

Signed-off-by: SangJin Cha <sj.cha@lge.com>
Change-Id: I4c680b383f94c86a1c806d986e56f9f00d2be10e
2019-03-27 09:19:33 +09:00
Chalard Jean
230a9949b4 Merge "Support VPN Proxy(2/2)" am: 2a695c4b7b am: e2f74af063
am: aa5d185d7b

Change-Id: Ifa4ac76f78e24296a29f99f5733075651bed9072
2019-03-09 04:20:32 -08:00
Ryusuke Sawa
9f7875d547 Support VPN Proxy(2/2)
Adding VPN Proxy settings in advanced option.
 - Proxy host name
 - Proxy port

Bug: 118793208
Test: runtest

Change-Id: I40f3cf049f5822eefc3f9e6ba5dd0bb80c9b3945
2019-03-06 10:38:48 +09:00
Pavel Grafov
e1dd64ef2e Merge "Update to use new ConnectivityManager API." am: 70b1830e7e am: 7c47743851
am: 3184142cbe

Change-Id: I6bc7277d0f1db1576b369443719c449fc8eeed75
2019-01-28 22:14:17 -08:00
Pavel Grafov
6a0a7be9a2 Update to use new ConnectivityManager API.
Bug: 77468593
Test: builds
Change-Id: I1fa542e015add2dd8b0e8620f2021c1a5c1c9f1a
2019-01-25 18:58:17 +00:00
Dan Albert
6e91f68ae4 Revert "Update to use new ConnectivityManager API."
This reverts commit 9a9f6f313b.

Reason for revert: broke pi-dev-plus-aosp

Change-Id: Ia0ff7cdf77b4edf3bdf5e4c54376b730df48373e
2019-01-24 21:06:02 +00:00
Eran Messeri
1e9bd27e2b Further Credentials-related clean-up
Additional clean-up work related to removal of screenlock dependency
from the credentials installation flow:
* Move the CredentialStorage class to security/ so that Enterprise team
  owners could review changes to it.
* Remove the ConfigureKeyGuardDialog class as it is no longer used.
* Remove attempt to unlock KeyStore from VPN settings.
* Remove intents that will no longer be sent from the manifest.

Bug: 120901345
Test: m -j RunSettingsRoboTests
Test: Manual with CtsVerifier
Change-Id: Ia708ede3366892d74c148f3712a63858d5ab53b7
2019-01-24 16:26:25 +00:00
Pavel Grafov
9a9f6f313b Update to use new ConnectivityManager API.
Bug: 77468593
Test: builds
Change-Id: I614c20b9a1c6748614163766866bb59b15d794f1
Merged-In: I614c20b9a1c6748614163766866bb59b15d794f1
2019-01-23 19:53:01 +00:00
Fan Zhang
31b210017b Migrate all MetricsProto enums to SettingsEnums
Bug: 122855168
Test: rebuild
Change-Id: I962d9a71179f86b7cae9dc5e9a00e0aa1557dc76
2019-01-17 14:55:42 -08:00
Philip P. Moltmann
e3f721132a RestrictedLockUtils was split into ...Internal
This means that in some cases RestrictedLockUtils has to be used and in
some RestrictedLockUtilsInternal.

This causes a lot of trivial code changes.

I also updated the ordering of the imports in all affected files.

Bug: 110953302
Test: Built
      make -j RunSettingsRoboTests
Change-Id: I9bdf8b89134f853bae4f38c81af436715c73e924
2018-08-30 08:11:39 -07:00
Fan Zhang
23f8d59d02 Sort imports
Having consistent import order will reduce chance of merge
conflict between internal and external master

Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
2018-08-28 22:13:15 +00:00
Aurimas Liutikas
b1af85d155 Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
Merged-In: I941dea40562170649bf056e675cc32e5163c0e39
(cherry picked from commit a290b873d0)
2018-08-28 11:48:56 -07:00
tmfang
41ab6b4bf8 Migrate all AlertDialogs to AndroidX version
This CL only changed AlertDialog imports.
So, reviewer can review it easily.

Change-Id: I097bc44394195b14287f4f920c570ac8653f356a
Fixes: 111413092
Test: This CL can't pass Robo test.
2018-07-20 11:32:13 +08:00
Fan Zhang
176ccd0c35 Clean up: fix incorrect @VisibleForTesting imports
Test: rebuild and robotests
Change-Id: I33d7ee1c0622c01f592920baaf01d44ad19d9a13
2018-07-13 13:08:53 -07:00
tmfang
99cc23d0da Settings Fragment Migration (Change imports)
This commit *only* changes imports and optimize imports.
We don't do anything else.

This patch can't compile pass and run test case.
We will update other patches to fix these problem.

Change list.

1. import android.app.Fragment; ->
   import androidx.fragment.app.Fragment;
2. import android.app.DialogFragment; ->
   import androidx.fragment.app.DialogFragment;
3. import android.app.ListFragment; ->
   import androidx.fragment.app.ListFragment;
4. import android.app.LoaderManager; ->
   import androidx.loader.app.LoaderManager;
5. import android.content.AsyncTaskLoader; ->
   import androidx.loader.content.AsyncTaskLoader;
6. import android.content.Loader; ->
   import androidx.loader.content.Loader;
7. import android.app.FragmentTransaction; ->
   import androidx.fragment.app.FragmentTransaction;
8. import android.app.FragmentManager; ->
   import androidx.fragment.app.FragmentManager;
9. import android.app.LoaderManager.LoaderCallbacks; ->
    import androidx.loader.app.LoaderManager.LoaderCallbacks;

Bug: 110259478
Test: Can't test it.
Change-Id: I0a3f98fff34a3494a839c3c42aeabcec3df2c8b3
2018-07-11 18:23:51 -07:00