Commit Graph

11842 Commits

Author SHA1 Message Date
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
Junyu Lai
c8c6433b56 Merge "[VCN07] Bypass VCN for non-internet app accessible cellular services" 2021-02-25 10:16:03 +00:00
Lucas Lin
19d20f7339 Merge "Replace BaseNetworkObserver with BaseNetdUnsolicitedEventListener" 2021-02-25 06:45:15 +00: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
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
Lorenzo Colitti
561229590e 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.

Test: m
Bug: 173331190
Change-Id: I5d071281c0e36f6523fea10671a9abf994c66d66
2021-02-19 17:34:30 +09:00
Lorenzo Colitti
e218007df3 Merge changes I0e6df469,I3d46d5f7
* changes:
  Fix testMobileDataAlwaysOn flakiness
  Speed up NetworkFactory tests.
2021-02-19 08:13:38 +00:00
Lorenzo Colitti
3fa1ba6d66 Merge "Fix all Log.wtfs in FrameworksNetTests." 2021-02-19 07:49:27 +00:00
Treehugger Robot
61f3c6da64 Merge "Use formal API for ActivityThread to set proxy" 2021-02-19 05:42:06 +00:00
Remi NGUYEN VAN
b33335c136 Use formal API for ActivityThread to set proxy
Add setHttpProxyConfiguration to the public API, and use
ConnectivityManager APIs from ActivityThread (instead of hidden APIs) to
get/set the proxy for an app process.

The default proxy is now initialized with getDefaultProxy instead of
getProxyForNetwork(null); this should not make a difference, as nothing
should have called bindProcessToNetwork at that point yet.

Bug: 174436414
Test: m; device boots
Merged-In: Ifb516194ecde1567cea4b6806946091cdcf2f015

Change-Id: I06b797eeae54609aecdc0afe1df4e6c602a17a69
2021-02-19 13:53:56 +09:00
Remi NGUYEN VAN
d2de4cff26 Merge "Split parcelable .aidl files to aidl-export" 2021-02-19 02:21:25 +00:00
paulhu
df23d66577 Use PermissionUtils
The checking permission methods on NetworkStack has migrated to
PermissionUtils. Let these methods refer to PermissionUtils but
still keep them because lots of frameworks modules are using
NetworkStack methods to check permission.

Also replace the NetworkStack#checkNetworkStackPermission to
PermissionUtils in CS.

Bug: 178352309
Test: atest FrameworksNetTests
Change-Id: Icd38aa17fe471b810978e21ea361c41719e7802d
2021-02-18 23:20:23 +08:00
Lorenzo Colitti
23e7e5c862 Fix all Log.wtfs in FrameworksNetTests.
These cause the tests to crash on eng builds, so disrupt
development.

Test: atest FrameworksNetTests passes on eng build
Change-Id: Ifa5131fdb8f57af812cf688970be6588d2879c29
2021-02-18 21:13:04 +09:00
Chalard Jean
bfe704fdc3 Merge "Optimization when looking up requests for release" 2021-02-18 08:33:09 +00:00
Chalard Jean
5e8ed0d307 Fix testMobileDataAlwaysOn flakiness
Test: atest --iterations 100 CST#testMobileDataAlwaysOn
Change-Id: I0e6df4694752dab7a5938e8f8bd88c7da7c3fcd5
2021-02-18 16:45:27 +09:00
Chalard Jean
94cb442983 Speed up NetworkFactory tests.
Somehow this big slowdown escaped review.

Test: ConnectivityServiceTest
Change-Id: I3d46d5f7a986b3586b7e6044eb10aba756bb6ceb
2021-02-18 16:45:26 +09:00
Lorenzo Colitti
114b88957e Merge "Fix merge conflict." 2021-02-18 05:22:56 +00:00
Remi NGUYEN VAN
3d159fc3fb Remove ArrayUtils usage in connectivity classes
Instead, use CollectionUtils from frameworks/libs/net.

Bug: 174541037
Test: atest FrameworksNetTests
Change-Id: I71b574f67fc9a88063925bc75f7c1441e585b815
2021-02-18 12:06:28 +08:00
Chiachang Wang
6a7d31e579 [IT06]Move INetworkActivityListener into connectivity module
INetworkActivityListener is hidden and the only usage is inside
the connectivity module. Thus, move this into module scope.

Bug: 170598012
Test: atest FrameworksNetTests
Change-Id: I0a75c440c1daa773217bbd362b212fda4d07ec64
2021-02-18 12:03:21 +08:00
lucaslin
012f7a14a5 [IT4.7] Add network activity info into dumpsys for debugging
Add network activity info into part of ConnectivityService dump
for debugging.

Sample dump:

Legacy network activity:
  mNetworkActive=true
  Idle timers:
    wlan0:
      timeout=15 type=1

Bug: 170598012
Test: adb shell dumpsys connectivity
Change-Id: Ie03e82767564543d8d143873d7ddc0ea07102cb2
2021-02-18 11:59:40 +08:00
lucaslin
1193a5d5f1 [IT4.6] Unbundle NMS out from ConnectivityManager
ConnectivityService is no longer to update idle timer to NMS but
send to INetd directly after this change. Replace the API
implementation in ConnectivityManager to refer into
ConnectivityService instead of NetworkManagementService to remove
the dependency between CM and NMS for ConnectivityService mainline.

Bug: 170598012
Test: atest FrameworksNetTests
Change-Id: If0ac9a6427dba5a732a15b5d7ca1351b71b07b7b
2021-02-18 11:48:06 +08:00
James Mattis
d764759ca3 Optimization when looking up requests for release
Including an optimzation in handleReleaseNetworkRequest when
looking up a request so that in the chance an app shuts down prior to
the request being released, it doesn't cause errors when looking
validating that apps uid->package name.

Bug: 178729499
Test: atest FrameworksNetTests
atest ExtServicesUnitTests on CF and making sure no remote exceptions.

Change-Id: I2c49511a1385b47fba075b2794685ae2bc80abba
2021-02-17 19:34:43 -08:00
lucaslin
b961efcbbc [IT4.5] Update radio power from CS directly
There were two ways to update the network activity from
NetworkManagementService to BatteryStatsService.
  1. The Netd unsolicited event onInterfaceClassActivityChanged
  2. The idle timer setup and removal

The first path was replaced by previous patch to listen netd
event from BSS directly. BSS does not rely on NMS to notify
event from netd now.

This patch is going to replace the second path. In order to clear
the dependency between NMS and CS, the idle timer setup and
removal will be sent from CS to INetd directly without going via
NMS in the follow up patches. NMS will no longer receive the
idle timer update. Thus, update the radio power status from CS
to BSS directly to separate the network activity logic from NMS.

Bug: 170598012
Test: atest FrameworksNetTests
Change-Id: I716bd77168896b29a6e04f592adcf27b82edebca
2021-02-18 10:43:45 +08:00