Commit Graph

12724 Commits

Author SHA1 Message Date
Lorenzo Colitti
ce1d32cd36 Merge changes I24580ea4,Id48b8eab am: cbc6a315c5
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1657763

Change-Id: I3f90c94080e4d6f37cab3b5b43a0f5415fb50d8f
2021-03-30 17:09:01 +00:00
Lorenzo Colitti
cbc6a315c5 Merge changes I24580ea4,Id48b8eab
* changes:
  Allow the system to register 250 NetworkCallbacks.
  Add more test coverage for limiting the number of callbacks.
2021-03-30 16:01:58 +00:00
Lorenzo Colitti
b4f8d8e130 Allow the system to register 250 NetworkCallbacks.
Give anyone with PERMISSION_MAINLINE_NETWORK_STACK (i.e.,
either the system or the networkstack process) a separate limit
of 250 callbacks per UID.

Bug: 183921387
Test: new unit tests
Change-Id: I24580ea48e3ad502ef584efc5fde0b5d22e392b4
2021-03-30 22:54:01 +09:00
Lorenzo Colitti
64ef4d3785 Add more test coverage for limiting the number of callbacks.
Bug: 183921387
Test: test-only change
Change-Id: Id48b8eab507fb616cb0adfeba52e00858d44b8a6
2021-03-30 20:28:36 +09:00
Treehugger Robot
41d68e4f4a Merge changes I3826b9ef,I91d68ca3 am: 364ad64fa7
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1654008

Change-Id: Iec425473511a1fe1f4b2bcf633e56ae1c76102c0
2021-03-30 08:35:20 +00:00
lucaslin
4b3b6d68eb Get NetworkCapabilities from NetworkCallback am: e14573d25e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1654007

Change-Id: I479d6b9564efee203ab2d2b6d1752d16c8b51cea
2021-03-30 08:32:37 +00:00
Treehugger Robot
364ad64fa7 Merge changes I3826b9ef,I91d68ca3
* changes:
  Add static for constant
  Get NetworkCapabilities from NetworkCallback
2021-03-30 08:22:41 +00:00
Frank Li
7ea1bb7074 Merge "[JS01]Remove hidden API usage of Connectivity Sevice" am: 0557b8b4c6
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1628361

Change-Id: Ibc9e5b382c210e157f9af9c1071b2e2e1065320e
2021-03-30 08:03:56 +00:00
Frank Li
0557b8b4c6 Merge "[JS01]Remove hidden API usage of Connectivity Sevice" 2021-03-30 07:22:40 +00:00
lifr
d023f35cc3 [JS01]Remove hidden API usage of Connectivity Sevice
The Connectivity service will become the mainline module.
Therefore, remove the caller of using Connectivity's
hidden API outside the module and expose the required
connectivity API used in Jobscheduler.

Bug: 183456204
CTS-Coverage-Bug: 170598012
Test: atest JobStoreTest
Change-Id: Ie6bc81ff382fb242b98f35d28a96defc207c7987
Merged-In: Ie6bc81ff382fb242b98f35d28a96defc207c7987
           (cherry-picked from ag/13946348)
2021-03-30 11:41:50 +08:00
Lorenzo Colitti
8c9d2c1823 Merge changes If539cf5d,I9765f1c9,I6d3007a1 am: 2206e976c1
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1652262

Change-Id: Iab7a5cdb9d50314b0bdb982b88a9335b64ddb276
2021-03-30 01:14:09 +00:00
Lorenzo Colitti
2206e976c1 Merge changes If539cf5d,I9765f1c9,I6d3007a1
* changes:
  Add test coverage for NetworkAgent callbacks.
  Add a setTeardownDelayMs API to NetworkAgent.
  Address comments on onBlockedStatusChanged(Network, int) CL.
2021-03-30 00:38:47 +00:00
Sudheer Shanka
d5da6e7182 Merge "Remove NetworkPolicyManager.isUidBlocked() API." am: 9cff99d059
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1652550

Change-Id: Ia95b11bcf91f18338b26146f6bb9488861555303
2021-03-29 16:19:05 +00:00
Sudheer Shanka
90358f5154 Remove NetworkPolicyManager.isUidBlocked() API.
It isn't used by ConnectivityService any more and even if
it needs such utility method in the future, we could create
one which is part of connectivity module and doesn't need
to be exposed as part of NetworkPolicyManager API surface.

Bug: 183696103
Test: atest ./tests/net/java/com/android/server/ConnectivityServiceTest.java
Change-Id: Ie3c681f88e4b2b9bb92d2224c5ea96b074f155d5
2021-03-29 12:39:12 +00:00
Lorenzo Colitti
1bc9ad0375 Add test coverage for NetworkAgent callbacks.
Tests the onNetworkCreated, onNetworkUnwanted and
onNetworkDisconnected callbacks, and the teardown delay timer.

Bug: 181941583
Test: atest --rerun-until-failure 500 ConnectivityServiceTest#testNetworkAgentCallbacks
Change-Id: If539cf5d01ba23193afab2433ed0ac4e7f0550ec
2021-03-29 21:33:11 +09:00
Lorenzo Colitti
6d88078151 Add a setTeardownDelayMs API to NetworkAgent.
This allows transports to request that when the network is
disconnected, the system should delay destroying the native
network until the specified time has passed after the network
disconnected.

Bug: 181941583
Test: next CL in the stack
Change-Id: I9765f1c9d1e55c23c6d583d6709dbe06505975b1
2021-03-29 21:33:08 +09:00
Frank Li
b1d27c29ff Merge changes from topic "NetworkAgent02" am: 8539ed6fd2
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1654917

Change-Id: If59df525be2483064976d3919cf7033fb94e41e6
2021-03-29 11:43:14 +00:00
lifr
3ab40b5390 [TL02]Remove hidden API usage of NetworkAgent am: f1594291c4
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1642722

Change-Id: I12342dc4c4ee8748396b7ced2f344611704caa2d
2021-03-29 11:39:55 +00:00
Lorenzo Colitti
a37eaff1ea Address comments on onBlockedStatusChanged(Network, int) CL.
Test: m
Bug: 165835257
Change-Id: I6d3007a1eac54ee6650b350aee56ed398a2c950d
2021-03-29 20:12:09 +09:00
Frank Li
8539ed6fd2 Merge changes from topic "NetworkAgent02"
* changes:
  Fix cannot success verify count of the networkAgent Config items on R device
  [TL02]Remove hidden API usage of NetworkAgent
2021-03-29 11:08:24 +00:00
Junyu Lai
4890738bde Merge "Support Dual ViLTE stats" am: 371bd281f5
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1540920

Change-Id: Ie65e2a2530b3e10b1cb7b571bbe4e7255caf1b08
2021-03-29 07:37:34 +00:00
lifr
f459c60984 Fix cannot success verify count of the networkAgent Config items on R
device

Test: atest CtsNetTestCasesLatestSdk:android.net.NetworkAgentConfigTest
Fix: 183474500
Change-Id: Ie0fd5ba816c390bfb7bc6512d896a88482c217ec
Merged-In: Ie0fd5ba816c390bfb7bc6512d896a88482c217ec
2021-03-29 15:36:32 +08:00
lifr
f1594291c4 [TL02]Remove hidden API usage of NetworkAgent
The connection service will become the mainline module.
Remove the hidden API usage of NetworkAgent.

Bug: 170598012
CTS-Coverage-Bug: 170598012
Test: atest FrameworksNetTests FrameworksTelephonyTests
      atest FrameworksWifiTests
Change-Id: I4e4040ae7f94bdf479c7df9ec2ffabafbe06331c
Merged-In: I4e4040ae7f94bdf479c7df9ec2ffabafbe06331c
2021-03-29 15:33:44 +08:00
Junyu Lai
371bd281f5 Merge "Support Dual ViLTE stats" 2021-03-29 06:59:19 +00:00
Remi NGUYEN VAN
7c9169bd61 Merge "Re-implement NetworkUtils#queryUserAccess." am: a99e50dbf7
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1650330

Change-Id: I1dd7913bacf5b92e35ec0a5b14da4d9b40513f21
2021-03-29 05:32:39 +00:00
Remi NGUYEN VAN
a99e50dbf7 Merge "Re-implement NetworkUtils#queryUserAccess." 2021-03-29 04:57:40 +00:00
Lorenzo Colitti
092af05525 Re-implement NetworkUtils#queryUserAccess.
Currently, queryUserAccess talks to netd via FwmarkServer.
Doing this from the module would require exposing queryUserAccess
as an NDK API or reimplementing FwmarkClient.

Because queryUserAccess really only uses information that comes
from ConnectivityService/PermissionMonitor anyway, just use that
information without calling to net.

Test: atest HostsideVpnTests
Bug: 171540887
Merged-In: If855de1ea3e1fd2ed30f2795d9b4acfcf969a2dc

Change-Id: If855de1ea3e1fd2ed30f2795d9b4acfcf969a2dc
2021-03-29 12:11:19 +09:00
Treehugger Robot
11d95a5c72 Merge "Add network disconnected callback" am: 6d1437a596
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1652259

Change-Id: I75bd112821c42c16d7ed91ecbb4f21104c95204b
2021-03-26 06:28:19 +00:00
Treehugger Robot
6d1437a596 Merge "Add network disconnected callback" 2021-03-26 05:47:33 +00:00
Lorenzo Colitti
7de5bd543e Merge changes from topic "blocked-reasons-callback-tests" am: 2108a92452
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1652214

Change-Id: I02f2f4458329e17ab33d792dee98ffe5f6499ad0
2021-03-26 04:04:27 +00:00
paulhu
26611dc3d3 Add MOBILE_DATA_PREFERRED_APPS setting am: 521169738c
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1654015

Change-Id: I4d5c5cfaa2a35a6919517c6e5737fffdd0f217f3
2021-03-26 04:02:02 +00:00
paulhu
43944db404 Add PRIVATE_DNS_MODE setting setter am: 87ac58016f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1654014

Change-Id: I97de83147a0c656802601ec116ee9ee7de114884
2021-03-26 03:58:53 +00:00
paulhu
df6a143255 Expose ConnectivitySettingsManager as module-lib API am: e6badefc33
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1654013

Change-Id: I6b53ced3ed523f984dde3c5b24cd53f832284da0
2021-03-26 03:54:38 +00:00
Chiachang Wang
3ffcb398e2 Add network disconnected callback
Create a network callback to notify network agent after the
native network being destroyed by netd which means the network
is fully disconnected. The NetworkAgent may handle this event
after sending disconnect state to ConnectivityService to proceed
its pending works that have to be done after it.

Bug: 178725261
Test: make update-api
Change-Id: I602ff2c688909473b03b72c9407d4286608cff4c
Merged-In: I602ff2c688909473b03b72c9407d4286608cff4c
2021-03-26 02:53:29 +00:00
Lorenzo Colitti
9150b1ec95 Add unit tests for onBlockedStatusChanged(Network, int).
Bug: 165835257
Test: atest FrameworksNetTests
Change-Id: I0597df71aa94817835d7a2fb54bfcf9222a34b64
2021-03-26 02:37:20 +09:00
paulhu
521169738c Add MOBILE_DATA_PREFERRED_APPS setting
This setting is OEM upstream requirement for mobile data
preferred apps feature.

Bug: 171872461
Test: atest FrameworksNetTests
Merged-In: Ic5e0515b2b948de3d333c8d8e073d0b15514562a
Change-Id: Iba17bf68cffbe39d1c08ad94364b41bbf851bf57
2021-03-26 02:37:19 +09:00
Lorenzo Colitti
60104f59a0 Add onBlockedStatusChanged(Network, int) to NetworkCallback.
This is similar to onBlockedStatusChanged(Network, boolean) but
it allows the callback holder to know the exact reason why
networking was blocked. It is useful to privileged system
components such as JobScheduler that are able to ignore some
blocked reasons but not others.

Also add a new BLOCKED_REASON_LOCKDOWN_VPN that is used when
networking is blocked because an always-on VPN is in
lockdown mode.

Also move BLOCKED_METERED_REASON_MASK to ConnectivityManager.
This is necessary because ConnectivityService must ensure that
the blocked status callbacks are correctly sent when meteredness
changes (e.g., a UID that is blocked on metered networks will
become unblocked on a network that becomes unmetered). In order
to do this it needs to know which reasons apply only on metered
networks.

Bug: 165835257
Test: unit tests in subsequent CLs in the stack
Change-Id: I647db4f5a01280be220288e73ffa85c15bec9370
2021-03-26 02:37:19 +09:00
paulhu
87ac58016f Add PRIVATE_DNS_MODE setting setter
Bug: 182538166
Test: atest FrameworksNetTests
Merged-In: If234426f041606c4881de1eca31b6f5bdb3c6bfe
Change-Id: Iaa9e6cc92f1805ab341c308fc60e947ec4c674f0
2021-03-26 02:37:16 +09:00
paulhu
e6badefc33 Expose ConnectivitySettingsManager as module-lib API
Have getter/setter methods for external modules that can
get/set the setting values.

Bug: 182538166
Test: atest FrameworksNetTests
Merged-In: I82225a43f95e3e1d3e52c4e7a0fc541c0087292e
Change-Id: I61cb00216494e35b6e0dfe444b177cad36ad8afb
2021-03-26 02:35:07 +09:00
Chiachang Wang
cc030c76f5 Merge "Add network created callback support" am: c542ed20fa
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1652209

Change-Id: Ibd2d575b5e3bdfc164c4721bc5bbb0c8b90601e0
2021-03-25 13:42:54 +00:00
Chiachang Wang
c542ed20fa Merge "Add network created callback support" 2021-03-25 13:22:17 +00:00
Lucas Lin
b4ac20f26b Merge "Add annotation for Vpn#getNetwork()" am: 3483ccf883
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1653946

Change-Id: I3be5109c253365b3c5bc56ae48114f8e37c4f153
2021-03-25 12:30:18 +00:00
Lucas Lin
22f8ded94a Merge "Remove the usage of NETID_UNSET from Vpn.java" am: 0f114dff28
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1653929

Change-Id: Ic50dee391e123b9e9debb8e77bac1f0499d939f1
2021-03-25 12:25:42 +00:00
Lucas Lin
cc2827494a Merge "Expose some APIs from ConnectivityManager" am: bcf2a79ec8
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1653936

Change-Id: I1a31a6162d5098770c0d5b19faa7af83553f6a2e
2021-03-25 12:17:18 +00:00
Lucas Lin
6cece1f221 Merge changes Ic2357dcf,Iddf8c71a am: 29ed3efbfe
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1653939

Change-Id: I9c5f96893488f1e103cba740a0bbfb474ffe90b9
2021-03-25 12:07:49 +00:00
lucaslin
e1f3a8b1da Expose NetworkScore to external caller am: 026a987e1e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1653938

Change-Id: I5f2fb6bb6f2de4d81fb3b750053ee5abbe82caeb
2021-03-25 11:53:29 +00:00
Lucas Lin
3483ccf883 Merge "Add annotation for Vpn#getNetwork()" 2021-03-25 11:29:38 +00:00
Lucas Lin
0f114dff28 Merge "Remove the usage of NETID_UNSET from Vpn.java" 2021-03-25 11:29:17 +00:00
Lucas Lin
bcf2a79ec8 Merge "Expose some APIs from ConnectivityManager" 2021-03-25 11:29:08 +00:00
Lucas Lin
29ed3efbfe Merge changes Ic2357dcf,Iddf8c71a
* changes:
  Expose NetworkAgent constructor taking a NetworkScore parameter
  Expose NetworkScore to external caller
2021-03-25 11:28:28 +00:00