summaryrefslogtreecommitdiff
path: root/Tethering/common/TetheringLib/src
Commit message (Collapse)AuthorAgeFilesLines
* Add onSupportedTetheringType callbackmarkchien2022-04-203-4/+53
| | | | | | | | | | | | This new callback could tell caller Tethering is supported for what tethering types. Bug: 184996041 Test: atest TetheringTests atest EthernetTetheringTest CTS-Coverage-Bug: 223340235 Change-Id: Ib80ed8d7f73f4a098b8965db186d24d8cf1884d3
* Add TetheredInterface{Request, Callback} interfacemarkchien2021-11-081-0/+39
| | | | | | | | | | | | | Define interfaces that match the signature of the existing EthernetManager.TetheredInterfaceRequest and TetheredInterfaceCallback classes and make EthernetManager.TetheredInterfaceRequest and TetheredInterfaceCallback implement/subinterface these interfaces. The new bluetooth API could also implement these interfaces to make API surface consistent. Test: TH would test the existing tests that use the subclass. Bug: 190438212 Change-Id: I093972c111cb1d921076782492716d5a046be8fc
* Merge "Unregister the tethering internal callback in finalize"Treehugger Robot2021-10-201-0/+17
|\
| * Unregister the tethering internal callback in finalizemarkchien2021-10-201-0/+17
| | | | | | | | | | | | | | | | Bug: 177265744 Bug: 191798390 Bug: 187972579 Test: atest TetheringServiceTest Change-Id: Ie7f9535b923db5073a59329ead22546a54e6ef47
* | Merge "Fix TetheringManager memory leak"Treehugger Robot2021-10-201-10/+32
|\|
| * Fix TetheringManager memory leakmarkchien2021-10-141-10/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TetheringCallbackInteranl is inner class which explicitly reference TetheringManager object. This causes TetheringManager can't be GC. Using static nested class which has its own lifecycle and weak reference TetheringManager object. Still have a leak inside Tethering that TetheringCallbackInternal is never unregistered. Currently it rely on binder died to remove the reference, which usually happen in kill process. If process keep alive, the TetheringCallbackInternal would not be freed even TetheringManager is gone. Will have follow CL to fix this. Bug: 177265744 Bug: 191798390 Bug: 187972579 Test: 1. lunch Settings with ON/OFF tethering, dump java heap. 2. close Settings and restart Settings again, dump java heap. 3. Compare java heap between step 1 and step 2. Change-Id: I0e2a21b7988115098a033a581cd98da8bffe2791
* | Merge "Support set test network to tethering upstream" am: 473d864d20Mark Chien2021-09-302-0/+23
|\ \ | | | | | | | | | | | | | | | Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1797991 Change-Id: Ifd5c76a943886dfe55e9b68eeb77931dae6fe204
| * | Support set test network to tethering upstreammarkchien2021-09-302-0/+23
| |/ | | | | | | | | | | Test: atest EthernetTetheringTest Change-Id: Ief2a92bc6c573a6bb75c72b7a0630e5c0accfa73
| * Add the tethering type to TetheringEventCallback methodsmarkchien2021-06-014-22/+238
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change, tethering always report a list of tethered interfaces and the caller need to use each tethering type's interface regex to matching tethered list to manual implement the mapping of tethering type and interface. This change allow caller to get rid of tethering interface regex. Bug: 162920185 Bug: 152203943 Test: atest CtsTetheringTest on S Merged-In: I91bcccd676d109c1b974497ac29bd366a41b8899 Change-Id: I91bcccd676d109c1b974497ac29bd366a41b8899
* | Add the tethering type to TetheringEventCallback methodsmarkchien2021-05-184-22/+238
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change, tethering always report a list of tethered interfaces and the caller need to use each tethering type's interface regex to matching tethered list to manual implement the mapping of tethering type and interface. This change allow caller to get rid of tethering interface regex. Bug: 162920185 Bug: 152203943 Test: atest CtsTetheringTest on S Ignore-AOSP-First: Currently aosp would automerge to mainlne-prod, merge to sc-dev first to avoid adding new API to mainline-prod CTS-Coverage-Bug: I already add cts test(ag/14622456), but Lint still complaint because my cts is under packages/modules/Connectivity/ but it only check whether CL touching platform/cts Change-Id: I91bcccd676d109c1b974497ac29bd366a41b8899
* | Merge "Allow callers of startTethering to choose local-only mode." am: ↵Lorenzo Colitti2021-04-192-1/+85
|\| | | | | | | | | | | | | | | ac9ce08d45 am: af691a13b6 Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1674232 Change-Id: I9c88d0d05c6dbb0bac65b72e8d54df5eb25b4060
| * Allow callers of startTethering to choose local-only mode.Lorenzo Colitti2021-04-192-1/+85
| | | | | | | | | | | | | | | | | | | | | | This is useful for OEMs that want to use RNDIS or NCM as a local-only link that is directly connected to some other host. This can be used to implement USB tethering using NCM, which currently only supports local-only mode. Bug: 175090447 Test: TetheringIntegrationTests:EthernetTetheringTest#testLocalOnlyTethering Change-Id: I0ffaa46e4640e5b235340a15d25909106ceb0c07
| * Remove Tethering @TestApiAnton Hansson2020-10-142-4/+0
| | | | | | | | | | | | | | | | | | | | Modules shouldn't have TestApis, as documented in go/android-api-types. Additionally, nothing depends on these TestApis existing. Bug: 170395679 Test: m checkapi Change-Id: I6e2c8298e90b4b54f0264be974d036fa08cd5632 Merged-In: I6e2c8298e90b4b54f0264be974d036fa08cd5632
| * Merge "Proper API hierarchy between MODULE_LIBS and PRIV_APPS system APIs" ↵Makoto Onuki2020-07-152-4/+0
| |\ | | | | | | | | | | | | | | | | | | | | | am: df5d88796b am: e39fdf0a5f Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1360884 Change-Id: Ie45f32b2d46c8ac989a4a9242017eb4c2b73484b
| | * Proper API hierarchy between MODULE_LIBS and PRIV_APPS system APIsMakoto Onuki2020-07-152-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | Test: build / treehugger Bug: 146727827 Exempt-From-Owner-Approval: Cherry-picking from goog/master to aosp/master Merged-in: Ie1ad6711c490c679ebcfacd97154380a8810ba1c Change-Id: Ie1ad6711c490c679ebcfacd97154380a8810ba1c
* | | Remove Tethering @TestApiAnton Hansson2020-10-152-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modules shouldn't have TestApis, as documented in go/android-api-types. Additionally, nothing depends on these TestApis existing. Bug: 170395679 Test: m checkapi Exempt-From-Owner-Approval: cherry-pick Change-Id: I6e2c8298e90b4b54f0264be974d036fa08cd5632
* | | Proper API hierarchy between MODULE_LIBS and PRIV_APPS system APIsMakoto Onuki2020-07-142-4/+0
| | | | | | | | | | | | | | | | | | Test: build / treehugger Bug: 146727827 Change-Id: Ie1ad6711c490c679ebcfacd97154380a8810ba1c
* | | Merge "Tethering: Add WiGig support" am: 65fadfc134 am: 6c5b5b0803 am: ↵Mark Chien2020-06-231-0/+8
|\| | | | | | | | | | | | | | | | | | | | | | | fdf89ee7fb am: 45fa4f9c88 am: 5131fee94b Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1177323 Change-Id: I2d3971390e897be6669d2f2d4b261eb73875c267
| * | Merge "Tethering: Add WiGig support" am: 65fadfc134 am: 6c5b5b0803Mark Chien2020-06-221-0/+8
| |\| | | | | | | | | | | | | | | | Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1177323 Change-Id: Ib48182d51cc6e4586cb43f8ca51ea673ee14d1d7
| | * Tethering: Add WiGig supportDedy Lansky2020-06-221-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change is a combination of following changes: 1) Tethering: add TETHERING_WIGIG type Currently both WIFI and WIGIG use the same tethering type, TETHERING_WIFI. This causes conflicts between the frameworks, when both WIFI and WIGIG SoftAPs are started, one or both will not work. Fix this by using a seperate tethering type for WIGIG. 2) Tethering: remove TETHERING_WIGIG state machine on interface down The wigig state machine relies on a TETHERING_STATE_CHANGED broadcast that is sent when the tethering state machine is first created, during interface up. Currently the tethering state machine is not removed on interface down except for TETHERING_BLUETOOTH, and as a result wigig tethering only works the first time SoftAP is started. In order to fix this, remove the tethering state machine on interface down for TETHERING_WIGIG as well. Bug: 143356416 Test: TetheringCoverageTests Change-Id: Ic4d3aca0ed69234093af7f0206dab3335938c52a
| | * Pass entitlement configuration to Settings for entitlement checkmarkchien2020-06-201-4/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tethering resource configuration is move from framwork to tethering module. Since tethering resource would not be accessible from outside of tethering module, EntitlementManager would tell Settings the entitlement configuration via intent extra when run entitlement check. Bug: 146918263 Test: atest TetheringTests Change-Id: I6f23553bb1da5f0b767f920b32a86fafb9e00b9e Merged-In: I6f23553bb1da5f0b767f920b32a86fafb9e00b9e
* | | Merge "Revert "Revert "Pass entitlement configuration to Settings for ↵Mark Chien2020-06-171-4/+34
|\| | | | | | | | | | | | | | | | | | | | | | | entitlement check""" into rvc-dev am: 404c3adad7 am: 7e501e2967 am: bccb89a187 am: 36a6c56989 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11836350 Change-Id: Ic89fe046e75a76aebf05e47c8754010f52a45536
| * | Merge "Revert "Revert "Pass entitlement configuration to Settings for ↵Mark Chien2020-06-171-4/+34
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | entitlement check""" into rvc-dev am: 404c3adad7 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11836350 Change-Id: Ibfea2e6f2564942eca60c84a5df5583acc1b9e8b
| | * | Revert "Revert "Pass entitlement configuration to Settings for entitlement ↵Mark Chien2020-06-151-4/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | check"" Add commit message here for reference: Tethering resource configuration is move from framework to tethering module. The resource would not be accessible from outside of tethering module. List the replacements of framework resources usage and intent extra: 1. R.string.config_mobile_hotspot_provision_response --> android.net.extra.TETHER_PROVISIONING_RESPONSE. 2. R.string.config_mobile_hotspot_provision_app_no_ui --> android.net.extra.TETHER_UI_PROVISIONING_APP_NAME 3. R.array.config_mobile_hotspot_provision_app --> android.net.extra.TETHER_SILENT_PROVISIONING_ACTION Besides, the current active subId would put in android.net.extra.TETHER_SUBID Note: They are not APIs because of API freeze. Now both tethering module and Settings define these strings independently. Bug: 146918263 Test: atest TetherServiceTest atest TetherProvisioningActivityTest This reverts commit 99889031746a0863b2eb88ec33dc954afab64762. Reason for revert: Resume the CL and put this CL with settings part in the same topic to avoid break. Change-Id: I114b4c258743661df51e5a969e150047a292e035
* | | | Merge "Revert "Pass entitlement configuration to Settings for entitlement ↵Mark Chien2020-06-121-34/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | check"" into rvc-dev am: f1b2407490 am: b4ac5bc5b4 am: b05fa7f798 am: a7cec49bfc Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11836348 Change-Id: I53318fdc3d116127dd9d22bb449b8868313a38ba
| * | | Merge "Revert "Pass entitlement configuration to Settings for entitlement ↵Mark Chien2020-06-121-34/+4
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | check"" into rvc-dev am: f1b2407490 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11836348 Change-Id: I9436ba6a4fe7ef3eb38316d831e047957302bc49
| | * | Revert "Pass entitlement configuration to Settings for entitlement check"Mark Chien2020-06-121-34/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original CL has dependencies with unmerged settings change: https://googleplex-android-review.git.corp.google.com/c/platform/packages/apps/Settings/+/11524847 They should be in the same topic, revert it first. Will resume it and put the same with settings part CL. This reverts commit 217d7b01f87dcc960572bb88e7ec544d5ce1dc43. Reason for revert: This break hotspot because it should merged with settings part together. Bug: 158836492 Change-Id: I94d3ee25168cfb3d125030654c4bb8ddd670abfc
| * | | Merge "Pass entitlement configuration to Settings for entitlement check" ↵TreeHugger Robot2020-06-111-4/+34
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into rvc-dev am: 03cfdd49b6 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11560353 Change-Id: I213f7fa7116f58ae63cb32ecbf9f62e8306a83d2
* | | | Merge "Pass entitlement configuration to Settings for entitlement check" ↵TreeHugger Robot2020-06-111-4/+34
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into rvc-dev am: 03cfdd49b6 am: 56a635ceb5 am: aa0f47ccb3 am: 1f6f0a7743 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11560353 Change-Id: I9d0da41702117523bc1570ce9eead4283192b768
| * \ \ \ Merge "Pass entitlement configuration to Settings for entitlement check" ↵TreeHugger Robot2020-06-111-4/+34
| |\ \ \ \ | | |/ / / | |/| / / | | |/ / | | | | | | | | | | | | | | | | into rvc-dev am: 03cfdd49b6 am: 56a635ceb5 am: aa0f47ccb3 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11560353 Change-Id: I4ad9c2e14018c888e9a0b27f0b16643f233a7f6b
| | * | Pass entitlement configuration to Settings for entitlement checkmarkchien2020-06-111-4/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tethering resource configuration is move from framwork to tethering module. Since tethering resource would not be accessible from outside of tethering module, EntitlementManager would tell Settings the entitlement configuration via intent extra when run entitlement check. Bug: 146918263 Test: atest TetheringTests Change-Id: I6f23553bb1da5f0b767f920b32a86fafb9e00b9e
| | * | Assign specific client address to dhcp serverTreehugger Robot2020-04-101-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 141256482 Test: manual atest TetheringTests Merged-In: Ief76c98c843ba5420224cbf0f34464f366c891b7 Change-Id: Ief76c98c843ba5420224cbf0f34464f366c891b7
| * | | Merge "Set attributionTag for noteOp(WRITE_SETTINGS) calls" am: 83ba9531d7 ↵Philip P. Moltmann2020-04-222-24/+41
| |\ \ \ | | | |/ | | |/| | | | | | | | | | | | | am: 319db1af8b Change-Id: I099944752fc3006c1e98750dd46dbebf5e50789f
| | * | Set attributionTag for noteOp(WRITE_SETTINGS) callsPhilip P. Moltmann2020-04-202-24/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Test: atest FrameworksNetTests TetheringTests:TetheringServiceTest Bug: 136595429 Merged-In: I33f787644c44d7b0e5ce17a433820cfcd985cdfb Change-Id: Ic3d937e7bb5141798234ed5b2852c1f768e97495
* | | | Set attributionTag for noteOp(WRITE_SETTINGS) callsPhilip P. Moltmann2020-04-212-24/+41
|/ / / | | | | | | | | | | | | | | | | | | Test: atest FrameworksNetTests Bug: 136595429 Change-Id: I33f787644c44d7b0e5ce17a433820cfcd985cdfb Exempt-From-Owner-Approval: Merge from AOSP
* | / Merge "Assign specific client address to dhcp server" am: 037becbf64 am: ↵Treehugger Robot2020-03-301-7/+16
|\| | | |/ |/| | | | | | | 815ab636c3 Change-Id: Ia0e4a913faa5eac5d5ccba837eb7774d59670d27
| * Merge "Assign specific client address to dhcp server"Treehugger Robot2020-03-301-7/+16
| |\
| | * Assign specific client address to dhcp servermarkchien2020-03-191-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | Bug: 141256482 Test: manual atest TetheringTests Change-Id: Ief76c98c843ba5420224cbf0f34464f366c891b7
| * | Hide startTethering with type function to module-lib onlymarkchien2020-03-251-0/+2
| | | | | | | | | | | | | | | | | | | | | Bug: 151918384 Test: m Change-Id: Icef8b363aae97dd020d618bcb397f661aa6c4750 Merged-In: Icef8b363aae97dd020d618bcb397f661aa6c4750
| * | Address API council review comment about TetheringRequestjunyulai2020-03-231-22/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | TetheringManager API clean upmarkchien2020-03-191-42/+116
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Merge "Support static address configuration"Mark Chien2020-03-172-3/+34
| |\
| | * Support static address configurationmarkchien2020-03-172-3/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | Merge "Change TetheringConstants class to final"Mark Chien2020-03-161-1/+1
| |\ \
| | * | Change TetheringConstants class to finalmarkchien2020-03-151-1/+1
| | |/ | | | | | | | | | | | | | | | Bug: 151322331 Test: m doc-comment-check-docs Change-Id: Ia02be3d1d91a08ae4a56b25560ed448c96a693db
| * / Cleanup the TetheredClients APIRemi NGUYEN VAN2020-03-131-15/+26
| |/ | | | | | | | | | | | | | | | | | | 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
| * Merge "Send offload status changed callback"Mark Chien2020-03-093-1/+40
| |\
| | * Send offload status changed callbackmarkchien2020-03-093-1/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | Tethering: add isTetheringSupported with callerPkg parametermarkchien2020-03-031-0/+19
| |/ | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Address API council review comment about TetheringRequestjunyulai2020-03-231-22/+29
| | | | | | | | | | | | Test: atest TetheringTests FrameworksNetTests NetworkStackTests Bug: 152055812 Change-Id: I0158d88e364772f9ac258bd18955edcdad266ad8