Commit graph android_packages_modules_Co.../tests/net/java/com/android
Message SHA1
Remove unused NetworkPolicyManagerInternal in CS
ConnectivityService doesn't call any NPMI methods, so remove all
usage from CS.

Bug: 170598012
Test: atest FrameworksNetTests
Test: atest FrameworksNetIntegrationTests
Change-Id: I8719ef2e96e7db9da2894b467b9e7a1bc09de386

paulhu   commited 2021-03-19 14:29:01 +08:00
d97c467e2a
Merge changes from topic "revert-1626206-replaceUidRange-MSYTKFNGUE" am: 2576238aec am: 37cb1551a0 am: a2c19b719d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1645768

Change-Id: Ia5cedb12112b04885c3f9270b9171c6494b8d2af

Anthony Stange   authored and   Automerger Merge Worker   commited 2021-03-18 18:29:41 +00:00
e3e5f29233
Merge changes from topic "replaceUidRange" am: 7b582e9749 am: 38794c5290 am: 28f5f912c5
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1626206

Change-Id: Ibc5e47f175a0e5433492f81068da9f42496e660b

Chiachang Wang   authored and   Automerger Merge Worker   commited 2021-03-18 18:26:42 +00:00
9bd228e4da
Merge "Address remaining comments on aosp/1607893" am: 08b0411d4f am: ec138734a7 am: 4c83d1509c
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1640140

Change-Id: I4d6db2b92d56c3a75ec7a2964df236e9cbdc8f03

Chalard Jean   authored and   Automerger Merge Worker   commited 2021-03-18 18:25:31 +00:00
dc82a6413f
Merge changes from topic "revert-1626206-replaceUidRange-MSYTKFNGUE"
* changes:
  Revert "Replace the usage of UidRange"
  Revert "Expose uids related APIs in NetworkRequest and NetworkCa..."

Anthony Stange   authored and   Gerrit Code Review   commited 2021-03-18 16:40:53 +00:00
2576238aec
Revert "Replace the usage of UidRange"
Revert "Add shims for NetworkRequest"

Revert submission 1626206-replaceUidRange

Reason for revert: Breaking build - b/183106405
Reverted Changes:
I0b79c73e8:Add shims for NetworkRequest
I4bc0daf5a:Replace the usage of UidRange
I4e5aec6ef:Replace the usage of UidRange
I107c329d4:Expose uids related APIs in NetworkRequest and Net...

Change-Id: I6290429db1c8e787f8138b55b98fd92a74ac6402

Anthony Stange   commited 2021-03-18 16:30:59 +00:00
f0b9889ccf
Merge "Add an API to listen for changes in network blocked status of an uid."
Sudheer Shanka   authored and   Gerrit Code Review   commited 2021-03-18 15:29:17 +00:00
c262455617
resolve merge conflicts of 82227141f6 to sc-dev
Bug: 182538166
Test: atest FrameworksNetTests
Change-Id: Idd5d75e0e9a7ad4f840b88da55d28fbaa2275dd0

Paul Hu   commited 2021-03-18 14:50:05 +00:00
9d73b70404
Merge changes from topic "replaceUidRange"
* changes:
  Expose uids related APIs in NetworkRequest and NetworkCapabilities
  Replace the usage of UidRange

Chiachang Wang   authored and   Gerrit Code Review   commited 2021-03-18 13:36:39 +00:00
7b582e9749
Address remaining comments on aosp/1607893
Test: ConnectivityServiceTest
Change-Id: Icf70b20624604bfade37804311a77ef6be564c09

Chalard Jean   commited 2021-03-18 12:30:00 +00:00
4de6088dc9
Merge "Add more connectivity module settings"
Paul Hu   authored and   Gerrit Code Review   commited 2021-03-18 12:22:55 +00:00
9abe34a466
Merge changes I77a3efca,I2c4a37ff into sc-dev
* changes:
  Migrate framework-connectivity internal resources
  Add connectivity protos to framework-connectivity

Remi NGUYEN VAN   authored and   Android (Google) Code Review   commited 2021-03-18 11:16:25 +00:00
523df86f2d
Add an API to listen for changes in network blocked status of an uid.
Given that ConnectivityService is moving to a mainline module, we need
a @SystemApi for it to listen for changes in blocked status of an uid.
So, we decided to create a new API for this which can provide
ConnectivityService with more info about why an uid is blocked (which
will be useful for adding a new similar onBlockedStatusChanged callback
in CM.NetworkCallback) and also captures data saver restriction without
having out to track it separately.

Currently, NPMS does some redundant computations because we are
calculating both uid rules and blocked reasons separately. In a
follow-up change, we will compute uid rules using blocked reasons
and later possibly remove that onUidRulesChanged callback.

Bug: 176289731
Test: atest ./tests/cts/hostside/src/com/android/cts/net/HostsideRestrictBackgroundNetworkTests.java
Test: atest ./tests/net/java/com/android/server/ConnectivityServiceTest.java
Test: atest ./services/tests/servicestests/src/com/android/server/net/NetworkPolicyManagerServiceTest.java
Change-Id: Ib9949b8619c6b148f73630b314c4113d76c31ec1
Merged-In: Ib9949b8619c6b148f73630b314c4113d76c31ec1

Sudheer Shanka   authored and   Remi NGUYEN VAN   commited 2021-03-18 10:42:25 +00:00
cc8f26dea8
Migrate framework-connectivity internal resources
Use ServiceConnectivityResources instead.
Start by creating resources in the ServiceConnectivityResources package
to match the internal configuration, and common overlays.

Bug: 182125649
Test: device boots, has connectivity
Change-Id: I77a3efca2cd644f9828db1ed5d3cae8070fb8363

Remi NGUYEN VAN   commited 2021-03-18 09:02:13 +00:00
4d49a1922a
Add an API to listen for changes in network blocked status of an uid.
Given that ConnectivityService is moving to a mainline module, we need
a @SystemApi for it to listen for changes in blocked status of an uid.
So, we decided to create a new API for this which can provide
ConnectivityService with more info about why an uid is blocked (which
will be useful for adding a new similar onBlockedStatusChanged callback
in CM.NetworkCallback) and also captures data saver restriction without
having out to track it separately.

Currently, NPMS does some redundant computations because we are
calculating both uid rules and blocked reasons separately. In a
follow-up change, we will compute uid rules using blocked reasons
and later possibly remove that onUidRulesChanged callback.

Bug: 176289731
Test: atest ./tests/cts/hostside/src/com/android/cts/net/HostsideRestrictBackgroundNetworkTests.java
Test: atest ./tests/net/java/com/android/server/ConnectivityServiceTest.java
Test: atest ./services/tests/servicestests/src/com/android/server/net/NetworkPolicyManagerServiceTest.java
Change-Id: Ib9949b8619c6b148f73630b314c4113d76c31ec1

Sudheer Shanka   authored and   Remi NGUYEN VAN   commited 2021-03-18 05:48:44 +00:00
cb5fd4a670
Add more connectivity module settings
Add more connectivity module settings and update all references
to ConnectivitySettingsManager.

Bug: 182538166
Test: atest FrameworksNetTests
Change-Id: Ie96fbd0996ed3acb37099b6270bf3d4c2e558e9a

paulhu   commited 2021-03-18 11:58:29 +08:00
79260c21a8
Merge "Remove Settings.Global.TCP_DEFAULT_INIT_RWND on CS" am: 3d136c56ca am: f3ba1620ea am: afa9f0f918
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1635043

Change-Id: I2a83ab615ae2b40304a65f7ea8e40c6a93fc122a

Paul Hu   authored and   Automerger Merge Worker   commited 2021-03-17 22:20:36 +00:00
1c2606742d
Merge "Remove usage of networkAttributes" am: 5ccc21eb9b am: 5498465192 am: 9df643d6b6
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1623260

Change-Id: I84aa41ee98535b3b258e52cb67b8f7964d63851b

Remi NGUYEN VAN   authored and   Automerger Merge Worker   commited 2021-03-17 22:18:55 +00:00
4417837f49
Merge changes I335e82e2,I84ba363d,I8f18083b,I854a952d,I00e23441 am: bf97a3ab5e am: ba22df4f9d am: 2d82b40262
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1622621

Change-Id: I5fa8e7b8bf35a5464868fdca4d115b3f9132c65f

Chalard Jean   authored and   Automerger Merge Worker   commited 2021-03-17 22:13:06 +00:00
63d9588dca
Merge "[VCN13] Implement tracking best matching network" am: f98037abb3 am: 4377c5d40c am: b56ee13b44
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1633519

Change-Id: Ie252014cd9047c27fad3e451b80047493935dc3d

Junyu Lai   authored and   Automerger Merge Worker   commited 2021-03-17 16:08:50 +00:00
2ac4e6eee4
Merge "[NS01] Add NetworkScore" am: 98de10a7a1 am: 18294fcbb3 am: a73e64726f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1556099

Change-Id: I953a773f8914152578a98d71b43d0a2e30a51aba

Chalard Jean   authored and   Automerger Merge Worker   commited 2021-03-17 16:04:22 +00:00
1cda30b0a2
Replace the usage of UidRange
UidRange is used in a shared way between ConnectivityService
and VPN through the use of NetworkCapabilities. UidRange will
be part of the ConnectivityService mainline but Vpn.java will
stay in the framework. We need a way to replace the APIs using
UidRange, or to make UidRange system API. The only really
relevant surface here is NetworkCapabilities#{setUids, getUids}.
The need for UidRange could be replaced by an integer Range, so
replace the usage of UidRange by a integer Range in
NetworkCapabilities#{setUids, getUids} and update the relevant
callers.

Bug: 172183305
Test: atest FrameworksNetTests CtsNetTestCasesLatestSdk
Change-Id: I4e5aec6ef1ea02e038fcd7ed117a3b67b69c5cb9

Chiachang Wang   commited 2021-03-17 23:02:22 +08:00
bb2439a884
Merge "Remove Settings.Global.TCP_DEFAULT_INIT_RWND on CS"
Paul Hu   authored and   Gerrit Code Review   commited 2021-03-17 14:44:17 +00:00
3d136c56ca
Merge "Remove usage of networkAttributes"
Remi NGUYEN VAN   authored and   Gerrit Code Review   commited 2021-03-17 11:24:28 +00:00
5ccc21eb9b
Remove Settings.Global.TCP_DEFAULT_INIT_RWND on CS
TCP_DEFAULT_INIT_RWND setting has never been set before, CS
always read the tcp receive window size from
net.tcp.default_init_rwnd then set to net.tcp_def_init_rwnd.
Thus, remove the unnecessary setting from CS, and the property
doesn't need to set either. Because aosp/1639922 migrate the
properties, the default value has been set to kernel already.

Bug: 182538166
Test: atest FrameworksNetTests
Change-Id: I13e175ab4dea72446af7df4a25e307e5934fa813

paulhu   authored and   Paul Hu   commited 2021-03-17 11:14:35 +00:00
0620c858ae
Merge "Change the parameter type from ContentResolver to Context"
Lucas Lin   authored and   Gerrit Code Review   commited 2021-03-17 06:35:21 +00:00
8d638d9434
Merge changes I335e82e2,I84ba363d,I8f18083b,I854a952d,I00e23441
* changes:
  Remove per-user preference when the user is removed
  Expose the enterprise per-profile networking API.
  Implement setNetworkPreferenceForUser.
  Public API for per-profile network preference.
  Add tests for setNetworkPreferenceForUser

Chalard Jean   authored and   Gerrit Code Review   commited 2021-03-17 05:48:18 +00:00
bf97a3ab5e
[VCN13] Implement tracking best matching network
This is done by:
  1. In requestNetwork, provide a basic permission check.
  2. rematchNetworksAndRequests: no change, since non listen
     requests will be automatically processed to track
     best satisfying network.
  3. applyNetworkReassignment: no change, since non-request
     will not be sent to factories.

Test: atest ConnectivityServiceTest#testRegisterBestMatchingNetworkCallback_noIssueToFactory
Test: atest ConnectivityServiceTest#testRegisterBestMatchingNetworkCallback_trackBestNetwork
Bug: 175662146
Change-Id: I8cf4ab334df6812d84cdda160e9b72b6f54062af

junyulai   commited 2021-03-16 21:30:55 +08:00
8cae3c748f
Remove per-user preference when the user is removed
Test: new test for this
Change-Id: I335e82e29ec8f4c8da9def8b40153858cfd5bacb

Chalard Jean   commited 2021-03-16 12:14:12 +00:00
6bb468c476
Add tests for setNetworkPreferenceForUser
Test: this
Change-Id: I00e2344118408da307439a0a993eb67cb17bf777

Chalard Jean   commited 2021-03-16 12:11:27 +00:00
38a4e7fb76
Change the parameter type from ContentResolver to Context
Context is more useful than ContentResolver, it can provide more
information if we want to change the behavior in the future.

Bug: 172183305
Test: atest FrameworksNetTests
Change-Id: I5702c7d74b862a76558b94f1abe2c6df9eb7f097
Merged-In: I5702c7d74b862a76558b94f1abe2c6df9eb7f097

lucaslin   authored and   Lucas Lin   commited 2021-03-16 09:26:57 +00:00
1162662032
Change the parameter type from ContentResolver to Context
Context is more useful than ContentResolver, it can provide more
information if we want to change the behavior in the future.

Bug: 172183305
Test: atest FrameworksNetTests
Change-Id: I5702c7d74b862a76558b94f1abe2c6df9eb7f097

lucaslin   commited 2021-03-16 17:25:28 +08:00
acd3ded007
Remove usage of networkAttributes
networkAttributes is a legacy configuration that is now only used to
configure which legacy type networks are supported, and what the restore
timer is for that network type, for the deprecated
startUsingNetworkFeature API.

Use a dedicated resource for the restore timers, and build supported
legacy network types using hasSystemFeature for wifi, wifi p2p,
bluetooth, proxy types, and TelephonyManager.isDataCapable for the
mobile types.

Bug: 146206136
Test: atest FrameworksNetTests
Change-Id: I3a771d3de6c5e912f18d2834e3a50af797ac4991

Remi NGUYEN VAN   commited 2021-03-16 16:01:40 +09:00
9f9922813f
Merge "[NS01] Add NetworkScore"
Chalard Jean   authored and   Gerrit Code Review   commited 2021-03-16 06:36:07 +00:00
98de10a7a1
Merge "Create ServiceConnectivityResources"
Remi NGUYEN VAN   authored and   Gerrit Code Review   commited 2021-03-16 02:29:31 +00:00
eb46aa1c58
[NS01] Add NetworkScore
As attested by numerous TODOs in the code, a new way of
representing network quality and policy is needed instead
of an int.

An int representing the quality of the network requires
all parties using it to know how all other parties are
using it, and implementation details about the decision
algorithm. For all intents and purposes, the selection
is left to individual network factories who try to
achieve a desired result while piecing together all
possible states of the system.

As the number of such cases and desires increases, this
becomes both intractable and unmaintainable. Indeed, at
this time in the codebase nobody can really predict exactly
how a given change in score will affect selection across
the board, and it is essentially impossible to figure out
the behavior of network selection by inspecting the code
because the moving parts are scattered throughout the
entire codebase.

Having an object encapsulating policy and quality values
will let us centralize the selection and make it again
possible to maintain without knowledge of all behaviors
of all network factories. It will also provide better
guarantees of respecting policy, and allow bugfixes that
were not possible before because they'd touch too many
parts of the code.

Test: FrameworksNetTests FrameworksWifiTests NetworkStackTests
Change-Id: I3185a6412b9b659798faf0c6882699e9c63cc115

Chalard Jean   commited 2021-03-15 09:49:47 +00:00
dd75352682
Merge "ConnectivityManager: Provide API's to include location sensitive info" am: f72f1d9e28 am: 312bcb6871 am: 6519ca6217
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1595396

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Icf60935623b62e29cb2ba52b4de554c7f0d78ef1

Roshan Pius   authored and   Automerger Merge Worker   commited 2021-03-12 07:12:03 +00:00
99cac41819
Merge "Stop using PackageManagerInternal in PermissionMonitor" am: 2269d7e3fa am: d5eb1fad4d am: cad9f72e91
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1620879

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Icc75ae78a6a09fac22cd2ae9ddc04138c4ba02d3

Paul Hu   authored and   Automerger Merge Worker   commited 2021-03-12 07:11:35 +00:00
e6a477a7d6
Merge "ConnectivityManager: Provide API's to include location sensitive info"
Roshan Pius   authored and   Gerrit Code Review   commited 2021-03-12 05:56:29 +00:00
f72f1d9e28
Merge "Stop using PackageManagerInternal in PermissionMonitor"
Paul Hu   authored and   Gerrit Code Review   commited 2021-03-12 05:23:05 +00:00
2269d7e3fa
Merge changes Ib80f814f,Ic605e489 am: 3bde652e41 am: 3912538c41 am: 9038eeece3
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1626209

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I47862eeec4f74a0901b8b866dd6ffa906bd9e62f

Lucas Lin   authored and   Automerger Merge Worker   commited 2021-03-12 04:58:40 +00:00
3f6f8215c3
Merge changes Ib80f814f,Ic605e489
* changes:
  Use new API - getIpSecNetIdRange() in IpSecService
  Add a new API to get the network ID range of IPSec tunnel interface

Lucas Lin   authored and   Gerrit Code Review   commited 2021-03-12 03:30:32 +00:00
3bde652e41
Create ServiceConnectivityResources
Create the ServiceConnectivityResources package, which contains
resources Connectivity unbundled from platform resources.

Migrate the first few resources from ConnectivityService that have no
RRO in AOSP. To avoid boot time impact, avoid loading the resources in
the ConnectivityService constructor.

Bug: 182125649
Test: atest FrameworksNetTests
Merged-In: I77ac6f4303c54acc96f16e18ef02add30298ff3d
Change-Id: I77ac6f4303c54acc96f16e18ef02add30298ff3d

Remi NGUYEN VAN   commited 2021-03-12 12:09:13 +09:00
46bcf55264
ConnectivityManager: Provide API's to include location sensitive info
Existing NetworkCallback users will get NetworkCapabilities with
location sensitive data removed (except for ownerUid which will be
added for existing apps for backwards compatibility). Apps
have to opt-in to receive location sensitive data.

Note: This was chosen because WifiInfo is the only TransportInfo tha
has location sensitive info & that was added only in Android 12. If we
choose to default to true, all existings apps retrieving
NetworkCapabilities for wifi networks will be blamed for location access
unnecessarily.

Changes:
i) Add a flag in NetworkCallback creation to retrieve
NetworkCapabilities with location sensitive info in their callback.
(More flags are being planned for NetworkCallback for throttling
callback frequency, etc)
ii) For NetworkCapabilities.getOwnerUid(), we will continue to send the
data for apps targeting older SDK (since this is an existing field and
the new flag defaults location sensitive data to off).

Bug: 156867433
Test: atest android.net
Test: atest com.android.server
Change-Id: If70b5ea6f5c8885f0c353c8df08a826d55fe7f7a

Roshan Pius   commited 2021-03-11 18:27:18 -08:00
7992afdcc3
Merge "Create ServiceConnectivityResources" into sc-dev
Remi NGUYEN VAN   authored and   Android (Google) Code Review   commited 2021-03-12 02:10:20 +00:00
f98e84932b
Merge changes Iac9487e8,Ifa411c7b am: 999506022f am: 007256389e am: 431f25a9da
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1622675

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If1b3f0447705f910467a52d2504ba1aaef850a80

Treehugger Robot   authored and   Automerger Merge Worker   commited 2021-03-12 00:49:24 +00:00
5237f54a95
Merge changes from topic "ethernet_specifier"
* changes:
  Fix common tests on Q and R
  Add Ethernet, TestNetworkSpecifier API

Remi NGUYEN VAN   authored and   Gerrit Code Review   commited 2021-03-11 23:51:49 +00:00
92e9f17915
Add a new API to get the network ID range of IPSec tunnel interface
- Add a new API to get the network ID range of IPSec tunnel
interface.
- Use the new API in IpSecServiceTest to make sure the result is
the same. Follow-up commit will change the logic in
IpSecService#reserveNetId(), the modified test can ensure the
correctness of the new change.

Bug: 172183305
Test: atest FrameworksNetTests:IpSecServiceTest
Change-Id: Ic605e48941fc9d6482cdcd01a8adcdc9b6d586a6

lucaslin   commited 2021-03-12 00:46:33 +08:00
1a6095c4cf
Add Ethernet, TestNetworkSpecifier API
Rename StringNetworkSpecifier to EthernetNetworkSpecifier (its only
production user), and make it module-lib API.
The original StringNetworkSpecifier file is actually kept to satisfy
some invalid dependencies; it will be removed separately.

This allows specifying an Ethernet interface with a non-deprecated API:
until this change the only way to do so would be to use
NetworkRequest#setSpecifier(String), which is deprecated.

Similarly, add the TestNetworkSpecifier API for TestNetworkManager, to
replace previous usage of StringNetworkSpecifier. TestNetworkManager is
module API, so TestNetworkSpecifier should be module API too. This
allows tests to request the test interface specifically, without using
the deprecated NetworkRequest#setSpecifier(String).

Bug: 179329291
Test: m
Merged-In: Iee569f5c8bbdc4bc979610e1191308281f3d4620

Change-Id: Iee569f5c8bbdc4bc979610e1191308281f3d4620

Remi NGUYEN VAN   authored and   junyulai   commited 2021-03-11 23:02:02 +08:00
7f11b46a43
[VCN11] Make requestBackgroundNetwork requires handler
Test: atest FrameworksNetTests android.net.cts.ConnectivityManagerTest
Bug: 175662146
Change-Id: Iac9487e8de8bfdd87fc7a0153b228ae2a7ba4e19

junyulai   commited 2021-03-11 21:05:27 +08:00
f4bc12fe28