Collect information on resolution success and failure events,
then use this data to build metrics and report them.
Bug: 287546772
Test: atest FrameworksNetTestCases NsdManagerTest
Change-Id: I373ce91fea9d5a278f53fc0c505be90dd39b2d5b
Collect information on discovery start, failure, and stop events,
then use this data to build metrics and report them.
Bug: 287546772
Test: atest FrameworksNetTestCases NsdManagerTest
Change-Id: I2f6a718024870f9658cfeabe8995624a3ad81f05
The NsdService will throw a NPE if a new client is registered
with a null INsdManagerCallback object. To avoid this, perform
a null check before registering a new client and throw an
IllegalArgumentException if the callback is null.
Bug: 293285797
Test: atest FrameworksNetTests
Change-Id: Id61e27873591031c3fe383879aee0d40eebc08b3
Test main thread mocked settings object but use that on the handler
thread as well, which is not thread-safe.
Create a real object instead of mocking it instead.
Test: atest ConnectivityCoverageTests:android.net.connectivity.com.android.server.net.NetworkStatsServiceTest#testDataMigration_differentFromFallback \
--rerun-until-failure 500
Fix: 289705810
Change-Id: Ibfb722818467fdf2b69a4b8fa87b4ac04a713573
These tests were disabled from presubmit because of flaky test.
It's no longer flaky now, so add these tests back to presubmit.
Bug: 293233390
Test: atest FrameworksNetTests
Change-Id: I7f1f36385d2ca6ed210e1d9b7399b6509fd26519
When the device is very slow to run this test, cell might end
its lingering period in the middle of the test while wifi is
the default. VPN will then ignore it as an underlying network,
causing the test to fail.
Test: testVpnSetUnderlyingNetworks
Added sleep in a strategic place to make sure the problem
was correctly identified, and observed the test failing.
After the fix, the test passes with the sleep.
Fixes: 280627836
Fixes: 293844384
Change-Id: Iaf56de963eb17845c1d76a0310b55f7f9321f7e4
Components that can provide offload like IpClient (packet
filter offloading) can use the API to register a callback to be notified
when offload is necessary.
Bug: 269240366
Test: atest CtsNetTestCases
Change-Id: I8080702f5b530001b88e79e504f4722ac01bc576
This commit adds the version control for keepalive packet address
translation design to prevent device crash if the network stack
is not updated to a newer version. This commit also adds a
DeviceConfig to control the design in newer module version.
Bug: 291870956
Test: atest FrameworksNetTests CtsNetTestCases
Change-Id: Id4efbf51dae9154d2bc3a1ee405e2139d5c91e36
Follow-up from commit Ie60829a65d0d9b5b63ad353695a820c0586e3665,
the interface field was cleared before returning the result to
the caller. However, this can cause problems in the
NetworkStats#subtract method. If the interface field is cleared,
the findIndexHinted method can match to a wrong entry.
This is because the keys of multiple entries will now be the
same. This can cause the subtract result to be unexpectedly
large and the return value of getUidStatsForTransport to be
mismatched with the values retrieved from other APIs.
Test: atest FrameworksNetTests:android.net.connectivity.com.android.server.net.NetworkStatsServiceTest \
FrameworksNetTests:android.net.connectivity.android.net.NetworkStatsTest
Bug: 290728278
Change-Id: I891ab29b8a2902663febc7c32b04417caf510926
aosp/2605757 updated isDefaultNetworkActive returns false when there is
no default network.
But this change was not merged to U release branch and this change was
not well tested by dogfooding.
So this CL reverts the isDefaultNetworkActivity behavior change.
Bug: 279380356
Bug: 291870075
Test: atest FrameworksNetTests
Change-Id: Id88662faea9eeaba93d59ab2729f6204a3631ab1
aosp/2605757 changed onNetworkActive callback behavior on U+ but this
change was not merged to U release branch.
This CL reverts the behavior change and keep the current behavior on U+.
Bug: 279380356
Bug: 291870075
Test: atest FrameworksNetTests
Change-Id: I91ccc7ee93f0827986401f316997b4a2df11318f
This commit updates test to
- Execute IkeSessionCallback inside executor. The callback should
be called from executor in production code but test trigger the
callback from test main thread which will result in unexpected
code interaction.
- Verify the timer directly. The origin design verifies
interactions with Captor with uncertain interaction. Test
should be able to verify the schedule() calls with the expected
timeout value. Also, in lower performance device, device may
still process previous interaction. Add longer timeout to reduce
flakes.
Bug: 293233390
Test: atest FrameworksNetTests
Test: atest VpnTest#testStartPlatformVpnFailedWithRecoverableError
--rerun-until-failure 100
Change-Id: Ie42a2597a382800d6484a086b6d808490dfbdd32
* changes:
Unregister BroadcastReceiver and OnSubscriptionsChangedListener.
Disable KeepaliveStatsTracker before T.
Disable KeepaliveStatsTracker instead of throwing.
In failed log, VPN still process the migration which does not
send the network capabilities update to network agent.
In low performance devices like cuttlefish, it may sometimes
cause flaky. Specify a longer timeout to deflake the test.
Bug: 293233390
Test: atest FrameworksNetTests
Change-Id: I4e6c80c03e19efb448ee2806c5a250425b0e068f
When ServiceTypeClient is not used, the Executor threads should be
shutdown as well.
Bug: 287013457
Test: atest CtsNetTestCases FrameworksNetTests
Change-Id: I9dae01e7b6c2bcd395a98f4362f0c36f1535b2a6
Collect information about registration successes, failures, and
unregistrations, then build metrics data from this information
and report it.
Bug: 287546772
Test: atest FrameworksNetTestCases NsdManagerTest
Change-Id: I6324279b479da2e61b7519d96df5ad24a432e54a
getLauncherPackageName sometimes returns "com.android.settings", causing
the test to fail.
Add polling for the launcher to not return settings, and logging to
try to understand why this happens, especially if polling does not solve
the issue.
Bug: 286550950
Test: atest
Change-Id: I90963d5db326732dfc82db07f36676190ffdcce9
This is a no-op change. The Clock class is a wrapper that is
used for testing. So move it from MdnsResponseDecoder to
MdnsUtils for subsequence metrics changes.
Bug: 287546772
Test: m
Change-Id: If4c8c0061c76ae26fc78a5ff463a31d57470fba0
1. Unregister BroadcastReceiver of default subscription id.
2. Use a CompletableFuture to store and unregister the
OnSubscriptionsChangedListener. Note this has to be done since the
listener cannot be constructed in the handler thread.
Bug: 288059409
Test: atest FrameworksNetTests
Change-Id: Ia5fc3e53305a99c32ad2f6d5b1b6a367dc20c1d7
Avoid throwing errors when something unexpected occurs with the
keepalive state since metrics should not cause a crash. Instead, disable
the tracker and skip writing the metrics.
Bug: 288059409
Test: atest FrameworksNetTests
Change-Id: I1cd5acb32eb062ccdf7d1ac3e25a21309ad011c2
To cache services and respond quickly, the MdnsServiceTypeClient
should add all services to the MdnsServiceCache and remove any
services from there as well.
Bug: 265787401
Test: atest FrameworksNetTests
Change-Id: If0a9e6b563a0992ac25b8cde7f3beb00700f1c11
Now that all access to MdnsServiceTypeClient parameters is
running on the handler thread, the synchronized lock is no
longer necessary. Therefore, the synchronized lock can be
safely removed from MdnsServiceTypeClient.
Bug: 265787401
Test: atest FrameworksNetTests
Change-Id: I5cd28aa738ea3c199b75097f4583e98be86a6ee7
When updating lockdown UID ranges, do not remove a UID from lockdown
if it is still present in any of the previously-supplied ranges that
have yet to be removed. This allows supplied lockdown ranges to stack
properly, providing an assurance that a UID will remain subject to
lockdown until all of the ranges including it have been removed.
Change-Id: Ia95724cd19040f83cea2c169a2585ab5dbdddbac