Commit Graph

33 Commits

Author SHA1 Message Date
Kangping Dong
838286db35 Merge "[mdns] exclude mDNS advertiser code from standalone build test" into main am: 4a8977c452 am: b8deae76db
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2760326

Change-Id: Idef9426bfe134d6926e06e1db60a97e357ea9c2b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-08 13:22:51 +00:00
Kangping Dong
b8deae76db Merge "[mdns] exclude mDNS advertiser code from standalone build test" into main am: 4a8977c452
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2760326

Change-Id: I754b410a99f0eb57436b7f925c2aa731a1714c2b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-08 13:00:38 +00:00
Kangping Dong
1a1beee654 [mdns] exclude mDNS advertiser code from standalone build test
service-connectivity-mdns-standalone-build-test builds the mDNS
discovery and advertisement implementation against API level 21.
This stops the advertisement code from calling new NsdServiceInfo
public or private APIs which are required by Thread.

This commit removes the mDNS advertisement code from the standalone
build to loose the check given this will never be used by GMS Core.

Bug: 265095929
Test: verified that it can build with aosp/2608627
Change-Id: I32cfce7b994d51a4b4ec468e9f79ffc2be6635ff
2023-10-08 17:22:14 +08:00
Yuyang Huang
6663503dfc Merge "Add newApi linter check for mDNS library" into main am: 365cf0a393 am: 1e5cbb7fab
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2718538

Change-Id: I7bf274f573facf13897cbda7c047a3eae9088d0b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-13 07:12:54 +00:00
Yuyang Huang
1e5cbb7fab Merge "Add newApi linter check for mDNS library" into main am: 365cf0a393
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2718538

Change-Id: Ieccf196ee19b7d94ff48cba35e9b24ee795ffbc3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-13 06:18:11 +00:00
Yuyang Huang
fc83170c70 Add newApi linter check for mDNS library
The mDNS library need to be backported to some internal library which
support minSdk 21. Therefore, updated the build rules to add the linter
check.

Bug: 296175311
Test: TH
Change-Id: Iae0bffa315dc6de2339a05f595b13480fa7385ae
2023-09-12 19:01:21 +09:00
Remi NGUYEN VAN
27ad67e3f6 Do not build remoteauth in udc branches
Remotauth is not compatible with U, so building it in udc-based branches
is not necessary, and it would be hard to backport dependencies as
needed.

This change causes fallback sources to be built instead of
remoteauth/service and remoteauth/framework: stubs should only be needed
for entry points into the module, so the stubs should not need to be
modified often.

The remoteauth sources are still used for generating the API (as per
api_srcs in framework-connectivity-t), to avoid merge conflicts in the
API .txt files. But the implementation jar actually used on device or
shipped via module updates does not contain the API classes. In practice
this means that API stubs are generated through metalava from the
remoteauth sources, and these need to be built. So the API surface
itself cannot depend on V+ classes (APIs cannot take V+ classes as
arguments or return them). This is the case anyway, as
framework-connectivity-t is on the bootclasspath on T+; and in general,
module bootclasspath jars need to avoid depending on newer framework
classes as they may not exist on older devices using the module.

This change should only go to udc branches; note the merged-in below
refers to a change that was merged in all relevant branches, to ensure
that this change is not automerged anywhere.

Bug: 295788084
Test: m
Merged-In: I850242640f32bea3d46febcde5f3719619b1ea07
Change-Id: If533fef926ea0ad4e1e0b4d60c8f8e60f363fc1b
2023-09-05 15:22:06 +09:00
Remi NGUYEN VAN
c41daa4106 Factor out remoteauth dependencies to variables
This will allow using different values for the variables without having
merge conflicts in the dependencies list for each build rule.

Bug: 295788084
Test: m
Change-Id: I7b64a5a01d1f8139e7ce30ce95903d71cb09de9f
2023-08-31 19:08:17 +09:00
Igor Zaslavsky
ec344f4c18 Add RemoteAuthService
Add RemoteAuthService APIs and Stubs (hide) for Settings of D2DA

This CL introduces new SystemApi allow user to discover remote devices
compatible to be registered as remote authenticators via RemoteAuthManager

Design doc: go/remote-auth-manager-fishfood-design

Test: built successfully.
Bug: 290092977
API-Coverage-Bug: 294934095
Change-Id: Iaaae1126065fdc3db469eeb8d85ac654b8199a12
2023-08-24 17:50:11 +00:00
Kangping Dong
e7fef8938a [Thread] move Thread into com.android.tethering
Bug: 296211911
Change-Id: Ifd4f7cd06f1aeaba739d27d2328e89031ca73235
2023-08-23 14:28:50 +08:00
Remi NGUYEN VAN
9597ea86f3 Merge "Revert "Enable NewApi lint checks on service-connectivity"" into main 2023-08-14 06:11:06 +00:00
Woody Lin
7704e695bf Revert "Enable NewApi lint checks on service-connectivity"
This reverts commit a1145a1fd3.

Reason for revert: fix build failure
Bug: 295779471

Change-Id: Id481aa628e1a1173b8b2c79006843025439b5901
2023-08-14 04:47:03 +00:00
Remi NGUYEN VAN
e250d24da1 Merge "Enable NewApi lint checks on service-connectivity" into main 2023-08-14 02:46:28 +00:00
Remi NGUYEN VAN
a1145a1fd3 Enable NewApi lint checks on service-connectivity
This should help find changes that do not do proper NewApi checks
in presubmit, and when building with RUN_ERROR_PRONE=true

Test: m
Change-Id: I87ce56d9df2eb27dafd2ec8d2c814c83098a979f
2023-08-14 02:45:42 +00:00
Yuyang Huang
33fa4d268c Add callbacks for service offload
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
2023-08-04 19:22:15 +09:00
Yuyang Huang
6e12ac60b8 Refactor SocketNetlinkMonitor to make it buildable with system sdk
NetlinkMonitor cannot be used when building with system sdk. This CL
refactored the SocketNetlinkMonitor into a separate class and use
factory method and droidstub to avoid referring NetlinkMonitor when
building with system sdk.

Test: m service-connectivity-mdns-standalone-build-test
Bug: 272392042
Change-Id: I2d97f6fe8a17febd155c81303d86cd558654ddf5
2023-04-05 19:30:12 +09:00
Paul Hu
03a51d5674 Move mDNS code to service-connectivity-t
Instead of using a separate service-mdns library, move the code to
service-connectivity-t.

service-connectivity-t is chosen because it has access to hidden API of
classes that were made updatable in T, such as NsdServiceInfo and
NsdManager. mdns code can be there as it is only loaded on T+.

Bug: 241738458
Test: atest
Change-Id: I7eb6c9ab8bf0e0a614ea2994c6ed80a1a780241f
2023-01-13 16:42:48 +08:00
Igor Chernyshev
9dac660bf0 Add CDM dependency in Tethering
This change introduces a limited library for dependencies on
framework-connectivity from Tethering,
connectivity-internal-api-util, where all classes are annotated with
@RequiresApi(S) to ensure proper API checks are done before usage.

Bug: 245972418

Change-Id: I82bafd9063341adc71d07f0858e6d68283d081f0
2022-12-16 17:55:53 +00:00
Hassan Ali
c4f63fa973 Add ConfigInfrastructure lib to Android.bp
As part of moving DeviceConfig.java to
packages/modules/ConfigInfrastructure, We need to add
ConfigInfrastructure lib dependency to Android.bp as DeviceConfig APIs
will not be part of the non-updatable part and will not be part of the
base module_current SDK so we have to add an explicit dependency.

Test: m
bug: 253019048
Change-Id: I29f993342e1baf4e75b30c8d99de10bc087a582b
2022-11-23 11:41:43 +00:00
Paul Duffin
5118a52424 Remove system_server_current related work arounds
(cherry picked from db3ad82810)

Previously, a library that set sdk_version: "system_server_current"
could only access system-server or public APIs from other libraries.
After change r.android.com/2238635 they will be able to access the
following (in order):
* system-server
* module-lib
* system
* public

Bug: 204176972
Test: m com.android.tethering
      # Without change r.android.com/2238635 the affected libraries
      # fail to compile due to missing symbols that are not in the
      # public API. With that change it compiles correctly.
Change-Id: Id6aad00aed0af6b724afec663a7be287058e625e
Merged-In: Id6aad00aed0af6b724afec663a7be287058e625e
2022-10-14 12:23:45 +01:00
Remi NGUYEN VAN
40da62da48 Merge EthernetServiceTests into FrameworksNetTests
As per the TODO, merge EthernetServiceTests into the larger
FrameworksNetTests suite.

Similarly to NetworkStats, NSD or IpSec tests, the tests are also marked
as "non-connectivity-module-test", where "module" actually refers to
modules being built for release (from an S-based branch) today. This is
necessary as the tests and associated code cannot build without T APIs.

Also add FrameworksNetTests to presubmit as non-connectivity-module
tests are not run in presubmit without this.

Test: TH
Merged-In: Id533cdb4ac184b963f570af299dea04754ba88e9
Change-Id: I9950fcb49fdc2217134a59e993941cbe5da0b556
2022-04-01 15:12:18 +09:00
Remi NGUYEN VAN
86bbfe9271 Remove connectivity-tiramisu-updatable-sources
The filegroup is now unnecessary as files are all in the service-t/src
directory.

This change allows building all sources including ethernet by
referencing src/**. This is done by using a general filegroup
service-connectivity-tiramisu-sources, so that branches that cannot
build the T+ code can change its contents without introducing merge
conflicts in the rest of the build rules.

Also change visibility rules to allow building the moved ethernet code,
and add a filegroup to allow building its tests.

Bug: 222234190
Test: TH
Merged-In: I770bf8db3f4c18467934eb2184f5dc2408fc28ec
Merged-In: I3e5df1bd44defbb9dd0c382c625a21e176368f2a
Change-Id: I8f23a45800b1086cc5a765fd24d734ca82c339a8
2022-03-31 15:14:39 +09:00
Remi NGUYEN VAN
0395b70000 Use Sources.bp for building
Reference Sources.bp from Android.bp, so that they are used as build
files.

Sources.bp is separate from Android.bp as it was migrated from the
Android.bp files in the old code location. They can be merged into the
main Android.bp file (or removed by removing the filegroups) after the
migration is done.

Also remove references to the AIDL filegroups, as files are now merged
into the common framework/aidl-export directory which is used as include
directory for aidl source generation already, so they do not need to be
referenced separately. framework/aidl-export can contain AIDLs for S-
API classes that became updatable API in T (the contents of
framework-t), as they are the same as any other API class for the
purposes of AIDL code generation: it's OK for any S+ code to reference
S+ API classes.

Finally, fix reference to mByteStream in IpConfigStoreTest. It was
already wrong but did not break the build because the test was not being
built in the old location.

Bug: 222234190
Test: TH
Merged-In: I81893df9f327abb84f1561b2b33027a2d23a4d65
Merged-In: I67c703e3f7aa9d5787f032a79ed62e45412baf4f
Change-Id: I9093f9ae2f9d76e597f20de48680e459891755b4
2022-03-25 14:58:43 +00:00
Xiao Ma
0a171c006c Build ethernet framework source into framework-connectivity-tiramisu
- move ethernet APIs, build it into framework-connectivity-tiramisu
- start ethernet service from ConnectivityServiceInitializer
- fix EthernetManager dependnecy in Tethering module
- fix EthernetNetworkSpecifier dependency in framework-connectivity
- fix the ethernet related config resource

Bug: 210586283
Test: m
Test: atest FrameworksNetTests EthernetServiceTests
Change-Id: I54857b8517649048a343c72797668394d5225766
Merged-In: I54857b8517649048a343c72797668394d5225766
2022-03-14 14:06:35 +00:00
Remi NGUYEN VAN
b6cde3d2dc Rename "service-nearby" to "service-nearby-pre-jarjar"
Change-Id: I99ef6ee39e89f99b0878909e2d1f2962df513d1a
Test: unit test
Bug: 217115866
Merged-In: I80c8538372659a04145178fcc8e1af98e78e3681
2022-03-10 04:32:19 +00:00
Remi NGUYEN VAN
5906c8b290 Start Nearby from Connectivity ServiceInitializer
On T+, start and register Nearby services from the initializer, and send
proper callbacks.

Bug: 189355156
Test: Booted, service started
Merged-In: I7e280495f1eefada0939dad2ce7f47f45885ad66
Change-Id: Ieca032c80cb37e424d07c500257a844c8418fe3e
2022-03-04 15:34:41 -08:00
paulhu
537f72061a Rename framework-connectivity-tiramisu to framework-connectivity-t
Bug: 215434166
Test: build, flash, device boot to home.
Merged-In: I9ebedf8813cbfa30d979bc35a3b2306715be682b
Change-Id: I9ebedf8813cbfa30d979bc35a3b2306715be682b
2022-03-01 09:44:21 +08:00
Junyu Lai
eb6f4bef96 [MS54.3] Move NetworkStats to updatable sources
This CL builds NetworkStats related codes with the
connectivity module instead of platform.

Test: TH
Bug: 197717846
Change-Id: I4eeb7ea9cfc3139991caf0fc22474e0052a0391c
Merged-In: I4eeb7ea9cfc3139991caf0fc22474e0052a0391c
2022-02-28 03:24:19 +00:00
Treehugger Robot
0ad3becd60 Merge changes from topic "split-pre-jarjar"
* changes:
  Enable framework-connectivity-t-pre-jarjar for service-t
  Split out connectivity-t-pre-jarjar and tests
2022-02-09 12:54:46 +00:00
Remi NGUYEN VAN
2ba9dbe163 Split out connectivity-t-pre-jarjar and tests
The pre-jarjar variant is necessary so that service-t can depend on
hidden symbols in framework-t that reference (for example as parameter)
classes that are jarjared.
Without this, when depending on framework-connectivity-tiramisu.impl,
service-connectivity-t would see post-jarjar symbols that do not match
the classnames it uses in its code.

Also split FrameworksNetTestsLib so that the same jarjar rules can be
applied between the tests and the module, avoiding different errors
between FrameworksNetTests and ConnectivityCoverageTests.

Ignore-AOSP-First: Avoiding conflicts; cherry-pick will follow
Bug: 204830222
Test: m
Change-Id: I3d0c081c4a7422e128beee11c0156f01b0377c96
Merged-In: I3d0c081c4a7422e128beee11c0156f01b0377c96
2022-02-09 18:29:30 +08:00
Aaron Huang
720ad7c026 Have connectivity targets be visible to Frameworks[Vcn|Ike]Tests
(cherry picked from commit 7174ac3d86)
Bug: 204153604
Ignore-AOSP-First: part of large topic that only builds internally
Test: build, FrameworksVcnTests, FrameworksIkeTests
Change-Id: I40740200fe4a7476a21bb5330429a11c97e38fb8
Merged-In: I40740200fe4a7476a21bb5330429a11c97e38fb8
2022-02-08 14:31:27 +00:00
Remi NGUYEN VAN
6a20eeda42 Reorganize connectivity framework dependencies
Allow framework-connectivity to depend on framework-connectivity-t
stubs, and framework-connectivity-t to depend on prebuilt (to avoid
circular dependencies) framework-connectivity stubs to compile its own
stubs, and framework-connectivity.impl to compile its implementation.

Also reorganize jarjar rules so that service and framework jar can use
static libraries in framework-connectivity without packaging their own,
reducing duplicate code.

Bug: 204830222
Test: m
Change-Id: I75c34986e7c479de23cdb2e9b360fa1fede018c9
2022-02-01 13:33:48 +09:00
paulhu
802ab9760f Build framework-connectivity-tiramisu library
- Move nsd APIs and build framework-connectivity-tiramisu library
- Add nsd associated hidden apis
- Build service-connectivity-tiramisu-pre-jarjar library for
  T+ services.
- Move ConnectivityServiceInitialiizer to service-t directory
  to create S+ service instances which can avoid dependency on
  lower sdk library.

Bug: 206893064
Test: atest FrameworksNetTests CtsNetTestCases
CTS-Coverage-Bug: 207804007
Merged-In: I9628716f5c38047ff4ea2346b27589077259c436
Change-Id: I9628716f5c38047ff4ea2346b27589077259c436
2021-12-17 00:04:24 +08:00