Commit Graph

12278 Commits

Author SHA1 Message Date
lucaslin
eda1a92ae9 Use ArraySet#add() instead of ArraySet#append()
ArraySet#append() is a hidden API which is not accessible for
mainline module, use public one - ArraySet#add() instead.

Bug: 170598012
Test: atest FrameworksNetTests
Change-Id: I0742e2ec7aff008141b1de6d10eeca2910df71b1
2021-03-04 09:29:30 +08:00
Xin Li
dd3848d115 Merge "Merge RQ2A.210305.007" 2021-03-03 21:41:39 +00:00
Sarah Chin
564ab64fab Merge "APIs for 5G slicing" 2021-03-03 18:42:20 +00:00
James Mattis
f13bcb0899 Merge "Adding additional docs for OemNetworkPreferences" 2021-03-03 17:25:01 +00:00
Treehugger Robot
08ef7ddaff Merge "Extend timeout for receiving broadcasts" 2021-03-03 07:52:41 +00:00
Remi NGUYEN VAN
27ed37105b Extend timeout for receiving broadcasts
The test is currently flaky as broadcasts can take a long time
to be delivered, often more than 500ms.
Extend the timeout for broadcasts to 30s.

Historically the test would wait for broadcasts for at most 500ms,
but not verify that they were received before proceeding. This was
fixed recently by adding an assertion, but the assertion needs to
give enough time for the broadcast to be received.

Bug: 173331190
Change-Id: I0760f3418c635aa4d68de5aefdb7120a9d3e930b
Test: atest FrameworksNetTests
2021-03-03 06:26:16 +00:00
Lorenzo Colitti
cfdaa84e64 Merge changes Idfb5e149,Ia52b24c5
* changes:
  Stop using NetworkState internally in ConnectivityService.
  Isolate an ad-hoc legacy API codepath.
2021-03-03 05:35:28 +00:00
Sarah Chin
ce85c4c118 APIs for 5G slicing
Create TrafficDescriptor class
Create new APN ENTERPRISE
Update setupDataCall and DataCallResponse to take TrafficDescriptor and
matchAllRuleAllowed
Move ApnTypes from Annotation to ApnSetting

Bug: 179312227
Test: atest FrameworksTelephonyTests
Change-Id: I7433976bfe25bcb2af85ffb9338959cbcc9f42f3
Merged-In: I7433976bfe25bcb2af85ffb9338959cbcc9f42f3
2021-03-03 14:16:21 +09:00
Frank Li
2c1989a672 Merge "[REIP01]Remove the IP connectivty metrics" 2021-03-03 01:28:31 +00:00
Paul Hu
3503759a6f Merge "Use IDnsResolverUnsolicitedEventListener" 2021-03-03 01:08:27 +00:00
Paul Hu
3f250d1da0 Merge "Implement Settings#checkAndNoteChangeNetworkStateOperation on CS" 2021-03-03 01:07:20 +00:00
Yan Yan
7d67dda5c3 Merge "Support new IpSecAlgorithm AUTH_AES_CMAC" am: ca72617385
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1579251

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic9cc8508fb44e10371bc76bb31f20340f8663b18
2021-03-02 21:08:15 +00:00
Treehugger Robot
d73af919b6 Merge "[FUI09] Expose NetworkStateSnapshot as system API" am: 7a593e640d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1536708

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I8eb6681328ad1f4a85bcc8c6c4b9446c23616b7a
2021-03-02 20:52:02 +00:00
Treehugger Robot
15c7e774c2 Merge "[FUI17] Migrate NetworkStatsService to use NetworkStateSnapshot" am: ebfdaa502f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1556553

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I2b19538843007e38e170163120f38477e4b76be8
2021-03-02 20:47:52 +00:00
Remi NGUYEN VAN
695e5f6f62 Merge "Move OemNetworkPreferences aidl to connectivity" am: d795b61a56
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1612038

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I11b9be22935b9fd7cf53b268103a1ce4635a6afd
2021-03-02 20:27:29 +00:00
Remi NGUYEN VAN
beb3822e20 Merge "Move UidRange to connectivity" am: ea3a01abf9
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1612295

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I672615b0804b9a9de4befa1ba5aea2efb9c962df
2021-03-02 20:24:20 +00:00
Treehugger Robot
dec716d6d3 Merge "Add modules-utils-os to service-connectivity" am: d55697b5e2
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1612195

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I22df4afec8f8b5024d099966c0ca0f78b55ff08a
2021-03-02 20:19:24 +00:00
Treehugger Robot
7afcfc90ee Merge "Replace checkNetworkStackPermission in TestNetworkService" am: e7b360f9f5
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1612194

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I5dd6577a57be2234014527e3bd517b60c4fecb48
2021-03-02 20:16:39 +00:00
Remi NGUYEN VAN
b7f911ad07 Merge "Move Proxy, PacProxySelector out of Connectivity" am: 14bcef6a65
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1598157

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id81273b33752ff353dfebdd2cd3faf43429f1a29
2021-03-02 19:52:58 +00:00
Remi NGUYEN VAN
f0b2caa08b Merge "Move SocketUtils out of the connectivity module" am: 24e5bceac5
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1592273

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib2d4b5574ba710eb50c438144e2b87f6c8954336
2021-03-02 19:48:26 +00:00
Aaron Huang
600550be2f Merge "Use the net-utils-device-common version of HexDump" am: 92e767c065
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1607954

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I1085391b5649df72b6664d5cdf1756c5110287dc
2021-03-02 19:42:02 +00:00
Lucas Lin
cf985cf03e Merge changes I06ab0f2d,I8b146aa1 am: 22c42d573e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1596513

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0332bf0bf07a0a958c2e75b464d577021fd57746
2021-03-02 19:13:55 +00:00
Lucas Lin
25d2ee9e66 Merge changes I35ed84fc,Ie6cfd77b,I4e4f929f,I751526e8 am: 51d01615d3
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1607733

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia438f937106645eb0d6cb91772d437676bf716fd
2021-03-02 19:08:57 +00:00
Yan Yan
ca72617385 Merge "Support new IpSecAlgorithm AUTH_AES_CMAC" 2021-03-02 18:24:27 +00:00
Treehugger Robot
7a593e640d Merge "[FUI09] Expose NetworkStateSnapshot as system API" 2021-03-02 16:08:03 +00:00
Lorenzo Colitti
cb1d6a17bc Stop using NetworkState internally in ConnectivityService.
NetworkState is used by many methods that take or return legacy
network types. It is used because it contains most of the state
related to a network.

This code is not easy to follow and is more expensive than it
needs to be: most of the methods that construct a NetworkState
only really need one of its members (e.g., LinkProperties, or
NetworkInfo), but constructing a NetworkState requires making
defensive copies of all its other members as well.

- Instead of using NetworkState, use NetworkAgentInfo, which
  already contains all the same data.
- Replace calls to getUnfilteredActiveNetworkState with calls to
  getNetworkAgentInfoForUid. When getUnfilteredActiveNetworkState
  returned NetworkState.EMPTY, return a null nai, which causes
  any caller to see return null LinkProperties/NetworkInfo/etc.
- Rename filterNetworkStateForUid to getFilteredNetworkInfo,
  because that's the only thing it actually filters.
- Rename getFilteredNetworkInfo to getFilteredNetworkInfoForType
  to avoid having two methods with the same name perform two
  different operations. That method was only introduced recently
  in aosp/1552503, so it's probably fine to rename it.

Bug: 174123988
Test: passes existing ConnectivityServiceTest
Change-Id: Idfb5e149967266a442b268de6f13a521884dbb8f
2021-03-03 01:02:45 +09:00
Lorenzo Colitti
998a02f226 Isolate an ad-hoc legacy API codepath.
The legacy API getNetworkInfo(int type) is expected to return
NetworkInfo objects for all network types supported by the device
even when those network types are not connected.

This requires a lot of fabrication because all the data
structures in ConnectivityService store information about
connected networks, not networks that don't exist.

Worse, the current behaviour is to return BLOCKED instead of
DISCONNECTED if background data is restricted. This obviously
makes no sense, because a disconnected network cannot be
blocked, and because if that network type did connect and was
unmetered (e.g., Wi-Fi), it would no longer be BLOCKED.
This complicates the code, forcing several methods to deal with
a special case of null NetworkCapabilities, no NetworkAgentInfo,
etc.

Fix this by isolating this outlandish behaviour to its own
method. This allows the main codepaths not to have to support
this unusual and not very useful edge case.

Bug: 174123988
Test: pure refactoring, passes existing tests
Change-Id: Ia52b24c59024c8f6e63e584b864e0225cb572090
2021-03-03 01:02:35 +09:00
junyulai
c6e8355dbd [FUI09] Expose NetworkStateSnapshot as system API
This is needed by NetworkStatsService and
NetworkPolicyManagerService to utilize the snapshots of
information of networks that grabbed from ConnectivityService.

Test: atest FrameworksNetTests NetworkPolicyManagerServiceTest
Bug: 174123988
Change-Id: I7e974ef7b23ba9ba6ee775eed9899b0c0e2eca55
2021-03-02 23:09:16 +08:00
Treehugger Robot
ebfdaa502f Merge "[FUI17] Migrate NetworkStatsService to use NetworkStateSnapshot" 2021-03-02 13:21:32 +00:00
junyulai
527859f7a4 [FUI17] Migrate NetworkStatsService to use NetworkStateSnapshot
This change migrates NetworkStatsService and related code to use
NetworkStateSnapshot which is used for replacing the NetworkState.

This patch also changes some formating which is suggested by
the linter.

Test: FrameworksNetTests NetworkPolicyManagerServiceTest
Bug: 174123988
Change-Id: I547da8f411cb45bdadc376ac3cadf3f3c55bb282
2021-03-02 20:08:53 +08:00
Remi NGUYEN VAN
d795b61a56 Merge "Move OemNetworkPreferences aidl to connectivity" 2021-03-02 09:29:07 +00:00
Remi NGUYEN VAN
ea3a01abf9 Merge "Move UidRange to connectivity" 2021-03-02 09:27:50 +00:00
lifr
567c0d7adb [REIP01]Remove the IP connectivty metrics
The IPconnectivty metrics was deprecated.
So, remove the usage of the IPconnectivty metrics code in android.

Bug: 157966864
Test: atest CtsNetTestCases
Change-Id: I9ed4d29bf868902f3222aff980758512233b0b0a
2021-03-02 09:03:28 +00:00
Treehugger Robot
d55697b5e2 Merge "Add modules-utils-os to service-connectivity" 2021-03-02 08:59:35 +00:00
Treehugger Robot
e7b360f9f5 Merge "Replace checkNetworkStackPermission in TestNetworkService" 2021-03-02 08:55:28 +00:00
Remi NGUYEN VAN
14bcef6a65 Merge "Move Proxy, PacProxySelector out of Connectivity" 2021-03-02 07:49:00 +00:00
Remi NGUYEN VAN
24e5bceac5 Merge "Move SocketUtils out of the connectivity module" 2021-03-02 06:44:01 +00:00
Remi NGUYEN VAN
4e85d98a6f Move UidRange to connectivity
UidRange is a data class that is an implementation detail of
Connectivity. Move it to the connectivity boundary.

Remaining usages of UidRange outside of Connectivity (in VPN) should be
migrated to other classes, like Range<Integer> or UidRangeParcel.

Bug: 181512874
Test: m
Change-Id: I6f2e3685ad1c07171dd90480d1e546329de8732d
2021-03-02 15:35:36 +09:00
Aaron Huang
92e767c065 Merge "Use the net-utils-device-common version of HexDump" 2021-03-02 06:25:34 +00:00
Remi NGUYEN VAN
49c389926a Move OemNetworkPreferences aidl to connectivity
Move the IOnSetOemNetworkPreferenceListener aidl definition to
framework-connectivity.
The interface is an internal implementation detail of
framework-connectivity, so it should be built inside the jar.

Bug: 181512874
Test: m
Change-Id: I898049b50fc620ee629587a9303f058e0a6d0272
2021-03-02 13:56:38 +09:00
Lucas Lin
22c42d573e Merge changes I06ab0f2d,I8b146aa1
* changes:
  Use UserHandle#getIdentifier to get the userid
  Add test for getStartUser(), getEndUser() and createForUser()
2021-03-02 04:13:32 +00:00
Lucas Lin
51d01615d3 Merge changes I35ed84fc,Ie6cfd77b,I4e4f929f,I751526e8
* changes:
  Fix comments left on aosp/1547454 and aosp/1556106
  Remove INetworkManagementService from ConnectivityService
  Remove unused INetworkManagementService
  Remove BaseNetworkObserver from Nat464Xlat
2021-03-02 04:07:35 +00:00
paulhu
0a2aa80965 Use IDnsResolverUnsolicitedEventListener
Only part of events will report from DnsResolver through
INetdEventListener. So use IDnsResolverUnsolicitedEventListener
to get exactly supporting events from DnsResolver and it uses
Parcelable object to deliver data which can be more updateable
and extendable in the future.

Bug: 173485754
Test: atest FrameworksNetTests
      atest CtsNetTestCases
Change-Id: I8d2e700ae8861ed8ceccd287f3ca5bc2f1ed6dee
2021-03-02 11:37:47 +08:00
Remi NGUYEN VAN
1dd6922fda Add modules-utils-os to service-connectivity
service-connectivity needs the library so that module utilities are statically
linked, not picked up from the framework jar as hidden symbols.

Bug: 170598012
Change-Id: I1045b3784a4bdb902f44d848ccddb304986631c3
Test: m
2021-03-02 03:28:58 +00:00
Remi NGUYEN VAN
b2a34f3db1 Replace checkNetworkStackPermission in TestNetworkService
Use the underlying PermissionUtils directly instead.

Bug: 178352309
Change-Id: I840a7b7d53531604a214b73f1f518b2ebb10e71e
Test: atest FrameworksNetTests
2021-03-02 02:27:42 +00:00
lucaslin
cdda475652 Use UserHandle#getIdentifier to get the userid
UidRange uses PER_USER_RANGE to calculate and get the userid,
but PER_USER_RANGE is a hidden API, so use getIdentifier to get
the userid instead.

Bug: 170598012
Test: atest FrameworksNetTests:UidRangeTest
Change-Id: I06ab0f2da8a33d2b718bbc3a609d3d6a5fe0a095
2021-03-02 02:21:39 +00:00
Remi NGUYEN VAN
c02f9028be Merge "Move QoS API classes to Connectivity" am: 32a606fe54
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1611876

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Idad1f51e7f269c2cef9e836efa668a5a0afd4c5a
2021-03-02 01:28:59 +00:00
Remi NGUYEN VAN
3a142b99f1 Move Proxy, PacProxySelector out of Connectivity
PacProxySelector is tied to IProxyService, which does not have a formal
API.
Proxy is the interface with ConnectivityService, and all its methods are
public or module API.

Bug: 171540887
Test: m
Change-Id: I8ceba961a81661c3e11d8179955b594d3cab6ff7
2021-03-01 18:35:26 +09:00
Remi NGUYEN VAN
de9477571f Move QoS API classes to Connectivity
The classes were added in S and are used to back ConnectivityManager
APIs. Add them to the connectivity boundary as they belong together with
ConnectivityManager.

Bug: 181512874
Test: m
Change-Id: I03b5978949b200a72813d1ebc4812d851fe3df37
2021-03-01 18:09:30 +09:00
Remi NGUYEN VAN
accf696b71 Move SocketUtils out of the connectivity module
SocketUtils contains system APIs for modules to interact for sockets,
wrapping internal APIs. It should be part of the platform to keep access
to the internal APIs.

This involves splitting NetworkUtils.protectVpn to NetworkUtilsInternal,
since SocketUtils and VpnService are the only users of that method.

The @UnsupportedAppUsage NetworkUtils.protectVpn has low usage
count, and is already available through VpnService.protect.

Bug: 181512874
Test: boots, VPN working
Change-Id: I7028d334975f7536c06afac7a22200c33db707ac
2021-03-01 16:50:08 +09:00