Commit Graph

11665 Commits

Author SHA1 Message Date
Junyu Lai
bf098917d8 Merge "[VCN06] Support request background network" am: 95f0791724
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1545847

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I5a090a26f0f14317622de9f1971701855723fb56
2021-01-19 01:12:58 +00:00
Junyu Lai
95f0791724 Merge "[VCN06] Support request background network" 2021-01-19 01:04:20 +00:00
Lorenzo Colitti
5a27eb5043 Merge changes Ic5750d4f,I9fa888c9,I4211475f am: c127a58770
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1547495

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I7e727e9e9377690a6badf1a56176138654459493
2021-01-18 14:25:48 +00:00
Lorenzo Colitti
c127a58770 Merge changes Ic5750d4f,I9fa888c9,I4211475f
* changes:
  Deflake testNetworkBlockedStatusAlwaysOnVpn
  Simplify testVpnRestrictedUsers.
  Add test coverage for LockdownVpnTracker.
2021-01-18 14:03:54 +00:00
Treehugger Robot
c000462ea0 Merge "Enforce that NetworkAgentInfo fields are never null." am: 3a6e50bdb9
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1553734

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I12eba91f29b55b7162889e1d44de15580f839195
2021-01-18 10:24:27 +00:00
Treehugger Robot
3a6e50bdb9 Merge "Enforce that NetworkAgentInfo fields are never null." 2021-01-18 09:32:39 +00:00
junyulai
6ecf04d6f7 [VCN06] Support request background network
This will be mainly used by VCN management service which will
need to hold the networks but preserve the backgrounded-ness
of the networks.

Test: android.net.ConnectivityManagerTest#testRequestType
Test: android.net.cts.ConnectivityManagerTest#testRequestBackgroundNetwork /
      --rerun-until-failure 100
Test: ConnectivityServiceTest#testBackgroundNetworks
Test: m -j doc-comment-check-docs
Bug: 175662146
Change-Id: If9aaa87b7e71c2b695ac7b08858850e975b28bb6
2021-01-18 16:32:08 +08:00
Lorenzo Colitti
5c27674ad1 Deflake testNetworkBlockedStatusAlwaysOnVpn
This test flakes about 1% of the time on my device. This is due
to the test calling expectNetworkRejectNonSecureVpn() before the
handler thread has processed the call to setAlwaysOnVpnPackage.

Fix this by waiting for callbacks where it is possible to do so,
and by calling waitForIdle where it is not.

Test: test-only change
Change-Id: Ic5750d4fdf9e7e3654a2b6ade74da6bc5de18fb6
2021-01-18 17:28:52 +09:00
Lorenzo Colitti
79ff36588d Simplify testVpnRestrictedUsers.
Code review comments have suggested that this test is too long
and difficult to understand. Split it into two tests and put some
of the common setup into setup methods and statics.

Bug: 173331190
Test: test-only change
Change-Id: I9fa888c940d7048f1ba6836a5706fbdb84b5f5c9
2021-01-18 17:28:52 +09:00
Lorenzo Colitti
756a7345e8 Add test coverage for LockdownVpnTracker.
Also add a comment to an existing test.

Bug: 173331190
Test: test-only change
Change-Id: I4211475f053f0cdf2b804132c52ce5205a772193
2021-01-18 17:28:50 +09:00
Lorenzo Colitti
83d065696f Enforce that NetworkAgentInfo fields are never null.
These fields have been recently audited, confirmed never to be
null, and annotated @NonNull. Ensure that they can never become
null by throwing exceptions in the codepaths that set them.
Also remove some null checks.

Test: atest FrameworksNetTests
Change-Id: I6ce5bb4d69a990f1c857c599b7e50e372352eb87
2021-01-18 07:49:26 +00:00
Lorenzo Colitti
d9df019897 Merge "Mark several NetworkAgentInfo members @NonNull and address TODO." am: f49e1b0c6c
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1552502

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I904873d1998948ef58e6179a78c5d87834fa7c86
2021-01-18 06:33:36 +00:00
Lorenzo Colitti
f49e1b0c6c Merge "Mark several NetworkAgentInfo members @NonNull and address TODO." 2021-01-18 05:51:38 +00:00
Paul Hu
22a26d0918 Merge "Remove unused IpConnectivityMetrics in CS" am: 671085fbde
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1552660

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If123fae795475433f61f9264f0a2e3b51676056c
2021-01-18 05:45:22 +00:00
Paul Hu
671085fbde Merge "Remove unused IpConnectivityMetrics in CS" 2021-01-18 05:26:35 +00:00
paulhu
a1b4fbe5a0 Remove unused IpConnectivityMetrics in CS
ConnectivityService doesn't call any IpConnectivityMetrics
methods, so remove all usages from CS.

Bug: 177656797
Test: atest FrameworksNetTests
Test: atest FrameworksNetIntegrationTests
Change-Id: I2fb3b6b08cd8013eb8f75882f77ca699a2df927e
2021-01-18 04:03:32 +00:00
Chiachang Wang
bddce89449 Merge "Replace hidden ParcelFileDescriptor constructor usage" am: b60805b832
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1552154

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic3dcae7bce2b8168bff86cfccc7ce83d17d61006
2021-01-18 02:28:04 +00:00
Roshan Pius
56b8d48921 Merge "LocationPermissionChecker: Exempt privileged components from location check" am: fdc3167044
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1550515

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I4af673a7be59c0382f68fc53f1b2704746f53cc3
2021-01-18 02:25:39 +00:00
Chiachang Wang
b60805b832 Merge "Replace hidden ParcelFileDescriptor constructor usage" 2021-01-18 01:59:10 +00:00
Chiachang Wang
c5f86f48b0 Replace hidden ParcelFileDescriptor constructor usage
If IOException happens while trying to start keepalives sockets,
an invalid fd will be constructed. It will fail with
ERROR_INVALID_SOCKET if the user later calls start(). Current
design to construct the invalid fd use the hidden
ParcelFileDescriptor constructor which will not work for the
incoming ConnectivityService mainline. Thus, replace it with
the other formal API.

Bug: 170598012
Test: atest FrameworksNetTests
Change-Id: I57fd7ec2281c5e8c75481200bbde723ecf96982a
2021-01-18 01:58:49 +00:00
Roshan Pius
fdc3167044 Merge "LocationPermissionChecker: Exempt privileged components from location check" 2021-01-18 01:33:31 +00:00
Junyu Lai
70e6084cfd Merge "[VCN05.1] Add unit test for invalid request types" am: 3157c3642a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1552495

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If8af28178d6aca1d90b7c93808a41dee0f80b018
2021-01-16 02:34:13 +00:00
Junyu Lai
3157c3642a Merge "[VCN05.1] Add unit test for invalid request types" 2021-01-16 02:27:28 +00:00
Lorenzo Colitti
131d7c1cbc Mark several NetworkAgentInfo members @NonNull and address TODO.
1. network cannot be null because it's final and the only caller
   of the constructor passes in a fresh copy.
2. linkProperties cannot be null because:
   - The only caller of the constructor passes in a fresh copy.
   - The only assignment to nai.linkProperties is in
     updateLinkProperties, and that dereferences newLp a few
     lines before assigning it.
3. networkCapabilities cannot be null because:
   - The only caller of the constructor passes in a fresh copy.
   - There are no direct assignments to nai.networkCapabilities.
   - All 4 assignments happen via getAndSetNetworkCapabilities:
     - registerNetworkAgentInternal, updateCapabilities and
       applyBackgroundChangeForRematch all pass in the return
       value of mixInCapabilities, which is always non-null.
     - updateNetworkInfo re-assigns the capabilities that were
       already set in the object.
4. networkAgentConfig cannot be null because it's final and
   the only caller of the NetworkAgentInfo constructor passes
   in a fresh copy.

Address a TODO in ConnectivityService to remove a check for the
nai's capabilities being null.

Also fix a style nit pointed out by the linter.

Test: atest FrameworksNetTests
Change-Id: I2e265f1c60a73d6da0222dd6711bc53c32db06ec
2021-01-16 00:56:44 +09:00
Roshan Pius
854f6a6269 LocationPermissionChecker: Exempt privileged components from location check
This is a port of the exemption that exists in WifiPermissionsUtil.
Settings, sysui, network stack needs to be able to access all network
state regardless of location toggle. If we want to move sysui, etc to
retrieve WifiInfo via NetworkCapabilities (which is the current plan),
this exemption is essential since UI should reflect wifi state
regardless of location toggle state.

Bug: 162602799
Test: atest LocationPermissionCheckerTest
Change-Id: I49ce465eccce27bb7a860d882360436fd9ec19c6
2021-01-15 06:51:39 -08:00
junyulai
12cf8caa46 [VCN05.1] Add unit test for invalid request types
Test: atest ConnectivityServiceTest#testInvalidRequestTypes
Bug: 175662146
Change-Id: I595b0bd1cfb88724581f67942cd3891f95c157ab
2021-01-15 21:19:49 +08:00
Aaron Huang
d96402f598 Merge "Refactor setCurrentProxyScriptUrl to a void method" am: 25dc7661a2
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1513131

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I24bb3882c467aa590e37e858df875825221c88a0
2021-01-15 10:19:58 +00:00
Aaron Huang
25dc7661a2 Merge "Refactor setCurrentProxyScriptUrl to a void method" 2021-01-15 10:01:10 +00:00
Treehugger Robot
9e954646a4 Merge "Fix CaptivePortalDataTest on R-" am: 116341a9ef
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1550715

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ie16759138fd84a46bf7d3d30c3a254b2ee72264a
2021-01-15 06:20:18 +00:00
Treehugger Robot
116341a9ef Merge "Fix CaptivePortalDataTest on R-" 2021-01-15 05:26:34 +00:00
James Mattis
fadb5494f1 Merge "Waiting for idle in test" am: 17ac644470
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1550420

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia335a4fedabed9eed6465d08e5ea882c259539e1
2021-01-15 01:52:16 +00:00
Remi NGUYEN VAN
054800f23a Fix CaptivePortalDataTest on R-
The new venue friendly name field is not present on R-

Bug: 162783305
Change-Id: I63bd9c61d27c7d3b07826053373c9c5e38666948
Test: atest FrameworksNetTests
2021-01-15 01:13:27 +00:00
James Mattis
17ac644470 Merge "Waiting for idle in test" 2021-01-15 00:28:54 +00:00
Roshan Pius
efe287deb1 Merge "NetworkCapabilities: Embed location senstive TransportInfo" am: 7cdb30ec22
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1508602

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ie88978197172519e6bd26182e1d24178769b3741
2021-01-14 16:08:04 +00:00
Roshan Pius
7cdb30ec22 Merge "NetworkCapabilities: Embed location senstive TransportInfo" 2021-01-14 15:38:15 +00:00
Lorenzo Colitti
6c1a0bbf28 Merge changes I28e39400,Ibada8b42 am: a34c401619
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1548870

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I59bcae23f71d57715845b1f613c0733a04725763
2021-01-14 11:00:43 +00:00
Lorenzo Colitti
a34c401619 Merge changes I28e39400,Ibada8b42
* changes:
  UserManager restricted profile SystemApis
  Improve testing of CONNECTIVITY_ACTION broadcasts.
2021-01-14 10:39:48 +00:00
Aaron Huang
8754a60bb9 Merge "Migrate Slog usage in MultinetworkPolicyTracker to Log" am: 3637b6d0bf
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1549720

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id726928bd9363d01de8aaafd19e07db8498897c7
2021-01-14 09:23:25 +00:00
Aaron Huang
3637b6d0bf Merge "Migrate Slog usage in MultinetworkPolicyTracker to Log" 2021-01-14 09:10:17 +00:00
Adam Bookatz
283e061fba UserManager restricted profile SystemApis
Makes two new SystemApis:
getRestrictedProfileParent()
canHaveRestrictedProfile()

Temporarily disables VPN Tests that rely on the old APIs until those
tests are updated (b/175883995).

Bug: 171529940
Test: atest FrameworksNetTests:com.android.server.connectivity.VpnTest
Test: Tests for UserManager SystemApis are TODO awaiting completion of new user test infrastructure (b/163890431)
(cherry picked from commit dde2e9e897)
Change-Id: I28e39400039631e7d391dc7b0d003e8a38d1f06a
2021-01-14 17:39:13 +09:00
Lorenzo Colitti
a39f357fb0 Improve testing of CONNECTIVITY_ACTION broadcasts.
We currently test CONNECTIVITY_ACTION broadcasts by directly
registering BroadcastReceivers with BroadcastInterceptingContext,
and making the receivers unregister themselves when all the
broadcasts they expect have been received.

This works for current test cases, but does not work if anything
registers another receiver for CONNECTIVITY_ACTION. In that case,
when we unregister the receiver in the receiver's onReceive
method, BroadcastInterceptingContext will throw a
ConcurrentModificationException because the list of receivers is
being modified during iteration.

Fix this by adding an ExpectedBroadcast class that stores the
receiver and unregisters the receiver only when the test checks
that the broadcast was received, which happens after the receiver
runs. This is easier to use and also guarantees that the receiver
is unregistered even if the test is expecting that the broadcast
is never fired. Accordingly, remove mRegisteredReceivers and the
code that uses it; it's no longer necessary now that
ExpectedBroadcast always unregisters its receivers.

Also add a convenience expectConnectivityAction method to expect
a CONNECTIVITY_ACTION broadcast with specific contents. This
makes the test easier to read and more detailed. Convert some
existing tests to this method.

While I'm at it, fix a test that was using "mCellNetworkAgent" to
represent a wifi network.

Bug: 173331190
Test: test-only change
Change-Id: Ibada8b4215625e1016d9fd170526206920af76f5
2021-01-14 17:11:28 +09:00
Junyu Lai
b728deeb7f Merge "[VCN05] Pass request type when requesting network" am: 8188af4521
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1545846

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I2f617b172ca17748b6e6be0afbf3474b5629dec7
2021-01-14 07:43:35 +00:00
Junyu Lai
8188af4521 Merge "[VCN05] Pass request type when requesting network" 2021-01-14 06:52:46 +00:00
Aaron Huang
28fd7803b0 Refactor setCurrentProxyScriptUrl to a void method
setCurrentProxyScriptUrl is used by ProxyTracker which is
included in connectivity service mainline module. To make
this method @SystemApi in follow-up patch, change this
from a boolean method to a void method. Moving the send or
not send broadcast logic to caller because it can know
whether it needs to send a broadcast or not.

Bug: 177035719
Test: FrameworksNetTests
Change-Id: I7c0fd20bb449463a65952cfa9fb8a42310da079c
2021-01-14 12:19:26 +08:00
Aaron Huang
51203ec517 Merge "Rename PacManager to PacProxyInstaller" am: 8505c870cd
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1513130

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Idf8192ca563275048acccbf6163f7effc4b04781
2021-01-14 01:54:51 +00:00
Aaron Huang
fc52b82254 Migrate Slog usage in MultinetworkPolicyTracker to Log
Connectivity mainline module cannot use hidden API so
replace Slog with Log which is a public API.

Test: FrameworksNetTests
Change-Id: I8758079cf635ff4ab218df53c0f7bf6fc23ce476
2021-01-14 09:53:38 +08:00
Aaron Huang
8505c870cd Merge "Rename PacManager to PacProxyInstaller" 2021-01-14 01:52:24 +00:00
James Mattis
3e1eddeab7 Waiting for idle in test
Waiting for idle in testRequestsSortedByIdSortsCorrectly to give it time
to handle async operations as part of registering network callbacks.

Bug: 177376544
Test: atest FrameworksNetTests:ConnectivityServiceTest#
testRequestsSortedByIdSortsCorrectly --rerun-until-failure 200

Change-Id: I268c4607d1a4c79e79f1385f014563cea0c2f979
2021-01-13 13:56:50 -08:00
satayev
f9253eefae Merge "Revert "[VCN01] Add NOT_VCN_MANAGED capability"" am: ca95071a98
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1549962

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I03dade86df57e4728eea88ab9b148251a1097c85
2021-01-13 18:32:31 +00:00
satayev
ca95071a98 Merge "Revert "[VCN01] Add NOT_VCN_MANAGED capability"" 2021-01-13 17:40:03 +00:00