Commit Graph

8468 Commits

Author SHA1 Message Date
Treehugger Robot
be64d88ab1 Merge "Fix addRoute replace default route unexpectedly" am: 56d39d3251 am: c6a56b7678
Change-Id: I62f5226f92948414838b332610262d9f6f395570
2020-03-24 06:15:19 +00:00
Treehugger Robot
c6a56b7678 Merge "Fix addRoute replace default route unexpectedly" am: 56d39d3251
Change-Id: I43e953159c33c267a5fd7f6359ed8ee8d683affb
2020-03-24 06:03:10 +00:00
Treehugger Robot
56d39d3251 Merge "Fix addRoute replace default route unexpectedly" 2020-03-24 05:51:30 +00:00
junyulai
a1493a52d0 Fix addRoute replace default route unexpectedly
In aosp/1203789, if two routes are with the same destination,
it will be replaced instead of added when calling addRoute.
This breaks scenarios which rely on the ability to add multiple
default routes, such as multiple IPv6 default routes learned
via address autoconfiguration.

This change treats the route is an update if the destination
and nexthop are the same, but different in other properties.

Test: atest OffloadControllerTest#testSetUpstreamLinkPropertiesWorking
Test: atest LinkPropertiesUtilsTest#testLinkPropertiesIdenticalEqual
Test: atest ConnectivityServiceTest#testStackedLinkProperties
Test: atest ConnectivityServiceTest#testRouteAddDeleteUpdate
  (only directly related tests are listed)
Fix: 152170074
Fix: 151911339
Bug: 142892223

Change-Id: I7153ec9866f14a109ba8155c905e5d9e4f85eb64
2020-03-24 10:27:01 +08:00
Tobias Thierer
8e155b902c Merge "Refactor Network's use of mUrlConnectionFactory." am: f06634ae70 am: a831fdfb1f
Change-Id: I9634a6830d2436c3ba105a4ba61aeba4c1c68f06
2020-03-23 12:08:39 +00:00
Tobias Thierer
a831fdfb1f Merge "Refactor Network's use of mUrlConnectionFactory." am: f06634ae70
Change-Id: I3ad8fd8479e91bc34b21297b7953a38372431a8c
2020-03-23 11:52:22 +00:00
Tobias Thierer
f06634ae70 Merge "Refactor Network's use of mUrlConnectionFactory." 2020-03-23 11:34:43 +00:00
Tobias Thierer
47c0d852da Refactor Network's use of mUrlConnectionFactory.
1.) Replace maybeInitUrlConnectionFactory() with a static method
    createUrlConnectionFactory(Dns) and move the logic to acquire
    the lock and initialize mUrlConnectionFactory out into
    openConnection. This makes it a bit clearer that the lock
    is acquired during openConnection().
2.) Use @GuardedBy("mLock") rather than a human readable comment
    on mUrlConnectionFactory.
3.) Make mUrlConnectionFactory non-volatile (since it's guarded by
    mLock), as recommended by Narayan on the review thread for
    http://r.android.com/370652
    Alternatively, the field could have remained volatile
    and we could have used double-checked locking to avoid
    acquiring the lock in the common case.
    The lock is only acquired during getSocketFactory() and
    openConnection(), so it shouldn't usually be contended.

This CL is a pure refactoring that shouldn't have any observable
behavior change.

Bug: 38311512
Test: Treehugger
Exempt-From-Owner-Approval: refactoring only, owner didn't respond in time
Change-Id: I1cf6075dc7cd994657b11d6a82de3ec63235fb1e
2020-03-23 11:34:32 +00:00
Remi NGUYEN VAN
5a5e5f9585 Merge changes from topic "netstack_constant_cherrypick" am: 10adc9a7b9 am: 4a2454f475
Change-Id: I393d8cc8ace27aaeed9ff6cb26bc52551628b8a1
2020-03-23 04:04:33 +00:00
Remi NGUYEN VAN
4a2454f475 Merge changes from topic "netstack_constant_cherrypick" am: 10adc9a7b9
Change-Id: I4fa3f771fe93e9b6024828d9c725502629c1ccff
2020-03-23 03:48:08 +00:00
Remi NGUYEN VAN
10adc9a7b9 Merge changes from topic "netstack_constant_cherrypick"
* changes:
  Remove usage of Context.NETWORK_STACK_SERVICE
  Remove NETWORK_STACK_SERVICE constant
2020-03-23 03:33:58 +00:00
Remi NGUYEN VAN
fbb0836bc6 Remove usage of Context.NETWORK_STACK_SERVICE
The NetworkStack.getService() API should be used instead.

Bug: 151243982
Test: atest FrameworksNetTests TetheringTests
      Manual tethering test
Merged-In: I7855090bffbe895c8349ad4903b8f2eb55515f0b
(clean cherry-pick from internal branch)

Change-Id: If4af2846a82605e828287a9a4680d5547b76b802
2020-03-23 11:29:06 +09:00
TreeHugger Robot
81c20c25ec Merge "DO NOT MERGE - Merge qt-qpr1-dev-plus-aosp@6304901 into stage-aosp-master" into stage-aosp-master am: a49dc47a50
Change-Id: I90bb2d5c1feb7f74f3677828454599a7f7bb2e88
2020-03-20 18:33:07 +00:00
Xin Li
e83b706777 DO NOT MERGE - Merge qt-qpr1-dev-plus-aosp@6304901 into stage-aosp-master am: 68fa07d352
Change-Id: Ief9788fe26220b3f31d99c46a38aa6992e41d56e
2020-03-20 18:32:31 +00:00
TreeHugger Robot
a49dc47a50 Merge "DO NOT MERGE - Merge qt-qpr1-dev-plus-aosp@6304901 into stage-aosp-master" into stage-aosp-master 2020-03-20 18:15:02 +00:00
Cody Kesting
2a943f3ac8 Merge "Change NetworkCapabilties administrator UIDs to be stored as int[]." am: 1a78f835eb am: 190b93583e
Change-Id: Ice55919cad6bde67e09ff0fc97d10daa392d80f5
2020-03-19 18:41:57 +00:00
Cody Kesting
190b93583e Merge "Change NetworkCapabilties administrator UIDs to be stored as int[]." am: 1a78f835eb
Change-Id: I4f0c145c08a1e4fef7badcd6476d4a69808f15c1
2020-03-19 18:23:29 +00:00
Cody Kesting
1a78f835eb Merge "Change NetworkCapabilties administrator UIDs to be stored as int[]." 2020-03-19 18:09:26 +00:00
Xin Li
68fa07d352 DO NOT MERGE - Merge qt-qpr1-dev-plus-aosp@6304901 into stage-aosp-master
Bug: 151763422
Change-Id: I62d3293f617f630d3d2a3d5f67b764bf272769bf
2020-03-19 10:10:35 -07:00
Mark Chien
df960eac6e Merge "TetheringManager API clean up" am: bc91f858e6 am: 41e19fd231
Change-Id: I07131e5179d6232a71cf734b428ba627597e6cb9
2020-03-19 16:29:42 +00:00
Treehugger Robot
f97970a157 Merge "Move NetworkCallback to last parameter for new exposed requestNetwork" am: f0da719ed1 am: 775a5930cd
Change-Id: I5bb2668555313716cb04ccf2ddb13fce7b56b5ad
2020-03-19 16:29:14 +00:00
Mark Chien
41e19fd231 Merge "TetheringManager API clean up" am: bc91f858e6
Change-Id: I93e9bb5f596fff27de236b56cf21f9edb3c0204a
2020-03-19 16:17:27 +00:00
Treehugger Robot
775a5930cd Merge "Move NetworkCallback to last parameter for new exposed requestNetwork" am: f0da719ed1
Change-Id: If0000228b44b9f379c6e1499d7d86d7738889ee2
2020-03-19 16:16:58 +00:00
Mark Chien
bc91f858e6 Merge "TetheringManager API clean up" 2020-03-19 16:09:21 +00:00
Treehugger Robot
f0da719ed1 Merge "Move NetworkCallback to last parameter for new exposed requestNetwork" 2020-03-19 15:51:32 +00:00
Lorenzo Colitti
94c432e925 Merge "Make Ethernet interfaces more testable." am: cabe5e5615 am: 5b7eccf20d
Change-Id: I4b262fb9cf66a7e1f859e03c7df0fd337658c376
2020-03-19 11:47:03 +00:00
markchien
fac84a2be1 Move NetworkCallback to last parameter for new exposed requestNetwork
Bug: 151243698
Test: atest TetheringTests
Change-Id: I87ef1d451eefa6998b9793c4eacabae978376d24
Merged-In: I87ef1d451eefa6998b9793c4eacabae978376d24
2020-03-19 11:36:07 +00:00
markchien
f47d83448c 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: I45cb21d5bc919f6d32c42650326597d5173ea028
Merged-In: Idd041f0fbeca411ea23e49786a50dd7feb77ef45
2020-03-19 19:32:50 +08:00
Lorenzo Colitti
5b7eccf20d Merge "Make Ethernet interfaces more testable." am: cabe5e5615
Change-Id: I456acb05d548b3d0281e500cfd91d888441d7f94
2020-03-19 11:30:33 +00:00
Lorenzo Colitti
cabe5e5615 Merge "Make Ethernet interfaces more testable." 2020-03-19 11:12:09 +00:00
Junyu Lai
16b41c3ee1 Merge changes I7eaca623,Ic94da540,If330e853,Ie2d229be,Ic6b2f10f am: b3c511d028 am: 4a0f9fa336
Change-Id: If5e59645f5f5754b40da5a3cb945d34a14605062
2020-03-19 09:40:56 +00:00
junyulai
01223950a5 [SM07] Make combine subtype configurable from Settings am: 678befa63c am: 5d348ec90f
Change-Id: I65470e2ce4aae26308a395ce1e5465ac27914f60
2020-03-19 09:40:53 +00:00
junyulai
d27c14dd75 [SM05] Enable record mobile network stats by collapsed rat type am: 2632681cf0 am: 3b1ca8dbac
Change-Id: Ie23c2131349412d9dae04db122d7b3d14047b87f
2020-03-19 09:40:51 +00:00
Junyu Lai
4a0f9fa336 Merge changes I7eaca623,Ic94da540,If330e853,Ie2d229be,Ic6b2f10f am: b3c511d028
Change-Id: I091c93ba6b0001253e2b0679eee48293b4e51afc
2020-03-19 09:31:08 +00:00
junyulai
5d348ec90f [SM07] Make combine subtype configurable from Settings am: 678befa63c
Change-Id: I0c3f4a02f16eb6a4d9e48fa775bf456707d2b1bb
2020-03-19 09:31:02 +00:00
junyulai
3b1ca8dbac [SM05] Enable record mobile network stats by collapsed rat type am: 2632681cf0
Change-Id: If4bcfaefd2244be67449066ef54a6bdc0c00eb86
2020-03-19 09:31:00 +00:00
junyulai
b767c0b024 [SM08] Add NetworkTemplate unit test for fetching mobile data usage
Test: atest NetworkTemplateTest
Bug: 129082217

Change-Id: I7eaca623adf93f9b8d53c2e5857ecae90ea572ab
Merged-In: I7eaca623adf93f9b8d53c2e5857ecae90ea572ab
(cherry picked from commit 4670baace6c8dafe3a30330596c333d6b2389e4d)
2020-03-19 10:10:07 +08:00
junyulai
678befa63c [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 c4f77ac90bf2e48a655ad19b162fe74a23bf3fb0 and
 fix merge conflict in SettingsBackupTest)
2020-03-19 10:10:07 +08:00
junyulai
2632681cf0 [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 2d4fa2c0fae8c2d79a25093d9f732a33c2f91dd4)
2020-03-19 10:10:07 +08:00
Paul Hu
5124f9cf0d Merge "Kill ConnectivityManager.CONNECTIVITY_ACTION_SUPL" am: 57b993bfb5 am: 7ece6bb2be
Change-Id: Id52a6936a84d5ee1181dea78227eb8fface1fd33
2020-03-19 01:45:19 +00:00
Paul Hu
7ece6bb2be Merge "Kill ConnectivityManager.CONNECTIVITY_ACTION_SUPL" am: 57b993bfb5
Change-Id: I823ae84ac6f522400297d174ebfad5e61d4a6cd9
2020-03-19 01:30:58 +00:00
Paul Hu
57b993bfb5 Merge "Kill ConnectivityManager.CONNECTIVITY_ACTION_SUPL" 2020-03-19 01:10:55 +00:00
Lorenzo Colitti
965434afab 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
5ab1f55d1f Change NetworkCapabilties 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
Merged-In: I2652a5b0f276b8944454af5cb4b1383a3e054cfa
2020-03-18 15:18:47 -07:00
Cody Kesting
47b41757f6 Merge "Restrict VPN Diagnostics callbacks to underlying networks." am: 4074c2d181 am: d48978e6b6
Change-Id: I02db7b5aaec0a5a735fc18cdae41e45c9e10b622
2020-03-18 20:26:51 +00:00
Cody Kesting
d48978e6b6 Merge "Restrict VPN Diagnostics callbacks to underlying networks." am: 4074c2d181
Change-Id: Ia163abffdacf74218f37db9c67372867c6fe1143
2020-03-18 20:14:44 +00:00
Cody Kesting
4074c2d181 Merge "Restrict VPN Diagnostics callbacks to underlying networks." 2020-03-18 20:07:52 +00:00
Junyu Lai
50e1dbf641 Merge "Fix flaky ConnectivityServiceTest#testNetworkFactoryUnregister" am: cc227f1df5 am: 8262d74f5c
Change-Id: Ia9c20c7ce560a06c393a1010e8a8220b67ce753e
2020-03-18 09:02:22 +00:00
Junyu Lai
8262d74f5c Merge "Fix flaky ConnectivityServiceTest#testNetworkFactoryUnregister" am: cc227f1df5
Change-Id: I93da1059a21adcf14f8c036c17963a07b1db964d
2020-03-18 08:55:01 +00:00
Junyu Lai
cc227f1df5 Merge "Fix flaky ConnectivityServiceTest#testNetworkFactoryUnregister" 2020-03-18 08:41:08 +00:00