Commit Graph

13132 Commits

Author SHA1 Message Date
Paul Hu
161e0b9b78 Merge "Replace Context @hide API in MultinetworkPolicyTracker" 2021-01-21 07:53:19 +00:00
Remi NGUYEN VAN
75ac6c42a1 Merge "Mark TestNetworkManager as module API" am: cc041a72e7 am: 4bfba0d2e1 am: 45d22e4ccc
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1547638

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I2a8aa17d6acdaed8ee7419990493b631c0eb6d1c
2021-01-21 07:28:46 +00:00
Remi NGUYEN VAN
45d22e4ccc Merge "Mark TestNetworkManager as module API" am: cc041a72e7 am: 4bfba0d2e1
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1547638

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I363b288609514251f1e5ec337f56368180d2b259
2021-01-21 06:59:55 +00:00
lucaslin
6d502ed79d [IT4.4] Host network activity related logic into a new class
Create an inner class to handle the network activity related
logic to isolate the code for code cleanliness. It's helpful for
the follow-up modifications to move network activity logic from
NMS to CS to support Connectivityservice mainline.

Bug: 170598012
Test: atest FrameworksNetTests
Change-Id: I33b3b11f2700cb10eb6e3b58b6dfa52251bece80
2021-01-21 06:27:23 +00:00
Remi NGUYEN VAN
4bfba0d2e1 Merge "Mark TestNetworkManager as module API" am: cc041a72e7
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1547638

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic1677f8f4fa436450ebc4d83cc10ff8503f2f9f2
2021-01-21 06:22:58 +00:00
Remi NGUYEN VAN
cc041a72e7 Merge "Mark TestNetworkManager as module API" 2021-01-21 06:02:25 +00:00
Remi NGUYEN VAN
5eee3ec919 Mark TestNetworkManager as module API
The API surface is planned to move to the Connectivity module, meaning
that it will be maintained across multiple Android releases.
This is incompatible with TestApi semantics, which are designed to be
removable across releases. Effectively the APIs become System/module
API, so mark them as such considering that TestApi is not supported by
modules.

Test: m
Bug: 174436414
Change-Id: Icd32fcbb65e9a4bb2b67cb9da7c971281be0781a
2021-01-21 10:45:04 +09:00
paulhu
fd8dac4fe5 Replace Context @hide API in MultinetworkPolicyTracker
MultinetworkPolicyTracker is part of Connectivity mainline module
which cannot call @hide API Context#registerReceiverAsUser. Thus,
replace it to Context#registerReceiverForAllUsers.

Bug: 170634463
Test: atest FrameworksNetTests
Test: Manully check that receiving intent and unregistering
      receiver can work normally.
Change-Id: Ie22a3aa40bc9243082672a64dba7c7940f9ff21a
2021-01-21 01:19:09 +08:00
lucaslin
62a872a6a7 Use function inside NetdUtils instead of NetworkManagementService
TestNetworkService 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 CtsNetTestCasesLatestSdk
Change-Id: I738066ce2f1bcd616dc582a3ff1fd77bcd660c73
2021-01-20 18:09:46 +08:00
Remi NGUYEN VAN
6e1b16c9fe 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
2021-01-20 15:53:54 +09:00
Lorenzo Colitti
246d176689 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
2021-01-20 11:32:51 +09:00
Junyu Lai
12703ee175 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
2021-01-19 12:39:27 +00:00
Junyu Lai
dd7029fd30 Merge "Revert "[VCN06] Support request background network"" am: 2fa034c812 am: b7b3064394
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1553864

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I81c094b08398d55a0ada21af60c22dfe7ec9cd97
2021-01-19 11:59:36 +00:00
Junyu Lai
b7b3064394 Merge "Revert "[VCN06] Support request background network"" am: 2fa034c812
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1553864

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic8f292997e582da1eeeb469c91a52225ba4a2217
2021-01-19 11:34:18 +00:00
Junyu Lai
2fa034c812 Merge "Revert "[VCN06] Support request background network"" 2021-01-19 10:24:47 +00:00
Junyu Lai
34263da2c9 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
2021-01-19 09:06:00 +00:00
Treehugger Robot
6eba3e4554 Merge "Fix CaptivePortalDataTest#testParcelUnparcel on R" am: d806079674 am: 92884ae4ce am: 43522bd797
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1553816

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I1e3e891f2104c3363b7e6eb46c12486a76f93d50
2021-01-19 05:46:41 +00:00
Treehugger Robot
b19d0ca85d 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
2021-01-19 05:46:03 +00:00
Treehugger Robot
43522bd797 Merge "Fix CaptivePortalDataTest#testParcelUnparcel on R" am: d806079674 am: 92884ae4ce
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1553816

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib62b14620dd2aa880bca086d7144b05e088d236d
2021-01-19 05:23:31 +00:00
Treehugger Robot
0cc2e20cc9 Merge changes I475502fd,Ibf376a6f,Ia52f9caf am: 4fcb0e54a1 am: ed9f5d54a5
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1553958

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I003a453f17b37f10e2acd4c92aa56fe52c09741f
2021-01-19 05:22:18 +00:00
Treehugger Robot
92884ae4ce Merge "Fix CaptivePortalDataTest#testParcelUnparcel on R" am: d806079674
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1553816

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I74a6492618ca1e21e35474c012dee9886239e75a
2021-01-19 04:49:10 +00:00
Treehugger Robot
d806079674 Merge "Fix CaptivePortalDataTest#testParcelUnparcel on R" 2021-01-19 04:45:08 +00:00
Treehugger Robot
ed9f5d54a5 Merge changes I475502fd,Ibf376a6f,Ia52f9caf am: 4fcb0e54a1
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1553958

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I1cf8401a1cf16b8bbd3d46a65c40c642324c00e8
2021-01-19 04:45:06 +00:00
Treehugger Robot
4fcb0e54a1 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.
2021-01-19 04:19:56 +00:00
Remi NGUYEN VAN
da94136cc7 Fix CaptivePortalDataTest#testParcelUnparcel on R
CaptivePortalData only has 7 fields on R, not 8.

Bug: 177290955
Change-Id: I156738d07821fee43420d8af14c4bce36dd0e4a4
Test: atest CtsNetTestCasesLatestSdk:CaptivePortalDataTest on R
2021-01-19 02:33:09 +00:00
Junyu Lai
635c79aeff 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
2021-01-19 01:50:31 +00:00
Lorenzo Colitti
34007bd8de Address comments on aosp/1539753, aosp/1542487 and aosp/1547496.
Bug: 173331190
Test: test-only change
Change-Id: I475502fde55d24e7ae3f7fe9f43c54740c57a9cf
2021-01-19 10:35:43 +09:00
Junyu Lai
d57038a8b0 Merge "[VCN06] Support request background network" am: 95f0791724 am: bf098917d8
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1545847

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic810d591fcb5895db877fdd5634f9adca6a7720f
2021-01-19 01:34:53 +00:00
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
c284b4b8dd 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
2021-01-19 09:40:53 +09:00
Lorenzo Colitti
dbf549c1c7 Test for bugs with suspended VPN underlying networks.
Test: atest --rerun-until-failure 100 ConnectivityServiceTest#testVpnSwitchFromSuspendedToNonSuspended
Change-Id: Ia52f9cafef3f49ae70ad135d017e207eb57fddfe
2021-01-19 00:42:46 +09:00
Lorenzo Colitti
e9b4195087 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
2021-01-18 15:02:46 +00:00
Lorenzo Colitti
171f45afc8 Merge changes Ic5750d4f,I9fa888c9,I4211475f am: c127a58770 am: 5a27eb5043
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1547495

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ife4211d4f6892a0751ef71f284fd4a5f06148a82
2021-01-18 14:46:03 +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
36bc369260 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
2021-01-18 11:49:08 +00:00
Treehugger Robot
f8a9b5c78e Merge "Enforce that NetworkAgentInfo fields are never null." am: 3a6e50bdb9 am: c000462ea0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1553734

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I56dc3dc6daafa2123f8f1fc40007cd52a4f7a21c
2021-01-18 11:24:56 +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
82a1e88bc3 Merge "Mark several NetworkAgentInfo members @NonNull and address TODO." am: f49e1b0c6c am: d9df019897 am: cc615e48ce
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1552502

MUST ONLY BE SUBMITTED BY AUTOMERGER

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I07fa9035369c8abde6de395b21630b239bdd4247
2021-01-18 07:06:06 +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
Paul Hu
bfd5f4ea02 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
2021-01-18 06:33:17 +00:00
Paul Hu
c2115c380e Merge "Remove unused IpConnectivityMetrics in CS" am: 671085fbde am: 22a26d0918
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1552660

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I64b20b343515f641146780ca9b9ec7bfb4ac586a
2021-01-18 06:05:12 +00:00