Most of these files are being moved to the networkstack-client
library in packages/modules/NetworkStack, with the exception of
DhcpResultsCompatUtil which is unused and is being deleted.
Test: m
Bug: 151052811
Original-Change: https://android-review.googlesource.com/1734913
Merged-In: I72ec43987faf9138cd68dc47c6bf2abe8c67aa38
Change-Id: I72ec43987faf9138cd68dc47c6bf2abe8c67aa38
Attempted to import net-utils-device-common lib in netlink-client
to use Structure stuff and RdnssOption class to parse RDNSS RA
option from the netlink message. However, seems to be some dependency
issue like:
Dependency path:
via tag apex.dependencyTag: { name:javaLib payload:true sourceOnly:false}
-> service-wifi{os:android,arch:common,apex:apex10000}
via tag java.dependencyTag: { name:staticlib}
-> wifi-service-pre-jarjar{os:android,arch:common,apex:apex10000}
via tag java.dependencyTag: { name:staticlib}
-> services.net-module-wifi{os:android,arch:common,apex:apex10000}
via tag java.dependencyTag: { name:staticlib}
-> netlink-client{os:android,arch:common,apex:apex10000}
via tag java.dependencyTag: { name:staticlib}
-> net-utils-device-common{os:android,arch:common,apex:apex10000}
via tag java.dependencyTag: { name:staticlib}
-> net-utils-framework-common{os:android,arch:common,apex:apex10000}
If the net-module-wifi doesn't require netlink-client lib, then
probably we can remove the netlink-client dependency and fix above
conflict.
Bug: 163492391
Test: m
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1736250
Merged-In: Icd239381afa8d9b16ba769100e3fa2189b19d7b2
(cherry picked from commit 4b93b461fe)
Change-Id: If5e0307f8b0b0201a76a75cf0e78b31e20a20e1a
This is necessary for EthernetNetworkFactory because it uses
the static lib NetworkFactory which needs to test where it runs.
Wifi services also need this for its own factories.
Bug: 183902758
Test: ClientModeImplTest
OemWifiNetworkFactoryTest
TelephonyNetworkFactoryTest
UntrustedWifiNetworkFactoryTest
WifiNetworkFactoryTest
Change-Id: I73cc38d7857934fe50995c666915662de4c154ce
As all dependencies on hidden API have been removed, build
service-connectivity against system_server_current.
Bug: 171540887
Test: device boots, has connectivity
Change-Id: I454e8a0a8d0e0f9e6d21a8e8faf5a9e299962ad4
Split out connectivity APIs to connectivity module directories. This
prepares future move of the connectivity code into a mainline module,
but still keeps it implemented by framework-minus-apex for now: the API
stubs are moved to framework-connectivity.stubs, but the implementation
on device remains in the same place.
This allows moving the connectivity code in/out of APEX with minimal
changes.
BYPASS_INCLUSIVE_LANGUAGE_REASON=Moving files, can't modify released API
Bug: 171540887
Test: device boots, connectivity working
Change-Id: I21c42f032efa6c10e36c749df3183ce9679303a7
netd-client contains netd_aidl_interface-java and
netd_event_listener_interface-java which is almost the same as
netd_aidl_interfaces-platform-java.
The difference of them is that netd-client refers to the stable
netd aidl but netd_aidl_interfaces-platform-java refers to the
unstable one, so they cannot be put together, otherwise, there
will be a dependency problem in the build time.
Also, the libraries which are referring to the
netd_aidl_interfaces-unstable-java should also be changed to
netd_aidl_interfaces-java eventually when releasing.
So it's fine to use netd-client to replace
netd_aidl_interfaces-platform-java.
Bug: 174837473
Test: make; atest FrameworksNetTests
Change-Id: Ie8cbece445c4e0b79faf89e7ccbac2cbea115c9d
Adjusting visibility to accomodate migration of
frameworks/opt/net/wifi to packages/modules/Wifi.
BUG: 137323948
Test: TH
Change-Id: Ib4c481f6e17507fb5a423be83e04f4cbebfd10f5
This is consistent with NattKeepalivePacketData, which is also a
subclass of KeepalivePacketData.
TcpKeepalivePacketData is already used by the wifi module, but
statically linked.
Bug: 172789687
Test: m
Change-Id: I6aee1ae205987521bea4a3838bbece279ffa0e37
We've been writing many new framework-specific Error Prone checkers
to help detect obscure platform bugs, and this change starts enabling
those checkers for more packages across the platform.
Bug: 155703208
Test: manual
Exempt-From-Owner-Approval: trivial blueprint changes
Change-Id: I1db3412b0be40f6f78c68331ae01756887192071
Over the years we've had several obscure bugs related to how SDK level
comparisons are performed, specifically during the window of time
where we've started distributing the "frankenbuild" to developers.
Consider the case where a framework developer shipping release "R"
wants to only grant a specific behavior to modern apps; they could
write this in two different ways:
1. if (targetSdkVersion > Build.VERSION_CODES.Q) {
2. if (targetSdkVersion >= Build.VERSION_CODES.R) {
The safer of these two options is (2), which will ensure that
developers only get the behavior when *both* the app and the
platform concur on the specific SDK level having shipped.
Consider the breakage that would happen with option (1) if we
started shipping APKs that are based on the final R SDK, but are
then installed on earlier preview releases which still consider R
to be CUR_DEVELOPMENT; they'd risk crashing due to behaviors that
were never part of the official R SDK.
Bug: 64412239
Test: ./build/soong/soong_ui.bash --make-mode services RUN_ERROR_PRONE=true
Exempt-From-Owner-Approval: trivial blueprint changes
Change-Id: Ia20181f8602451ac9a719ea488d148e160708592
Currently, various components in the system server depend
directly on numbered versions of the netd and dnsresolver AIDL
interfaces.
Introduce a new build target that only includes the latest stable
version, and depend on that instead. This ensures that all
components in the system server use the same version of the
generated classes. Depending on multiple versions of the
generated classes in the same (classloader) has in the past
resulted in code compiled using a newer version using a generated
class from an older version, and crashing with NoSuchMethodError
when it calls a method that didn't exist.
Also remove the dependency from wifi code to DNS resolver AIDL
interfaces. Wifi does not (and should not) call the DNS resolver
directly.
Test: m
Bug: 143732914
Bug: 153596226
Change-Id: I2c45853171df8d2c9726f4f12204a48862b30bb6
Preconditions & Inet4AddressUtils are statically
linked into both framework-wifi and service-wifi.
This creates duplicate classes, which should be
avoided. Instead, service-wifi should simply refer
to the copy of Preconditions/Inet4AddressUtils in
framework-wifi.
Bug: 153596226
Test: device boots up and connects to wifi
Change-Id: Ie78e5cf0f6ff7bc8a2fa8d7264b742f912601143
For a given network, resolver doesn't know what transport types are.
Therefore, when a new network is created or transport types are changed
in a give network, transport types will be updated and sent by calling
setResolverConfiguration(). In the same time, if link properties or
transport types are null, setResolverConfiguration() won't be called.
The original behaviors of setResolverConfiguration() aren't changed.
Only increasing one new behavior that when a given network has transport
type change, calling setResolverConfiguration() directly and resolver
updates the transport types for that given network.
Bug: 143732914
Test: atest FrameworksNetTests
atest FrameworksNetIntegrationTests
Change-Id: I6527cde0e177ba08c886576131b35fc769c2bb53
Add a new static library that compiles against system_current which
includes all the parts needed by the wifi mainline module.
Also,
a) Refactored TcpKeepalivePacketData to use public APIs. The parcel
read/write methods in the base class are @hide and they're not used by
the other child class (NatKeepalivePacketData). So, remove the @hide
method from base class and use it direcly in the child class.
b) Add jar-jar rules for all the statically linked dependencies in wifi
service jar rules.
Exempt-From-Owner-Approval: Minor change on top of owner's approval.
Bug: 145825329
Test: Device boots up & connects to wifi networks.
Change-Id: Ifde69b579cfe5b813766f676acb10e436e64a44c
It is being moved to frameworks/libs/net.
Test: builds
Test: atest FrameworksNetTests
Test: atest FrameworksWifiTests
Test: atest FrameworksTelephonyTests
Bug: 138306002
Bug: 139268426
Change-Id: I4eec40bed93679a029a20d38c114b1dbc80aa12e
Move tethering out of ConnectivityService. All client would
use TetheringManager to talk with TetheringService directly.
Bug: 144320246
Test: -build, flash, boot
-atest TetheringTests
Change-Id: Ib051bea724a256f9c4572b566e46ae7b9c4abe6e
Move tethering out of ConnectivityService. All client would
use TetheringManager to talk with TetheringService directly.
Bug: 144320246
Test: -build, flash, boot
-atest TetheringTests
Change-Id: Ib051bea724a256f9c4572b566e46ae7b9c4abe6e
Merged-In: Ib051bea724a256f9c4572b566e46ae7b9c4abe6e
... in preparation for creating a stub library from services.jar
Bug: 139391334
Test: m
Exempt-From-Owner-Approval: cherry-pick from internal
Merged-In: Ifd6cfc77acf2284804a2f64011c2733b5c222369
(cherry picked from commit bae2e90796)
Change-Id: Ifd6cfc77acf2284804a2f64011c2733b5c222369
Now tethering would be run in dedicated service.
TetheringManager is the interface used to communicate with
TetheringService. The new call flow would be: ConnectivityManager
-> ConnectivityService -> TetheringManager -> TetheringService.
Note: the return value of #tether(), #untether() and #setUsbTethering()
APIs would always be no error. Client can use #getLastTetherError()
or #getTetheredIfaces or listen tether state change to check
status of corresponding interface.
Bug: 136040414
Bug: 144742179
Test: -build, flash, boot
-atest TetheringTests
-atest FrameworksNetTests
Change-Id: I7e78c0e0a3e70f940a749ba2a39ece7c7ec5b9b3
Merged-In: I7e78c0e0a3e70f940a749ba2a39ece7c7ec5b9b3
Now tethering would be run in dedicated service.
TetheringManager is the interface used to communicate with
TetheringService. The new call flow would be: ConnectivityManager
-> ConnectivityService -> TetheringManager -> TetheringService.
Note: the return value of #tether(), #untether() and #setUsbTethering()
APIs would always be no error. Client can use #getLastTetherError()
or #getTetheredIfaces or listen tether state change to check
status of corresponding interface.
Bug: 136040414
Bug: 144742179
Test: -build, flash, boot
-atest TetheringTests
-atest FrameworksNetTests
Change-Id: I7e78c0e0a3e70f940a749ba2a39ece7c7ec5b9b3
Both were already statically linked both in the NetworkStack module and
the framework, so this change only reorganizes the file locations.
It makes more sense to have the library files in the NetworkStack module
folder, as changes to these files will be released with the same cadence
as the module, not the framework.
Bug: 139106271
Test: built, flashed, WiFi working
Change-Id: Ifaa882b53d1084ef32db6b27d35b56eb226c468f
The tether offload JNI library in this patch still have many dependencies
with internal libraries. Will have follow up changes to cut the
dependencies to let it be a unbundled library.
Bug: 136040414
Test: -build, flash, boot
-atest TetheringTests
-atest FrameworksNetTests
Change-Id: Iacf8e0b94135e35672de3ee77c474ee39a00c591
Naming rule for aidl module is changed to make using unstable AIDL module more explicit
So, to use unstable version AIDL module, use "-unstable" suffix version
And also, module name without any suffix means latest frozen version.
But wrt modules for C++ and NDK, module name with latest frozen version
is not available for now.
In b/139280289, more background is explained
Test: m
Bug: 139280289
Change-Id: Ib38e2cb114cc373ef50652f421ddaff9b4fbe5b9
Merged-In: Ib38e2cb114cc373ef50652f421ddaff9b4fbe5b9
Add IpServer which is used to serve ip configuration, dhcp, dns proxy
and nat for downstream interface.
Bug: 136040414
Test: -build, flash, boot
-atest TetheringTests
-atest FrameworksNetTests
Change-Id: I23652ae0b9509abe7d38da96d523eb22ab00a343
TetheringConfiguration is a utility class to encapsulate the various
configuration elements.
Bug: 136040414
Test: -build, flash, boot
-atest TetheringTests
Change-Id: I9434ab213bc5e0fca59f14a6c8cea554abefc3a4
This is initial patch that don't contain any service for now.
Bug: 136040414
Test: -build, flash, boot
Change-Id: I0b49d7e9c3fcba5af3025163f9cc9eafb0778116
The AIDLs and ipmemorystore-client were already statically linked
libraries, so their location in the source tree does not change anything
(they were already built into the NetworkStack module and the
framework). It makes more sense to have them in the NetworkStack module
folder however, as changes to these files will be released with the same
cadence as the module, not the framework.
Bug: 139106271
Test: built, flashed, WiFi working
Change-Id: I886acae850a5e8a9a7bc3ca8aac8690d681ca2cd
Our stable AIDL interfaces need to use versioned build targets,
otherwise getVersion will always return 0, which makes it
impossible to support different components at different versions.
List generated with:
find . -name Android.bp -exec egrep \
-H "(netd|dnsresolver|ipmemorystore|networkstack).aidl.interface(s?)-(java|cpp)" {} \;
Bug: 133124190
Test: m
Change-Id: Id175c99daa77507847673777a8dcce51897ab17b
IIpClient#addNattKeepalivePacketFilter is the only difference
between version 2 and 3.
Generated with: m networkstack-aidl-interfaces-freeze-api
Test: -builds, boots
- atest NetworkStackTests
- atest ConnectivityServiceTest
Bug: 128803828
Change-Id: I22333c3c5930415cc43d83bc8cc6f566d0acb1f2
Merged-In: I22333c3c5930415cc43d83bc8cc6f566d0acb1f2
(cherry picked from commit a9690c1f66)