Commit Graph

7963 Commits

Author SHA1 Message Date
Automerger Merge Worker
176c19b4d6 Merge "NetworkRequest: Embed requestor uid & packageName" am: 0964d02bcd am: 8ddf2cd025
Change-Id: Icdf8417670f1ff3e68f90d8c3dc5a52d9c024f00
2020-02-12 18:58:41 +00:00
Automerger Merge Worker
8ddf2cd025 Merge "NetworkRequest: Embed requestor uid & packageName" am: 0964d02bcd
Change-Id: Ic4f9247e18a9d1cc22b26500b47da1af2d9b011d
2020-02-12 18:51:59 +00:00
Qingxi Li
0964d02bcd Merge "NetworkRequest: Embed requestor uid & packageName" 2020-02-12 18:43:32 +00:00
Automerger Merge Worker
489b7adcf8 Merge "Include NetworkCapabilities and LinkProperties in DataStallReport." am: 3dbf6f6949 am: ec0a4b6791
Change-Id: Ifc6f6a919986305002d2e2c60aa3cda8f0b8b5ac
2020-02-12 17:32:19 +00:00
Cody Kesting
ec0a4b6791 Merge "Include NetworkCapabilities and LinkProperties in DataStallReport."
am: 3dbf6f6949

Change-Id: If2157b0dd7d62560c77318b76e0d7d2a66c09644
2020-02-12 09:16:41 -08:00
Cody Kesting
3dbf6f6949 Merge "Include NetworkCapabilities and LinkProperties in DataStallReport." 2020-02-12 16:38:38 +00:00
Automerger Merge Worker
2fdf36c01b Merge changes from topic "NS-A44_lingerstate" am: 47be84c872 am: faadf36430
Change-Id: If045bc0da9babaf9d5a67031986c1fe4d75f2dc3
2020-02-12 15:48:31 +00:00
Automerger Merge Worker
faadf36430 Merge changes from topic "NS-A44_lingerstate" am: 47be84c872
Change-Id: Ibec8f280ad0b256d3d9b065a541063fc63d5a356
2020-02-12 15:29:30 +00:00
Chalard Jean
47be84c872 Merge changes from topic "NS-A44_lingerstate"
* changes:
  [NS B10] Cleanup : remove mRematchedNetworks
  [NS B09] Create NetworkRanker
  [NS B08] More simplification
  [NS B07] More simplification
  [NS B06] Simplification
  [NS B05] Remove old dead code
  [NS B04] Make the network selection request-major.
  [NS B03] Add debug log showing the reassignment
  [NS B02] Split out a function to apply a NetworkReassignment
  [NS B01] Move the computation loop to a separate function
  [NS A44 2/2] Apply requests after all networks rematching is computed
  [NS A44 1/2] Update linger state before processing listens
2020-02-12 15:13:10 +00:00
Chalard Jean
88e5b87102 [NS B10] Cleanup : remove mRematchedNetworks
This is better computed by the code that applies the change
than by the code that computes the reassignment

Test: FrameworksNetTests
Change-Id: I13e2764fd9b29145499085c3bb56de88a97d6c3c
2020-02-12 21:23:45 +09:00
Chalard Jean
58d486ce9b [NS B09] Create NetworkRanker
Bug: 113554781
Test: FrameworksNetTests
Change-Id: Ia534247144f479fe896e1a6e05b906103cd10005
2020-02-12 20:57:45 +09:00
Chalard Jean
32c2090b4d [NS B08] More simplification
Only computing the reassignment does not actually change the
default network.

Test: FrameworksNetTests
Change-Id: I21ddf5cc1e3d3817055dbda4246e38ceb0732407
2020-02-12 20:57:44 +09:00
Chalard Jean
75f7b1a2a7 [NS B07] More simplification
The new reassignment does not contain these useless lines
any more.

Test: FrameworksNetTests
Change-Id: I1583aebe94e529ce2b36e191a6e1f49c976bf29a
2020-02-12 20:57:44 +09:00
Chalard Jean
8049afd48d [NS B06] Simplification
This check is now unnecessary, seeing how the code adding these
changes is now guaranteed to only add at most one change for
each request.

Test: FrameworksNetTests
Change-Id: Ia0443602d9c89ee413e956df9c7b79f8f74813f7
2020-02-12 20:57:43 +09:00
Chalard Jean
a58fdce574 [NS B05] Remove old dead code
Test: FrameworksNetTests
Change-Id: I553721b327b76ede0e76b9fb7a0130fcae012175
2020-02-12 20:52:17 +09:00
Chalard Jean
013fb14441 [NS B04] Make the network selection request-major.
This patch marks the most important turning point of this
refactoring. Cleanups removing unused code will follow.

Replace the old network-major reassignment computation with a
much simpler and faster loop that takes each request and assigns
it the highest-scoring network.

All tests pass, of course.

Bug: 113554781
Test: FrameworksNetTests
Change-Id: Ie143802995155151a38a4eb1d2f26c3f29e556bd
2020-02-12 20:52:17 +09:00
Chalard Jean
373391b2cd [NS B03] Add debug log showing the reassignment
dumpString for a reassignment looks like :

NetworkReassignment :
  Rematched networks : [100 CELLULAR], [101 WIFI]
  6 : 100 → 101
  8 : null → 101

toString looks like :

NetReassign [4 : 100 → 101, 5 : null → 101]

If no changes, then it looks like
NetworkReassignment : no changes

Bug: 113554781
Test: Manual
Change-Id: If9eeadb7ee317dee2d91ca1feca3091ae39e9bae
2020-02-12 20:52:17 +09:00
Chalard Jean
d4a4a30aef [NS B02] Split out a function to apply a NetworkReassignment
This makes the rematchAllNetworksAndRequests function, which
is the nexus of the rematching code, very straightforward and
easy to read.

Bug: 113554781
Test: FrameworksNetTests
Change-Id: I5cea4ed7e06439494700d88ab202b696402fa360
2020-02-12 20:52:17 +09:00
Chalard Jean
42909302fb [NS B01] Move the computation loop to a separate function
Bug: 113554781
Test: FrameworksNetTests
Change-Id: I6c28c7af5c600d35aa1e9328b6c988dadb921f51
2020-02-12 20:52:17 +09:00
Chalard Jean
208f81bb50 [NS A44 2/2] Apply requests after all networks rematching is computed
This patch finally separates completely computing the rematch
from all the side effects. A collateral effect of this is to
compute correctly the background network state in
rematchNetworkAndRequests, which compensates the breakage
from the previous patch.

Bug: 113554781
Test: ConnectivityServiceTest
Change-Id: I998c729c385940168fcd6ba3f2e01911f1844ce1
2020-02-12 20:52:17 +09:00
Chalard Jean
1a1d2783cb [NS A44 1/2] Update linger state before processing listens
To compute accurately whether a network is in the background, the
linger state needs to be updated. Do that before computing whether
a network is in the background and possibly calling
applyBackgroundChangeForRematch.

However ! As of this patch, rematchNetworksAndRequests computes
a wrong value when adding to the list of affected networks, because
it is looking at intermediate global state. Somehow this used to
compensate exactly for the way reading back the state was wrong.
There might have been a few undetected bugs there, but none is
known.

As such, as of this patch, rematchNetworksAndRequests still
computes a wrong value while the computation when applying that
state now computes the right one, so the tests do not pass.
This patch must be checked in together with A44 2/2 which will
fix the computation in rematchNetworksAndRequests, but is kept
separate for ease of review.

Bug: 113554781
Test: ConnectivityServiceTest
Change-Id: Iaeed0d11bfa09f292f232ae020e944e430bc0184
2020-02-12 20:52:17 +09:00
Automerger Merge Worker
d8b184d809 Merge changes Ibc9b1965,I288ea32f am: 7fa63afe6d am: 5177c42147
Change-Id: Ie9e18056da529defae5c5a0065607cd972d30b80
2020-02-12 06:35:42 +00:00
Automerger Merge Worker
b92adf5eae Add a systemapi constructor for NetworkAgent am: 1a8802b0e1 am: de6d7d5a25
Change-Id: I091a6c7d8e92c22ca9393b5c974fcda5356d4102
2020-02-12 06:35:39 +00:00
Automerger Merge Worker
5177c42147 Merge changes Ibc9b1965,I288ea32f am: 7fa63afe6d
Change-Id: I6eb675ddfa609dcc3031e916ce49959e42cf53f6
2020-02-12 06:25:49 +00:00
Automerger Merge Worker
de6d7d5a25 Add a systemapi constructor for NetworkAgent am: 1a8802b0e1
Change-Id: I3fa3ec32d3c580ba0b7f2d515e08d27dd6af5bcd
2020-02-12 06:25:42 +00:00
Aaron Huang
a29902b59b Fix invalid usage of javadoc
CP from ag/10125651

Test: this change removes invalid usage
Change-Id: Ibc9b1965ec7aa545c0dae71d741c3802d3a9fa12
Merged-In: I35fc4a814238635fa95981649c27230dda319afa
2020-02-12 06:10:10 +00:00
Roshan Pius
31f7152793 NetworkRequest: Embed requestor uid & packageName
Add the requestorUid & requestorPackageName fields to
NetworkCapabilities. This is populated by CS when
a new network request is received.
These 2 requestor fields are also optionally used for network
matching. All of the regular app initiated requests will have the
requestor uid and package name set by connectivity service. Network
agents can optionally set the requestorUid and requestorPackageName
to restrict the network created only to the app that requested the network.

This will help removing the necessity for the various specifiers to embed
the uid & package name info in the specifier for network matching.

Note: NetworkSpecifier.assertValidFromUid() is deprecated & removed in
favor of setting the uid/package name on the agent to restrict the
network to a certain app (useful for wifi peer to peer API & wifi aware).

Bug: 144102365
Test: Verified that wifi network request related CTS verifier tests
pass.
Test: Device boots up and connects to wifi networks
Change-Id: I207c446108afdac7ee2c25e6bbcbc37c4e3f6529
Merged-In: I207c446108afdac7ee2c25e6bbcbc37c4e3f6529
2020-02-12 04:42:58 +00:00
Cody Kesting
4a77307caa Include NetworkCapabilities and LinkProperties in DataStallReport.
DataStallReport is updated to include the NetworkCapabilities and Link
Properties for the Network being reported on. This provides a more
complete picture of the Network conditions when the suspected data stall
was detected.

Bug: 148966398
Test: atest FrameworksNetTests
Change-Id: I913cf18c348b9f688f9d2a3d25a71bc94eb8f000
2020-02-11 08:50:59 -08:00
Chalard Jean
1a8802b0e1 Add a systemapi constructor for NetworkAgent
Bug: 138306002
Bug: 139268426
Test: atest FrameworksNetTests FrameworksWifiTests FrameworksTelephonyTests
      make doc-comment-check-docs
Change-Id: I288ea32fac07a9a486e2ea451a2c9b098446a74c
Merged-In: I288ea32fac07a9a486e2ea451a2c9b098446a74c
2020-02-11 16:26:10 +08:00
Automerger Merge Worker
86cc2bce2f [automerger skipped] Merge "Fix review comments on aosp/1213524" am: 90d4f6d94e -s ours am: 9f501726ad -s ours
am skip reason: Change-Id I621cfbe165996c67b201ca2dd2f95a5ab9af10ee with SHA-1 cf59536753 is in history

Change-Id: I6a138aa326a628fca7eda309f5627dd47a0ca56e
2020-02-11 03:52:28 +00:00
Automerger Merge Worker
9f501726ad [automerger skipped] Merge "Fix review comments on aosp/1213524" am: 90d4f6d94e -s ours
am skip reason: Change-Id I621cfbe165996c67b201ca2dd2f95a5ab9af10ee with SHA-1 cf59536753 is in history

Change-Id: I1016fc76028aeafa9f15841b4e2951957aa11578
2020-02-11 03:43:38 +00:00
Aaron Huang
90d4f6d94e Merge "Fix review comments on aosp/1213524" 2020-02-11 03:33:08 +00:00
Chalard Jean
2e58250b89 Fix review comments on aosp/1213524
This is necessary to avoid subsequent conflicts.

Test: none needed
Change-Id: I6e2cd9188e0e4bd7c71c6c56635f192dce73f325
Merged-In: I621cfbe165996c67b201ca2dd2f95a5ab9af10ee
2020-02-10 08:28:04 +00:00
Automerger Merge Worker
cd4a924e90 Merge "rm libbinderthreadstate" am: d072174fbc am: 4041565ef6
Change-Id: I25aacc3f1cd9c3544e90934c37cff5a973a7bd7b
2020-02-09 23:44:07 +00:00
Automerger Merge Worker
4041565ef6 Merge "rm libbinderthreadstate" am: d072174fbc
Change-Id: Ib7de947aa4ee5b349c9576355869702ac94d8624
2020-02-09 23:27:45 +00:00
Treehugger Robot
d072174fbc Merge "rm libbinderthreadstate" 2020-02-09 23:06:21 +00:00
Automerger Merge Worker
8a7b232080 Merge "[NS A43] Separate updating the linger timer and sending LOSING" am: 10c32e38a2 am: 42a3342ed7
Change-Id: Id7ed8f80307d2e1252195a6aef62e51d0c4e7f27
2020-02-09 07:21:19 +00:00
Automerger Merge Worker
5fff418068 Merge "[NS A42] Move writing to the reassignment to the computation" am: 113d552eff am: f0c7699e38
Change-Id: Iebe3dbd3b98f4b92486e86c48b0e50b6713b2aa6
2020-02-09 07:20:57 +00:00
Automerger Merge Worker
42a3342ed7 Merge "[NS A43] Separate updating the linger timer and sending LOSING" am: 10c32e38a2
Change-Id: I4b8e7eec2df77d04700582542d6f3f2fb455c2af
2020-02-09 07:06:13 +00:00
Automerger Merge Worker
f0c7699e38 Merge "[NS A42] Move writing to the reassignment to the computation" am: 113d552eff
Change-Id: Ic04c72d0720bb53a38329dbcbc75cd914e1296c0
2020-02-09 07:05:54 +00:00
Chalard Jean
10c32e38a2 Merge "[NS A43] Separate updating the linger timer and sending LOSING" 2020-02-09 06:51:06 +00:00
Chalard Jean
113d552eff Merge "[NS A42] Move writing to the reassignment to the computation" 2020-02-09 06:50:48 +00:00
Automerger Merge Worker
fab9832dc7 Merge "[NS A41] Cut out a function to update NAI info" am: 956532eb3e am: ffc43638ef
Change-Id: If22b44893c33c3640a85eed7e6dc0ce888018059
2020-02-09 05:33:29 +00:00
Automerger Merge Worker
ffc43638ef Merge "[NS A41] Cut out a function to update NAI info" am: 956532eb3e
Change-Id: I668fe3095ee9184b50db83d8f52f572dc57cfa1f
2020-02-09 05:09:07 +00:00
Chalard Jean
956532eb3e Merge "[NS A41] Cut out a function to update NAI info" 2020-02-09 04:56:37 +00:00
Automerger Merge Worker
00afbce489 Merge "Fix typo in ConnectivityDiagnosticsManager constant." am: 5ee2390f0b am: 406345a19c
Change-Id: Iab752a848a8017fbfdc4517502d5a39d8201a682
2020-02-07 17:22:37 +00:00
Automerger Merge Worker
406345a19c Merge "Fix typo in ConnectivityDiagnosticsManager constant." am: 5ee2390f0b
Change-Id: Icaae03ca1895de4012deed1c1b81b16fad4ba439
2020-02-07 17:08:20 +00:00
Cody Kesting
5ee2390f0b Merge "Fix typo in ConnectivityDiagnosticsManager constant." 2020-02-07 16:57:19 +00:00
Steven Moreland
93e27f5f77 rm libbinderthreadstate
This library is empty, and its functionality has moved
into libbinder/libhwbinder.

Bug: 148692216
Test: N/A
Change-Id: I3ee973cef68281cb57b4912b4b66c798b5d9d715
2020-02-06 13:23:47 -08:00
Automerger Merge Worker
3fd040a4f2 Merge "Use waitForIdle() to wait for Threaded processing." am: a67124b1af am: cfa95efc78
Change-Id: I1d648dd7d700230afab893336ef853a41717ba80
2020-02-06 16:23:10 +00:00