Commit Graph

145 Commits

Author SHA1 Message Date
Philip P. Moltmann
f4c703461d Merge "Set attributionTag for noteOp(WRITE_SETTINGS) calls" 2020-04-22 14:57:49 +00:00
Paul Hu
0d6c6444e8 Merge "Add TetheringCommonTests" am: 7219f9a5dd am: 075cf4d923
Change-Id: I0d10c0c02375b10cbd2cd30e2fbe473580118b6c
2020-04-22 13:17:57 +00:00
paulhu
7e514020b5 Add TetheringCommonTests
Bug: 153614365
Bug: 153613717
Test: atest TetheringTests TetheringCoverageTests
Change-Id: If7c933ec0c72943312cd37bfc66918f10a5504a9
2020-04-22 16:15:33 +08:00
Paul Hu
2026b5addb Merge "[TNU08] Remove the "tethering is on" notification" am: 3680357420 am: 6296583f61
Change-Id: Ie49b39eaf0170ecb74043dfba2cdc5b115a1477d
2020-04-22 06:05:12 +00:00
Philip P. Moltmann
b94bb42096 Set attributionTag for noteOp(WRITE_SETTINGS) calls
Test: atest FrameworksNetTests
Bug: 136595429
Change-Id: I33f787644c44d7b0e5ce17a433820cfcd985cdfb
Exempt-From-Owner-Approval: Merge from AOSP
2020-04-21 21:46:34 +00:00
paulhu
57f26333a8 [TNU08] Remove the "tethering is on" notification
All carriers discarded the requirement to put up a standing
notification when tethering is on. Thus, remove the "tethering
is on" notification.

Bug: 154438388
Test: atest TetheringTests
Change-Id: Ife3915837b6b7b83d3eaaa84b71b6409ff37b71c
2020-04-20 16:10:08 +08:00
Chalard Jean
bc380e0215 Merge "[TNU06] Add roaming notification" am: 565160c302 am: 8f365b0b13
Change-Id: Ia02ca67be0a103e980be6a4c7a0ed66836716d51
2020-04-17 16:28:53 +00:00
paulhu
1f66261a3c [TNU06] Add roaming notification
Warn user of potential data charges if the backhaul is
cellular and user is roaming.

Bug: 145629001
Test: atest TetheringTests
Change-Id: I74b4f87c2f6aad09e05d3f2a779f880396885953
2020-04-17 21:25:54 +08:00
Paul Hu
eef15b96ac Merge "[TNU05.1] Address aosp/1237036 leftover comments" am: 14fb7f6fac am: a91e5e5da6
Change-Id: I56a0ce98beed6797486e26a5148ee3685a3ae0ef
2020-04-16 09:04:57 +00:00
paulhu
1317e27e91 [TNU05.1] Address aosp/1237036 leftover comments
Bug: 147818698
Test: atest TetheringTests
Change-Id: Ife738339aeae00d2063fea6918b50204daef24fc
2020-04-16 14:39:12 +08:00
Paul Hu
7c789f41eb Merge "[TNU05] Add no upstream notification" am: b353c7eac3 am: 7cda806393
Change-Id: Ib65eeed784189e669cc5c22537671deb8d35a9e5
2020-04-16 01:59:03 +00:00
paulhu
648fc2c8ea [TNU05] Add no upstream notification
Reminder user of unavailable tethering status if there is no
internet access.

Bug: 147818698
Test: atest TetheringTests
Change-Id: Ic6557f9f7703337596100cd6a477fd7239217166
2020-04-15 01:25:37 +08:00
markchien
1acfb0125c Change tethering file structure to respect its package name
Bug: 145099347
Test: atest TetheringTests
      atest CtsTetheringTest
Change-Id: I544ab9480bbaa5e18e030d21a28ab4c4a7265795
2020-04-14 12:25:03 +00:00
Lorenzo Colitti
dd43e05b6e Merge "Don't crash when receiving an RTM_DELNEIGH or NUD_FAILED." am: 941a53ce91 am: 81dd21611d
Change-Id: Ie7060e6408acd73f1a5d2456d030a1958df32847
2020-04-14 09:21:19 +00:00
Lorenzo Colitti
941a53ce91 Merge "Don't crash when receiving an RTM_DELNEIGH or NUD_FAILED." 2020-04-14 08:22:30 +00:00
Lorenzo Colitti
330a9b9fa7 Don't crash when receiving an RTM_DELNEIGH or NUD_FAILED.
These events don't have MAC addresses, so the code attempts to
create an Ipv6ForwardingRule with a null MAC address. This
crashes when attempting to get the raw MAC address bytes to send
to netd in the TetherOffloadRuleParcel.

This was not caught by unit tests because the test exercise this
code path in a way that is not correct (by sending RTM_DELNEIGH
and NUD_FAILED events with MAC addresses). Fix the unit tests to
properly pass in null MAC addresses for these events.

Bug: 153697068
Test: fixed existing tests to be more realistic
Change-Id: I26d89a81f1c448d9b4809652b079a5f5eace3924
2020-04-14 15:02:17 +09:00
markchien
d995566700 Change tethering file structure to respect its package name
Bug: 145099347
Test: atest TetheringTests
      atest CtsTetheringTest
Change-Id: I7401c550fbafd17a5ed2d925b5d0e17e358af467
2020-04-14 02:09:51 +00:00
Paul Hu
77908d971d Merge "Address aosp/1274403 leftover comment" am: 9f33a5a7d9 am: 3d363f0911
Change-Id: I420e4c0f9ae9f95dec822257c5dabf10f9b79201
2020-04-08 07:57:59 +00:00
Paul Hu
9f33a5a7d9 Merge "Address aosp/1274403 leftover comment" 2020-04-08 07:36:35 +00:00
paulhu
eaa2b0e30a Address aosp/1274403 leftover comment
Bug: 152828142
Test: atest EntitlementManagerTest

Change-Id: I81f2d268c9f26bc4488b06032477a73d071f73f8
2020-04-08 11:45:08 +08:00
Mark Chien
6ca4626803 Merge "Add TetheringServiceTest unitest" am: 7e0920903b am: 7f8095b2d9
Change-Id: Ib34e3b601e8f2bbb96c2a706d614696500cc18fc
2020-04-07 16:05:50 +00:00
Mark Chien
7e0920903b Merge "Add TetheringServiceTest unitest" 2020-04-07 15:39:38 +00:00
Mark Chien
258d28303e Merge "Add IPv6TetheringCoordinator unit test" am: 7b4fb08444 am: 173e69b2a8
Change-Id: I5b38a893522fcea37f757c7d7234d07e3176fe1b
2020-04-06 15:59:56 +00:00
Mark Chien
7b4fb08444 Merge "Add IPv6TetheringCoordinator unit test" 2020-04-06 15:25:37 +00:00
markchien
1b39a10c21 Add IPv6TetheringCoordinator unit test
Bug: 148636687
Test: atest IPv6TetheringCoordinatorTest
Change-Id: I939323ce09adb9c66b1e2b83d58b0f892aa8f011
2020-04-06 18:25:41 +08:00
Lorenzo Colitti
dc25174ebe Merge "Migrate to TetherOffloadRuleParcel in IpServer" am: b22a70d7c8 am: 2aea86b521
Change-Id: I8257dacfb734e03b52d447a0b658ce372eb46fb0
2020-04-06 09:19:57 +00:00
Lorenzo Colitti
b22a70d7c8 Merge "Migrate to TetherOffloadRuleParcel in IpServer" 2020-04-06 08:40:51 +00:00
Paul Hu
784b7a6925 Merge "Fix EntitlementManager issues" am: 943af02d92 am: 7f05bb9b2d
Change-Id: I0fef76b2fa00757afc1db9a073ad9e912ca98b19
2020-04-06 08:33:31 +00:00
Paul Hu
943af02d92 Merge "Fix EntitlementManager issues" 2020-04-06 07:33:26 +00:00
markchien
e96f42d27b Add TetheringServiceTest unitest
Bug: 145490751
Test: atest TetheringTests
Change-Id: I68cd403302848c041444e6d47652435d67f59273
2020-04-06 12:02:17 +08:00
Lorenzo Colitti
beb28405b1 Migrate to TetherOffloadRuleParcel in IpServer
The netd tethering offload IPCs are changing from taking a list
of primitives to taking a TetherOffloadRuleParcel. Modify their
only caller.

Bug: 140541991
Test: atest IpServerTest
Change-Id: I83718c80ef9d31199c87021b4dd5821717fd5ba5
2020-04-04 16:24:58 +09:00
paulhu
4175676eab Fix EntitlementManager issues
1. Add TETHERING_ETHERNET to vaild downstream type. So starting
   ethernet tethering will do entitlement check as well.
2. Ignore request with invalid downstream type on
   handleRequestLatestTetheringEntitlementValue()

Bug: 152828758
Bug: 152828142
Test: atests TetheringTests CtsTetheringTest

Change-Id: Id0cb59cc4681f5ffbde7be54de05a05e46f0ffb8
2020-03-31 18:01:54 +08:00
Treehugger Robot
a3fbca5f60 Merge "Assign specific client address to dhcp server" am: 037becbf64 am: 815ab636c3
Change-Id: Ia0e4a913faa5eac5d5ccba837eb7774d59670d27
2020-03-30 04:23:55 +00:00
Treehugger Robot
037becbf64 Merge "Assign specific client address to dhcp server" 2020-03-30 03:38:46 +00:00
Mark Chien
bfe7965e6b Merge "Register callback and receiver after tethering is created" am: 33788bcaac am: 01326a25c0
Change-Id: Ifc4846347326ce5e18a2f8f1ac060febc0cbd486
2020-03-27 08:55:32 +00:00
Mark Chien
33788bcaac Merge "Register callback and receiver after tethering is created" 2020-03-27 08:31:11 +00:00
markchien
e31fb9d7bd Register callback and receiver after tethering is created
Tethering service is created after boot complete which means most of
the services are ready before tethering. Once tethering register the
callback, callback event may come-in immediately. Make sure all of
tethering related object is created, then register the callback,
receiver, or listener.

Bug: 149965121
Test: atest TetheringTests
      manual on/off tethering

Change-Id: I3941a186770679e7b476073d774e2310e25e44c6
2020-03-27 08:13:28 +00:00
Paul Hu
5ea31650ae Merge "[TNU04] Add tethering restricted notification" am: 255565e839 am: 7696642a8c
Change-Id: Iad59bdf6b3c5b3ce059d7c01c7396866aab85767
2020-03-25 12:03:10 +00:00
Paul Hu
ff89f2fd43 Merge "[TNU03] Add TetheringNotificationUpdaterTest" am: 18c34694f9 am: 493d3a833c
Change-Id: I1085dceb190b32122416d0240275d7ecb81aa627
2020-03-25 07:15:31 +00:00
Paul Hu
357c0fcf14 Merge "[TNU02] Update tethering notification by active data subid" am: 8a47935fca am: 7135a19540
Change-Id: I2e1555972d9217fa689b10b23525fa5ba12c373b
2020-03-25 05:37:05 +00:00
paulhu
972f031fa5 [TNU04] Add tethering restricted notification
If tethering is restricted to the user, show restricted
notification to notify the user.

Bug: 122085773
Test: atest TetheringTests
Change-Id: Ic5baca2d6102886f4c3530ce1e321b5dab6ea9d7
2020-03-24 16:45:02 +08:00
paulhu
769e00cad2 [TNU03] Add TetheringNotificationUpdaterTest
Add new test for TetheringNotificationUpdater

Bug: 122085773
Bug: 130596698
Test: atest TetheringTests
Change-Id: I0db3df3e85dd6a8c3989c8bc66a06c50f45a0c15
2020-03-24 15:35:05 +08:00
paulhu
7bfbe253d7 [TNU02] Update tethering notification by active data subid
Tethering notification can be customized by different subid. Thus
update notification when active data subid changed.

Bug: 122085773
Bug: 130596698
Test: atest TetheringTests
Change-Id: I799d713326cfbf4dc96c712c6b15ed5a4ac18dd2
2020-03-24 14:31:03 +08:00
Mark Chien
9bfe7f7b3e Merge "TetheringManager API clean up" 2020-03-19 16:09:21 +00:00
TreeHugger Robot
f80f541d16 Merge "Move NetworkCallback to last parameter for new exposed requestNetwork" into rvc-dev 2020-03-19 13:40:51 +00:00
markchien
ec0b68d491 Move NetworkCallback to last parameter for new exposed requestNetwork
Bug: 151243698
Test: atest TetheringTests
Change-Id: I87ef1d451eefa6998b9793c4eacabae978376d24
Merged-In: I87ef1d451eefa6998b9793c4eacabae978376d24
2020-03-19 11:36:07 +00:00
markchien
8146b56d01 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
2020-03-19 19:32:50 +08:00
markchien
ac580f9826 Move NetworkCallback to last parameter for new exposed requestNetwork
Bug: 151243698
Test: atest TetheringTests
Change-Id: I87ef1d451eefa6998b9793c4eacabae978376d24
2020-03-19 19:10:23 +08:00
markchien
f1332573bb 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
2020-03-19 16:32:37 +08:00
Automerger Merge Worker
9462a3c9f0 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)
2020-03-19 12:39:46 +08:00