Commit Graph

11775 Commits

Author SHA1 Message Date
Serik Beketayev
cd3b07080b Merge "[Mainline] Migrate com.google.android.collect pkg" am: 9b3338820a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1552881

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I1648cf0bc1803d59787edb8715b0abc63728cc5d
2021-02-01 23:50:59 +00:00
Serik Beketayev
9b3338820a Merge "[Mainline] Migrate com.google.android.collect pkg" 2021-02-01 23:11:56 +00:00
Lorenzo Colitti
203c72f86c Merge changes Idcc9e32c,I58769bb7 am: e73a36ba21
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1552503

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If12227f11585de18d92995cf603765b18f91764f
2021-02-01 11:36:03 +00:00
Lorenzo Colitti
e73a36ba21 Merge changes Idcc9e32c,I58769bb7
* changes:
  Remove getFilteredNetworkState and add @NonNull in NetworkState.
  Add test coverage for get*NetworkInfo on metered networks.
2021-02-01 10:56:19 +00:00
Lorenzo Colitti
6f55e61287 Remove getFilteredNetworkState and add @NonNull in NetworkState.
getFilteredNetworkState is only used in two places, both of which
use only small parts of the NetworkState that is returned to
them. Remove the method and replace it with inline code in the
two callers. NetworkState is a fairly expensive object, and this
removes the need to perform lots of defensive copies of data that
the caller does not need.

Also remove the only call to the NetworkState constructor in
ConnectivityService. That leaves only one caller to the
NetworkState constructor, the one in NetworkAgentInfo. This
constructor is called with defensive copies of NetworkInfo,
LinkProperties, and NetworkCapabilities, so mark these three
parameters as @NonNull. It's also called with a non-null
Network, because NetworkAgentInfo is only constructed with
non-null Networks, so mark the network parameter @NonNull as
well.

In order to make the arguments in the NetworkState constructor
@NonNull, introduce a new constructor that sets everything to
null and make NetworkState.EMPTY call it.

Test: atest FrameworksNetTests
Change-Id: Idcc9e32c53533b0cf61494517e62d4c184fa7610
2021-02-01 16:12:04 +09:00
Lorenzo Colitti
0e920055dc Add test coverage for get*NetworkInfo on metered networks.
Test: test-only change
Change-Id: I58769bb768978d0acff1da6d32c2f6942c43508b
2021-02-01 15:58:12 +09:00
Remi NGUYEN VAN
f172ba283d Merge "Move module sources to packages/Connectivity" am: 3d70ab73eb
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1552656

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I42989abf6e81a4c0e7bed6b0890a1ee4f2c30191
2021-02-01 06:09:33 +00:00
Remi NGUYEN VAN
8f37b3f55b 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
2021-02-01 11:52:14 +09:00
Junyu Lai
d53184a4de Merge "[FUI16] Expose setSubscriberId in NetworkAgentConfig as system API" am: bc1a11fdb2
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1556552

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I4d3eb542b1c3a9aabf51c58b8d83ad3e669f2077
2021-01-29 23:04:04 +00:00
Junyu Lai
ba245e077f Merge "[FUI04] Refactor VpnInfo" am: 149add890e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1537211

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I59054bfe1761e28cdfb8e8e6d67e4aabda399adc
2021-01-29 22:55:54 +00:00
Junyu Lai
336c5d93a7 Merge "[VCN06] Support request background network" am: 2141aec60a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1553866

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic959a453489767781ebb8fb71effb2c14e0f69d8
2021-01-29 22:46:27 +00:00
Junyu Lai
bc1a11fdb2 Merge "[FUI16] Expose setSubscriberId in NetworkAgentConfig as system API" 2021-01-29 17:15:28 +00:00
junyulai
6e74469a64 [FUI16] Expose setSubscriberId in NetworkAgentConfig as system API
The wifi (mainline module) need to set the subscriberId for specific
wifi network.

Bug: 176396812
Test: TreeHugger
Change-Id: Ib568ce0c2d1b629e1c20e7ac8d8b78579cf4825c
2021-01-29 22:09:10 +08:00
Junyu Lai
149add890e Merge "[FUI04] Refactor VpnInfo" 2021-01-29 13:54:53 +00:00
Junyu Lai
2141aec60a Merge "[VCN06] Support request background network" 2021-01-29 11:02:02 +00:00
junyulai
62d35f7e59 [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
23568a4f04 [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
227fc5d23d Merge "[VCN01] Add NOT_VCN_MANAGED capability" am: 00caf89795
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
00caf89795 Merge "[VCN01] Add NOT_VCN_MANAGED capability" 2021-01-28 13:04:59 +00:00
Treehugger Robot
73a7e5b4e9 Merge "Note network interfaces based on transport" am: a7656b2d7e
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
Treehugger Robot
a7656b2d7e Merge "Note network interfaces based on transport" 2021-01-28 07:45:20 +00:00
Lorenzo Colitti
d892e45c9b Merge "Fix legacy APIs when VPN switches to suspended underlying network." am: 83563fd735
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
6d0e73ed67 Merge "Replace hidden getFileDescriptor$()" am: f13926d8dc
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
83563fd735 Merge "Fix legacy APIs when VPN switches to suspended underlying network." 2021-01-28 07:07:37 +00:00
Treehugger Robot
59452b2ad4 Merge "[Mainline] Migrate TextUtils#emptyIfNull" am: a4520fd260
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
f13926d8dc Merge "Replace hidden getFileDescriptor$()" 2021-01-28 06:36:11 +00:00
Remi NGUYEN VAN
afd7560b29 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
a4520fd260 Merge "[Mainline] Migrate TextUtils#emptyIfNull" 2021-01-28 06:05:08 +00:00
Lucas Lin
a9090b57cf Merge "Use createStringArray instead of readStringArray" am: d1a04ba095
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
b96b07febe Merge "Check if NetworkSpecifier is an instance of MatchAllNetworkSpecifier" am: d15fcc3048
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
d1a04ba095 Merge "Use createStringArray instead of readStringArray" 2021-01-28 04:04:10 +00:00
lucaslin
cee4354c1d 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
d15fcc3048 Merge "Check if NetworkSpecifier is an instance of MatchAllNetworkSpecifier" 2021-01-28 04:01:49 +00:00
Chiachang Wang
0bb339732d 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
2b6868d243 Merge "[FUI03] No-op refactoring of VpnInfo" am: c1140f2a33
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
c1140f2a33 Merge "[FUI03] No-op refactoring of VpnInfo" 2021-01-27 11:47:34 +00:00
Junyu Lai
120e49e971 [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
71bcb81640 Merge "Move connectivity-sources to frameworks/base" am: 82a30b6bbe
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
61ad5f342e 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
82a30b6bbe Merge "Move connectivity-sources to frameworks/base" 2021-01-27 07:15:05 +00:00
junyulai
bd7f3cd75b [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
f07220e8f5 Merge changes Ic67cff95,Id7a6175c,I3d6896f5,Iaff727e7 am: 4c69988898
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
4c69988898 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
c1e552c667 Merge "Update jni to get int descriptor in native layer" am: 332aae3a6e
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
08131f3446 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
7b26bba8de 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
332aae3a6e Merge "Update jni to get int descriptor in native layer" 2021-01-27 02:44:29 +00:00
Chiachang Wang
30199ca9f8 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
438f45fc13 Merge "Fix FrameworksNetIntegrationTests failure" am: 4071a8ccb1
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
c8341e807d Merge "Revert^2 "Replace Context#sendStickyBroadcastAsUser()"" am: d07d47e255
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