Commit graph android_packages_modules_Co.../Tethering/common
Message SHA1
Merge "Assign specific client address to dhcp server" am: 037becbf64 am: 815ab636c3
Change-Id: Ia0e4a913faa5eac5d5ccba837eb7774d59670d27

Treehugger Robot   authored and   Automerger Merge Worker   commited 2020-03-30 04:23:55 +00:00
a3fbca5f60
Merge "Assign specific client address to dhcp server"
Treehugger Robot   authored and   Gerrit Code Review   commited 2020-03-30 03:38:46 +00:00
037becbf64
Feed framework-tethering-stubs the src filegroup
This filegroups strips the "src" prefix away from the src path
for the filter_packages check in droiddoc.

Bug: 149293194
Test: m update-api (no change)
Change-Id: I5b9ffa211be9c1a7dd8f63d5e7ba2a825d0d3190

Anton Hansson   commited 2020-03-27 13:46:11 +00:00
90ae90b6e0
Merge "Make framework-tethering stubs use the new defaults" into rvc-dev
Anton Hansson   authored and   Android (Google) Code Review   commited 2020-03-26 08:39:02 +00:00
49c50fb36b
Merge "Add permitted_packages to framework-tethering."
Vladimir Marko   authored and   Gerrit Code Review   commited 2020-03-25 17:09:24 +00:00
3ef31a3ccd
Add permitted_packages to framework-tethering.
(cherry picked from commit 577707e09b)

Test: m out/soong/.intermediates/frameworks/base/packages/Tethering/common/TetheringLib/framework-tethering/android_common/package-check.stamp
Bug: 151314205
Merged-In: I248c36b2cf2f5776978c4fd2322d3b73ade309ff
Change-Id: Iddeeb6648f1ed2a31eebf04eb465ea675fb610ae

Vladimir Marko   commited 2020-03-25 14:04:00 +00:00
eae43d4fcc
Add permitted_packages to framework-tethering.
Test: m out/soong/.intermediates/frameworks/base/packages/Tethering/common/TetheringLib/framework-tethering/android_common/package-check.stamp
Bug: 151314205
Change-Id: I248c36b2cf2f5776978c4fd2322d3b73ade309ff

Vladimir Marko   commited 2020-03-25 11:19:36 +00:00
577707e09b
Hide startTethering with type function to module-lib only
Bug: 151918384
Test: m
Change-Id: Icef8b363aae97dd020d618bcb397f661aa6c4750
Merged-In: Icef8b363aae97dd020d618bcb397f661aa6c4750

markchien   authored and   Mark Chien   commited 2020-03-25 08:07:01 +00:00
1d0aebc713
Make framework-tethering stubs use the new defaults
Makes it convenient to change all stubs from a central place.

Bug: 149293194
Test: m framework-tethering-stubs{public,system,module_libs_}api
Change-Id: I330133824e78b3a8927e3d3ffbbd729bcdcb8822

Anton Hansson   commited 2020-03-24 19:52:44 +00:00
7939cb0a4a
Address API council review comment about TetheringRequest
Test: atest TetheringTests FrameworksNetTests NetworkStackTests
Bug: 152055812
Change-Id: I0158d88e364772f9ac258bd18955edcdad266ad8
Merged-In: I0158d88e364772f9ac258bd18955edcdad266ad8
(this is a clean cherry-pick from ag/10796412)

Change-Id: I64f1527d79085cc5dfd78c01a6c49c4df87c82e7

junyulai   commited 2020-03-23 14:14:22 +08:00
a8b377747b
Address API council review comment about TetheringRequest
Test: atest TetheringTests FrameworksNetTests NetworkStackTests
Bug: 152055812
Change-Id: I0158d88e364772f9ac258bd18955edcdad266ad8

junyulai   commited 2020-03-23 12:13:57 +08:00
e3b9708c3a
Update tethering module api files
Bug: 147768409
Test: m checkapi
Merged-In: Idd041f0fbeca411ea23e49786a50dd7feb77ef45
Change-Id: I3da71661048b1f66522696e9333c2c14a224fe9f

Anton Hansson   commited 2020-03-20 13:49:34 +00:00
4168cea5e1
Merge "Add individual API tracking files for modules"
Anton Hansson   authored and   Gerrit Code Review   commited 2020-03-20 12:47:52 +00:00
4dd8a42cff
Hide startTethering with type function to module-lib only
Bug: 151918384
Test: m
Change-Id: Icef8b363aae97dd020d618bcb397f661aa6c4750

markchien   commited 2020-03-19 21:04:04 +08:00
b1bfea5367
TetheringManager API clean up
Per API review:
- @IntDef defined on the type integer parameter
- have getters on each parameter that is set in the
  TetheringRequest.Builder
- new added API should not be deprecated
Below APIs is moved from system-current to module-lib-current that only
plafrom code(e.g. ConnectivityManager and Settings) can use them.
TetheringRequest.
onTetherableInterfaceRegexpsChanged, TetheringInterfaceRegexps:
Only platform code can use them because interfaces by regular
expressions are a mechanism which is planning to be deprecated.

Also rename some constants for easier to understand.

Bug: 149858697
Bug: 151243337
Test: m doc-comment-check-docs
      atest TetheringTests
Change-Id: I45cb21d5bc919f6d32c42650326597d5173ea028
Merged-In: Idd041f0fbeca411ea23e49786a50dd7feb77ef45

markchien   commited 2020-03-19 19:32:50 +08:00
8146b56d01
Add individual API tracking files for modules
This adds metalava api tracking generation to the module
stub rules, to make sure we know exactly what API a
particular module stub exports.

Bug: 147768409
Test: m update-api check-api
Exempt-From-Owner-Approval: approved internally
Change-Id: Iaf2ef5b5751eb208d119ddbc74481239366fe581
Merged-In: Iaf2ef5b5751eb208d119ddbc74481239366fe581
(cherry picked from commit e7c52c7e3f)

Anton Hansson   commited 2020-03-19 08:51:11 +00:00
65d1e30c0f
TetheringManager API clean up
Per API review:
- @IntDef defined on the type integer parameter
- have getters on each parameter that is set in the
  TetheringRequest.Builder
- new added API should not be deprecated
Below APIs is moved from system-current to module-lib-current that only
plafrom code(e.g. ConnectivityManager and Settings) can use them.
TetheringRequest.
onTetherableInterfaceRegexpsChanged, TetheringInterfaceRegexps:
Only platform code can use them because interfaces by regular
expressions are a mechanism which is planning to be deprecated.

Also rename some constants for easier to understand.

Bug: 149858697
Bug: 151243337
Test: m doc-comment-check-docs
      atest TetheringTests
Change-Id: Idd041f0fbeca411ea23e49786a50dd7feb77ef45

markchien   commited 2020-03-19 16:32:37 +08:00
f1332573bb
Support static address configuration
Application can specify static ipv4 server and client address to setup
tethering and this is one shot configuration. Tethering service would
not save the configuration and the configuration would be reset when
tethering stop or start failure.

When startTethering callback fired, it just mean tethering is requested
successful. Therefore, callers may call startTethering again if
startTethering successful but do not receive following tethering active
notification for a while. Tethering service never actually does anything
synchronously when startTethering is called:
  -startProvisioningIfNeeded just posts a message to the handler thread.
  -enableTetheringInternal doesn't do anything synchronously, it just
  asks the downstreams to get their interfaces ready and waits for
  callbacks.
If tethering is already enabled with a different request,
tethering would be disabled and re-enabled.

Bug: 141256482
Test: -build, flash, boot
      -atest TetheringTests
      -atest CtsTetheringTest

Change-Id: I2b2dd965a673e6f1626738d41b5d443f0f9fbd0e
Merged-In: I0399917e7cefa1547d617e688225544c4fc1a231
(cherry picked from commit 5d6723e24e21154bef3967585a8adc069e007f49)

Automerger Merge Worker   authored and   markchien   commited 2020-03-19 12:39:46 +08:00
9462a3c9f0
Assign specific client address to dhcp server
Bug: 141256482
Test: manual
      atest TetheringTests

Change-Id: Ief76c98c843ba5420224cbf0f34464f366c891b7

markchien   commited 2020-03-19 01:47:25 +08:00
245352ed07
Add individual API tracking files for modules
This adds metalava api tracking generation to the module
stub rules, to make sure we know exactly what API a
particular module stub exports.

Bug: 147768409
Test: m update-api
Exempt-From-Owner-Approval: Approved in master
Change-Id: Iaf2ef5b5751eb208d119ddbc74481239366fe581
Merged-In: Iaf2ef5b5751eb208d119ddbc74481239366fe581

Anton Hansson   commited 2020-03-18 11:03:12 +00:00
49bdf5615f
Merge "Support static address configuration"
Mark Chien   authored and   Gerrit Code Review   commited 2020-03-17 13:26:09 +00:00
6d175120a0
Support static address configuration
Application can specify static ipv4 server and client address to setup
tethering and this is one shot configuration. Tethering service would
not save the configuration and the configuration would be reset when
tethering stop or start failure.

When startTethering callback fired, it just mean tethering is requested
successful. Therefore, callers may call startTethering again if
startTethering successful but do not receive following tethering active
notification for a while. Tethering service never actually does anything
synchronously when startTethering is called:
  -startProvisioningIfNeeded just posts a message to the handler thread.
  -enableTetheringInternal doesn't do anything synchronously, it just
  asks the downstreams to get their interfaces ready and waits for
  callbacks.
If tethering is already enabled with a different request,
tethering would be disabled and re-enabled.

Bug: 141256482
Test: -build, flash, boot
      -atest TetheringTests
      -atest CtsTetheringTest

Change-Id: I0399917e7cefa1547d617e688225544c4fc1a231

markchien   commited 2020-03-17 00:11:16 +08:00
f053e4b6f5
Create all variants of stubs for tethering
Add separate publicapi, systemapi and module_libs stubs for tethering.

Bug: 147768409
Test: m
Test: m framework-tethering-stubs-{public,system,module_libs_}api
Change-Id: I0ed44691b4e7080818442a9d0eb37d874f707195
Merged-In: I0ed44691b4e7080818442a9d0eb37d874f707195

Anton Hansson   commited 2020-03-16 15:54:19 +00:00
064ed493ce
Cleanup the TetheredClients API
Add comments to getters as requested in API review, and remove the
expirationTime private field that was planned to be replaced with
LinkAddress expiration.

Test: atest TetheringTests
Fixes: 150878126
Change-Id: Iecf65859cdeeaac2fa7b817b4f505c510424ac89
Merged-In: Iecf65859cdeeaac2fa7b817b4f505c510424ac89
(cherry picked from commit 594d0eae38c13e2bb03de0b3ae1f8781991c321e)

Automerger Merge Worker   authored and   Remi NGUYEN VAN   commited 2020-03-16 10:11:29 +00:00
0010ca0c70
Change TetheringConstants class to final
Bug: 151322331
Test: m doc-comment-check-docs

Change-Id: Ieca36d81b7799988b8dbb9c0d22de690136303ab
Merged-In: Ia02be3d1d91a08ae4a56b25560ed448c96a693db
(cherry picked from commit 5e2740b24658ba340a6b47a46c89cfd642afe394)

Automerger Merge Worker   authored and   Mark Chien   commited 2020-03-16 07:43:05 +00:00
943fb5b686
Merge "Change TetheringConstants class to final"
Mark Chien   authored and   Gerrit Code Review   commited 2020-03-16 05:25:40 +00:00
0c5f387efe
Change TetheringConstants class to final
Bug: 151322331
Test: m doc-comment-check-docs
Change-Id: Ia02be3d1d91a08ae4a56b25560ed448c96a693db

markchien   commited 2020-03-15 22:54:57 +08:00
4b896ba32b
Cleanup the TetheredClients API
Add comments to getters as requested in API review, and remove the
expirationTime private field that was planned to be replaced with
LinkAddress expiration.

Test: atest TetheringTests
Fixes: 150878126
Change-Id: Iecf65859cdeeaac2fa7b817b4f505c510424ac89

Remi NGUYEN VAN   commited 2020-03-13 19:01:15 +09:00
dfdf750417
Create all variants of stubs for tethering
Add separate publicapi, systemapi and module_libs stubs for tethering.

Bug: 147768409
Test: m
Test: m framework-tethering-stubs-{public,system,module_libs_}api
Change-Id: I0ed44691b4e7080818442a9d0eb37d874f707195

Anton Hansson   commited 2020-03-10 13:13:36 +00:00
6a9c68b619
Merge "Send offload status changed callback" into rvc-dev
Mark Chien   authored and   Android (Google) Code Review   commited 2020-03-09 09:50:20 +00:00
47f84e53b0
Send offload status changed callback
The callback would be fired when offload started, stopped, or failed.
If offload is not supported, "failed" callback would be fired when user
enable tethering. Enabling multiple tethering would not have multiple
offload status callbacks because offload should already be started or
failed.

Bug: 130596697
Test: -build, flash, boot
      -atest TetheringTests
      -ON/OFF hotspotf

Change-Id: Ifb16dcedc8081833fa95a39596fe5cdc309ededd
Merged-In: Ifb16dcedc8081833fa95a39596fe5cdc309ededd
Merged-In: Ia0398601144b0e5f61dc0c5771eacf13e7cfbb59
(cherry picked from commit cd266076bed28459234c5d74ad373867944df116)

Automerger Merge Worker   authored and   Mark Chien   commited 2020-03-09 07:59:29 +00:00
74f27e6f63
Merge "Send offload status changed callback"
Mark Chien   authored and   Gerrit Code Review   commited 2020-03-09 02:52:07 +00:00
a24b188455
Tethering: add isTetheringSupported with callerPkg parameter
BT tethering need to know whether tethering is supported for its caller
that call isTetheringSupported in binder thread under BT's process.
Current isTetheringSupported API is getting callerPkg inside
TetheringManager that would be BT's package name for bt tethering case.
Provide isTetheringSupported(String callerPkg) for caller to pass its
caller's package name if the use case is under binder IPC.

Bug: 146915889
Test: -boot, flash, boot

Change-Id: I01646fe045772c57b4e39a5e129531f8a2cea89f
Merged-In: I01646fe045772c57b4e39a5e129531f8a2cea89f
Merged-In: I2a35e1b6851e7a799c343be0dd60da23514768ba
(cherry picked from commit e09a92fabe7956692f34e94c198d9763bf76e53d)

Automerger Merge Worker   authored and   Mark Chien   commited 2020-03-09 02:42:28 +00:00
1adfc1cbf1
Send offload status changed callback
The callback would be fired when offload started, stopped, or failed.
If offload is not supported, "failed" callback would be fired when user
enable tethering. Enabling multiple tethering would not have multiple
offload status callbacks because offload should already be started or
failed.

Bug: 130596697
Test: -build, flash, boot
      -atest TetheringTests
      -ON/OFF hotspot
Change-Id: Ia0398601144b0e5f61dc0c5771eacf13e7cfbb59

markchien   authored and   Mark Chien   commited 2020-03-09 01:51:20 +00:00
05bee8027d
Tethering: add isTetheringSupported with callerPkg parameter
BT tethering need to know whether tethering is supported for its caller
that call isTetheringSupported in binder thread under BT's process.
Current isTetheringSupported API is getting callerPkg inside
TetheringManager that would be BT's package name for bt tethering case.
Provide isTetheringSupported(String callerPkg) for caller to pass its
caller's package name if the use case is under binder IPC.

Bug: 146915889
Test: -boot, flash, boot
Change-Id: I2a35e1b6851e7a799c343be0dd60da23514768ba

markchien   commited 2020-03-03 14:27:04 +08:00
06ea03a6c4
Build framework-tethering against module_current
Bug: 146757305
Test: build

Change-Id: Id6051296a02060179666b67fc6ea9092273c1780
Merged-In: Id6051296a02060179666b67fc6ea9092273c1780
Merged-In: Iad504f0e709daadfb4d86205c07f0faf429f5a8f
(cherry picked from commit bb09ceaf09c8aea00a5001ba7079c13a2575e809)

Automerger Merge Worker   authored and   Mark Chien   commited 2020-02-25 09:47:25 +00:00
5650a2bcce
Build framework-tethering against module_current
Test: build
Change-Id: Iad504f0e709daadfb4d86205c07f0faf429f5a8f

markchien   commited 2020-02-25 00:22:44 +08:00
9e0792f8dc
Merge "Stop exposing constructor of TetheringConstants" am: e19cd8f3ab am: f2472fa7aa am: 051bd7f721
Change-Id: If4cf11820b0d712584e7ee393c26c7c359d7952f

Automerger Merge Worker   commited 2020-02-20 13:27:19 +00:00
8a6e5c57b1
Merge "Stop exposing constructor of TetheringConstants"
Mark Chien   authored and   Gerrit Code Review   commited 2020-02-20 12:46:19 +00:00
e19cd8f3ab
Stop exposing constructor of TetheringConstants
Fully-static utility classes must not have constructor.

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

Change-Id: I18e1129ef8717211d667ccd3b4110169dd7905b4

markchien   commited 2020-02-20 16:11:35 +08:00
1bec13e963
Stop exposing generated AIDL from Tethering
We don't want new modules exposing stable aidl directly. APIs should
be defined as java @SystemApi. It also seems like nothing actually
depend on these interfaces, except one simple exception.

Bug: 147200698
Test: m
Change-Id: Ia4222fa35a9a2f3c75cebb12f75c536f27e2fe16

Anton Hansson   commited 2020-02-19 19:03:24 +00:00
e814258f09
Stop exposing generated AIDL from Tethering
We don't want new modules exposing stable aidl directly. APIs should
be defined as java @SystemApi. It also seems like nothing actually
depend on these interfaces, except one simple exception.

Bug: 147200698
Test: m
Change-Id: Ia4222fa35a9a2f3c75cebb12f75c536f27e2fe16
Merged-In: Ia4222fa35a9a2f3c75cebb12f75c536f27e2fe16

Anton Hansson   commited 2020-02-19 16:26:05 +00:00
c82ea10ea2
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

Remi NGUYEN VAN   authored and   markchien   commited 2020-02-19 17:05:00 +08:00
b9379a518c
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

Remi NGUYEN VAN   authored and   markchien   commited 2020-02-19 16:32:26 +08:00
293d351b7e
Use framework-tethering-stub instead of framework-tethering
The non-updatable part of the platform now is built with
framework-tethering-stub, which is a stub library of
framework-tethering.

Bug: 147200698
Test: m
Change-Id: I97ef83f7f9b4c1376f373713036f5256318f1050
Merged-In: I97ef83f7f9b4c1376f373713036f5256318f1050

markchien   commited 2020-02-19 15:10:44 +08:00
b6ad1966c4
Merge "Use constant for tethering connector poll interval."
Amos Bianchi   authored and   Android (Google) Code Review   commited 2020-02-18 20:46:25 +00:00
bc47a4578b
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

Remi NGUYEN VAN   authored and   markchien   commited 2020-02-18 13:32:16 +08:00
c8871c1b66
Merge "Fix usage of annotations in TetheringLib"
Mark Chien   authored and   Android (Google) Code Review   commited 2020-02-17 11:00:55 +00:00
88f04a19df
Use constant for tethering connector poll interval.
A constant is defined but a literal is used instead.

Test: manual

Change-Id: I233e11af4e39a35d9a47e45066df994a9f547272

Amos Bianchi   commited 2020-02-13 16:18:47 -08:00
1faaf591dd
Merge "Fix TetheredClient and TetheredClientTest" am: 8451e20d98 am: 8ab2f58ab9 am: c8190ff316
Change-Id: I8a3d01dbd02639e07284a3dc6798c0db512c8307

Automerger Merge Worker   commited 2020-02-12 23:11:04 +00:00
545995255d