Commit Graph

11962 Commits

Author SHA1 Message Date
junyulai
2050bed66e [FUI04] Refactor VpnInfo
As a preparation of exposing system API. This patch does some
harmless refactoring, which includes:
  1. Change raw arrays into lists according to API guidelines.
  2. Write test.
  3. Rename class to UnderlyingNetworkInfo.
  4. Rename vpnIface to iface.
  5. Make underlyingIfaces @NonNull in order to adapt new
     unparceling code.
  6. implement equals and hashCode for testing.

Test: atest android.net.UnderlyingNetworkInfoTest
Bug: 174123988

Change-Id: I405c21e57c4af8a12a9dd0a1749b9e6690f87045
2021-01-29 17:44:32 +08:00
Junyu Lai
a62493f45b [VCN06] Support request background network
This will be mainly used by VCN management service which will
need to hold the networks but preserve the backgrounded-ness
of the networks.

Test: android.net.ConnectivityManagerTest#testRequestType
Test: android.net.cts.ConnectivityManagerTest#testRequestBackgroundNetwork /
      --rerun-until-failure 100
Test: ConnectivityServiceTest#testBackgroundNetworks
Test: m -j doc-comment-check-docs
Bug: 175662146

Change-Id: I463c7a3139a286e50ea71e674060975ce228caa9
2021-01-29 14:42:32 +08:00
Junyu Lai
b18d205fc8 Merge "[VCN01] Add NOT_VCN_MANAGED capability" am: fbd9e43516
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1549897

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I30b0cc54c340150884bebfd289824f1e562eea88
2021-01-28 13:25:50 +00:00
Junyu Lai
fbd9e43516 Merge "[VCN01] Add NOT_VCN_MANAGED capability" 2021-01-28 13:04:59 +00:00
Treehugger Robot
02fe9601e3 Merge "Note network interfaces based on transport" am: bff61ec586
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1562876

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Iae2ae51e3819b37cf2c85ce12715978d6ba68c55
2021-01-28 08:32:23 +00:00
Daulet Zhanguzin
9a357a92a2 Update frameworks to use unbundled version of BouncyCastle.
Previously BouncyCastle methods were exposed as libcore APIs (@CorePlatformApi), which no longer possible when ART is updatable module (and can't guarantee BouncyCastle API stability)

Bug: 154796679
Test: Treehugger

Change-Id: I908681841a6766de88761767c77c4e2d4b5f56d5
2021-01-28 07:51:22 +00:00
Treehugger Robot
bff61ec586 Merge "Note network interfaces based on transport" 2021-01-28 07:45:20 +00:00
Lorenzo Colitti
4bb966192e Merge "Fix legacy APIs when VPN switches to suspended underlying network." am: 61a13bb86d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1547497

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I385f93ef5fc3a627fcc2ae827c72e0785c464d8f
2021-01-28 07:22:25 +00:00
Chiachang Wang
849f27a654 Merge "Replace hidden getFileDescriptor$()" am: 32f8bec5ae
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1553966

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib6f87447485fd0a4ee008bcabea80b4827fdd99b
2021-01-28 07:15:15 +00:00
Lorenzo Colitti
61a13bb86d Merge "Fix legacy APIs when VPN switches to suspended underlying network." 2021-01-28 07:07:37 +00:00
Treehugger Robot
5251bb9f8e Merge "[Mainline] Migrate TextUtils#emptyIfNull" am: e23650d908
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1550514

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I9ae1d067d23fb87d97f326f6da29ddf3a022a821
2021-01-28 07:04:48 +00:00
Chiachang Wang
32f8bec5ae Merge "Replace hidden getFileDescriptor$()" 2021-01-28 06:36:11 +00:00
Remi NGUYEN VAN
df5f311617 Note network interfaces based on transport
Instead of classifying interfaces by network type in BatteryStats,
classify them based on the transports array provided by the
NetworkAgent.

Network types are deprecated and transports should be used instead. This
change allows BatteryStats to stop depending on unstable APIs such as
isNetworkTypeMobile.

This change also updates nullability annotations in ConnectivityService
and NetworkAgentInfo to show that the NetworkCapabilities are non-null
(as provided by the network agent) when calling
noteNetworkInterfaceTransports.

Bug: 174436414
Test: atest
  atest ConnectivityServiceTest#testBatteryStatsNetworkType \
      --rerun-until-failure 40

Merged-In: I4e928fac8a57a9b1fc758a44af2a5719b8c871b8

Change-Id: I4e928fac8a57a9b1fc758a44af2a5719b8c871b8
2021-01-28 15:10:54 +09:00
Treehugger Robot
e23650d908 Merge "[Mainline] Migrate TextUtils#emptyIfNull" 2021-01-28 06:05:08 +00:00
Lucas Lin
352c33012f Merge "Use createStringArray instead of readStringArray" am: ea79623351
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1559093

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I38445a56180675c48055fc4256ea238c2b86fabe
2021-01-28 04:31:18 +00:00
Lucas Lin
a52bcd9e58 Merge "Check if NetworkSpecifier is an instance of MatchAllNetworkSpecifier" am: 03a5e10406
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1556546

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ibd01df52928e13717eae903c49e201f7bf39940e
2021-01-28 04:28:10 +00:00
Lucas Lin
ea79623351 Merge "Use createStringArray instead of readStringArray" 2021-01-28 04:04:10 +00:00
lucaslin
20f95d44c2 Use createStringArray instead of readStringArray
To prevent ProxyInfo calling hidden API, use public one -
Parcel#createStringArray() instead.

Bug: 170598012
Test: atest FrameworksNetTests
Change-Id: I1a5376872d743e1863982bb95d579aeba7159d33
2021-01-28 04:03:59 +00:00
Lucas Lin
03a5e10406 Merge "Check if NetworkSpecifier is an instance of MatchAllNetworkSpecifier" 2021-01-28 04:01:49 +00:00
Chiachang Wang
3a00681825 Replace hidden getFileDescriptor$()
It's the preparation for the incoming ConnectivityService
mainline. The mainline modules can not access hidden APIs.
Thus, the hidden APIs usage should be removed.

The getFileDescriptor$() in Socket or DatagramSocket is
hidden for internal usage. It should be used in a module and
not prefer to expose as an API. Thus, replace it with
ParcelFileDescriptor APIs to get the fd via
ParcelFileDescriptor.

Bug: 170598012
Test: atest FrameworksNetTests
Change-Id: I05b31a48315e7e6d95e22123103e544a7136a449
2021-01-28 11:33:13 +08:00
Treehugger Robot
9306972f16 Merge "[FUI03] No-op refactoring of VpnInfo" am: 2b5f970529
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1547637

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Iae15ffcf1fbf31ab004a36eb662f39e4439146d0
2021-01-27 13:11:28 +00:00
Treehugger Robot
2b5f970529 Merge "[FUI03] No-op refactoring of VpnInfo" 2021-01-27 11:47:34 +00:00
Junyu Lai
800373bdba [VCN01] Add NOT_VCN_MANAGED capability
Add new capability to indicate whether a network is
managed by Virtual Carrier Network (VCN). This is needed
to identify networks between VCN managed network and
others. And this capability will be:
  1. mutable
  2. requestable
  3. set by default for network agents and requests
  4. allowed for test networks

Note that this commit is identical to aosp/1529959 except the
capability remains hidden to address the javadoc problem first.
And this CL also needs to be bound with the counter part change
to prevent build breakage.

Test: 1. atest FrameworksNetTests CtsNetTestCases
      2. adb shell dumpsys connectivity
      3. atest ConnectivityServiceTest#testLoseMutableAndRequestableCaps
Bug: 175662146

Change-Id: I37a6f492c2aba72836e36851b50b67398f8bdd36
2021-01-27 16:13:01 +08:00
Remi NGUYEN VAN
a2bdab2bc3 Merge "Move connectivity-sources to frameworks/base" am: 89eee28942
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1552065

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I5839df398fe834f527c2ed4732220592be1762ab
2021-01-27 07:50:14 +00:00
lucaslin
22f9b9f64b Check if NetworkSpecifier is an instance of MatchAllNetworkSpecifier
To prevent mainline module related file to access a hidden API,
check whether the NetworkSpecifier is an instance of
MatchAllNetworkSpecifier by itself.

Bug: 172183305
Test: atest FrameworksNetTests
Change-Id: I4d49cb70ff3c8a7e1ffa32e38207c74a6375e51a
2021-01-27 15:32:43 +08:00
Remi NGUYEN VAN
89eee28942 Merge "Move connectivity-sources to frameworks/base" 2021-01-27 07:15:05 +00:00
junyulai
acb3297bd0 [FUI03] No-op refactoring of VpnInfo
As a preparation of exposing system API. This patch does some
harmless refactoring, which includes:
  1. Move VpnInfo to android.net
  2. Add nullability annotations
  3. Make members final

Bug: 174123988
Test: TH
Change-Id: I1530bb45d0e84c28c6deac33596bc686058afc0d
2021-01-27 15:03:06 +08:00
James Mattis
5b04e5a6fe Merge changes Ic67cff95,Id7a6175c,I3d6896f5,Iaff727e7 am: bf013320a6
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1527006

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I88af6ecc2d8cb7695029504b842e08d622f3d2ed
2021-01-27 05:33:07 +00:00
James Mattis
bf013320a6 Merge changes Ic67cff95,Id7a6175c,I3d6896f5,Iaff727e7
* changes:
  Updates to handler logic for multilayer requests
  Update to sendAllRequestsToProvider for Multilayer
  Multilayer request updates to request callbacks
  Multilayer support when NAI requests are updated
2021-01-27 04:50:43 +00:00
Chiachang Wang
221bc58c36 Merge "Update jni to get int descriptor in native layer" am: 9c490ea98b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1553967

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ifd8dbb868577eb071f950c7e9afb25b929e9441c
2021-01-27 03:10:44 +00:00
James Mattis
f7027321e0 Updates to handler logic for multilayer requests
Updates to ConnectivityService network request handler's logic to support
(or disallow support of) multilayer network requests.

Bug: 175239920
Bug: 171991028
Test: atest FrameworksNetTests
atest NetworkStackTests
atest FrameworksNetIntegrationTests
atest NetworkStackIntegrationTests
atest CtsNetTestCasesLatestSdk

Change-Id: Ic67cff950d72745d6508a0a037bd33f932d5132c
2021-01-26 18:44:45 -08:00
James Mattis
f8b661d084 Update to sendAllRequestsToProvider for Multilayer
Updates to ConnectivityService.sendAllRequestsToProvider to support
Multilayer requests.

Bug: 175051182
Bug: 171991028
Test: atest FrameworksNetTests
atest FrameworksNetIntegrationTests
atest CtsNetTestCasesLatestSdk

Change-Id: Id7a6175cee28d2de1f6194cd0fc8c739d667427d
2021-01-26 18:44:32 -08:00
Chiachang Wang
9c490ea98b Merge "Update jni to get int descriptor in native layer" 2021-01-27 02:44:29 +00:00
Chiachang Wang
3f7f79e658 Update jni to get int descriptor in native layer
ConnectivityService is going to become a mainline module which
can not access the hidden APIs. The int descriptor of a
FileDescriptor is hidden for internal use only. The Network and
NetworkUtls will be parts of CS module. The corresponding usage
should be removed. There is no way in a module to access the
descriptor, so update the jni to set a FileDescriptor to native
to get the int descriptor inside the platform.

Also, update the other references in android_net_NetUtils for
getting fd to use the NDK functions in the libnativehelper.

Bug: 170598012
Test: atest FrameworksNetTests CtsNetTestCasesLatestSdk
Test: manually connect to a VPN
Change-Id: I2143c079feac53917a6e7bf7422f3180f51437fb
2021-01-27 02:44:14 +00:00
Paul Hu
93abada421 Merge "Fix FrameworksNetIntegrationTests failure" am: 40344bcf90
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1559105

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I2e43ec9f2061e4a67c5d78a3cab331ed8b13b991
2021-01-27 00:38:32 +00:00
Paul Hu
f03ba3c622 Merge "Revert^2 "Replace Context#sendStickyBroadcastAsUser()"" am: e981786cc0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1556143

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0bd4c977d13d2328cab480ca27c59de6fc4856a6
2021-01-27 00:33:36 +00:00
Paul Hu
40344bcf90 Merge "Fix FrameworksNetIntegrationTests failure" 2021-01-27 00:04:09 +00:00
Paul Hu
e981786cc0 Merge "Revert^2 "Replace Context#sendStickyBroadcastAsUser()"" 2021-01-27 00:04:09 +00:00
James Mattis
212df9eed2 Multilayer request updates to request callbacks
Updated to ConnectivityService to support multilayer requests when
sending request level callbacks.

Bug: 174797702
Bug: 171991028
Test: atest FrameworksNetTests
atest NetworkStackTests
atest FrameworksNetIntegrationTests
atest NetworkStackIntegrationTests
atest CtsNetTestCasesLatestSdk

Change-Id: I3d6896f5705509bcfff5544d2eb13c31feaf1937
2021-01-26 12:33:43 -08:00
James Mattis
a076c5335e Multilayer support when NAI requests are updated
Updates to ConnectivityService to support multilayer requests in any
flows which a NetworkAgentInfo has a NetworkRequest added/removed. This
would include both 'listen' and 'request' types of NetworkRequest
objects.

Bug: 174271773
Bug: 171991028
Test: atest FrameworksNetTests
atest NetworkStackTests
atest FrameworksNetIntegrationTests
atest NetworkStackIntegrationTests
atest CtsNetTestCasesLatestSdk

Change-Id: Iaff727e792828684e6ad4d07d0081e27992031be
2021-01-26 12:33:37 -08:00
Treehugger Robot
0017dc540d Merge changes I713bc2ec,Ib9ab07c9 am: 96e49f0e2b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1537264

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I27116d11a4a61c2ca76f687d8d47a4a973ae1e77
2021-01-26 13:49:20 +00:00
Treehugger Robot
96e49f0e2b Merge changes I713bc2ec,Ib9ab07c9
* changes:
  [FUI05] Remove wimax data usage unit test
  [FUI14] Get SSID from NetworkCapabilities
2021-01-26 13:13:24 +00:00
Paul Hu
96f1cbbbe2 Revert^2 "Replace Context#sendStickyBroadcastAsUser()"
ConnectivityService is using Context#sendStickyBroadcastAsUser
to send sticky broadcast but this API is not able to call after
it becomes part of Connectivity mainline module. Thus, replace it
with Context#sendStickyBroadcast.

The original commit was reverted because of a test failure. This
reverted commit is bound to the fix and will submit together.

Bug: 177223402
Change-Id: I75b8494e8ee30f484f33e9a9a660c7f9ad75f368
Test: atest FrameworksNetTests
Test: atest CtsNetTestCases
Test: atest CtsNetApi23TestCases
Test: atest FrameworksNetIntegrationTests
2021-01-26 02:53:06 +00:00
Daniel Bright
1eab3b7e66 Merge "Add method to match address \ port with QosFilter" am: 745f4c47ca
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1510591

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I1ccdf5afb966d44852ea34f7d3284470f002e539
2021-01-25 18:40:06 +00:00
Daniel Bright
745f4c47ca Merge "Add method to match address \ port with QosFilter" 2021-01-25 18:03:32 +00:00
Will Osborn
335720d555 Merge "Revert "Replace Context#sendStickyBroadcastAsUser()"" am: 4e1dc3301b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1556090

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Idf3590c2457434fb10ed68213ff47e5c8fffb4d7
2021-01-25 17:35:21 +00:00
Will Osborn
4e1dc3301b Merge "Revert "Replace Context#sendStickyBroadcastAsUser()"" 2021-01-25 17:20:29 +00:00
paulhu
9fb1358ccf Fix FrameworksNetIntegrationTests failure
The test is broken because CS is using
sendStickyBroadcast with all users context instead of
sendStickyBroadcastAsUser to send sticky broadcast. So update
related code on ConnectivityServiceIntegrationTest.

Bug: 178367782
Test: atest FrameworksNetIntegrationTests
      atest FrameworksNetTests
Change-Id: I7ad94fa31ea16025e6ad62d41235978f45be5d99
2021-01-25 23:40:06 +08:00
Will Osborn
d930f01c14 Revert "Replace Context#sendStickyBroadcastAsUser()"
This reverts commit e2664cb6ce.

Reason for revert: DroidMonitor: Potential culprit for Bug http://b/178367782 - verifying through Forrest before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.

Change-Id: I7fd74bf481febf1cba8b6c8fbf01c4908f847606
2021-01-25 14:34:30 +00:00
Paul Hu
cb09a1c774 Merge "Replace Context#sendStickyBroadcastAsUser()" am: b746bc77c2
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1552316

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia48990908b46f3e686b3798850a0f955a2f81dd1
2021-01-25 06:27:36 +00:00