Commit Graph

11860 Commits

Author SHA1 Message Date
Remi NGUYEN VAN
b2eabd4e7b Move UidRange to connectivity
UidRange is a data class that is an implementation detail of
Connectivity. Move it to the connectivity boundary.

Remaining usages of UidRange outside of Connectivity (in VPN) should be
migrated to other classes, like Range<Integer> or UidRangeParcel.

Bug: 181512874
Test: m
Change-Id: I6f2e3685ad1c07171dd90480d1e546329de8732d
2021-03-02 15:35:36 +09:00
Lucas Lin
125200718e Merge changes I06ab0f2d,I8b146aa1
* changes:
  Use UserHandle#getIdentifier to get the userid
  Add test for getStartUser(), getEndUser() and createForUser()
2021-03-02 04:13:32 +00:00
Lucas Lin
6a2bb12457 Merge changes I35ed84fc,Ie6cfd77b,I4e4f929f,I751526e8
* changes:
  Fix comments left on aosp/1547454 and aosp/1556106
  Remove INetworkManagementService from ConnectivityService
  Remove unused INetworkManagementService
  Remove BaseNetworkObserver from Nat464Xlat
2021-03-02 04:07:35 +00:00
lucaslin
19a48b80d6 Use UserHandle#getIdentifier to get the userid
UidRange uses PER_USER_RANGE to calculate and get the userid,
but PER_USER_RANGE is a hidden API, so use getIdentifier to get
the userid instead.

Bug: 170598012
Test: atest FrameworksNetTests:UidRangeTest
Change-Id: I06ab0f2da8a33d2b718bbc3a609d3d6a5fe0a095
2021-03-02 02:21:39 +00:00
Remi NGUYEN VAN
cb61701582 Move QoS API classes to Connectivity
The classes were added in S and are used to back ConnectivityManager
APIs. Add them to the connectivity boundary as they belong together with
ConnectivityManager.

Bug: 181512874
Test: m
Change-Id: I03b5978949b200a72813d1ebc4812d851fe3df37
2021-03-01 18:09:30 +09:00
Remi NGUYEN VAN
d799e71134 Merge "Split out the connectivity API surface" 2021-03-01 01:07:19 +00:00
Junyu Lai
f641e8c44c Merge "[FUI08] Create NeworkStateSnapshot" 2021-02-26 10:53:36 +00:00
Remi NGUYEN VAN
be1791058f Split out the connectivity API surface
Split out connectivity APIs to connectivity module directories. This
prepares future move of the connectivity code into a mainline module,
but still keeps it implemented by framework-minus-apex for now: the API
stubs are moved to framework-connectivity.stubs, but the implementation
on device remains in the same place.

This allows moving the connectivity code in/out of APEX with minimal
changes.

BYPASS_INCLUSIVE_LANGUAGE_REASON=Moving files, can't modify released API

Bug: 171540887
Test: device boots, connectivity working

Merged-In: I21c42f032efa6c10e36c749df3183ce9679303a7
(cherry-pick from internal branch with API files conflicts)

Change-Id: I21c42f032efa6c10e36c749df3183ce9679303a7
2021-02-26 19:23:25 +09:00
junyulai
74dcf1a32d [FUI08] Create NeworkStateSnapshot
Since NetworkState has UnsupportedAppUsage APIs that cannot
be changed, create another class for follow-up patches
to expose as system API.

Test: NetworkStateSnapshotTest
Bug: 174123988
Change-Id: I54ef872847f34166aa34a79f6178c90ac12b6c72
2021-02-26 11:57:06 +08:00
Junyu Lai
ff35256ebd Merge "Fix copyright license of VpnTransportInfo" 2021-02-26 03:38:59 +00:00
Remi NGUYEN VAN
af593a6514 Merge "Fix CaptivePortalDataTest on R" 2021-02-26 01:51:14 +00:00
Remi NGUYEN VAN
cc595f8d17 Merge "Add public alternative for protectFromVpn" 2021-02-26 01:50:32 +00:00
Chris Weir
2a6448ce32 Merge "Update tests for PANS network usage metrics" 2021-02-25 21:37:42 +00:00
Paul Hu
5f72702134 Merge "Use alternative PhoneStateListener formal API" 2021-02-25 12:14:53 +00:00
lucaslin
aad3854ad9 Add test for getStartUser(), getEndUser() and createForUser()
- Follow-up commit will modify getStartUser() and getEndUser(),
to make sure the result is consistent, add test before changing
getStartUser() and getEndUser().
- Add a test for createForUser() to ensure the last uid of
the previous user is smaller than the first uid of the next user.
- Move this test file to tests/net/common, so that it can be run
in CTS.

Bug: 170598012
Test: atest FrameworksNetTests:UidRangeTest
      CtsNetTestCasesLatestSdk:UidRangeTest
      Also run above tests on Q and R devices.
Change-Id: I8b146aa14b50911e50a39f266e8d8dc17df853b2
2021-02-25 18:32:40 +08:00
Junyu Lai
c8c6433b56 Merge "[VCN07] Bypass VCN for non-internet app accessible cellular services" 2021-02-25 10:16:03 +00:00
lucaslin
87b58aaf97 Fix comments left on aosp/1547454 and aosp/1556106
Bug: 174837473
Test: atest FrameworksNetTests
Change-Id: I35ed84fcc53725fe29896ec37b77ef4fb4778fde
2021-02-25 15:10:29 +08:00
lucaslin
23efc5812a Remove INetworkManagementService from ConnectivityService
Remove INetworkManagementService from ConnectivityService and
related files.

Bug: 174837473
Test: atest FrameworksNetTests FrameworksNetIntegrationTests
Change-Id: Ie6cfd77bbd64a8fd7539b0ea7fd15bf970e40c3d
2021-02-25 15:08:28 +08:00
lucaslin
d5c2d07dab Remove unused INetworkManagementService
Bug: 174837473
Test: atest FrameworksNetTests
Change-Id: I4e4f929f518ae07bf5b4bd1e16d2a85f62ab9d9c
2021-02-25 15:08:18 +08:00
lucaslin
37a16d9574 Remove BaseNetworkObserver from Nat464Xlat
Let ConnectivityService talk to Nat464Xlat through NetworkAgnetInfo
directly:
- Nat464Xlat will be created once there is a new network bringing up,
but Netd doesn't expose the method for unregistering unsolicited event.
- ConnectivityService has already registered netd unsolicited event
listener, so Nat464Xlat doesn't need to register unsolicited event
listenser by itself, it can get the unsolicited event from
ConnectivityService directly.

Bug: 174837473
Test: atest FrameworksNetTests
Change-Id: I751526e8ffa7d25591696ecd8d93b1585c4c20c7
2021-02-25 15:08:05 +08:00
Lucas Lin
19d20f7339 Merge "Replace BaseNetworkObserver with BaseNetdUnsolicitedEventListener" 2021-02-25 06:45:15 +00:00
junyulai
c8d3b9308f Fix copyright license of VpnTransportInfo
Test: TH
Bug: None
Change-Id: Id1fe2c62a0fd60b9833d8b00d2fa2ddc2f031004
2021-02-25 10:31:56 +08:00
Chris Weir
13c3b49fe9 Update tests for PANS network usage metrics
Update existing tests to use new NetworkTemplate/NetworkIdentity
constructors, and add additional tests for new PANS metrics features.

Bug: 175793874
Bug: 174485293
Test: Run the tests in this CL with atest

Change-Id: I6f50993397d886a266874da0047c02022a69f62e
2021-02-23 22:16:19 -08:00
Remi NGUYEN VAN
da62581840 Add public alternative for protectFromVpn
The method is called directly by VpnService#protect.

Bug: 171540887
Test: m
Change-Id: I7cbb1ef1301dcf8d27b2cc39c0431a0156fe3442
2021-02-24 14:49:35 +09:00
James Mattis
ec1fb89d18 Unit test automation for Multi-Default Tracking
Unit test automation validating how multiple default networks are
tracked within ConnectivityService when set by network preferences
used with setOemNetworkPreference() API functionality.

Bug: 178632672
Bug: 172347841
Bug: 170068946
Test: atest FrameworksNetTests
Change-Id: Iae1935944214efaa8a21636c55e6d8be816275f7
2021-02-23 19:03:34 -08:00
Remi NGUYEN VAN
7ad622c832 Fix CaptivePortalDataTest on R
The test can only use setUserPortalUrl(Uri, int) and
setVenueInfoUrl(Uri, int) on S+.

Bug: 180870236
Change-Id: I1cfa765ad12a228e09eb146d1e6e5ba2e3aa3979
Test: atest FrameworksNetTestCases
2021-02-24 02:08:42 +00:00
Chiachang Wang
88163e28a0 Merge "Remove UidRange.createForUser() with userId integers" 2021-02-23 07:17:07 +00:00
Paul Hu
8734459730 Merge "Use PermissionUtils" 2021-02-23 01:48:58 +00:00
Chiachang Wang
abe07f8916 Merge "Move shared methods to net shared lib" 2021-02-23 00:58:59 +00:00
Treehugger Robot
7a9f087992 Merge "Clean up T&C implementation" 2021-02-22 19:58:43 +00:00
lucaslin
66f44213bc Replace BaseNetworkObserver with BaseNetdUnsolicitedEventListener
ConnectivityService will be a part of mainline module, to prevent
using @hide API of NetworkManagementService in TestNetworkService,
use function inside NetdUtils instead.

Bug: 170598012
Test: atest FrameworksNetTests CtsNetTestCasesLatestSdk
Change-Id: Id615f7b900d26d0f5887adcd8221dc8bef239923
2021-02-23 01:12:55 +08:00
Chiachang Wang
9791a9ed0c Remove UidRange.createForUser() with userId integers
UidRange will be a part of connectivity mainline module.
Mainline modules should use strongly-typed UserHandle arguments.
The method also refer to the hidden UserHandle.PER_USER_RANGE
which is not available after UidRange is moved into module.
Thus, replace the usage and remove the createForUser method that
takes userId parameter.

Bug: 170598012
Test: atest FrameworksNetTests
Change-Id: I3f33ea92c4a24342af9ec4b0367c50bb64ce6450
2021-02-22 18:51:14 +08:00
Lucas Lin
9b56fad5b9 Merge changes I852e3a53,I86755647,I0ed8b0c6
* changes:
  Remove unused INetworkManagementService from IpSecService
  Use NetdUtils instead of NetworkManagementService in Vpn
  Use NetdUtils instead of NetworkManagementService in IpSecService
2021-02-22 06:49:39 +00:00
paulhu
d42261fea3 Use alternative PhoneStateListener formal API
MultinetworkPolicyTracker is part of Connectivity mainline module
which cannot call @hide API to register PhoneStateListener. Thus,
replace it to formal API.

Bug: 171183530
Test: atest FrameworksNetTests
Change-Id: Ib02790623e82726aaada33f559226020d1e0019b
2021-02-22 14:31:58 +08:00
Treehugger Robot
e2a5851dd8 Merge "Revert "Revert "Delete VPN methods in ConnectivityManager.""" 2021-02-22 06:12:48 +00:00
Paul Hu
6b5305b3b2 Merge "Stop using SysetmConfig#getSystemPermissions on PermissionMonitor" 2021-02-22 05:22:37 +00:00
Paul Hu
661aa358b6 Merge "Remove ArrayUtils usage in connectivity classes" 2021-02-22 05:22:01 +00:00
Lorenzo Colitti
9c0f2f10fe Revert "Revert "Delete VPN methods in ConnectivityManager.""
1. Stop using ConnectivityManager for VPNs in VpnDialogs.
2. Delete updateLockdownVpn, since all callers have been migrated
   to calling VpnManager directly.
3. Delete the call to VpnManager in factoryReset, since the only
   caller (ResetNetworkConfirm) has been updated to call into
   VpnManager directly.
4. Delete getVpnManager, since it is now unused.

This reverts commit a3c05095ab.

Reason for revert: should be safe to submit now that aosp/1596096 is merged

Bug: 173331190
Test: treehugger
Change-Id: Ife3607c024006ce4fe46c981e9742170becb6331
2021-02-22 05:07:22 +00:00
junyulai
719814c97a [VCN07] Bypass VCN for non-internet app accessible cellular services
Deduce the NET_CAPABILITY_NOT_VCN_MANAGED capability from other
capabilities and user intention, which includes:
   1. For the requests that don't have anything besides
      VCN_SUPPORTED_CAPABILITIES, add the NOT_VCN_MANAGED to
      allow the callers automatically utilize VCN networks
      if available.
   2. For the requests that explicitly add or remove
      NOT_VCN_MANAGED,  do not alter them to allow user fire
      request that suits their need.

Test: atest NetworkRequestTest#testBypassingVcnForNonInternetRequest
Bug: 175662146
Change-Id: I2876264cee14b624c89ba3b380027a8b521ad8ea
  (cherry-picked from aosp/1549817)
2021-02-22 10:19:16 +08:00
James Mattis
b53c4f36b4 Merge "Using defensive copy for default request remove" 2021-02-21 04:28:13 +00:00
James Mattis
c12c1f1ddc Using defensive copy for default request remove
Passing in a defensive copy for the default requests in
ConnectivityService prior to updating that collection so as to not have
issues when removing elements as part of the per-app preference update
flow.

Bug: 176494815
Bug: 178632672
Test: atest FrameworksNetTests
atest FrameworksNetTests:com.android.server
.ConnectivityServiceTest#testSetOemNetworkPreference
ClearPreviousOemValues --iterations

Change-Id: Ia683d5035dda2be35fd2f2b7ee038e806caab6f9
2021-02-20 15:51:24 -08:00
James Mattis
fb0919fb6f Merge "Unit test automation for Multilayer Evaluation" 2021-02-20 21:23:45 +00:00
Junyu Lai
9d8d6ff5c3 Merge "[FUI15] Remove networkId in NetworkState" 2021-02-20 14:00:19 +00:00
paulhu
17ca040931 Stop using SysetmConfig#getSystemPermissions on PermissionMonitor
Repalace the API with SysetmConfigManager#getSystemPermissionUids
and update the design/test accordingly.

Bug: 177188455
Test: atest FrameworksNetTests
Test: atest FrameworksNetIntegrationTests
Test: atest CtsNetTestCases
Change-Id: I8b553b934252b93c60b815715680427a41620054
2021-02-20 16:20:19 +08:00
Chiachang Wang
2f435607da Merge changes I0a75c440,Ief9e8925,Ie03e8276,If0ac9a64,I716bd771
* changes:
  [IT06]Move INetworkActivityListener into connectivity module
  [IT05] Remove the unused network activity logic out from NMS
  [IT4.7] Add network activity info into dumpsys for debugging
  [IT4.6] Unbundle NMS out from ConnectivityManager
  [IT4.5] Update radio power from CS directly
2021-02-20 02:02:46 +00:00
James Mattis
485d92d348 Unit test automation for Multilayer Evaluation
Unit test automation for multilayer network hierarchy evaluation
when using the setOemNetworkPreference() API ConnectivityService.

Bug: 178632672
Bug: 176494815
Bug: 170068946
Test: atest FrameworksNetTests
Change-Id: Ia9b76f49a07eff6a3977faaa41fc67a10f307841
2021-02-19 17:41:01 -08:00
James Mattis
eefc5a1a5b Merge "Unit tests for Multi-Default with Existing APIs" 2021-02-20 01:38:52 +00:00
Nataniel Borges
2633c3e58f Merge "Revert "Delete VPN methods in ConnectivityManager."" 2021-02-19 15:32:46 +00:00
Nataniel Borges
a3c05095ab Revert "Delete VPN methods in ConnectivityManager."
This reverts commit 561229590e.

Bug: 180710918
Reason for revert: Broken build 

Change-Id: I6e6318b4c01ccab27ca3e9f16bb2194aa1d9ffd2
2021-02-19 15:25:33 +00:00
Lorenzo Colitti
da8c72e1d7 Merge "Delete VPN methods in ConnectivityManager." 2021-02-19 14:56:04 +00:00