EthernetManager is moving to the connectivity mainline module
and some of its hidden methods are being exposed as module-lib
APIs. This CL updates the implementation.
1. Rename onAvailabilityChanged to onInterfaceStateChanged in
IEthernetServiceListener.aidl, to match the name of the public
callback method.
2. Add the interface state, role and IpConfiguration to the
callback, so that clients can use this information without
having to call synchronous methods.
3. Call the new callback whenever any of the above parameters
changes, or when a callback is registered.
Also make some package-private methods in EthernetNetworkFactory
protected @VisibleForTesting because otherwise mockito can't
mock them.
Bug: 210586283
Test: m
Test: atest EthernetServiceTests EthernetTetheringTest
Change-Id: Ib27bf119b0d61b78f19b6447a38b4468d8035c78
Merged-In: Ib27bf119b0d61b78f19b6447a38b4468d8035c78
This test is failing at HEAD because the known bug it is
testing for is fixed. Check that IpClient is (correctly) not
started when link is down. In order to ensure that the test is
correct and that not starting IpClient is not caused by some
other setup problem in the test, ensure that IpClient is also
(correctly) started if later on link does come up.
Test: atest EthernetServiceTests
Test: atest --rerun-until-failure 100 EthernetNetworkFactoryTest#testIpClientIsNotStartedWhenLinkIsDown
Change-Id: Id30bc9be1fc3ecf3d10c12d0b23c64814f4dbf9c
Updating Ethernet Service network management APIs to
require the manage ethernet networks permission.
Bug: 210485380
Test: atest EthernetServiceTests
Change-Id: Ibc9b2930fc0069efd7c6f4b833aba7d6c8e93311
Renaming InternalNetwork* files and classes related to ethernet network
management to EthernetNetwork* as ethernet is the only trasnport these
particular files are used with.
Bug: 210485380
Test: atest EthernetServiceTests
Change-Id: I5be8543afd70f2edca76a9366cee4ccf61f0d0e7
Implementation of EthernetService APIs for ConnectNetwork() and
DisconnectNetwork().
Bug: 210485380
Test: atest EthernetServiceTests
Change-Id: I4c3e361d052206cb28b97fc439bfeac8e7e0fec0
Updates so that network management API updates in the ethernet stack can
handle concurrent requests correctly in regards to notifying caller
supplied callbacks.
Bug: 210485380
Test: atest EthernetServiceTests
Change-Id: I8073251b2c63309da031c2b1c98d61614deadfe8
Ethernet service related files are going to be moved into Connectivity
module. NetdService won't be visible to EthernetService. Use asInterface
to get the Netd service instead.
Bug: 210586283
Test: m
Change-Id: I3bf504cd947f74bf5830659915483fe5331ac9eb
This is not any better than the previous code though...
But it should behave the same.
Test: FrameworksNetTests
Change-Id: Ia3d379681cb0f17dd5f86062b7cfe84f1547fadb
If the ipClient is stopped before handling the events in
Handler thread, ethernet network factory might end up
creating a network agent for a network which is already
cleared.
This change fixes the issue by handling the events only
if ipClient is initialized.
Tests:
Builds, Boots, EthernetNetworkFactoryTest.
Ethernet related test scenarios
Bug: 207057937
Change-Id: If7ff7abf5f0dcdb0e94de0502bfdf981f9f20298
EthernetServiceImpl#updateConfiguration API implementation to allow
for dynamically updating the network capability or ip configuration of
an ethernet based interface.
Bug: 210485380
Test: atest EthernetServiceTests
Change-Id: Idd3b7875a24643d245d0f4bb6f2f4c459898116e
Replacing IIpClient with IpClientManager to reduce code duplication,
increase readability and maintainability as well as making
EthernetNetworkFactory easier to unit test.
Bug: 210485380
Test: atest EthernetServiceTests
Change-Id: I283653171c0cc47ad94a67d6dbd65b924cdf1ada
Code clean-up to use PermissionUtils for common networking
permissions. Should be a no-op.
Bug: 210485380
Test: make, flash and boot
Change-Id: I4be08243156e9d04f4b3b44ab7328d0f6f7fdda1
Updates to make methods in EthernetServiceImpl that rely on
EthernetTracker unit testable. This CL also includes added tests for
such methods in EthernetServiceImplTest.
Bug: 210485380
Test: atest EthernetServiceTests
Change-Id: I63969b60cc4cf9d391e2cd21d02e1bdc8988aba8
Updates to ethernet service code to validate calls to ethernet network
management APIs.
Bug: 210485380
Test: atest EthernetServiceTests
Change-Id: I66b91c6d12e6859de33760ab21bb00f1477720e8
Ethernet service related files are going to be moved into Connectivity
module. INetworkManagementService won't be visible to EthernetTracker
since it's a hidden class. Alternatively, use INetd APIs to replace
INetworkManagementService usages, including below API changes:
- mNMService.listInterfaces -> mNetd.interfaceGetList
- mNMService.getInterfaceConfig -> NetdUtils.getInterfaceConfigParcel
- remove InterfaceConfiguration usage, use NetdUtils APIs instead.
- mNMService.registerObserver -> mNetd.registerUnsolicitedEventListener
- for this API change, also replace the parameter BaseNetworkObserver
class with BaseNetdUnsolicitedEventListener class.
Bug: 210586283
Test: atest FrameworksNetTests
Test: atest EthernetServiceTests
Change-Id: Ic14c55a6a36b774006931a6fbcbfdec0c51a16e9