Commit graph android_packages_modules_Co.../tests/net/java
Message SHA1
Merge "Fix legacy APIs when VPN switches to suspended underlying network." am: 83563fd735 am: d892e45c9b am: edd29a2f23
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1547497

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I21c1c7913987a2bb4d486e6ce8da24a76ddf2dc6

Lorenzo Colitti   authored and   Automerger Merge Worker   commited 2021-01-28 08:06:46 +00:00
29e36cb8c8
Merge "Fix legacy APIs when VPN switches to suspended underlying network."
Lorenzo Colitti   authored and   Gerrit Code Review   commited 2021-01-28 07:07:37 +00:00
83563fd735
Merge "Revert "Revert "Note network interfaces based on transport""" into sc-dev
TreeHugger Robot   authored and   Android (Google) Code Review   commited 2021-01-28 05:55:23 +00:00
359e963945
Merge "[FUI03] No-op refactoring of VpnInfo" am: c1140f2a33 am: 2b6868d243 am: 85c56d4826
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1547637

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I05e6b14fca44919610317831c147413b0a431224

Treehugger Robot   authored and   Automerger Merge Worker   commited 2021-01-27 14:16:00 +00:00
524489652e
Revert "Revert "Note network interfaces based on transport""
Instead of classifying interfaces by network type in BatteryStats,
classify them based on the transports array provided by the
NetworkAgent.

Network types are deprecated and transports should be used instead. This
change allows BatteryStats to stop depending on unstable APIs such as
isNetworkTypeMobile.

This change also updates nullability annotations in ConnectivityService
and NetworkAgentInfo to show that the NetworkCapabilities are non-null
(as provided by the network agent) when calling
noteNetworkInterfaceTransports.

This is rolling forward a previously reverted change. The new change
also fixes MobileRadioPowerCalculatorTest that was broken when
submitting the previous change.

Bug: 174436414
Test: atest
      atest ConnectivityServiceTest#testBatteryStatsNetworkType \
          --rerun-until-failure 40

Merged-In: I4e928fac8a57a9b1fc758a44af2a5719b8c871b8

Change-Id: I4e928fac8a57a9b1fc758a44af2a5719b8c871b8
(cherry picked from commit 2d17d202bc709c205506c03149d847f00f92d78d)

Remi NGUYEN VAN   commited 2021-01-27 09:02:22 +00:00
4768f6316e
Merge changes I713bc2ec,Ib9ab07c9 am: c5a7a59483 am: efeaa56ba6 am: 8b8a8fc5de
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1537264

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I4b291a4e82b89d3808e9bcd980d5b2aa4d2b1b71

Treehugger Robot   authored and   Automerger Merge Worker   commited 2021-01-27 07:53:30 +00:00
6d457c9156
[FUI03] No-op refactoring of VpnInfo
As a preparation of exposing system API. This patch does some
harmless refactoring, which includes:
  1. Move VpnInfo to android.net
  2. Add nullability annotations
  3. Make members final

Bug: 174123988
Test: TH
Change-Id: I1530bb45d0e84c28c6deac33596bc686058afc0d

junyulai   commited 2021-01-27 15:03:06 +08:00
bd7f3cd75b
Merge changes I713bc2ec,Ib9ab07c9
* changes:
  [FUI05] Remove wimax data usage unit test
  [FUI14] Get SSID from NetworkCapabilities

Treehugger Robot   authored and   Gerrit Code Review   commited 2021-01-26 13:13:24 +00:00
c5a7a59483
Merge "Revert "Note network interfaces based on transport""
Remi NGUYEN VAN   authored and   Android (Google) Code Review   commited 2021-01-26 04:25:56 +00:00
f4ae885dbd
Revert "Note network interfaces based on transport"
This reverts commit 6e1b16c9fe.

Reason for revert: Broke build of tests: b/178441996

Change-Id: Idaf35fa02f76852fa8134b0d505467007f6d0f60

Remi NGUYEN VAN   commited 2021-01-26 04:22:54 +00:00
f9054ed6bd
Merge "Note network interfaces based on transport"
Remi NGUYEN VAN   authored and   Android (Google) Code Review   commited 2021-01-26 03:20:21 +00:00
5e420d9ef4
Merge "Add method to match address \ port with QosFilter" am: 591fe5327c am: c6e47cad53 am: 22b01d88ca
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1510591

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id9951a0be8821192e3fb403787d096c538d691cf

Daniel Bright   authored and   Automerger Merge Worker   commited 2021-01-26 00:22:58 +00:00
946f6661c2
[FUI05] Remove wimax data usage unit test
In follow-up patches, the network type will be derived from
transport types, which officially doesn't support wimax.
Thus, remove the test which rely on it first since it is
not needed and will not be needed.

Test: atest FrameworksNetTests
Bug: 174123988
Change-Id: I713bc2ec39e3a4fa19ed13d2e9ff9ae35477d726

junyulai   commited 2021-01-22 23:58:14 +08:00
cb95247c1e
[FUI14] Get SSID from NetworkCapabilities
This allows subsequent patches to remove the need of exposing
SSID in NetworkState.

Test: atest NetworkStatsServiceTest
Bug: 174123988
Change-Id: Ib9ab07c9610954c9a5de035a3aefbf6d0bb0b53b

junyulai   commited 2021-01-22 23:58:14 +08:00
de493c006a
Merge "Add Qos Callback support" am: 29f0f6d47f am: b97f23ae96 am: f14671c09a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1386623

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If0a123f16951c88cc5881fba8865fae822ba92f0

Chalard Jean   authored and   Automerger Merge Worker   commited 2021-01-22 14:52:58 +00:00
04ba35dc06
Add method to match address \ port with QosFilter
* The match method is only for local address and port since we have
no other use case.

Bug: 155176305
Test: Added new test
Change-Id: I7b45f9912af6a192fc60606f5e0b4cc479aea93f

Daniel Bright   commited 2021-01-22 06:24:41 -08:00
07dd129bbe
Add Qos Callback support
* Provide App Developers Qos related info associated to
  a bound socket through ConnectivityManager
* Qos sessions are generated and filtered by Network Agents
  and sent back through the Connectivity Service to the
  API consumer.
* The structure of the code within com.android.server
  is designed to support different types of filters in the
  the future.
* The first type of Qos Attributes are related to EPS
  Bearers in order support RCS.

Bug: 155176305
Test: Added to cts/NetworkAgentTest
Test: Added to ConnectivityServiceTest
Change-Id: I145dd065d9deeee449eb9695ab3f6c8556ee7c09

Daniel Bright   commited 2021-01-21 20:14:52 -08:00
60f02ed76b
Note network interfaces based on transport
Instead of classifying interfaces by network type in BatteryStats,
classify them based on the transports array provided by the
NetworkAgent.

Network types are deprecated and transports should be used instead. This
change allows BatteryStats to stop depending on unstable APIs such as
isNetworkTypeMobile.

This change also updates nullability annotations in ConnectivityService
and NetworkAgentInfo to show that the NetworkCapabilities are non-null
(as provided by the network agent) when calling
noteNetworkInterfaceTransports.

Bug: 174436414
Test: atest
      atest ConnectivityServiceTest#testBatteryStatsNetworkType \
          --rerun-until-failure 40

Change-Id: Icc912473d97a42eef73eb953607c9161fdbeb794

Remi NGUYEN VAN   commited 2021-01-20 15:53:54 +09:00
6e1b16c9fe
Fix legacy APIs when VPN switches to suspended underlying network.
Currently, when the VPN underlying network changes from a
network that is not suspended to one that is suspended (or vice
versa), some of the legacy APIs return incorrect results.

This is because the VPN's NetworkInfo can get into SUSPENDED
state even though the capabilities have the NOT_SUSPENDED
capability. This happens because the code in updateCapabilities
that checks for changes in NOT_SUSPENDED and NOT_ROAMING (which
are the capabilities that can affect the NetworkInfo state) is
only run when the capabilities change in a certain way.

Fix this by always checking for changes in these capabilities,
regardless of what else has changed.

This results in sending a lot more SUSPENDED and RESUMED
callbacks than the code sent previously. This should hopefully
not impact apps because those callback methods have never been
public API, though because they're just callbacks, it's possible
that apps found out via code inspection that the callbacks
existed and implemented them.

Bug: 172870110
Test: changes to existing tests in ConnectivityServiceTest
Change-Id: I6ec246a6a4e61f634956a165797fbb80296efd6a

Lorenzo Colitti   commited 2021-01-20 11:32:51 +09:00
246d176689
Merge "Revert "[VCN06] Support request background network"" am: 2fa034c812 am: b7b3064394 am: dd7029fd30
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1553864

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I896c2008e29163527b03f031623e1c70d16e1da4

Junyu Lai   authored and   Automerger Merge Worker   commited 2021-01-19 12:39:27 +00:00
12703ee175
Merge "Revert "[VCN06] Support request background network""
Junyu Lai   authored and   Gerrit Code Review   commited 2021-01-19 10:24:47 +00:00
2fa034c812
Revert "[VCN06] Support request background network"
Revert submission 1545847-vcn06

Reason for revert: b/177876289 presubmit failure
Reverted Changes:
I8042ce197:[VCN06.1] Add CTS for request background network
If9aaa87b7:[VCN06] Support request background network

Change-Id: I9270b02a2d6d1ffcdd83b4f41becaf09a2b91e0a

Junyu Lai   commited 2021-01-19 09:06:00 +00:00
34263da2c9
Merge changes I475502fd,Ibf376a6f,Ia52f9caf am: 4fcb0e54a1 am: ed9f5d54a5 am: 0cc2e20cc9
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1553958

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic7c2c6289bcc469f43f0293ca4bfd7d6b15ce80a

Treehugger Robot   authored and   Automerger Merge Worker   commited 2021-01-19 05:46:03 +00:00
b19d0ca85d
Merge changes I475502fd,Ibf376a6f,Ia52f9caf
* changes:
  Address comments on aosp/1539753, aosp/1542487 and aosp/1547496.
  Fix propagating underlying caps when a network disconnects.
  Test for bugs with suspended VPN underlying networks.

Treehugger Robot   authored and   Gerrit Code Review   commited 2021-01-19 04:19:56 +00:00
4fcb0e54a1
Merge "[VCN06] Support request background network" am: 95f0791724 am: bf098917d8 am: d57038a8b0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1545847

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I12d2cbe4a5fc10a7ec7abf8038c088fe13b02d59

Junyu Lai   authored and   Automerger Merge Worker   commited 2021-01-19 01:50:31 +00:00
635c79aeff
Address comments on aosp/1539753, aosp/1542487 and aosp/1547496.
Bug: 173331190
Test: test-only change
Change-Id: I475502fde55d24e7ae3f7fe9f43c54740c57a9cf

Lorenzo Colitti   commited 2021-01-19 10:35:43 +09:00
34007bd8de
Merge "[VCN06] Support request background network"
Junyu Lai   authored and   Gerrit Code Review   commited 2021-01-19 01:04:20 +00:00
95f0791724
Fix propagating underlying caps when a network disconnects.
aosp/1513052, which generalized support for underlying networks,
broke default network switching when the network underlying a VPN
disconnects.

This is because it calls propagateUnderlyingNetworkCapabilities
in the middle of the bookkeeping operations needed when a
network is disconnected (specifically, after all satisified
requests are removed from the disconnecting network, but before
mDefaultNetworkNai is updated). This is completely incorrect
because propagateUnderlyingNetworkCapabilities can trigger a
network rematch, and running a rematch when the request data
structures are inconsistent is obviously wrong. See the test
changes in this CL for an example of the damage.

Fix this by moving propagateUnderlyingNetworkCapabilities to
before the bookeeping operations begin. It must be before
mDefaultNetworkNai is updated, because otherwise it will not know
that the default network is disconnecting, and it will not be
able to propagate capabilities to VPNs that set underlying
networks to null (i.e., to the default network). It must be
after the nai is removed from mNetworkForNetId because
otherwise it will think that the underlying network is still
connected.

Bug: 173331190
Test: accompanying unit test shows lots of bugs removed
Change-Id: Ibf376a6fa4b34d1c96f8506fa8abbb7595a8c272

Lorenzo Colitti   commited 2021-01-19 09:40:53 +09:00
c284b4b8dd
Test for bugs with suspended VPN underlying networks.
Test: atest --rerun-until-failure 100 ConnectivityServiceTest#testVpnSwitchFromSuspendedToNonSuspended
Change-Id: Ia52f9cafef3f49ae70ad135d017e207eb57fddfe

Lorenzo Colitti   commited 2021-01-19 00:42:46 +09:00
dbf549c1c7
Merge changes Ic5750d4f,I9fa888c9,I4211475f am: c127a58770 am: 5a27eb5043 am: 171f45afc8
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1547495

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia036fad7b5070679f382410107a14b0dbfd951e6

Lorenzo Colitti   authored and   Automerger Merge Worker   commited 2021-01-18 15:02:46 +00:00
e9b4195087
Merge changes Ic5750d4f,I9fa888c9,I4211475f
* changes:
  Deflake testNetworkBlockedStatusAlwaysOnVpn
  Simplify testVpnRestrictedUsers.
  Add test coverage for LockdownVpnTracker.

Lorenzo Colitti   authored and   Gerrit Code Review   commited 2021-01-18 14:03:54 +00:00
c127a58770
Merge "Enforce that NetworkAgentInfo fields are never null." am: 3a6e50bdb9 am: c000462ea0 am: f8a9b5c78e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1553734

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If07ff3b1b8dd2d6245cc38c8d25423da5392b6ae

Treehugger Robot   authored and   Automerger Merge Worker   commited 2021-01-18 11:49:08 +00:00
36bc369260
[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

junyulai   commited 2021-01-18 16:32:08 +08:00
6ecf04d6f7
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

Lorenzo Colitti   commited 2021-01-18 17:28:52 +09:00
5c27674ad1
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

Lorenzo Colitti   commited 2021-01-18 17:28:52 +09:00
79ff36588d
Add test coverage for LockdownVpnTracker.
Also add a comment to an existing test.

Bug: 173331190
Test: test-only change
Change-Id: I4211475f053f0cdf2b804132c52ce5205a772193

Lorenzo Colitti   commited 2021-01-18 17:28:50 +09:00
756a7345e8
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

Lorenzo Colitti   commited 2021-01-18 07:49:26 +00:00
83d065696f
Merge "Remove unused IpConnectivityMetrics in CS" am: 671085fbde am: 22a26d0918 am: c2115c380e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1552660

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I4bac9e17a3584df017a83472a58c6353bdef845b

Paul Hu   authored and   Automerger Merge Worker   commited 2021-01-18 06:33:17 +00:00
bfd5f4ea02
Merge "Remove unused IpConnectivityMetrics in CS"
Paul Hu   authored and   Gerrit Code Review   commited 2021-01-18 05:26:35 +00:00
671085fbde
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

paulhu   authored and   Paul Hu   commited 2021-01-18 04:03:32 +00:00
a1b4fbe5a0
Merge "LocationPermissionChecker: Exempt privileged components from location check" am: fdc3167044 am: 56b8d48921 am: 5573b0c726
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1550515

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I66afba490765f4eae803d0ea4e2cc3eb54528aa4

Roshan Pius   authored and   Automerger Merge Worker   commited 2021-01-18 03:24:51 +00:00
8b48fa3ff4
Merge "LocationPermissionChecker: Exempt privileged components from location check"
Roshan Pius   authored and   Gerrit Code Review   commited 2021-01-18 01:33:31 +00:00
fdc3167044
Merge "[VCN05.1] Add unit test for invalid request types" am: 3157c3642a am: 70e6084cfd am: b4e3dc2428
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1552495

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id0ac3fcc869664fa3465a02b2aaa1a03f65e363d

Junyu Lai   authored and   Automerger Merge Worker   commited 2021-01-16 04:13:10 +00:00
d55721db90
Merge "[VCN05.1] Add unit test for invalid request types"
Junyu Lai   authored and   Gerrit Code Review   commited 2021-01-16 02:27:28 +00:00
3157c3642a
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

Roshan Pius   commited 2021-01-15 06:51:39 -08:00
854f6a6269
Merge "Waiting for idle in test" am: 17ac644470 am: fadb5494f1 am: 85a9a2f7ef
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1550420

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib7ef4eedc0982640b4923885b2deeaefc8081db9

James Mattis   authored and   Automerger Merge Worker   commited 2021-01-15 14:04:42 +00:00
331a21f3ae
[VCN05.1] Add unit test for invalid request types
Test: atest ConnectivityServiceTest#testInvalidRequestTypes
Bug: 175662146
Change-Id: I595b0bd1cfb88724581f67942cd3891f95c157ab

junyulai   commited 2021-01-15 21:19:49 +08:00
12cf8caa46
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

Lorenzo Colitti   commited 2021-01-15 20:04:57 +09:00
865c72aabb
Merge "Waiting for idle in test"
James Mattis   authored and   Gerrit Code Review   commited 2021-01-15 00:28:54 +00:00
17ac644470
Merge "NetworkCapabilities: Embed location senstive TransportInfo"
Roshan Pius   authored and   Gerrit Code Review   commited 2021-01-14 15:38:15 +00:00
7cdb30ec22