Commit Graph

10985 Commits

Author SHA1 Message Date
Chalard Jean
e87ba429b4 Have paused keepalives keep their hardware slot
When a keepalive is paused, it should sit on its hardware
slot for this network to make sure that it is possible to
resume later, even if it means other keepalives can't be
started at the same time.

Test: update AutomaticOnOffKeepaliveTrackerTest for this
Fixes: 268149573
Fixes: 283886067
(cherry picked from https://android-review.googlesource.com/q/commit:ebb0747af330b12cacb9675e43880e884f514b1d)
Merged-In: Ida325bdea198d751483a83ee5d9ec26e39812137
Change-Id: Ida325bdea198d751483a83ee5d9ec26e39812137
2023-06-19 09:25:33 +00:00
Hansen Kurli
22319c998e Merge "Have paused keepalives keep their hardware slot" am: 95386feff1
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2600007

Change-Id: Id9bb8b7ec6aaa30e6af2ecd9a33a546bcea22e1d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-19 08:50:41 +00:00
Hansen Kurli
95386feff1 Merge "Have paused keepalives keep their hardware slot" 2023-06-19 08:30:35 +00:00
Mark Chien
04aaa4f195 Merge "Diable ConnectivityManagerTest#testFactoryReset" am: 8c59e582a5
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2629809

Change-Id: I72a96ee47947efce81fa15a8f653c85c0f7cb72c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-19 08:29:33 +00:00
Cassie Wang
eecfb86aa9 Add checks around CONTROL_VPN permission during prepare()
Bug: 284803285
Test: atest
FrameworksNetTests: android.net.connectivity.com.android.server.connectivity.VpnTest
Change-Id: I0a277f6b4e7cd25aff7edad9dd0e89a44dfbf3fe
2023-06-19 17:26:15 +09:00
Mark Chien
8c59e582a5 Merge "Diable ConnectivityManagerTest#testFactoryReset" 2023-06-19 08:13:39 +00:00
chiachangwang
bd3133db29 Correct the namespace of DeviceConfig in VpnTest am: d64b2b1bdd
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2629811

Change-Id: I9cfd7e246cd4ddeb66b4c7afee9e51960fe13894
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-19 08:06:22 +00:00
abdelrahmani
e862807336 Guard the usage of PacProxyManager when it is not supported by the device.
In order for PacProxyManager to function properly it needs a device that has support for Javascript interpreter, so devices without the WebView feature cannot support PAC proxies.

Change-Id: I819171e2fe4197a546864d39599e22efee5841dc
2023-06-19 07:58:45 +00:00
chiachangwang
d64b2b1bdd Correct the namespace of DeviceConfig in VpnTest
The namespace used in production code is NAMESPACE_TETHERING, not
NAMESPACE_CONNECTIVITY.

Test: atest com.android.cts.net.HostsideVpnTests
Change-Id: I0f31176c521e2a877a964c2bbe6f387c4e71352a
2023-06-19 07:30:57 +00:00
Mark
f866acb6e7 Diable ConnectivityManagerTest#testFactoryReset
The testFactoryReset has around 1% flaky. Temporarily disable
it till flaky is fixed, which is blocked by b/254183718.

Bug: 277856014
Test: atest ConnectivityManagerTest
Change-Id: I2a2156957e9aa05fc9c12133cad4d7dd63f4e425
2023-06-19 03:39:03 +00:00
Chiachang Wang
8c874de591 Merge changes I9bbff5be,I270b751d,Ibf1bd267 am: fbcd08a28d am: f094ab6db5 am: 8f68d14a97
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2624380

Change-Id: I0ca488cb802026c496871d1c9b84745e8d1cb400
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-19 02:57:50 +00:00
Chiachang Wang
e5105cd284 Merge changes I9bbff5be,I270b751d,Ibf1bd267 am: fbcd08a28d
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2624380

Change-Id: I348583f4ce0983bc8b1f3a46a9702648fe3c8303
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-19 01:45:11 +00:00
Chiachang Wang
fbcd08a28d Merge changes I9bbff5be,I270b751d,Ibf1bd267
* changes:
  Remove unused import and reorder the import
  Add debug logs for error cases
  Add KeepaliveTracker.Dependencies class for testing purpose
2023-06-19 01:17:59 +00:00
Maciej Żenczykowski
39ec4ba492 Merge "ProcNetTest: print proc path on assertion failure" am: b2ff76cdbd am: 2167926799 am: 75c8acf428
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2629250

Change-Id: Icf7419275d69f945365809494bc4cab6073e2dd0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-17 15:58:52 +00:00
Maciej Żenczykowski
1a2f30d4f0 Merge "ProcNetTest: print proc path on assertion failure" am: b2ff76cdbd
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2629250

Change-Id: Icebb187bde3c6d5b43b6fcb9d3cf2357d2ca6232
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-17 14:26:06 +00:00
Maciej Żenczykowski
b2ff76cdbd Merge "ProcNetTest: print proc path on assertion failure" 2023-06-17 14:02:27 +00:00
Treehugger Robot
f6b5436d30 Merge "Adds option to control whethert to send IPv6 packet on IPv6 only network" am: 454c06e956 am: 882e74b042 am: 4ae7efb3dc
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2613049

Change-Id: I0abc4644f7e61c45727139523085c59b10f7e304
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-17 11:48:55 +00:00
Treehugger Robot
afffdd6f9a Merge "Adds option to control whethert to send IPv6 packet on IPv6 only network" am: 454c06e956
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2613049

Change-Id: I9ee6271e8e3e07f87da83e55d144b11f90f62c03
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-17 10:16:27 +00:00
Treehugger Robot
454c06e956 Merge "Adds option to control whethert to send IPv6 packet on IPv6 only network" 2023-06-17 09:34:57 +00:00
Yuyang Huang
9637e84eed Adds option to control whethert to send IPv6 packet on IPv6 only network
Add options to control whether only send IPv6 packet on IPv6 only
network. In some use case, IPv6 query should not be sent on a dual
network.

Added a small improvement to send an ANY query if both SRV & PTR
records are needed.

Bug: 284480254
Test: atest CtsNetTest FrameworksNetTests
Change-Id: I8f55db6f5e8ae606ac167fb363bc9b2fb9b5fc14
2023-06-17 16:27:43 +09:00
chiachangwang
4f52de0bdc Add KeepaliveTracker.Dependencies class for testing purpose
This is a part of preliminary work for adding tests in the
follow up commit.

Bug: 196453719
Test: atest FrameworksNetTests
Change-Id: Ibf1bd267c4c144f533380eeafc6a6144f64da483
2023-06-17 03:24:09 +00:00
Patrick Rohr
7c4f63c964 ProcNetTest: print proc path on assertion failure
It is currently difficult to debug an assertion failure in
testRouterSolicitations.

Change-Id: I4c87d5f961430f4348d3512aa0b1a110411580df
Test: TH
2023-06-16 19:10:19 +00:00
Maciej Żenczykowski
370c93b987 Merge "Connectivity: bump min sdk 29(Q) to 30(R)" am: 5cee77a0ec am: 1cc92b4003 am: adb84c1e86
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2601485

Change-Id: If8596881513adbe1031ef297e854be064fe87941
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-16 10:31:07 +00:00
Chalard Jean
ebb0747af3 Have paused keepalives keep their hardware slot
When a keepalive is paused, it should sit on its hardware
slot for this network to make sure that it is possible to
resume later, even if it means other keepalives can't be
started at the same time.

Test: update AutomaticOnOffKeepaliveTrackerTest for this
Fixes: 268149573
Fixes: 283886067
Change-Id: Ida325bdea198d751483a83ee5d9ec26e39812137
2023-06-16 09:19:42 +00:00
Maciej Żenczykowski
92c780a4b7 Merge "Connectivity: bump min sdk 29(Q) to 30(R)" am: 5cee77a0ec
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2601485

Change-Id: Ic33c5990929caa3fd0b9df740171ac2f59595e06
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-16 09:01:16 +00:00
Maciej Żenczykowski
5cee77a0ec Merge "Connectivity: bump min sdk 29(Q) to 30(R)" 2023-06-16 08:32:04 +00:00
Hansen Kurli
54e0676d19 Register BroadcastReceiver for default subId.
Register a receiver of ACTION_DEFAULT_SUBSCRIPTION_CHANGED to update
the cached default subId.

Bug: 273451360
Test: atest FrameworksNetTests
(cherry picked from https://android-review.googlesource.com/q/commit:7b36f2322bf0e7b8f7c916a98914289f9878b676)
Merged-In: I3a38af7615fde2811449585d4e659ffaf29c5670
Change-Id: I3a38af7615fde2811449585d4e659ffaf29c5670
2023-06-16 07:44:56 +00:00
Hansen Kurli
36a18e669b Write keepalive metrics periodically using alarms.
Use AlarmManger ELAPSED_REALTIME_WAKEUP to trigger writing the metrics
to statsd on an interval of 24 hours.

Bug: 273451360
Test: statsd_testdrive
Test: atest FrameworksNetTests
(cherry picked from https://android-review.googlesource.com/q/commit:19ea1502712ec988b52e5681816368106a6fd8cb)
Merged-In: I5e21de058336819189532beffe2b3239a3c69599
Change-Id: I5e21de058336819189532beffe2b3239a3c69599
2023-06-16 07:44:50 +00:00
Hansen Kurli
f48f1bbcc3 Replace upTimeMillis with elapsedRealTime
upTimeMillis does not include time spent in deep sleep. Use
elapsedRealtime instead.

The time spent in deep sleep is important to include since the
keepalives may still be ongoing during deep sleep and so that time
should be included in duration calculations.

Bug: 273451360
Fixes: 281639289
Test: atest FrameworksNetTests
(cherry picked from https://android-review.googlesource.com/q/commit:d5ca3f1f6968a688b2128360da79595d1a1b9784)
Merged-In: I54350d49bdfec58cc00dea6d82cba01f5d387bb0
Change-Id: I54350d49bdfec58cc00dea6d82cba01f5d387bb0
2023-06-16 07:44:43 +00:00
Hansen Kurli
886b131df8 Fill the other values for DailyKeepaliveInfoReported
Store the number of requests and app uids on start keepalives. The
values are also stored in KeepaliveStats and can be recalculated from
KeepaliveStats when reset. Fill the DailyKeepaliveInfoReported proto
with these values.

Bug: 273451360
Test: atest FrameworksNetTests
(cherry picked from https://android-review.googlesource.com/q/commit:91adc204d846970e5817c244eeb1e0d62aed87cc)
Merged-In: Ifb9a0048896d31c8ea897cf14768e94dcfd3b010
Change-Id: Ifb9a0048896d31c8ea897cf14768e94dcfd3b010
2023-06-16 07:44:36 +00:00
Hansen Kurli
16800bf437 Register OnSubscriptionsChangedListener and cache results.
Register a listener to get notified of SubscriptionInfo changes and
store all carrierIds of active subscriptions in a cache. The executor
for the listener callback runs on a different thread to the connectivity
thread but posts the SubscriptionInfo list to the connectivity thread
for caching.

Bug: 273451360
Test: atest FrameworksNetTests
(cherry picked from https://android-review.googlesource.com/q/commit:c48d856976c9fcb8150f4de524d69cc5d68ce46d)
Merged-In: I889d4da725ccda713367309c257622a0bf9939f3
Change-Id: I889d4da725ccda713367309c257622a0bf9939f3
2023-06-16 07:44:29 +00:00
Hansen Kurli
518f3b55f4 Track and build KeepaliveLifetimePerCarrier.
Create a nested class KeepaliveStats to store and track the carrier info
and lifetime metrics for each keepalive where a keepalive is identified
by its network and slot number. Then aggregate the metrics using
(carrierId, transportTypes, intervalMs) as the key before writing the
metrics into the KeepaliveLifetimePerCarrier proto. Also aggregates the
metrics whenever a keepalive is stopped to free up the (network, slot).

Bug: 273451360
Test: atest FrameworksNetTests
(cherry picked from https://android-review.googlesource.com/q/commit:ad03b887e63e2ad0678fe7fc4394d23a690a14d5)
Merged-In: I113ec68053710a7f41f64a9d6fa4dd83bd924225
Change-Id: I113ec68053710a7f41f64a9d6fa4dd83bd924225
2023-06-16 07:44:23 +00:00
Hansen Kurli
ec0add72a6 Ensure public methods are running on handler thread
Store the handler that should be running all the public methods and
use it by comparing its thread with the current thread.

Also refactor the tests to use and run on a test handler thread.

Bug: 273451360
Test: atest FrameworksNetTests
(cherry picked from https://android-review.googlesource.com/q/commit:1b71e3867345d6e1a3bc7c38a582ba9e9f9aee3d)
Merged-In: I053f1043a3b518728c4b30b94eec1d33fbfe39c0
Change-Id: I053f1043a3b518728c4b30b94eec1d33fbfe39c0
2023-06-16 07:44:17 +00:00
Maciej Żenczykowski
f39fb30f26 Merge "Remove toString test." am: 12540e13f0 am: a59d1177b7 am: a8c51226e6
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2612137

Change-Id: I8eaa2558fdf17c1cf8cba3cfc27a7cec262be244
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-16 06:11:36 +00:00
Maciej Żenczykowski
e9591403db Merge "Remove toString test." am: 12540e13f0
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2612137

Change-Id: I8a3a413f8b94990ad41d7e810f47fee64ac41147
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-16 05:05:13 +00:00
Maciej Żenczykowski
12540e13f0 Merge "Remove toString test." 2023-06-16 04:34:33 +00:00
Chiachang Wang
ba886add9c Merge "Fix flaky test in NattKeepalivePacketDataTest" am: d4894956b6 am: 3b6f775cd5 am: d698516b69
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2626270

Change-Id: Ia604c5eb32d9cf27f016dddc54fe9c5c5f113b3c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-15 08:01:19 +00:00
Lorenzo Colitti
7ed3e7d540 Merge "Always disconnect agents immediately." am: d925df8aa6 am: a89d79e3c7 am: 235cb64505
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2623893

Change-Id: I850e1253735cff84730e36f92cc3ce7763dac00a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-15 06:31:03 +00:00
Chiachang Wang
4608a796a6 Merge "Fix flaky test in NattKeepalivePacketDataTest" am: d4894956b6
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2626270

Change-Id: Ie8a7e8a1508ff92773161ebf70a43e2be38bdbe9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-15 06:29:23 +00:00
Chiachang Wang
d4894956b6 Merge "Fix flaky test in NattKeepalivePacketDataTest" 2023-06-15 05:10:59 +00:00
Lorenzo Colitti
fe338251bd Merge "Always disconnect agents immediately." am: d925df8aa6
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2623893

Change-Id: Ic3475a1dc237c3e26236be65541fe21820108b14
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-15 04:20:56 +00:00
Paul Hu
59e1aa58d7 Merge "Create an MdnsServiceTypeClient using a SocketKey" am: 7c60aaa851 am: 2a63cba7ee am: 84b857e06f
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2593907

Change-Id: Iefae82fa021cc53441e10515c9c3ea82663abfdc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-15 03:58:52 +00:00
Paul Hu
452e0c3900 Merge "Notify socket changes using a SoketKey" am: a8d1cabcd7 am: f027f74e19 am: f353ce2c88
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2596565

Change-Id: I61665592bc1014f5237b314ba3533e7738643735
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-15 03:58:41 +00:00
Maciej Żenczykowski
ea07af4f7a Merge "Add uid to the failure log of testFirewallBlocking" am: b93f1e7486 am: 0be6d8bf3b am: f7ad2021b7
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2624382

Change-Id: Ied8466ecf17c477ebb045f354c30fa9da87d878e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-15 03:57:37 +00:00
Lorenzo Colitti
e27828bd8f Always disconnect agents immediately.
Currently, various codepaths in ConnectivityService disconnect
networks using NetworkAgentInfo#disconnect. This posts a message
to the NetworkAgent to disconnect and also posts a message to
ConnectivityService to call disconnectAndDestroyNetwork, which
performs all cleanup in ConnectivityService. These two messages
race and the order is non-deterministic.

Instead, always disconnect using disconnectAndDestroyNetwork,
and have disconnectAndDestroyNetwork post the message to the
agent to disconnect.

This fixes a bug where if wifi uses unregisterAfterReplacement
twice in quick succession, when the third agent connects it
doesn't work because the interface is still being used by the
second network.

Also remove the import of IllegalArgumentException to keep the
linter happy (java.lang.* never needs to be imported).

Bug: 286649301
Test: covered by existing tests
(cherry picked from https://android-review.googlesource.com/q/commit:4bc9fa6b8cefca88f1065e95df06532979c202ee)
Merged-In: Ie01f5589d6839ac6db25f0ba98fc929fbb5b0a96
Change-Id: Ie01f5589d6839ac6db25f0ba98fc929fbb5b0a96
2023-06-15 03:50:18 +00:00
Lorenzo Colitti
d925df8aa6 Merge "Always disconnect agents immediately." 2023-06-15 03:49:05 +00:00
chiachangwang
e91f8dc3c4 Fix flaky test in NattKeepalivePacketDataTest
The testConstructor_afterR is a new added test which should be
run with latest connectivity module, but some test combinations
do not contain latest connectivity module which will fail the
test. Add ConnectivityModuleTest annotation to skip combinations
without latest connectivity module.

Bug: 287226038
Bug: 196453719
Test: atest ConnectivityCoverageTests
Change-Id: I16dfa8f86f77bb3561a24684e7823f8d45b7613d
2023-06-15 02:20:44 +00:00
Paul Hu
4d388384ae Merge "Create an MdnsServiceTypeClient using a SocketKey" am: 7c60aaa851
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2593907

Change-Id: Ia53e16fd27640bace3974744a656806201699c21
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-15 01:40:18 +00:00
Paul Hu
745ff5dbda Merge "Notify socket changes using a SoketKey" am: a8d1cabcd7
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2596565

Change-Id: I955cf21e53a039b04a9fb09fce1997af638c1c7d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-15 01:40:04 +00:00
Maciej Żenczykowski
4dd9d82bbb Merge "Add uid to the failure log of testFirewallBlocking" am: b93f1e7486
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2624382

Change-Id: I30f723a0c131cb91873748500c43090b3b6ee594
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-15 01:39:47 +00:00