Commit Graph

5221 Commits

Author SHA1 Message Date
Remi NGUYEN VAN
0fe05fb59d Merge "Add a test API for testing NetworkStack.getService" into rvc-dev am: 23b888f92c
Change-Id: I489ac2770e2b907c67bac65e0e1da6a317662d66
2020-03-19 14:54:20 +00:00
Remi NGUYEN VAN
23b888f92c Merge "Add a test API for testing NetworkStack.getService" into rvc-dev 2020-03-19 14:53:35 +00:00
Lorenzo Colitti
0c36573a57 Merge "Make Ethernet interfaces more testable." into rvc-dev 2020-03-19 14:31:57 +00:00
TreeHugger Robot
192bf5e791 Merge "Move NetworkCallback to last parameter for new exposed requestNetwork" into rvc-dev am: 22f1801dc7
Change-Id: I03fd96ffe141f5cf5c2448390aba5be9c28fc96a
2020-03-19 13:52:20 +00:00
TreeHugger Robot
22f1801dc7 Merge "Move NetworkCallback to last parameter for new exposed requestNetwork" into rvc-dev 2020-03-19 13:40:51 +00:00
Lorenzo Colitti
6fba2a8b7e Make Ethernet interfaces more testable.
This CL adds a setIncludeTestInterfaces method to EthernetManager
that, when called, causes the Ethernet service to recognize and
manage test interfaces created by TestNetworkManager.

Bug: 150644681
Test: Tested by EthernetTetheringTest in same topic
Change-Id: I86eef7a93267f800dbfc8eafd307effa76a344ca
Merged-In: I86eef7a93267f800dbfc8eafd307effa76a344ca
(cherry picked from commit 3410fb0aa9)
2020-03-19 12:30:39 +00:00
Mark Chien
76f5ad0a01 Merge "TetheringManager API clean up" into rvc-dev am: b2842cf476
Change-Id: Id093ec8add4777f1d4a2c3d0890378acdc7ceaed
2020-03-19 12:07:18 +00:00
Mark Chien
b2842cf476 Merge "TetheringManager API clean up" into rvc-dev 2020-03-19 12:04:05 +00:00
Lorenzo Colitti
3410fb0aa9 Merge "Make Ethernet interfaces more testable." am: e30d9267ef am: f8079aaca9
Change-Id: I5a73dc5ad6576573bcac6c7ac6f1270dfbb97470
2020-03-19 11:46:55 +00:00
Lorenzo Colitti
16a888889b Merge "Document the arguments to SocketUtils.makePacketSocketAddress." into rvc-dev 2020-03-19 11:12:32 +00:00
Lorenzo Colitti
e30d9267ef Merge "Make Ethernet interfaces more testable." 2020-03-19 11:12:09 +00:00
markchien
97c029e87d Move NetworkCallback to last parameter for new exposed requestNetwork
Bug: 151243698
Test: atest TetheringTests
Change-Id: I87ef1d451eefa6998b9793c4eacabae978376d24
2020-03-19 19:10:23 +08:00
Junyu Lai
b3c511d028 Merge changes I7eaca623,Ic94da540,If330e853,Ie2d229be,Ic6b2f10f
* changes:
  [SM08] Add NetworkTemplate unit test for fetching mobile data usage
  [SM07] Make combine subtype configurable from Settings
  [SM05] Enable record mobile network stats by collapsed rat type
  [SM04] Support fetching data with NetworkTemplate with subType
  [SM02] Support record mobile network stats by collapsed rat type
2020-03-19 09:10:57 +00:00
markchien
62a625df98 TetheringManager API clean up
Per API review:
- @IntDef defined on the type integer parameter
- have getters on each parameter that is set in the
  TetheringRequest.Builder
- new added API should not be deprecated
Below APIs is moved from system-current to module-lib-current that only
plafrom code(e.g. ConnectivityManager and Settings) can use them.
TetheringRequest.
onTetherableInterfaceRegexpsChanged, TetheringInterfaceRegexps:
Only platform code can use them because interfaces by regular
expressions are a mechanism which is planning to be deprecated.

Also rename some constants for easier to understand.

Bug: 149858697
Bug: 151243337
Test: m doc-comment-check-docs
      atest TetheringTests
Change-Id: Idd041f0fbeca411ea23e49786a50dd7feb77ef45
2020-03-19 16:32:37 +08:00
Automerger Merge Worker
d40f64b42f Kill ConnectivityManager.CONNECTIVITY_ACTION_SUPL
CONNECTIVITY_ACTION_SUPL is marked as a "temporary hack" and has
never been public. Remove this intent definition since no one is
receiving this intent and should use network callback to know the
connection change.

Bug: 109636544
Test: atest FrameworksNetTests
Change-Id: Ie9e5127742beba04f1c191e894e8a29fe1e704bb
Merged-In: Ie9e5127742beba04f1c191e894e8a29fe1e704bb
(cherry picked from aosp/1224697)
2020-03-19 06:53:04 +00:00
junyulai
a9e40da0aa [SM07] Make combine subtype configurable from Settings am: 1be2d732e0
Change-Id: Ic8426ae36b5aaadfdd3292a3b70fc9b290443d5c
2020-03-19 06:37:59 +00:00
junyulai
592ae2e5bd [SM05] Enable record mobile network stats by collapsed rat type am: 6f813159b5
Change-Id: I492dd32dc6b6af061da02a450c8c6abff0e8bf5e
2020-03-19 06:37:56 +00:00
junyulai
3777952251 [SM04] Support fetching data with NetworkTemplate with subType am: b1b80c66b8
Change-Id: Ie22a2255f1d32b6c0b21a4c33bd6778255e4cbb5
2020-03-19 06:37:51 +00:00
junyulai
60b26175ce [SM02] Support record mobile network stats by collapsed rat type am: f2d6fd5220
Change-Id: Ie512faaa0799b3f352c3d646e30bd92e525d9d2c
2020-03-19 06:37:48 +00:00
Junyu Lai
841583ae51 Merge changes I7eaca623,Ic94da540,If330e853,Ie2d229be,Ic6b2f10f into rvc-dev
* changes:
  [SM08] Add NetworkTemplate unit test for fetching mobile data usage
  [SM07] Make combine subtype configurable from Settings
  [SM05] Enable record mobile network stats by collapsed rat type
  [SM04] Support fetching data with NetworkTemplate with subType
  [SM02] Support record mobile network stats by collapsed rat type
2020-03-19 06:29:38 +00:00
Lorenzo Colitti
cac623e094 Document the arguments to SocketUtils.makePacketSocketAddress.
Test: m
Fix: 149015112
Change-Id: I4e0fb6fc66ef488cfa8a57a2c2536c2a625a4512
(cherry picked from commit 24593b0061)
2020-03-19 05:44:20 +00:00
Lorenzo Colitti
24593b0061 Merge "Document the arguments to SocketUtils.makePacketSocketAddress." am: c2083f4503 am: 67ad6633c0
Change-Id: I5999213163c9534264de9bb58c17d4cd884a444a
2020-03-19 05:35:28 +00:00
Lorenzo Colitti
c2083f4503 Merge "Document the arguments to SocketUtils.makePacketSocketAddress." 2020-03-19 05:16:39 +00:00
Remi NGUYEN VAN
fc9119df29 Add a test API for testing NetworkStack.getService
NetworkStack.getService was introduced to avoid relying on
Context#getSystemService to obtain the NetworkStack binder token.
To allow it to be mocked in tests, a method is introduced to allow tests
to specify a mock NetworkStack token for their own process.

Test: atest NetworkStackTests, using the change
Bug: 151243982
Change-Id: I04058a007f2dfe1044cabeb3ac508404873665ad
2020-03-19 11:25:50 +09:00
Lorenzo Colitti
4920ee68a0 Document the arguments to SocketUtils.makePacketSocketAddress.
Test: m
Bug: 149015112
Change-Id: I4e0fb6fc66ef488cfa8a57a2c2536c2a625a4512
2020-03-19 02:13:27 +00:00
junyulai
b56b6138bf [SM07] Make combine subtype configurable from Settings
Note that enabling/disabling would not take effect until device
reboot. This will be addressed in follow-up patch.

Test: 1. atest NetworkStatsServieTest SettingsBackupTest
      2. adb shell settings put global netstats_combine_subtype_enabled 1|0
Bug: 146415925

Change-Id: Ic94da540afa479ed18f1b6fbda4ae3216c37476b
Merged-In: Ic94da540afa479ed18f1b6fbda4ae3216c37476b
(cherry picked from commit c4f77ac90b and
 fix merge conflict in SettingsBackupTest)
2020-03-19 10:10:07 +08:00
junyulai
3f4d4c1500 [SM05] Enable record mobile network stats by collapsed rat type
Switch on the recording in device side. Metrics will be
collected in follow-up patches which can be independently
enabled/disabled.

This change also fix the fail in NetworkStatsCollectionTest
which caused by enabling this feature, where the rounding
problem happened when records are distributed into smaller
buckets and categorized into more NetworkIdentity.

Test: atest FrameworksNetTests
Bug: 129082217
Change-Id: If330e85330a4ff713dd420c98d42fa741eabd90a
Merged-In: If330e85330a4ff713dd420c98d42fa741eabd90a
(cherry picked from commit 2d4fa2c0fa)
2020-03-19 10:10:07 +08:00
junyulai
3682e8f0df [SM04] Support fetching data with NetworkTemplate with subType
Add a NetworkTemplate build function that allows user to specify
subType. NetworkStats corresponding to the same group would
be retrieved.

Test: atest FrameworksNetTests
Bug: 129082217

Change-Id: Ie2d229be0b6bd239f799989c070475c73a096d71
Merged-In: Ie2d229be0b6bd239f799989c070475c73a096d71
(cherry picked from commit e19045cc4a)
2020-03-19 10:10:07 +08:00
junyulai
214e8fa386 [SM02] Support record mobile network stats by collapsed rat type
Previously network stats could be recorded by different rat type.
However, the feature was disabled by ag/173504 since rat type
frequently flapping between HSPA+ and UMTS.

Given that this feature might be useful for collecting metrics,
re-implement it based on current architecture and reduce the
overhead introduced by frequently flapping by:
  1. only react when rat type changes between 2G/3G/4G/5G.
  2. reduce the number of records by only recording a subset
     of rat type that represented for a given network class.
  3. enforce 1 second rate limit if flapping too much.

Note that the feature is still disabled but will be enabled
in follow-up patches.

Test: manual test
Bug: 129082217
Change-Id: Ic6b2f10f2c8b082820e0662eb9cee70d70d28cd6
Merged-In: Ic6b2f10f2c8b082820e0662eb9cee70d70d28cd6
(cherry picked from commit 15ab452e7e)
2020-03-19 10:10:07 +08:00
Paul Hu
332dd2e195 Merge "Kill ConnectivityManager.CONNECTIVITY_ACTION_SUPL" am: 8ba389de1c am: 093c215b09
Change-Id: Icfbcfdcfc5070bf0b4a2c0ead9e5eff1de1d1877
2020-03-19 01:45:18 +00:00
junyulai
1be2d732e0 [SM07] Make combine subtype configurable from Settings
Note that enabling/disabling would not take effect until device
reboot. This will be addressed in follow-up patch.

Test: 1. atest NetworkStatsServieTest SettingsBackupTest
      2. adb shell settings put global netstats_combine_subtype_enabled 1|0
Bug: 146415925

Change-Id: Ic94da540afa479ed18f1b6fbda4ae3216c37476b
Merged-In: Ic94da540afa479ed18f1b6fbda4ae3216c37476b
(cherry picked from commit c4f77ac90b)
2020-03-19 01:40:55 +00:00
Remi NGUYEN VAN
c02d8ed6ed Merge "Move sensitive field parceling bool to constructor" into rvc-dev 2020-03-19 01:32:48 +00:00
Remi NGUYEN VAN
cd394aecff Merge changes from topic "netstack_api_review" into rvc-dev am: 54a6565668
Change-Id: Iddd40677121e331eb50b74aa379dabaf4632219d
2020-03-19 01:30:57 +00:00
Remi NGUYEN VAN
54a6565668 Merge changes from topic "netstack_api_review" into rvc-dev
* changes:
  Remove usage of Context.NETWORK_STACK_SERVICE
  Remove NETWORK_STACK_SERVICE constant
2020-03-19 01:21:29 +00:00
Paul Hu
8ba389de1c Merge "Kill ConnectivityManager.CONNECTIVITY_ACTION_SUPL" 2020-03-19 01:10:55 +00:00
Lorenzo Colitti
20b0a9531a Merge "mtu: Add MTU parameter to Routes" into rvc-dev 2020-03-19 00:50:57 +00:00
Lorenzo Colitti
da4fe152c4 Make Ethernet interfaces more testable.
This CL adds a setIncludeTestInterfaces method to EthernetManager
that, when called, causes the Ethernet service to recognize and
manage test interfaces created by TestNetworkManager.

Bug: 150644681
Test: Tested by EthernetTetheringTest in same topic
Change-Id: I86eef7a93267f800dbfc8eafd307effa76a344ca
2020-03-19 09:46:37 +09:00
Cody Kesting
8c78e55488 Change NetworkCapabilities administrator UIDs to be stored as int[]. am: f7ac996fb5
Change-Id: I26343fa85d936aa71dbe983341343fd1d74a7a0a
2020-03-18 19:56:33 +00:00
Cody Kesting
93b97bd690 Merge "Change NetworkCapabilities administrator UIDs to be stored as int[]." into rvc-dev 2020-03-18 19:40:39 +00:00
Cody Kesting
f7ac996fb5 Change NetworkCapabilities administrator UIDs to be stored as int[].
NetworkCapabilities#mAdministratorUids is used to track the UIDs that
are administrators of the given Network. This value was previously
stored as List<Integer>. However, general Android API Council guidelines
recommend using Arrays for primitive values. In order to be consistent
with the guidelines, updating the field to use an Array.

Bug: 147903575
Test: atest FrameworksNetTests
Change-Id: I2652a5b0f276b8944454af5cb4b1383a3e054cfa
2020-03-18 17:40:24 +00:00
Lorenzo Colitti
d86407b092 mtu: Add MTU parameter to Routes
- Change route to update existing route
- MTU parameter added to AddRoute

Bug: 142892223
Test: unit test
Change-Id: I2164808ef628eb7c12e875f0bde7f5151bf6a5b5
Merged-In: Ie339d0cee5be12c2232a4631fed61219a0facc64
(cherry picked from commit e521f07e8b)
2020-03-18 11:18:37 +00:00
Chiachang Wang
1cb71607bc Merge changes I97015365,Ic9db4b9b into rvc-dev
* changes:
  Add NattKeepalivePacketDataTest
  Add KeepalivePacketDataTest
2020-03-18 10:15:15 +00:00
Remi NGUYEN VAN
53f0193fca Remove NETWORK_STACK_SERVICE constant
Instead, have a dedicated method in android.net.NetworkStack allowing to
fetch the stable AIDL token for the service.

This avoids returning IBinder from getSystemService, as getSystemService
should generally return manager classes.

Test: atest FrameworksNetTests NetworkStackTests
Fixes: 151243982
Change-Id: I58a6e1f27aff052050197d1901f43a98d7aa1167
2020-03-18 18:29:30 +09:00
Automerger Merge Worker
0acf910399 Move sensitive field parceling bool to constructor
This addresses API review comments recommending to use a copy
constructor with additional parameters instead of a dedicated method.
makeSensitiveFieldsParcelingCopy becomes LinkProperties(base, true).

Bug: 150877475
Test: atest FrameworksNetTests NetworkStackTests NetworkStackNextTests
Merged-In: Ib145ca7f36dcbee6ef47d09862a181fc04a28f03
(cherry picked from commit bf091021d3)

Change-Id: I98449430ca5b11f5a62ba43683663bd82650e817
2020-03-18 09:00:34 +00:00
junyulai
6f813159b5 [SM05] Enable record mobile network stats by collapsed rat type
Switch on the recording in device side. Metrics will be
collected in follow-up patches which can be independently
enabled/disabled.

This change also fix the fail in NetworkStatsCollectionTest
which caused by enabling this feature, where the rounding
problem happened when records are distributed into smaller
buckets and categorized into more NetworkIdentity.

Test: atest FrameworksNetTests
Bug: 129082217
Change-Id: If330e85330a4ff713dd420c98d42fa741eabd90a
Merged-In: If330e85330a4ff713dd420c98d42fa741eabd90a
(cherry picked from commit 2d4fa2c0fa)
2020-03-18 08:08:01 +00:00
junyulai
b1b80c66b8 [SM04] Support fetching data with NetworkTemplate with subType
Add a NetworkTemplate build function that allows user to specify
subType. NetworkStats corresponding to the same group would
be retrieved.

Test: atest FrameworksNetTests
Bug: 129082217

Change-Id: Ie2d229be0b6bd239f799989c070475c73a096d71
Merged-In: Ie2d229be0b6bd239f799989c070475c73a096d71
(cherry picked from commit e19045cc4a)
2020-03-18 08:07:12 +00:00
junyulai
f2d6fd5220 [SM02] Support record mobile network stats by collapsed rat type
Previously network stats could be recorded by different rat type.
However, the feature was disabled by ag/173504 since rat type
frequently flapping between HSPA+ and UMTS.

Given that this feature might be useful for collecting metrics,
re-implement it based on current architecture and reduce the
overhead introduced by frequently flapping by:
  1. only react when rat type changes between 2G/3G/4G/5G.
  2. reduce the number of records by only recording a subset
     of rat type that represented for a given network class.
  3. enforce 1 second rate limit if flapping too much.

Note that the feature is still disabled but will be enabled
in follow-up patches.

Test: manual test
Bug: 129082217
Change-Id: Ic6b2f10f2c8b082820e0662eb9cee70d70d28cd6
Merged-In: Ic6b2f10f2c8b082820e0662eb9cee70d70d28cd6
(cherry picked from commit 15ab452e7e)
2020-03-18 07:59:44 +00:00
Lorenzo Colitti
e521f07e8b Merge "mtu: Add MTU parameter to Routes" am: 47c884dc67 am: 0784058909
Change-Id: I2164808ef628eb7c12e875f0bde7f5151bf6a5b5
2020-03-18 07:52:25 +00:00
Lorenzo Colitti
47c884dc67 Merge "mtu: Add MTU parameter to Routes" 2020-03-18 07:20:01 +00:00
Chiachang Wang
d4d035d6eb Add NattKeepalivePacketDataTest
Add test for constructor and parcel

Test: atest CtsNetTestCasesLatestSdk:android.net.NattKeepalivePacketDataTest
      on both Q and R devices
Bug: 151402211
Change-Id: I97015365604be1846e3ecbaf60ac99e334705565
Merged-In: I97015365604be1846e3ecbaf60ac99e334705565
2020-03-18 05:44:26 +00:00