Commit Graph

680 Commits

Author SHA1 Message Date
Lucas Lin
9cf690d187 Merge changes I35ed84fc,Ie6cfd77b,I4e4f929f,I751526e8 am: 51510ea705 am: 0fef75ee53 am: e5d40c1933
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1607733

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I54ef9fd59388908f38721671dd26f536fab719bb
2021-03-02 19:54:22 +00:00
Lucas Lin
51510ea705 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
Shuo Qian
8b8f2625db Merge changes from topic "cp-rvc-aosp" into sc-dev
* changes:
  [automerged blank] Add Emergency callback mode shell command 2p: b201f9b1e6
  Add Emergency callback mode shell command
2021-02-26 22:56:18 +00:00
Junyu Lai
5b4c4fea18 Merge "[VCN07] Bypass VCN for non-internet app accessible cellular services" am: 4cfe6d8f57 am: 711ce9c728 am: 54319cbd0a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1597954

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Iade334bfade0457afc6ab2806e481a5e0c85616c
2021-02-26 17:25:16 +00:00
James Mattis
5e9d75930f Merge "Unit test automation for Multi-Default Tracking" am: 8b3ccda6bb am: 142f7c3e80 am: d77e30fade
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1579207

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I1ddb565af1106f10186c83debd6d20be850d4198
2021-02-26 13:05:37 +00:00
Junyu Lai
4cfe6d8f57 Merge "[VCN07] Bypass VCN for non-internet app accessible cellular services" 2021-02-25 10:16:03 +00:00
lucaslin
7abe207795 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
1f110f6760 Remove unused INetworkManagementService
Bug: 174837473
Test: atest FrameworksNetTests
Change-Id: I4e4f929f518ae07bf5b4bd1e16d2a85f62ab9d9c
2021-02-25 15:08:18 +08:00
Sarah Chin
02be60c442 Merge "APIs for 5G slicing" into sc-dev 2021-02-24 17:36:45 +00:00
James Mattis
0b82004d34 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
89d6183cdf Merge "Remove UidRange.createForUser() with userId integers" am: 9c92c37f56 am: 5809c1f054 am: 58becf95ef
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1596511

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I1a3c072f7b82e51b5fb71f8c591680cfc1d0041b
2021-02-24 02:14:37 +00:00
Paul Hu
83b9264bad Merge "Stop using SysetmConfig#getSystemPermissions on PermissionMonitor" am: 19af44e2ce am: bdc150f744 am: f4d45a9d21
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1545848

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I7902f041b29dbf4cf2a05bf4885f0e4fa2af0528
2021-02-23 22:55:02 +00:00
Chiachang Wang
9c92c37f56 Merge "Remove UidRange.createForUser() with userId integers" 2021-02-23 07:17:07 +00:00
Sarah Chin
3543f3c2fb APIs for 5G slicing
Create TrafficDescriptor class
Create new APN ENTERPRISE
Update setupDataCall and DataCallResponse to take TrafficDescriptor and
matchAllRuleAllowed
Move ApnTypes from Annotation to ApnSetting

Bug: 179312227
Test: atest FrameworksTelephonyTests
Change-Id: I7433976bfe25bcb2af85ffb9338959cbcc9f42f3
2021-02-22 21:58:07 -08:00
Chiachang Wang
66ded137bf 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
Paul Hu
19af44e2ce Merge "Stop using SysetmConfig#getSystemPermissions on PermissionMonitor" 2021-02-22 05:22:37 +00:00
junyulai
b453bb6245 [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
f01c170ce6 Merge "Unit test automation for Multilayer Evaluation" am: c1115803bc am: 762fabc387 am: 5fdad41112
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1579206

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ie7d3de8491541219c9ef1faa461c3160cc988e01
2021-02-20 23:14:57 +00:00
James Mattis
c1115803bc Merge "Unit test automation for Multilayer Evaluation" 2021-02-20 21:23:45 +00:00
paulhu
0ab41fc1f3 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
6aca8c36e0 Merge changes I0a75c440,Ief9e8925,Ie03e8276,If0ac9a64,I716bd771 am: 63bc7bd3c2 am: 7fcc3efb9c am: 2540861d4f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1573943

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I52c41154ae3364774e63376fbdd5a9f42727b65f
2021-02-20 05:04:03 +00:00
James Mattis
863c453b51 Merge "Unit tests for Multi-Default with Existing APIs" am: ed4288b164 am: 372d3e6868 am: 4b7b85456a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1579208

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ibae6928e620a5029986b71b2cf13c3137d39be9d
2021-02-20 03:29:18 +00:00
Chiachang Wang
63bc7bd3c2 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
a917e5a283 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
ed4288b164 Merge "Unit tests for Multi-Default with Existing APIs" 2021-02-20 01:38:52 +00:00
Lorenzo Colitti
7f1eadbe6a Merge changes I0e6df469,I3d46d5f7 am: b9c396b87a am: a3bb15cb68 am: 8b9dd57280
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1591457

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I44e26cb8d6e8071c7467316bfb60047d1ea10a22
2021-02-19 09:40:14 +00:00
Lorenzo Colitti
065fd6c9cf Merge "Fix all Log.wtfs in FrameworksNetTests." am: 6c77e14663 am: d5333b7255 am: 45553222e1
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1591458

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I715658a8f15dada6fd0f248d897d2bc294bacf1a
2021-02-19 09:39:11 +00:00
Lorenzo Colitti
b9c396b87a Merge changes I0e6df469,I3d46d5f7
* changes:
  Fix testMobileDataAlwaysOn flakiness
  Speed up NetworkFactory tests.
2021-02-19 08:13:38 +00:00
Lorenzo Colitti
fd490bff45 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
eca4d9081f Fix testMobileDataAlwaysOn flakiness
Test: atest --iterations 100 CST#testMobileDataAlwaysOn
Change-Id: I0e6df4694752dab7a5938e8f8bd88c7da7c3fcd5
2021-02-18 16:45:27 +09:00
Chalard Jean
b9078bd101 Speed up NetworkFactory tests.
Somehow this big slowdown escaped review.

Test: ConnectivityServiceTest
Change-Id: I3d46d5f7a986b3586b7e6044eb10aba756bb6ceb
2021-02-18 16:45:26 +09:00
lucaslin
bc76bd407d [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
a418947cfa Merge "Unit test automation for Per-App API functionality" am: 3341199c33 am: e7c714140f am: 5dc7396284
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1562555

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I559adbea15bef817f5f258e38597d169307c6f65
2021-02-17 19:45:57 +00:00
James Mattis
b9a7cc01af Unit tests for Multi-Default with Existing APIs
Unit test automation validating existing APIs
ConnectivityService work as expected with multiple default networks.

Bug: 178632672
Bug: 178729499
Bug: 172347841
Bug: 170068946
Test: atest FrameworksNetTests
Change-Id: Id498cb7222ffddc565cbb93970e96479374153e4
2021-02-17 11:17:06 +00:00
James Mattis
ad4cae7958 Unit test automation for Per-App API functionality
Unit test automation for setOemNetworkPreference() API functionality on
ConnectivityService.

Bug: 178632672
Bug: 176494815
Bug: 170068946
Test: atest FrameworksNetTests
Change-Id: Ib76917f0fa78b736207f82d99137a6cf49481b20
2021-02-17 08:55:20 +00:00
Remi NGUYEN VAN
156f824ad2 Merge "Revert "[VCN07] Bypass VCN for non-internet app accessible cellu..."" am: 9efa77801d am: 0b263af1fe am: fe0e96c08b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1585569

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I88648d8cab6081c178ecdd3b38935658a78b78dc
2021-02-16 02:23:51 +00:00
Lorenzo Colitti
1fc48edf8c Merge "BroadcastInterceptingContext: use passed-in broadcast Handler." am: 4346a646e3 am: 46654fe81d am: 61dd4acc51
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1589251

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I5d38e78800c9a524ae7ccf5d55ebae1a9f60922f
2021-02-15 12:08:03 +00:00
Remi NGUYEN VAN
9efa77801d Merge "Revert "[VCN07] Bypass VCN for non-internet app accessible cellu..."" 2021-02-15 11:39:25 +00:00
Lorenzo Colitti
8fdfd46218 BroadcastInterceptingContext: use passed-in broadcast Handler.
Currently, BroadcastInterceptingContext always runs broadcast
receivers on the thread that called sendBroadcast. This means:

1. Receivers might run on the wrong thread, making the test less
   realistic.
2. If any receiver checks what thread it's running on, then
   either the check needs to be modified or deleted, or the test
   must call sendBroadcast on the thread that the receiver
   expects to run on. The latter is impossible when there is more
   than one receiver that needs to run on more than one thread.

This CL adds a setUseRegisteredHandlers method that allows tests
to say that they want each receiver to run on the Handler
specified at registration time.

This CL also enables the new mode for ConnectivityServiceTest,
and resolves a TODO to re-enable a disabled thread check.

The new mode cannot be enabled by default because it would break
most of the tests.

All the below tests pass except for the car bluetooth test
testAutoConnectAdapterOff_returnsImmediately which was already failing.

Bug: 173331190
Test: atest CarInputServiceTest BluetoothProfileDeviceManagerTest
Test: atest NetworkPolicyManagerServiceTest
Test: atest ConnectivityServiceTest
Test: atest TetheringTest TetheringNotificationUpdaterTest
Test: atest VersionedBroadcastListenerTest EntitlementManagerTest
Test: atest TetheringConfigurationTest
Test: atest CachedDeviceStateServiceTest
Test: atest EmergencyAffordanceServiceTest
Change-Id: I3303bb14516f07a55d82a16b59c111ab3f8b0389
2021-02-15 10:40:32 +00:00
Lorenzo Colitti
202658f0a4 Merge changes Ia68f482a,I4911e214,Ied379654,I66d18512,Ie8e1bd63 am: 45ec3191a7 am: 246444fef7 am: ed9730e6f9
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1581293

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I698b6b082b121c004b2c8b05ef423da1bd8b871b
2021-02-15 01:32:50 +00:00
Lorenzo Colitti
45ec3191a7 Merge changes Ia68f482a,I4911e214,Ied379654,I66d18512,Ie8e1bd63
* changes:
  Check registering system default callback needs NETWORK_SETTINGS.
  Move VPN code from ConnectivityService to VpnManagerService.
  Add a skeleton VpnManagerService, and start it on boot.
  Convert LockdownVpnTracker to NetworkCallbacks.
  Minor fixes to VpnTransportInfo.
2021-02-15 00:00:47 +00:00
Remi NGUYEN VAN
c02c76e68a Revert "[VCN07] Bypass VCN for non-internet app accessible cellu..."
Revert submission 1579872-vcn07

Reason for revert: Possible culprit for b/179768816, broken ConnectivityControllerTest
Reverted Changes:
Id09b19c13:Address comments on aosp/1550755
I245bd69e0:[VCN07.1] Add test for bypassing VCN for non-inter...
I9936894b9:[VCN07] Bypass VCN for non-internet app accessible...

Change-Id: Ie5f8c3051fed40623e5d4705ac2243ef51a898bd
2021-02-12 04:09:15 +00:00
Lorenzo Colitti
fad82fdcf5 Check registering system default callback needs NETWORK_SETTINGS.
Also address a code review comment.

Bug: 173331190
Test: test-only change
Change-Id: Ia68f482af6d10af203bdbd4e14a12ae0b12bb6b5
2021-02-12 01:12:48 +09:00
Lorenzo Colitti
3dc6dbe80f Move VPN code from ConnectivityService to VpnManagerService.
ConnectivityService itself does not depend on mVpns or the Vpn
class any more. Most of this CL is simply moving code from one
class to another:

- Move the AIDL calls from IConnectivityManager to IVpnManager.
- Move the implementation from ConnectivityService to
  the new VpnManagerService.
- Move the APIs from ConnectivityManager to VpnManager, but
  temporarily maintain some shims in ConnectivityManager for the
  moved calls so that existing callers do not have to be modified
  in this CL.
- Update VpnService to call IVpnManager instead of
  IConnectivityManager.
- Move the code that registers the VpnManager service from
  ConnectivityFrameworkInitializer to SystemServiceRegistry.

Bug: 173331190
Test: atest HostsideVpnTests FrameworksNetTests CtsNetTestCases
Change-Id: I4911e2144df721a94fa00da9edf0dc372a7091c2
2021-02-12 01:12:24 +09:00
Lorenzo Colitti
8e40a0623c Convert LockdownVpnTracker to NetworkCallbacks.
This will allow moving LockdownVpnTracker from the connectivity
to the VPN code. This requires moderate refactoring since it's
pretty tightly coupled to both.

In this CL:

1. Add an @hide API to tell ConnectivityService that legacy
   lockdown VPN is enabled. I chose not to use the existing
   setVpnRequiredForUids API because that method has specific
   semantics and because it will be required long term since
   it's used by non-legacy VPN types.

2. Instead of updating LockdownVpnTracker inline from the
   ConnectivityService handler thread, have it listen to
   NetworkCallbacks. This introduces an extra thread hop, but
   most of the interactions between the lockdown VPN and CS were
   via NetworkAgent, which is asynchronous anyway.

3. Add code to LegacyTypeTracker to send the extra
   CONNECTIVITY_ACTION broadcast for the underlying network type
   that is sent after the VPN connects. In order to do this, make
   Make LockdownVpnTracker specify its underlying network
   (via setUnderlyingNetworks) when it connects.

4. Reimplement LockdownVpnTracker#augmentNetworkInfo based on
   information that is available in ConnectivityService.

5. Remove the code in LockdownVpnTracker that counted errors.
   I think this code has not worked since lollipop, because
   ConnectivityService never sees NetworkInfo objects in state
   FAILED. This is because ConnectivityService only hears about
   NetworkInfo objects via NetworkAgents, and LegacyVpnRunner
   only registers its NetworkAgent when the connection succeeds.

Bug: 173331190
Test: passes existing tests in ConnectivityServiceTest
Change-Id: I66d18512882efd468ee0ecec61f28786a195b357
2021-02-12 01:07:29 +09:00
Lorenzo Colitti
5fb746fd88 Minor fixes to VpnTransportInfo.
This CL addesses comments on aosp/1570921.

Bug: 173331190
Test: new test coverage
Change-Id: Ie8e1bd63bb818a03f4b17402e1b365577ca034a2
2021-02-11 23:28:00 +09:00
Hai Shalom
4fe9621362 Merge "Support for Terms & Conditions notification" am: c1e52b8003 am: 9a7b2907a9 am: 4e0c1992db
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1557451

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0a47d12f41b9247910078ec8d6cd6e1f1589956e
2021-02-10 16:55:42 +00:00
Hai Shalom
c1e52b8003 Merge "Support for Terms & Conditions notification" 2021-02-10 15:36:58 +00:00
Lorenzo Colitti
d438be4ba8 Merge changes from topics "vpnmove-getconnectionowneruid", "vpnmove-systemdefaultcallback", "vpnmove-vpntransportinfo" am: 250855cb84 am: 70e0f6035a am: 32942ed2a6
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1572981

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I961b6442d53c1cb00af642866b7e49d151a9ab1e
2021-02-10 07:46:14 +00:00
Lorenzo Colitti
9cc08edf1f Stop using mVpns in getConnectionOwnerUid.
Use data that is already available in ConnectivityService
instead.

The behaviour of the new implementation is slightly different
from Q and R code when the permission check fails.

- The old code would throw a SecurityException if an app that
  was not an active VPN called the method, and would return
  INVALID_UID if the connection belonged to a UID that was not
  subject to the VPN.
- The new code returns INVALID_UID in both cases.

This does not seem like a compatibility problem. The only case in
which the code throws SecurityException is if the app is not a
current VPN app, but the app already knows whether it is or not.
The docs don't mention that the method SecurityException, either.

Bug: 173331190
Test: atest FrameworksNetTests
Test: atest HostsideVpnTests
Change-Id: If3d031e74df33b5c97e12ebf02272faac6769d50
2021-02-10 02:52:16 +09:00