Commit Graph

149 Commits

Author SHA1 Message Date
Paul Hu
af3798b8e5 Merge "Add DEFAULT_NETWORK_PRIORITY constants" into sc-dev am: dcba997adf am: ab4b8bc600
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/14731886

Change-Id: If462f369e2cf7a74a0a5895073743e27f832ac0e
2021-06-14 15:49:38 +00:00
Paul Hu
ab4b8bc600 Merge "Add DEFAULT_NETWORK_PRIORITY constants" into sc-dev am: dcba997adf
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/14731886

Change-Id: Iabe8738dc2579bd89f6be377666c4e7a9178b1a6
2021-06-14 15:33:35 +00:00
Paul Hu
dcba997adf Merge "Add DEFAULT_NETWORK_PRIORITY constants" into sc-dev 2021-06-14 15:17:23 +00:00
Paul Hu
714af33653 Merge "Add more unit tests for mobile data preferred uids feature" into sc-dev am: 7d5fa3da7d am: fccce46a7c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/14731884

Change-Id: I616f67b162618e7b195adf167cbaa62990c3ff50
2021-06-14 15:02:30 +00:00
Paul Hu
31c7026ff9 Merge "Add more unit tests for mobile data preferred uids feature" into sc-dev am: 7d5fa3da7d
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/14731884

Change-Id: I5a97d3caea19c51597c63319bbb8a720c7f91977
2021-06-14 14:47:46 +00:00
Paul Hu
7d5fa3da7d Merge "Add more unit tests for mobile data preferred uids feature" into sc-dev 2021-06-14 14:29:29 +00:00
Lorenzo Colitti
4b80e297e7 Merge "Correctly get uids for per-app network preferences" am: 473ddeaebb am: d9c5536026 am: 9088465b13
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1723617

Change-Id: I90636ede4f7136f475b992b0a2319fcb10e195d6
2021-06-14 06:45:17 +00:00
Lorenzo Colitti
9088465b13 Merge "Correctly get uids for per-app network preferences" am: 473ddeaebb am: d9c5536026
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1723617

Change-Id: I1b99d78702c91ce3e4c69de95e09a0c1e7d7e4b5
2021-06-14 06:32:56 +00:00
Lorenzo Colitti
473ddeaebb Merge "Correctly get uids for per-app network preferences" 2021-06-14 06:07:56 +00:00
Luke Huang
7aad6dd5fc Merge "Modify NsdServiceTest to conform to its new mechanism" am: c9a2bdf2b9 am: 31f8527bca am: 614299c262
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1719018

Change-Id: I0aa928303428b875c0be0618e04d5940b1b26eed
2021-06-13 17:39:41 +00:00
Luke Huang
614299c262 Merge "Modify NsdServiceTest to conform to its new mechanism" am: c9a2bdf2b9 am: 31f8527bca
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1719018

Change-Id: I2fb0ac98d2f7ae2a2fab3af7bc657f013b59bbc2
2021-06-13 16:52:06 +00:00
Luke Huang
c9a2bdf2b9 Merge "Modify NsdServiceTest to conform to its new mechanism" 2021-06-13 15:20:52 +00:00
Lorenzo Colitti
beb7d92cbc Don't send onLinkPropertiesChanged after onLost for 464xlat.
Currently, when a network that uses 464xlat is torn down,
NetworkCallbacks will receive onLinkPropertiesChanged after
onLost. This is confusing and incorrect.

The incorrect callback is sent because handleLinkProperties
checks that the netId of the agent still exists, not that the
NetworkAgent is still registered. This is normally correct,
because the NetworkAgent is removed from mNetworkAgentInfos and
the netId are removed from mNetworkForNetId by the same method,
disconnectAndDestroyNetwork.

In this specific case it's not correct, because the call to
handleUpdateLinkProperties is from disconnectAndDestroyNetwork
itself via nai.clatd.update and calls Nat464Xlat#stop.

No other callers of handleUpdateLinkProperties are affected
because:

- EVENT_NETWORK_PROPERTIES_CHANGED is called only by
  maybeHandleNetworkAgentMessage, which first checks that the
  NetworkAgent is registered.
- handlePrivateDnsSettingsChanged only looks at registered
  NetworkAgents (it loops over mNetworkAgentInfos).
- handlePrivateDnsValidationUpdate, handleNat64PrefixEvent and
  handleCapportApiDataUpdate call getNetworkAgentInfoForNetId,
  which will correctly determine that the agent is no longer
  registered, since they run on the handler thread and thus
  cannot run at the same time as disconnectAndDestroyNetwork.

The existing code contains a check for the netId being current.
This is intended to ensure that an update from a NetworkAgent
cannot affect another agent with the same Network. This extra
check is not necessary, because code running on the handler
thread can never observe a NetworkAgent in mNetworkAgentInfos
unless mNetworkForNetId maps that NetworkAgent's Network to that
NetworkAgent. This is because mNetworkForNetId is updated by the
same methods as mNetworkAgentInfos, and those updates occur on
the handler thread. So all code on the handler thread will see
those two as consistent.

Bug: 176496580
Test: atest FrameworksNetTests CtsNetTestCases HostsideVpnTests
Original-Change: https://android-review.googlesource.com/1727829
Merged-In: I944f4c6ad36206bdccd85a6ea7ef71324a29c685
Change-Id: I944f4c6ad36206bdccd85a6ea7ef71324a29c685
2021-06-11 13:46:33 +00:00
Lorenzo Colitti
cfa262d8b8 Improve test coverage for disconnecting networks with clat.
Ensure that NetworkCallbacks and netd operations are accounted
for. Also add a test for the spurious onLinkPropertiesChanged
callback that is currently send out after onLost.

Bug: 176496580
Test: atest ConnectivityServiceTest
Original-Change: https://android-review.googlesource.com/1729093
Merged-In: I69cf58bc87dfe55ea359a2cd76167d03fe2c953d
Change-Id: I69cf58bc87dfe55ea359a2cd76167d03fe2c953d
2021-06-11 13:44:46 +00:00
paulhu
c2198778ab Add DEFAULT_NETWORK_PRIORITY constants
- Add default network priority to NetworkRequestInfo.
- The default network priority value is used when issue uid
  ranges rules to netd. Netd will use the priority value and uid
  ranges to generate corresponding ip rules specific to the given
  network preference.

Bug: 171872461
Test: atest FrameworksNetTests
Ignore-AOSP-First: Needs cherry-picks
Change-Id: I0ea71b348492aeb4784d487bed4cfd5d387426ba
2021-06-11 14:22:33 +08:00
Remi NGUYEN VAN
4bb45d88ea Merge "Revert "Use mockito-extended in FrameworksNetTests"" am: a6c06af0fa am: 6f6035a29e am: 9134dac0b1
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1734372

Change-Id: Ie28db4a25144eb558bb3c7c72e24c66a38091e2c
2021-06-11 02:12:04 +00:00
Remi NGUYEN VAN
9134dac0b1 Merge "Revert "Use mockito-extended in FrameworksNetTests"" am: a6c06af0fa am: 6f6035a29e
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1734372

Change-Id: I8c8a2f734c433c0cf6fe158fcbf26a75a82d0d0a
2021-06-11 01:56:43 +00:00
Remi NGUYEN VAN
a6c06af0fa Merge "Revert "Use mockito-extended in FrameworksNetTests"" 2021-06-11 01:26:44 +00:00
Remi NGUYEN VAN
7a80ae85d6 Merge changes I8d15b626,I993e8da9 am: d15e52eca9 am: 3cc611d69a am: 45dd5391ed
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1733772

Change-Id: Ie41a3726bd3f90a957e2507c0c2f90c5024440e4
2021-06-11 00:19:41 +00:00
Remi NGUYEN VAN
45dd5391ed Merge changes I8d15b626,I993e8da9 am: d15e52eca9 am: 3cc611d69a
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1733772

Change-Id: Ice0291696167275ae20a423b74671d252fe09fb4
2021-06-11 00:05:52 +00:00
xingdai
892a0ef152 Revert "Use mockito-extended in FrameworksNetTests"
This reverts commit 98b76cc2ec.

Reason for revert: <INSERT REASONING HERE>

b/190622577

Change-Id: Ief39f82875e6fa885829aea62eed00f2f2e6774e
2021-06-10 21:41:54 +00:00
paulhu
7ed70a944c Add more unit tests for mobile data preferred uids feature
- Add more tests for mobile data preferred uids.
- Also address leftover comments on implementation commit.

Bug: 171872461
Test: atest FrameworksNetTests
Ignore-AOSP-First: Needs cherry-picks
Change-Id: I63f65bffc1b8883ddfd774222e26e629d7ea1f94
2021-06-11 00:09:45 +08:00
Treehugger Robot
1a328dc5b5 Merge "Partial revert of "Remove ConnectivityServiceTest signature perms use"" am: b9d05685fc am: 80b28dec8c am: 972b65d492
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1733172

Change-Id: I24ae86acd0c228066bcdd4c1932ee15a6f176055
2021-06-10 15:22:38 +00:00
Treehugger Robot
972b65d492 Merge "Partial revert of "Remove ConnectivityServiceTest signature perms use"" am: b9d05685fc am: 80b28dec8c
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1733172

Change-Id: I3eae11b536613efa377de130a69b58b321a6ae52
2021-06-10 15:10:37 +00:00
Remi NGUYEN VAN
3cd164225b Revert "Remove ConnectivityServiceTest signature perms use"
This reverts commit bba8ec0d43.

Reason for revert: Broken tests b/190622577

Change-Id: I8d15b626fcd8da67094ebf461d381b3922f69024
2021-06-10 15:05:47 +00:00
Remi NGUYEN VAN
499219702b Revert "Use shell permission to query current user"
This reverts commit 95bc8d7067.

Reason for revert: Conflict with revert for b/190622577

Change-Id: I993e8da9737634d0cc815cd75b461699170602cc
2021-06-10 15:05:17 +00:00
Treehugger Robot
b9d05685fc Merge "Partial revert of "Remove ConnectivityServiceTest signature perms use"" 2021-06-10 14:35:25 +00:00
Paul Hobbs
cdfeb11719 Partial revert of "Remove ConnectivityServiceTest signature perms use"
This reverts the Android.bp changes in commit
bba8ec0d43.

Reason for revert: This broke ConnectivityServiceTest (https://android-build.googleplex.com/builds/tests/view?invocationId=I90700009364410436&testResultId=TR01525128446370769)

A full revert has a merge conflict in the other file, and is likely
not necessary to fix the failure.

Change-Id: Icc0c2500590a6b936016574be4f234b9f748cb80
2021-06-10 08:43:44 +00:00
Remi NGUYEN VAN
ee395bb629 Merge "Use shell permission to query current user" am: dbb2a23a38 am: 7252278df7 am: 62f6e19968
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1730549

Change-Id: I66d06b6217abaa55001d348cdd3ae0b0c1d89a5d
2021-06-10 06:05:00 +00:00
Remi NGUYEN VAN
62f6e19968 Merge "Use shell permission to query current user" am: dbb2a23a38 am: 7252278df7
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1730549

Change-Id: I74b82e3ff03f0bc540c5023b4a9af9799915e559
2021-06-10 05:53:29 +00:00
Remi NGUYEN VAN
95bc8d7067 Use shell permission to query current user
Use shell permissions to obtain CREATE_USERS to call
ActivityManager.getCurrentUser in ConnectivityServiceTest.

This is necessary to allow the tests to run in coverage tests without
the platform certificate.

Bug: 187935317
Test: atest FrameworksNetTests:ConnectivityServiceTest
Change-Id: I5a56ffab4820d351dcdb132046698cd0d3b8bdb1
2021-06-09 19:28:16 +09:00
Remi NGUYEN VAN
f900c45afa Deprecate MANAGE_ACTIVITY_STACKS permission
This is a partial cherry-pick of change:
I894ee66e058b1024a731d3be4b33b69626451f08

The permission is actually not used, but this change aligns the manifest
with contents in downstream branches, so it can be modified (including
removing the permission) without conflicts.

Bug: 157876448
Test: atest FrameworksNetTests
Merged-In: I3c2563d4ae4e3715d0c6270344ba8f7ef067872f
Change-Id: Id50e41a0ea970350eae0a2afab303c022b452bf9
2021-06-09 19:28:10 +09:00
Remi NGUYEN VAN
af23ceedef Merge "Remove ConnectivityServiceTest signature perms use" am: 545f6cf95f am: 4c21d6c2a6 am: e4fa2ac5ac
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1727819

Change-Id: I6dc91f7ef4b9f58717b44c3d6236fc5e9f7dfd11
2021-06-09 09:31:03 +00:00
Remi NGUYEN VAN
003f5d0f96 Merge "Use mockito-extended in FrameworksNetTests" am: 35e6108119 am: 98ea169c22 am: 4b6239c2c8
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1727825

Change-Id: I49ed35dfcaa6c045c1e425dc5ed70421ae3ea6d7
2021-06-09 09:30:44 +00:00
Remi NGUYEN VAN
e4fa2ac5ac Merge "Remove ConnectivityServiceTest signature perms use" am: 545f6cf95f am: 4c21d6c2a6
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1727819

Change-Id: I7f2a05be80117dad19b5e7fafb71f562466096f9
2021-06-09 09:15:06 +00:00
Remi NGUYEN VAN
4b6239c2c8 Merge "Use mockito-extended in FrameworksNetTests" am: 35e6108119 am: 98ea169c22
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1727825

Change-Id: I0fb914110ec6e2c34544831619157f05a8e57661
2021-06-09 09:14:57 +00:00
Remi NGUYEN VAN
545f6cf95f Merge "Remove ConnectivityServiceTest signature perms use" 2021-06-09 08:39:33 +00:00
Remi NGUYEN VAN
35e6108119 Merge "Use mockito-extended in FrameworksNetTests" 2021-06-09 08:39:24 +00:00
Lorenzo Colitti
0730c9315c Merge "Don't send onLinkPropertiesChanged after onLost for 464xlat." am: a3f12dd52c am: b4e1b65298 am: 7d9f43c6f3
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1727829

Change-Id: I35258b459a59d39ec8606ec84bf9b345ddd07b11
2021-06-09 08:34:24 +00:00
Lorenzo Colitti
fa26e894a3 Merge "Improve test coverage for disconnecting networks with clat." am: f55fa638c8 am: 7e79954915 am: 97adf6a8b4
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1729093

Change-Id: Ibee94710b4b84d9e2c58b49c73d94cf01a5205f1
2021-06-09 08:34:18 +00:00
Lorenzo Colitti
7d9f43c6f3 Merge "Don't send onLinkPropertiesChanged after onLost for 464xlat." am: a3f12dd52c am: b4e1b65298
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1727829

Change-Id: Iad96cfcdd5f385c084be76b3b25ffd10b080df7f
2021-06-09 08:33:36 +00:00
Lorenzo Colitti
97adf6a8b4 Merge "Improve test coverage for disconnecting networks with clat." am: f55fa638c8 am: 7e79954915
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1729093

Change-Id: Idf372d6f3305d6678837d36ce901af8ac482ea58
2021-06-09 08:33:31 +00:00
Lorenzo Colitti
a3f12dd52c Merge "Don't send onLinkPropertiesChanged after onLost for 464xlat." 2021-06-09 07:59:25 +00:00
Lorenzo Colitti
f55fa638c8 Merge "Improve test coverage for disconnecting networks with clat." 2021-06-09 07:59:13 +00:00
Remi NGUYEN VAN
de3c20ecb5 Merge changes from topic "conn_test_defaults_cp"
* changes:
  Move connectivity test defaults to tests/common
  Add framework-connectivity-test-defaults
2021-06-09 00:59:17 +00:00
Junyu Lai
5b15e700bb Merge changes from topics "enable-policy-ranking", "sendNetworkScore"
* changes:
  Adjust a test for policy scoring
  Enable policy ranking
  Add CTS to verify NetworkAgent#setLingerDuration
  Allow network providers to set the linger duration.
  Fix nascent timer never get removed
  [NS13] Remove the last usage of the legacy int
  Add documentation
  Use filter from CollectionUtils.
  Fix a bug where updates of offers won't find existing offers
  [NS12] Address comments on NS09
  [NS11] Fix yieldToBadWifi over the policy scoring
  Add doc for NetworkScore#getLegacyInt
  Expose sendNetworkScore that takes a NetworkScore
2021-06-08 22:34:44 +00:00
Remi NGUYEN VAN
3912c80e99 Add framework-connectivity-test-defaults
The defaults follow the same pattern as framework-wifi-test-defaults to
allow unit tests to build against hidden API in Connectivity.

(clean cherry-pick of history in downstream branch)

Bug: 171540887
Test: m
Merged-In: I3c2563d4ae4e3715d0c6270344ba8f7ef067872f
Change-Id: Ia8531f672820fcc8968f98494903e486c4e42652
2021-06-08 19:54:27 +09:00
Remi NGUYEN VAN
bba8ec0d43 Remove ConnectivityServiceTest signature perms use
To allow unit tests to run without platform certificates, remove
signature permission usage in ConnectivityServiceTest.

This mocks permission checks done in ConnectivityService for which the
test assumed that the permission was held, and mocks calls to
BatteryStatsManager. Calls to ActivityManagerService (through
PendingIntent) are done with shell permissions as the test uses real
PendingIntent mechanics.

Bug: 187935317
Test: atest FrameworksNetTests:ConnectivityServiceTest
Change-Id: I80c5cae5fcd3d40be55d1a79a93d614e665fbbf4
2021-06-08 19:12:13 +09:00
Remi NGUYEN VAN
98b76cc2ec Use mockito-extended in FrameworksNetTests
This is necessary to mock classes like BatteryStatsManager, which cannot
be used without signature permissions, and to merge the test with other
test suites that use mockito extended.

Bug: 187935317
Test: atest FrameworksNetTests
Change-Id: I5dba65d806c5d06b3ff8f633846edb911a7a44ec
2021-06-08 19:12:09 +09:00
Paul Hu
7cba5f4163 Merge "Move UIDS_ALLOWED_ON_RESTRICTED_NETWORKS setting" 2021-06-08 07:23:39 +00:00