Commit Graph

3295 Commits

Author SHA1 Message Date
Lucas Lin
f80bb2661d Merge changes I6d5dd0a8,I106b3e4f am: 6f244a30bc
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1653932

Change-Id: Ife29dba8549f9b86cfe757a59fd4c8e61e55738f
2021-03-25 11:46:03 +00:00
Lucas Lin
cc86d88f8f Merge "Use getAllInterfaceNames to get all interface names" am: c4c056b647
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1653937

Change-Id: I42de5ac3508b7947ac3b53717f1133ea6aa8588c
2021-03-25 11:30:31 +00:00
Lucas Lin
6f244a30bc Merge changes I6d5dd0a8,I106b3e4f
* changes:
  Use public API Network#getNetId() to get netid
  Remove unused import IConnectivityManager
2021-03-25 10:49:35 +00:00
lucaslin
a3bf03ed40 Use public API Network#getNetId() to get netid
Network class will be a part of mainline module, external callers
cannot call its hidden constant. Use public API - getNetId() to
get netid instead.

Bug: 182963397
Test: m
Change-Id: I6d5dd0a8c3879df7bdc1d58e36022045c303bb40
Merged-In: I6d5dd0a8c3879df7bdc1d58e36022045c303bb40
  (cherry-picked from ag/13927649)
2021-03-25 10:48:55 +00:00
lucaslin
bd7052a00a Use getAllInterfaceNames to get all interface names
The current design is using hidden API - getStackedLinks() to
get LinkProperties then call getInterfaceName() to get the
interface name. In fact, this behavior could be replaced by
system API - getAllInterfaceNames().

Bug: 182963397
Test: atest FrameworksNetTests
Test: atest CtsNetTestCases
Change-Id: Id2b19dc5099355af69d23a6d99d2b7e6c0e1e88a
Merged-In: Id2b19dc5099355af69d23a6d99d2b7e6c0e1e88a
  (cherry-picked from ag/13927660)
2021-03-25 08:10:28 +00:00
junyulai
46ecccc4d4 [SP31] Expose onSetWarningAndLimit System API
Test: atest NetworkPolicyManagerServiceTest NetworkStatsServiceTest
Bug: 149467454
CTS-Coverage-Bug: 183598414
Merged-In: I6f5e22e3a7b80a38cae9f3c5d7296a1dff34facf
Change-Id: I6f5e22e3a7b80a38cae9f3c5d7296a1dff34facf
  (cherry-picked from ag/13981689)
2021-03-25 09:32:43 +08:00
junyulai
49642c1eae [SP29] Send interface warning bytes to NetworkStatsProvider
This change contains necessary modification in NPMS and NSS
to send warning bytes to NetworkStatsProvider. But since
no any provider has been upgraded to handle such parameter.
Thus, no behavior change is made in this patch.

Test: atest NetworkPolicyManagerServiceTest NetworkStatsServiceTest
Test: atest NetworkPolicyManagerServiceTest#testStatsProviderWarningAndLimitReached
Bug: 149467454
Bug: 170699770
Bug: 170179169
Merged-In: I6c4863030c36328db571294fd12a40e59864def5
Change-Id: I6c4863030c36328db571294fd12a40e59864def5
  (cherry-picked from ag/13982166)
2021-03-25 09:23:24 +08:00
junyulai
8482bac84f [SP28] Add API for set data warning
To have better control and race-free of set data warning
to tether offload hardware, an interface of set warning and
limit at the same time in the NetworkStatsProvider is needed.

This is a no-op change which expose such interface with minimum
changes in service side to get build pass. The implementation
would be included in follow-up patches.

Test: atest NetworkStatsServiceTest
Test: atest NetworkPolicyManagerServiceTest
Test: atest GtsNetworkStackHostTestCases
Test: m doc-comment-check-docs
Bug: 149467454
Bug: 170699770
Bug: 170179169
Merged-In: I6ee661497f7dedb871c85786d1950cab951d8aa2
Change-Id: I6ee661497f7dedb871c85786d1950cab951d8aa2
  (cherry-picked from ag/13959436)
2021-03-24 22:48:26 +08:00
junyulai
a22175603b [SP31] Expose onSetWarningAndLimit System API
Test: atest NetworkPolicyManagerServiceTest NetworkStatsServiceTest
Bug: 149467454
CTS-Coverage-Bug: 183598414
Ignore-AOSP-First: avoid long automerger delay
Change-Id: I6f5e22e3a7b80a38cae9f3c5d7296a1dff34facf
2021-03-24 22:03:03 +08:00
junyulai
0141e8f8f8 [SP29] Send interface warning bytes to NetworkStatsProvider
This change contains necessary modification in NPMS and NSS
to send warning bytes to NetworkStatsProvider. But since
no any provider has been upgraded to handle such parameter.
Thus, no behavior change is made in this patch.

Test: atest NetworkPolicyManagerServiceTest NetworkStatsServiceTest
Test: atest NetworkPolicyManagerServiceTest#testStatsProviderWarningAndLimitReached
Bug: 149467454
Bug: 170699770
Bug: 170179169
Ignore-AOSP-First: avoid long automerger delay
Change-Id: I6c4863030c36328db571294fd12a40e59864def5
2021-03-24 22:02:52 +08:00
junyulai
00f7776ec2 [SP28] Add API for set data warning
To have better control and race-free of set data warning
to tether offload hardware, an interface of set warning and
limit at the same time in the NetworkStatsProvider is needed.

This is a no-op change which expose such interface with minimum
changes in service side to get build pass. The implementation
would be included in follow-up patches.

Test: atest NetworkStatsServiceTest
Test: atest NetworkPolicyManagerServiceTest
Test: atest GtsNetworkStackHostTestCases
Test: m doc-comment-check-docs
Bug: 149467454
Bug: 170699770
Bug: 170179169
Ignore-AOSP-First: avoid long automerger delay
Change-Id: I6ee661497f7dedb871c85786d1950cab951d8aa2
2021-03-23 23:43:10 +08:00
Aaron Huang
2c6db2fa85 Fix IpConfigStore dependencies on framework-connectivity
This change fixes IpConfigStore dependencies on framework-connectivity
hidden APIs.
- Use the version of SystemApi to new RouteInfo.
- Inline the implementation of isIPv4Default() directly because
  isDefaultRoute() is a public API so it can be used in this class.

Bug: 178777253
Test: FrameworksServicesTests:IpConfigStoreTest
Change-Id: I5ed1bc8bc8bee5b0c795fd8577a2d64628998e51
2021-03-22 18:59:41 +08:00
Aaron Huang
7a47069896 Migrate hidden API in IpConfigStore to formal API
IpConfiguration and StaticIpConfiguration are included
in framework-connectivity which cannot have external
hidden API usages dependencies on them. IpConfiguration
and StaticIpConfiguration provide builder and getter
methods for the fields of the objects which are formal APIs.
So, replace the usages in IpConfigStore with those formal
APIs to remove the dependencies.

Bug: 178777253
Test: FrameworksServicesTests:IpConfigStoreTest
Change-Id: Ie9e6af0efe2c39667bb8faa1e3a498b1f61e1432
2021-03-22 18:59:37 +08:00
lucaslin
4249f3b868 Use getAllInterfaceNames to get all interface names
The current design is using hidden API - getStackedLinks() to
get LinkProperties then call getInterfaceName() to get the
interface name. In fact, this behavior could be replaced by
system API - getAllInterfaceNames().

Bug: 182963397
Test: atest FrameworksNetTests
Test: atest CtsNetTestCases
Change-Id: Id2b19dc5099355af69d23a6d99d2b7e6c0e1e88a
2021-03-19 23:08:33 +08:00
lucaslin
f16d4995f4 Use public API Network#getNetId() to get netid
Network class will be a part of mainline module, external callers
cannot call its hidden constant. Use public API - getNetId() to
get netid instead.

Bug: 182963397
Test: m
Change-Id: I6d5dd0a8c3879df7bdc1d58e36022045c303bb40
2021-03-19 08:08:20 +00:00
Chalard Jean
8c35a3103e Merge "Annotate NSM heavy methods with @WorkerThread" am: e653533632 am: 000965d08d am: 07a6e0aad0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1625859

Change-Id: I6115f4ed727a78f5ed800e7e254913220d1d5bec
2021-03-17 22:10:58 +00:00
Chalard Jean
07a6e0aad0 Merge "Annotate NSM heavy methods with @WorkerThread" am: e653533632 am: 000965d08d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1625859

Change-Id: I4091f82e7b95901a88cd9528c92df4519fb3edd1
2021-03-17 03:08:28 +00:00
Chalard Jean
000965d08d Merge "Annotate NSM heavy methods with @WorkerThread" am: e653533632
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1625859

Change-Id: Id925979c238c8ae482dbb9c78bf7f4e0f27255d6
2021-03-17 02:26:48 +00:00
Chalard Jean
e653533632 Merge "Annotate NSM heavy methods with @WorkerThread" 2021-03-17 02:03:22 +00:00
Zhengyu Zhan
efbedc78e5 Support Dual ViLTE stats
Some operator supports multiple VILTE,
both two SIM cards can make VILTE call.
We need to record VILTE data to different interface.
Now NetworkStatsService has only one VILTE data
interface: "vt_data0". All VILTE data stats will
be recorded in this interface.

Bug: 130871087
Test: NetworkStatsServiceTest#testDualVilteProviderStats
Change-Id: I000ec756827bc42cac88dd0a2ca6b7999252357e
2021-03-15 10:00:59 +08:00
Lucas Lin
6ef3e1833c Merge changes Ib80f814f,Ic605e489 am: 2eda97f001 am: 7516f4a96d am: f7eab65c30
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1626209

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I47862eeec4f74a0901b8b866dd6ffa906bd9e62f
2021-03-12 04:58:40 +00:00
Lucas Lin
f7eab65c30 Merge changes Ib80f814f,Ic605e489 am: 2eda97f001 am: 7516f4a96d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1626209

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0f41a9cd27dd37c859e69fe02a32b9ab13fb0d46
2021-03-12 04:34:22 +00:00
Lucas Lin
7516f4a96d Merge changes Ib80f814f,Ic605e489 am: 2eda97f001
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1626209

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I94fd187e5f2cc0428807668f82b3a29ad8b66c47
2021-03-12 03:56:18 +00:00
Lucas Lin
2eda97f001 Merge changes Ib80f814f,Ic605e489
* changes:
  Use new API - getIpSecNetIdRange() in IpSecService
  Add a new API to get the network ID range of IPSec tunnel interface
2021-03-12 03:30:32 +00:00
Remi NGUYEN VAN
d163271cee [automerger skipped] Add Ethernet, TestNetworkSpecifier API am: c9f9c3c5d2 am: b7bada9a78 am: d296a8a475 -s ours
am skip reason: Change-Id Iee569f5c8bbdc4bc979610e1191308281f3d4620 with SHA-1 aa5bdbffac is in history

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1574300

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If4f60a26f8c19e77d348dfcc7c382022ba6cf0d1
2021-03-12 00:52:15 +00:00
Remi NGUYEN VAN
d296a8a475 Add Ethernet, TestNetworkSpecifier API am: c9f9c3c5d2 am: b7bada9a78
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1574300

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I63159846579c43c721eeb86c9a55faa3f2888be8
2021-03-12 00:26:45 +00:00
Remi NGUYEN VAN
b7bada9a78 Add Ethernet, TestNetworkSpecifier API am: c9f9c3c5d2
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1574300

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I1a1b38fb6b8b6831bac016a8352ae9073758f9af
2021-03-12 00:10:08 +00:00
lucaslin
2c264d7a25 Use new API - getIpSecNetIdRange() in IpSecService
Use new API - getIpSecNetIdRange() to get the network ID range
of IPSec tunnel interface.

Bug: 172183305
Test: atest FrameworksNetTests:IpSecServiceTest
Change-Id: Ib80f814f991e9f000a68f5c539d15d97cf56930e
2021-03-11 17:30:18 +00:00
Remi NGUYEN VAN
c9f9c3c5d2 Add Ethernet, TestNetworkSpecifier API
Rename StringNetworkSpecifier to EthernetNetworkSpecifier (its only
production user), and make it module-lib API.
The original StringNetworkSpecifier file is actually kept to satisfy
some invalid dependencies; it will be removed separately.

This allows specifying an Ethernet interface with a non-deprecated API:
until this change the only way to do so would be to use
NetworkRequest#setSpecifier(String), which is deprecated.

Similarly, add the TestNetworkSpecifier API for TestNetworkManager, to
replace previous usage of StringNetworkSpecifier. TestNetworkManager is
module API, so TestNetworkSpecifier should be module API too. This
allows tests to request the test interface specifically, without using
the deprecated NetworkRequest#setSpecifier(String).

Bug: 179329291
Test: m
Merged-In: Iee569f5c8bbdc4bc979610e1191308281f3d4620

Change-Id: Iee569f5c8bbdc4bc979610e1191308281f3d4620
2021-03-11 23:02:02 +08:00
Chalard Jean
fafaa4751a Annotate NSM heavy methods with @WorkerThread
Test: TH
Bug: 181906747
Change-Id: Ia30273466c1b91a3dcc5d36dac61f92185dec96e
2021-03-11 10:47:46 +00:00
Remi NGUYEN VAN
4c9eb67a99 Merge "Remove unused buildNetworkIdentity" am: f182642b86 am: 1f23e82e55 am: 37ee901d2a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1622670

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ifd1c5f5fc46131f6e5b586b76505e7f666547e96
2021-03-10 00:54:43 +00:00
Remi NGUYEN VAN
37ee901d2a Merge "Remove unused buildNetworkIdentity" am: f182642b86 am: 1f23e82e55
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1622670

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I6517777a7a2922d1d7cee0fabe4dbe2cd286800c
2021-03-10 00:05:51 +00:00
Remi NGUYEN VAN
1f23e82e55 Merge "Remove unused buildNetworkIdentity" am: f182642b86
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1622670

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If9725e5994731a3f5fd8a9044e82e39f02c61f8a
2021-03-09 23:29:15 +00:00
Remi NGUYEN VAN
e2ee0d3fa0 Merge "Add Ethernet, TestNetworkSpecifier API" into sc-dev 2021-03-09 22:43:46 +00:00
Remi NGUYEN VAN
2d5af92926 Remove unused buildNetworkIdentity
The overload using a NetworkState is now unused.

Bug: 174123988
Change-Id: I22f2d2fffd2d70c08097d3217f01393ff8e75ab5
Test: m
2021-03-09 09:31:21 +00:00
Remi NGUYEN VAN
aa5bdbffac Add Ethernet, TestNetworkSpecifier API
Rename StringNetworkSpecifier to EthernetNetworkSpecifier (its only
production user), and make it module-lib API.
The original StringNetworkSpecifier file is actually kept to satisfy
some invalid dependencies; it will be removed separately.

This allows specifying an Ethernet interface with a non-deprecated API:
until this change the only way to do so would be to use
NetworkRequest#setSpecifier(String), which is deprecated.

Similarly, add the TestNetworkSpecifier API for TestNetworkManager, to
replace previous usage of StringNetworkSpecifier. TestNetworkManager is
module API, so TestNetworkSpecifier should be module API too. This
allows tests to request the test interface specifically, without using
the deprecated NetworkRequest#setSpecifier(String).

Bug: 179329291
Test: m
Change-Id: Iee569f5c8bbdc4bc979610e1191308281f3d4620
2021-03-09 07:46:48 +00:00
Chiachang Wang
23dd97f956 Merge "Replace ConnectivityManager.isNetworkTypeMobile usage in NSS" am: 874aefac33 am: 01ea176bce am: a0f5d506aa
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1612298

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I6030cf153aa76f666cafc1b4f28fa17d57a5da3e
2021-03-09 05:56:30 +00:00
Chiachang Wang
a0f5d506aa Merge "Replace ConnectivityManager.isNetworkTypeMobile usage in NSS" am: 874aefac33 am: 01ea176bce
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1612298

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I562f3152c1c9f5b360dc7206b888b93d058fe162
2021-03-09 05:10:16 +00:00
Chiachang Wang
01ea176bce Merge "Replace ConnectivityManager.isNetworkTypeMobile usage in NSS" am: 874aefac33
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1612298

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I22df755d2226d6e4dec6e25fdcb9ecc249d5e4e6
2021-03-09 04:28:21 +00:00
Chiachang Wang
651a096e6f Replace ConnectivityManager.isNetworkTypeMobile usage in NSS
ConnectivityManager is a part of connectivity mainline. The
hidden methods dependency in ConnectivityManager should be
removed to make it a moudle. NSS use isNetworkTypeMobile to
check if the NetworkState belongs to a cellular network or not.
It should be replaced by the NetworkCapabilities inside the
NetworkState.

The result of isNetworkTypeMobile relies on the legacy network
type. The legacy network type comes from the network type
of its network info. The replacement should consider VPN active
case because the network type will not be TYPE_MOBILE. Thus,
replace it with Networkcapabilities.getDisplayTransport() to
get a transport that can be used to classify a network when
displaying its info to users, i.e. it will return TRANSPORT_VPN
for a vpn network on cellular network.

Bug: 172183305
Test: atest FrameworksNetTests
Change-Id: I2132a7288a93e4430cbd9efabc33ae56ce8bdd9b
2021-03-08 09:11:24 +00:00
Treehugger Robot
209e3f8a78 Merge "[FUI22] Support getAllNetworkStateSnapshot" am: 809f431b2d am: 72bec616b9 am: 94fc55f326
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1614779

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I52f8339bd1cda35a3f26f28fd3c0165f6f6ff91e
2021-03-05 07:10:46 +00:00
Treehugger Robot
94fc55f326 Merge "[FUI22] Support getAllNetworkStateSnapshot" am: 809f431b2d am: 72bec616b9
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1614779

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ie34762b31c98bd86f121f17112677cb33704f481
2021-03-05 06:20:16 +00:00
Treehugger Robot
72bec616b9 Merge "[FUI22] Support getAllNetworkStateSnapshot" am: 809f431b2d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1614779

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I70cbeb9d2b5b4cb2d09d31444b5d60e887b7e8c2
2021-03-05 05:53:33 +00:00
Yan Yan
d88028c3f4 Merge "Revert "Use VERSION_CODES.S instead of VERSION_CODES.R + 1"" am: c6106ee478 am: 0c68d8196e am: d8617b8e99
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1619903

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I9c4a57e4a54410dc5a86bdfed009b42c74c088c7
2021-03-05 05:22:50 +00:00
Yan Yan
d8617b8e99 Merge "Revert "Use VERSION_CODES.S instead of VERSION_CODES.R + 1"" am: c6106ee478 am: 0c68d8196e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1619903

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia8461d24feead79216b01a1c02b5c5bfdd69284b
2021-03-05 05:18:41 +00:00
Treehugger Robot
809f431b2d Merge "[FUI22] Support getAllNetworkStateSnapshot" 2021-03-05 05:16:43 +00:00
Yan Yan
0c68d8196e Merge "Revert "Use VERSION_CODES.S instead of VERSION_CODES.R + 1"" am: c6106ee478
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1619903

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I435aebb51bd0bd0ed3eb68460eb864c1e78e1874
2021-03-05 05:11:22 +00:00
Yan Yan
c6106ee478 Merge "Revert "Use VERSION_CODES.S instead of VERSION_CODES.R + 1"" 2021-03-05 02:30:21 +00:00
Yan Yan
ebd239c88e Revert "Use VERSION_CODES.S instead of VERSION_CODES.R + 1"
This reverts commit 1745f3a759.

Reason for revert:
1. The BUILD_VERSIONS.S is 1000, and thus it will prevent
   the code from requiring new algorithms on devices whose
   first sdk is 31 (e.g. cuttlefish), though these devices
   should be treated as first launched with SDK S.
2. It will break #testValidationForAlgosAddedInS, because
   the test code is using BUILD_VERSIONS.R to gate the test,
   which is inconsistent with the implementation.

Bug: 181887451
Test: atest IpSecAlgorithmTest
Change-Id: I5cd717c5ebd6086ae5cf9abf76311ae4fca0c6e9
2021-03-05 00:15:15 +00:00
junyulai
6ea46aec25 [FUI22] Support getAllNetworkStateSnapshot
Currently, ConnectivityService has getAllNetworkState but it is
not ideal to expose as system API since the plan is to get rid
of NetworkState. Thus, create a new one that returns
NetworkStateSnapshot to fulfill the needs.

Note the original getAllNetworkState cannot be deleted now since
it has @UnsupportedAppUsage annotation.

Test: atest FrameworksNetTests
Bug: 174123988
Change-Id: Icddd434552b0e9ecbc8299e7242ec88cf3145aca
2021-03-04 18:41:09 +08:00