Commit Graph

60 Commits

Author SHA1 Message Date
Paul Duffin
d448b15158 Switch framework-tethering to use java_sdk_library
The names of the individual modules do not quite follow the pattern
that java_sdk_library uses so this temporarily sets the following:
    naming_scheme: "frameworks-modules"

That causes java_sdk_library to use a naming scheme that matches the
one used by the individual modules of this. It will be cleaned up
later.

Part of the purpose of the java_sdk_library is to hide the
implementation code and force users of the library to depend on stubs
for a well defined API. Ideally, it would allow access to the
implementation in those cases where it is safe, e.g. from within the
same APEX, or from tests for the implementation. Unfortunately, due to
limitations in the build it does not yet have enough information to
make that decision correctly which means that any code that needs to
compile against the implementation is broken which would prevent us
from converting the module to java_sdk_library.

However, the only way to provide the additional information to allow
the implementation to be correctly exposed is to convert the modules
to java_sdk_library; a cycle.

In order to break that cycle the java_sdk_library creates a special
<module>.impl target which is used directly by tests and any other code
that needs it. Once all the modules have been converted to a
java_sdk_library then we can resolve the limitations in the build and
remove the direct references to <module>.impl.

Test: m Tethering InProcessTethering checkapi
Bug: 155164730
Change-Id: If5c115f482751f9f4b5f047e9e401a18e36799ef
2020-05-28 08:21:53 +01:00
Treehugger Robot
89127bb6af Merge "InProcessTethering: set min_sdk_version" am: 932b0b27b6 am: 9649267dbb am: 54fb48d1df am: 8aea6f45f4 am: 37e5a1aa84
Change-Id: I2890efe8442590641c820ab2e4981a412e57a99d
2020-05-11 10:57:13 +00:00
Treehugger Robot
54fb48d1df Merge "InProcessTethering: set min_sdk_version" am: 932b0b27b6 am: 9649267dbb
Change-Id: Id459eb2852e451c62c015e033f75df58dbd43204
2020-05-11 09:52:22 +00:00
Jooyung Han
ace605ef56 InProcessTethering: set min_sdk_version
Modules contributing mainline modules (APK/APEX) should set
min_sdk_version as well as apex_available.

InProcessTethering is a part of com.android.tethering.inprocess,
therefore min_sdk_version is set.

Bug: 145796956
Bug: 150999716
Test: m
Change-Id: I655211e0b9aa4bd7cb3718b6f567f0aa1a0176a5
2020-05-11 13:18:29 +09:00
Treehugger Robot
c766c8e766 Merge "Override tethering module APK-in-APEX for Go variant" 2020-05-08 12:11:47 +00:00
Jooyung Han
500c76b70b Merge "Set min_sdk_version for updatable mainline modules" am: c5735d7a53 am: 68ac9298f5 am: 2d019d5fb6 am: 9b281354ef am: 3ba47ec6c8
Change-Id: I1c8bde4023857acd1b9ab95bfa6fe4e445e9b884
2020-05-08 10:44:56 +00:00
Jooyung Han
2d019d5fb6 Merge "Set min_sdk_version for updatable mainline modules" am: c5735d7a53 am: 68ac9298f5
Change-Id: I3152d9e94e0a1fce02ecb16b3ec0cea92c856ebe
2020-05-08 09:40:48 +00:00
Jooyung Han
c5735d7a53 Merge "Set min_sdk_version for updatable mainline modules" 2020-05-08 08:45:49 +00:00
Automerger Merge Worker
9d428e171c Merge "Merge "Override tethering module APK-in-APEX for Go variant" into rvc-dev am: 60f6dc69ff am: 31582220cf am: 501f46a9d0" into rvc-qpr-dev-plus-aosp am: ac5520fbc1
Change-Id: I0b56380970960d7d9dc7819e2eda23d915af386b
2020-05-07 15:48:01 +00:00
Mark Chien
60f6dc69ff Merge "Override tethering module APK-in-APEX for Go variant" into rvc-dev 2020-05-07 15:15:59 +00:00
Jeongik Cha
b4d0db76ba Merge "Use stable networkstack-aidl-interfaces" am: 339f9df7d7 am: 19db347595 am: bd62d13b58 am: 3a9a976856 am: 8fb9f784a4
Change-Id: I52517653f238e714716b914cc99c65d8e1118590
2020-05-07 11:54:41 +00:00
Jeongik Cha
f17753aef0 Use stable networkstack-aidl-interfaces
Test: m nothing
Bug: 133526962
Original-Change: https://android-review.googlesource.com/1301313
Merged-In: I507f40866d04db5ed3361831e01eaa4dfaf20bed
Change-Id: I507f40866d04db5ed3361831e01eaa4dfaf20bed
2020-05-07 11:48:44 +00:00
Jeongik Cha
bd62d13b58 Merge "Use stable networkstack-aidl-interfaces" am: 339f9df7d7 am: 19db347595
Change-Id: Ie5671f3b65a314a1b4f8be9917e02da408e00a53
2020-05-07 11:26:19 +00:00
Jooyung Han
33aa294e96 Set min_sdk_version for updatable mainline modules
Modules contributing mainline modules (APK/APEX) should set
min_sdk_version as well as apex_available.

For now setting min_sdk_version doesn't change build outputs.
But build-time checks will be added soon.

Bug: 145796956
Bug: 150999716
Test: m
Change-Id: Ifaecb49a47a1f43edea3ea06e1cf704a177d1044
2020-05-07 17:30:00 +09:00
markchien
1440776eb1 Override tethering module APK-in-APEX for Go variant
Bug: 155604224
Test: build
Change-Id: I4147173b5f3668491ff9cb7f1f86715b036d6d4b
Merged-In: I4147173b5f3668491ff9cb7f1f86715b036d6d4b
2020-05-07 06:35:05 +00:00
markchien
523616a267 Override tethering module APK-in-APEX for Go variant
Bug: 155604224
Test: build
Change-Id: I4147173b5f3668491ff9cb7f1f86715b036d6d4b
2020-05-07 14:21:49 +08:00
Jeongik Cha
c6553cc0c0 Use stable networkstack-aidl-interfaces
Test: m nothing
Bug: 133526962
Change-Id: I507f40866d04db5ed3361831e01eaa4dfaf20bed
2020-05-04 08:11:26 +00:00
Amit Mahajan
7973105d8b DO NOT MERGE Remove references of telephony-stubs.
Since it's not used for now.

Test: TH
Bug: 153304048
Merged-in: I1812818c3d49463c3840a98212bbab58a110359a
Change-Id: I1812818c3d49463c3840a98212bbab58a110359a
2020-04-15 17:55:52 -07:00
Amit Mahajan
07a1871e8c DO NOT MERGE Remove references of telephony-stubs.
Since it's not used for now.

Test: TH
Bug: 153304048
Change-Id: I1812818c3d49463c3840a98212bbab58a110359a
2020-04-15 14:38:58 -07:00
Luke Huang
76fc58e1f1 Use the lastest frozen netd_aidl_interface in framework
Bug: 140541991
Test: build
Merged-In: I984969e09f8d5196945a7412c51bd8880223ad9e
Change-Id: I984969e09f8d5196945a7412c51bd8880223ad9e
2020-04-09 16:20:44 +00:00
Luke Huang
8cf3305089 Merge "Use the lastest frozen netd_aidl_interface in framework" am: 04bee1894a am: 89173f4aa2
Change-Id: Ie89032a792aa05c50530dcf4e67b96d0717c992c
2020-04-07 15:45:02 +00:00
Luke Huang
23632382c4 Use the lastest frozen netd_aidl_interface in framework
Bug: 140541991
Test: build
Change-Id: I984969e09f8d5196945a7412c51bd8880223ad9e
2020-04-07 08:35:42 +00:00
Anton Hansson
add438f66c Build tethering against the module SDK
Link against the stubs of other modules and the implementation
of the tethering module jar.

Bug: 146757305
Test: m Tethering
Change-Id: I7c93b60654e21a4a27d21cbf0c2a6cb21f813529
Merged-In: I7c93b60654e21a4a27d21cbf0c2a6cb21f813529
(cherry picked from commit 383321e9d5)
2020-03-23 10:29:11 +00:00
Anton Hansson
383321e9d5 Build tethering against the module SDK
Link against the stubs of other modules and the implementation
of the tethering module jar.

Bug: 146757305
Test: m Tethering
Change-Id: I7c93b60654e21a4a27d21cbf0c2a6cb21f813529
2020-03-20 15:31:02 +00:00
Jooyung Han
55d9376f70 tethering: transitive deps from jni_libs
The build system collects transtive deps from jni_libs for APKs.
No need to list them explicitly in android_app definition.

Bug: 146992436
Test: m com.android.tethering
      deapexer extract com.android.tethering.apex apex
      unzip apex/priv-app/Tethering/Tethering.apk -u apk
      ls apk/lib/arm64-v8a

Merged-In: Icba6ea3611c443cbf22ad6363d0239377d16ac9e
Change-Id: Icba6ea3611c443cbf22ad6363d0239377d16ac9e
(cherry picked from commit 9618b66f28)
2020-02-26 14:14:17 +09:00
Jooyung Han
9618b66f28 tethering: transitive deps from jni_libs
The build system collects transtive deps from jni_libs for APKs.
No need to list them explicitly in android_app definition.

Bug: 146992436
Test: m com.android.tethering
      deapexer extract com.android.tethering.apex apex
      unzip apex/priv-app/Tethering/Tethering.apk -u apk
      ls apk/lib/arm64-v8a

Change-Id: Icba6ea3611c443cbf22ad6363d0239377d16ac9e
2020-02-25 17:35:18 +09:00
Colin Cross
bbe126cf5a Remove liblog from Tethering jni_libs
Tethering's JNI libraries use the NDK version of liblog, it should
not package the platform version of liblog into the APK.

Bug: 149591340
Test: m checkbuild
Change-Id: If208c1078d2755907f57d7853a5c545bf12458c2
2020-02-21 14:49:40 -08:00
Remi NGUYEN VAN
db5594d7bd Add tethering client callbacks
The callbacks are fired when the list of connected clients or their IP
addresses / hostname change.

Test: flashed, connected 2 devices, verified callbacks
Test: atest TetheringTests
Bug: 135411507
Change-Id: I96291038cf7b39a67547a5f74fcd7cbedc1ca002
Merged-In: I96291038cf7b39a67547a5f74fcd7cbedc1ca002
2020-02-19 17:05:00 +08:00
Remi NGUYEN VAN
2d14a4b3e0 Fix usage of annotations in TetheringLib
Annotations such as @SystemApi cannot be jarjared to a different
package, as the members would not match the system API declarations.

Instead, only build against the annotations from
framework-annotations-lib, but do not include them as classes in the
output jar; annotations are not required to be available to the
classloader at runtime.

Test: builds, boots, tethering working
Bug: 147812912
Fixes: 148609988
Change-Id: I1fae97a1c1e0ba07fa3e2d64cde7650cd26d0acd
Merged-In: I1fae97a1c1e0ba07fa3e2d64cde7650cd26d0acd
2020-02-19 16:32:26 +08:00
Remi NGUYEN VAN
43b0e5c6c7 Add tethering client callbacks
The callbacks are fired when the list of connected clients or their IP
addresses / hostname change.

Test: flashed, connected 2 devices, verified callbacks
Test: atest TetheringTests
Bug: 135411507
Change-Id: I96291038cf7b39a67547a5f74fcd7cbedc1ca002
2020-02-18 13:32:16 +08:00
Mark Chien
0a3c802e02 Merge "Fix usage of annotations in TetheringLib" 2020-02-17 11:00:55 +00:00
Remi NGUYEN VAN
eb22daaf5b Fix usage of annotations in TetheringLib
Annotations such as @SystemApi cannot be jarjared to a different
package, as the members would not match the system API declarations.

Instead, only build against the annotations from
framework-annotations-lib, but do not include them as classes in the
output jar; annotations are not required to be available to the
classloader at runtime.

Test: builds, boots, tethering working
Bug: 147812912
Fixes: 148609988
Change-Id: I1fae97a1c1e0ba07fa3e2d64cde7650cd26d0acd
2020-02-12 03:44:16 +00:00
markchien
0d5a36beab Move offload config hidl usage from native to java
TetheringUtil JNI is too big that it statically linking hidl and its
dependency library. To remove these static libraries, calling hidl in java
directly instead of using JNI.

Bug: 148984662
Test: -build, flash, boot
      -manually ON/OFF tethering

Change-Id: Id5a9759eb453fddaf0c3b7a31da17224e35e963e
2020-02-10 15:25:19 +08:00
Steven Moreland
854c599141 rm libbinderthreadstate
This library is empty, and its functionality has moved
into libbinder/libhwbinder.

Bug: 148692216
Test: N/A
Change-Id: I3ee973cef68281cb57b4912b4b66c798b5d9d715
2020-02-06 13:23:47 -08:00
markchien
2ee36f7055 Tethering: build tethering as unbundled APP
Bug: 143195885
Test: -build, flash, boot
      -atest TetheringTests

Merged-In: I09117228c193137f6359fdcfced38352b8a38f57
Change-Id: I09117228c193137f6359fdcfced38352b8a38f57
(clean cherry-pick)
2020-01-30 11:50:01 +09:00
markchien
21372af495 Tethering: Fix hidden API selectBestRoute
Bug: 143925787
Test: -build, flash, boot
      -ON/OFF hotspot
      -atest TetheringTests

Merged-In: I824a05fac8b606123667d20ab9b1f7de905e4088
Change-Id: I824a05fac8b606123667d20ab9b1f7de905e4088
(clean cherry-pick)
2020-01-30 11:49:44 +09:00
Automerger Merge Worker
68a1dfe382 Merge "add java_api_finder plugin to tethering module" am: 05c43b7095 am: 1d97c995f2 am: a277a46187
Change-Id: Ic00cb4f98e0d74d224de001f436928c8032f920b
2020-01-17 21:59:08 +00:00
markchien
8fad208905 add java_api_finder plugin to tethering module
This is used to generate java APIs used by tethering module

Bug: 145490751
Test:  m com.android.tethering RUN_ERROR_PRONE=true

Change-Id: I97c26e3dcdf4f4c5017f1df582a16335c613f8dd
2020-01-16 13:07:36 +08:00
markchien
645058f9fb Tethering: build tethering as unbundled APP
Bug: 143195885
Test: -build, flash, boot
      -atest TetheringTests

Change-Id: I09117228c193137f6359fdcfced38352b8a38f57
2020-01-15 11:55:26 +00:00
markchien
38d3b2c9f0 Tethering: Fix hidden API selectBestRoute
Bug: 143925787
Test: -build, flash, boot
      -ON/OFF hotspot
      -atest TetheringTests

Change-Id: I824a05fac8b606123667d20ab9b1f7de905e4088
2020-01-15 11:55:06 +00:00
Treehugger Robot
9938c70fb5 Merge "Use new UnsupportedAppUsage annotation." 2020-01-13 13:05:17 +00:00
Jiyong Park
90247c8a1c Platform shouldn't directly link to jars in APEXes
The non-updatable part of the platform shouldn't directly link to the
boot jars in APEXes. Ensure this by

1) setting the visibility property for the boot jars so that they are
not visible to non-APEX modules and
2) setting the apex_available property so that the boot jars are only
built for the corresponding APEXes, but not for others.

Bug: b/146167933
Bug: b/146218515
Bug: b/147200698
Test: m
Change-Id: I251fabd773bc31f46d572d143c72dd9162f3f0a6
Merged-In: I251fabd773bc31f46d572d143c72dd9162f3f0a6
2020-01-10 15:15:24 +00:00
Anton Hansson
4226274bf9 Merge "Platform shouldn't directly link to jars in APEXes" 2020-01-10 15:12:17 +00:00
Artur Satayev
2d330f6fa8 Use new UnsupportedAppUsage annotation.
Existing annotations in libcore/ and frameworks/ will deleted after the migration. This also means that any java library that compiles @UnsupportedAppUsage requires a direct dependency on "unsupportedappusage" java_library.

Bug: 145132366
Test: m && diff unsupportedappusage_index.csv
Change-Id: I288969b0c22fa3a63bc2e71bb5009fe4a927e154
Merged-In: I288969b0c22fa3a63bc2e71bb5009fe4a927e154
2020-01-09 15:08:18 +00:00
Jiyong Park
c81df3f859 Platform shouldn't directly link to jars in APEXes
The non-updatable part of the platform shouldn't directly link to the
boot jars in APEXes. Ensure this by

1) setting the visibility property for the boot jars so that they are
not visible to non-APEX modules and
2) setting the apex_available property so that the boot jars are only
built for the corresponding APEXes, but not for others.

Bug: b/146167933
Bug: b/146218515
Bug: b/147200698
Test: m
Change-Id: I251fabd773bc31f46d572d143c72dd9162f3f0a6
2020-01-09 17:52:55 +09:00
markchien
92b8e7f998 [Tether09] Use INetd to call netd directly
- Using INetd to communicate with netd directly instead of using
NetworkManagementService which is a wrapper of INetd and don't have plan
to be updatable.
- Also replace InterfaceConfiguration by InterfaceController.
- Remove redundant interface flags. Only set interface up/down flag to
netd because netd only use these two flags for INetd#interfaceSetCfg.
- Note that tethering still use NetworkManagementService
to register tethering stats provider and it would also be replaced with
other way in follow up change.

Bug: 136040414
Test: -build, flash, boot
      -atest TetheringTests

Change-Id: I4ab0ad387d4bd1773ff94d3b380c1720df07f8d5
Merged-In: I4ab0ad387d4bd1773ff94d3b380c1720df07f8d5
2020-01-08 12:33:58 +00:00
markchien
a9d9ef8783 [Tether09] Use INetd to call netd directly
- Using INetd to communicate with netd directly instead of using
NetworkManagementService which is a wrapper of INetd and don't have plan
to be updatable.
- Also replace InterfaceConfiguration by InterfaceController.
- Remove redundant interface flags. Only set interface up/down flag to
netd because netd only use these two flags for INetd#interfaceSetCfg.
- Note that tethering still use NetworkManagementService
to register tethering stats provider and it would also be replaced with
other way in follow up change.

Bug: 136040414
Test: -build, flash, boot
      -atest TetheringTests

Change-Id: I4ab0ad387d4bd1773ff94d3b380c1720df07f8d5
2020-01-08 20:07:04 +08:00
Artur Satayev
df4395991f Use new UnsupportedAppUsage annotation.
Existing annotations in libcore/ and frameworks/ will deleted after the migration. This also means that any java library that compiles @UnsupportedAppUsage requires a direct dependency on "unsupportedappusage" java_library.

Bug: 145132366
Test: m && diff unsupportedappusage_index.csv
Change-Id: I288969b0c22fa3a63bc2e71bb5009fe4a927e154
2020-01-07 13:29:50 +00:00
markchien
771c3e9a3d Change tetheroffloadjni to tetheringutilsjni
Rename tetheroffloadjni to tetheringutilsjni and move setupRaSocket
jni method from NetUtils into tetheringutilsjni.

Bug: 143195885
Test: -build, flash, boot
      -atest TetheringTests
      -Off/On hotspot with ipv6 upstream

Change-Id: Ib68eb6999bbe2d3ca97e68712f22b105311ef800
2020-01-07 07:42:13 +00:00
markchien
6d06f6d51a [Tether13] Move TetheringManager into framework
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
2019-12-19 20:53:06 +08:00