Commit graph android_packages_modules_Co.../framework/src/android
Message SHA1
More cleanly separate requests and listens.
Currently, NetworkRequest has several types of requests (LISTEN,
TRACK_DEFAULT, REQUEST, BACKGROUND_REQUEST), and we expect more
to be added.

There are really three categories of request:
1. Requests satisfied by only one network and will keep that
   network up, and thus need to be sent to NetworkProviders:
   REQUEST, BACKGROUND_REQUEST.
2. Requests satisfied by only one network but will not keep that
   network up: TRACK_DEFAULT
3. Requests satisfied by multiple networks and will not keep any
   networks up: LISTEN.

Unfortunately the separation is not very clear. Currently, for
any valid request, either isListen() will return true or
isRequest() will return true. This makes it impossible to tell
whether a particular request should be sent to NetworkProviders,
so the current code sends TRACK_DEFAULT requests to
NetworkProviders as well. This is incorrect - a TRACK_DEFAULT
should never keep a network up, for example.

This CL attempts to clarify things by making isRequest() return
false for TRACK_DEFAULT requests and thus never sending them to
NetworkProviders. After this CL:

- isRequest will return true only for requests that attempt to
  bring up or keep up a network.
- isListen will return true only for requests that match multiple
  networks but do not keep any of them up.
- Neither will return true for TRACK_DEFAULT.

Test: atest ConnectivityServiceTest
Change-Id: I7aad30ade8f7ab2a179e53483d9afd8675f64a12

Lorenzo Colitti   commited 2021-02-07 18:20:59 +09:00
74d34ec687
Merge "Add @Nullable to Object#equals()"
Treehugger Robot   authored and   Gerrit Code Review   commited 2021-02-05 09:36:41 +00:00
009f021811
Merge "Remove legacy network factories"
Remi NGUYEN VAN   authored and   Gerrit Code Review   commited 2021-02-05 08:23:19 +00:00
e035041e55
Add @Nullable to Object#equals()
This is a partial cherry-pick of change:
I5eedb571c9d78862115dfdc5dae1cf2a35343580

for connectivity classes.

Bug: 170883422
Test: m
Merged-In: I5eedb571c9d78862115dfdc5dae1cf2a35343580
Change-Id: I7dc661863b73f4198ddb4f3a1566583d0f07db3c

Roman Kalukiewicz   authored and   Remi NGUYEN VAN   commited 2021-02-05 07:28:44 +00:00
1f69a5e261
Merge changes from topic "nullablecollection"
* changes:
  API: Suppress existing NullableCollections lints (TaskOrganizer)
  API: Suppress existing NullableCollections lints

Adrian Roos   authored and   Gerrit Code Review   commited 2021-02-04 15:53:34 +00:00
0a5c421c92
Remove legacy network factories
Nothing on the system is using registerNetworkFactory,
unregisterNetworkFactory at the moment.

registerNetworkFactory, unregisterNetworkFactory are protected by
signature permissions, so could not be used by anything outside of the
system.

Remove the two methods and the underlying support for this legacy,
deprecated mechanism.

Bug: 179229316
Test: atest FrameworksNetTests
Change-Id: I7cdc9eed67f846c8774474af038133040aeccab3

Remi NGUYEN VAN   commited 2021-02-04 18:04:43 +09:00
773d918ade
Merge "Reimplement [read|write]ArraySet of Parcel inside NetworkCapabilities"
Lucas Lin   authored and   Gerrit Code Review   commited 2021-02-04 06:12:14 +00:00
0cbefc17d4
Merge "[VCN08] Expose NOT_VCN_MANAGED capability as system API"
Junyu Lai   authored and   Gerrit Code Review   commited 2021-02-02 13:57:57 +00:00
2c5d744e80
Merge "Remove ArrayUtils usage in connectivity frameworks classes"
Paul Hu   authored and   Gerrit Code Review   commited 2021-02-02 08:47:04 +00:00
e59f31b85a
Reimplement [read|write]ArraySet of Parcel inside NetworkCapabilities
Both of readArraySet and writeArraySet are hidden APIs inside
Parcel, so reimplement those two methods inside NetworkCapabilities
to prevent calling hidden APIs.

Bug: 170598012
Test: atest FrameworksNetTests
Change-Id: I70f75c1a0db92c6a5575c6a9917843d783dfaeea

lucaslin   commited 2021-02-02 12:57:26 +08:00
009c9e6773
[VCN08] Expose NOT_VCN_MANAGED capability as system API
Test: m -j doc-comment-check-docs
Fix: 177299683
Bug: 175662146
Change-Id: Iaa53d21774ea48af5fe339b57bf1235c77f295a0

junyulai   commited 2021-02-02 11:34:09 +08:00
ad1760bd6d
API: Suppress existing NullableCollections lints
Bug: 152525509
Bug: 154763999
Test: make checkapi
Change-Id: Iecd0927e6be5496b2fbd1a49396db5439257ffe4

Adrian Roos   commited 2021-02-01 15:04:10 +01:00
14c08d26d5
Remove ArrayUtils usage in connectivity frameworks classes
Instead, use CollectionUtils from frameworks/libs/net.

Bug: 174541037
Test: atest FrameworksNetTests
Change-Id: I610e00302cf76510e9e34ac8a9a5f738e5ecd0c7

paulhu   commited 2021-02-01 16:30:08 +08:00
4797107480
Have connectivity self-register manager classes
As connectivity services are planned to move to a separate module, move
the manager classes registration from SystemServiceRegistry to
ConnectivityServicesRegistrar, using the registerContextAwareService
APIs.

This follows patterns and naming in WifiFrameworkInitializer.

Bug: 171540887
Test: device boots, connectivity working
Change-Id: I62ced1275750c73f209bac8ec3a3204b95695b83

Remi NGUYEN VAN   commited 2021-02-01 17:10:39 +09:00
fe97b48b6e
Move module sources to packages/Connectivity
Files that are planned to be part of the connectivity module are grouped
in packages/Connectivity, so they can be built separately and moved in
one operation with their history into packages/modules/Connectivity.

This places the files in the existing framework-connectivity-sources
filegroup instead of the current framework-core-sources filegroup. Both
are used the same way in framework-non-updatable-sources.

Bug: 171540887
Test: m
Change-Id: I62d9d91574ace6f5c4624035d190260c3126b91e

Remi NGUYEN VAN   commited 2021-02-01 11:52:14 +09:00
8f37b3f55b