Commit Graph

255 Commits

Author SHA1 Message Date
junyulai
360c88f238 [SP18.1] add dependency object to OffloadController
In order to mock constant in unit test, a dependency object is
introduced with minimum code change to achieve this.

Test: atest TetheringTests
Bug: 149467454
Change-Id: I38628daddcb7be7c74846e78d36dc88f065b97d9
2020-04-28 18:27:57 +08:00
junyulai
607fa9efea [SP18] Poll network stats in OffloadController to support data warning
The OEM implemented tether offload does not support
data warning since the HAL only tells the hardware about data limit
but not warning. However, to add such interface in HAL needs OEM to
comply and implement in hardware.

Thus, as a short-term solution, polls network statistics from HAL
and notify upper layer when it reaches the alert quota set by
NetworkStatsService.

Note that when CPU is sleeping, the data warning of tethering offload
will not work since the polling is also suspended.

Test: manual
Test: atest OffloadControllerTest
Bug: 149467454
Change-Id: I2467b64779b74cd5fec73b42fb303584f52cb1cb
2020-04-28 18:27:57 +08:00
Paul Hu
3db6cae8d4 Merge "[TNU09] Adjust restricted notification" 2020-04-23 07:50:34 +00:00
Bill Yi
7d04cce017 Merge "Import translations. DO NOT MERGE" 2020-04-22 23:05:49 +00:00
Bill Yi
2b48e19418 Import translations. DO NOT MERGE
Change-Id: I44c343149dc88a88c94327cdd6d5ac26ce7a6816
Auto-generated-cl: translation import
2020-04-22 12:03:48 -07:00
paulhu
03142a0568 [TNU09] Adjust restricted notification
1. Let restricted notification that can be dismissed.
2. Only put up restricted notification when any of tethering is
   activating.

Bug: 154214549
Test: atest TetheringTests
Change-Id: Ib980aca154036828abdab35e3bb11d42f85ff610
2020-04-23 00:17:28 +08:00
Paul Hu
dd481a1dee Merge "Add TetheredClient tests" 2020-04-22 15:22:32 +00:00
Philip P. Moltmann
83ba9531d7 Merge "Set attributionTag for noteOp(WRITE_SETTINGS) calls" 2020-04-22 14:58:13 +00:00
Paul Hu
7219f9a5dd Merge "Add TetheringCommonTests" 2020-04-22 12:46:39 +00:00
Mark Chien
3a59ac46bb Merge "Include NetworkStaticLibTestsLib into tethering coverage test" 2020-04-22 08:51:23 +00:00
paulhu
8981563137 Add TetheredClient tests
Test APIs below:
getAddresses()
getMacAddress()
getTetheringType()
AddressInfo.getAddress()
AddressInfo.getHostname()
AddressInfo.writeToParcel(android.os.Parcel, int)

Bug: 153614365
Bug: 153613717
Test: atest TetheringTests
Change-Id: Ic7cbebe54a38af5b5c4639eb7641a20de6864a26
2020-04-22 16:32:58 +08: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
3680357420 Merge "[TNU08] Remove the "tethering is on" notification" 2020-04-22 05:37:17 +00:00
Paul Hu
967bced940 Merge "[TNU07] Remove unused resources" 2020-04-22 02:33:46 +00:00
Bill Yi
8aff1adbe0 Merge "Import translations. DO NOT MERGE" 2020-04-21 18:55:16 +00:00
Treehugger Robot
70ad9d4161 Merge "Retry the call that fetches the tethering offload HAL." 2020-04-21 14:45:39 +00:00
Lorenzo Colitti
06e440101b Retry the call that fetches the tethering offload HAL.
The CL that moved the initialization of the tethering offload
config HAL from C++ to Java caused the code not to retry
fetching the service if it is not ready when tethering is
started. This is because the C++ version of getService() retries,
but the Java version only retries if getService(true) is called.

Make the new code retry as well.

b/152430668#comment4 asserts that the fetch will be retried only
if the service is installed on the device, so the retries should
be attempted (and thus should not have any startup time impact)
on devices that do not support tethering offload.

Bug: 152430668
Test: builds, boots, tethering offload works
Change-Id: I093f127d90b2aa1b13eb0748378a24726d419472
2020-04-21 22:22:54 +09:00
markchien
90b45356d6 Include NetworkStaticLibTestsLib into tethering coverage test
Bug: 148636687
Test: atest NetworkStaticLibTests
Test: atest TetheringCoverageTests
Change-Id: I8cd9dbc9fe163583ff1d016c9262546949105b80
2020-04-21 09:50:28 +00:00
Philip P. Moltmann
64343b0b8d Set attributionTag for noteOp(WRITE_SETTINGS) calls
Test: atest FrameworksNetTests TetheringTests:TetheringServiceTest
Bug: 136595429
Merged-In: I33f787644c44d7b0e5ce17a433820cfcd985cdfb
Change-Id: Ic3d937e7bb5141798234ed5b2852c1f768e97495
2020-04-20 18:00:03 -07: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
paulhu
01a9451cb4 [TNU07] Remove unused resources
Some strings are not used, so just remove them.

Bug: 154445061
Test: atest TetheringTests
Change-Id: Ie67f7f4d0863d58c4c5206e445c1dbdfe3f65f60
2020-04-20 15:52:11 +08:00
Jiyong Park
de93db8570 Mark some aidl_interface modules as unstable
With b/152655547, all aidl_interface modules are considered as stable
unless it is explicitly with "unstable: true". This change marks the
aidl_interface that are not used across updatable module bounraries
as unstable, so that the build system does not run the API
dumping/checking on them.

Exempt-From-Owner-Approval: cherry-pick from internal

Bug: 152655547
Test: m
Merged-In: I1257c66de6dd42b2d32d47ed74cb2878f79d14fb
(cherry picked from commit 6c9c10c91e)
Change-Id: I1257c66de6dd42b2d32d47ed74cb2878f79d14fb
2020-04-20 07:44:52 +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
14fb7f6fac Merge "[TNU05.1] Address aosp/1237036 leftover comments" 2020-04-16 08:25:24 +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
baf4513d45 Merge "Add TetheringCoverageTests" 2020-04-16 06:00:07 +00:00
Mark Chien
b4624df935 Merge "Remove sendMessage inside EntitlementManager" 2020-04-16 02:07:55 +00:00
Paul Hu
b353c7eac3 Merge "[TNU05] Add no upstream notification" 2020-04-16 01:31:06 +00:00
markchien
a1a0be93f0 Remove sendMessage inside EntitlementManager
EntitlementManager and its callers(Tethering and UpstreamNetworkMonitor)
run in the same threads.

Bug: 141256482
Test: atest TetheringTests
Change-Id: I0a376d28b123eaab2e8d00a98a4719ce983d3bb2
2020-04-15 02:29:21 +00:00
paulhu
64632657a2 Add TetheringCoverageTests
Bug: 148636687
Test: atest TetheringCoverageTests
      atest TetheringTests
      atest TetheringIntegrationTests
      atest NetworkStackTests
      atest CtsTetheringTest
Change-Id: I1f2a50f16894b05e988476520ba25baba0b60d88
Merged-In: I1f2a50f16894b05e988476520ba25baba0b60d88
2020-04-15 00:50:01 +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
bdf1003c3b Do not stop IpServer when recieve wifi ap disabling state.
This is used to fix the race when quickly OFF/ON wifi tethering.
When IpServer is started/stopped, there is callback update tethering
interface status. Before this change, IpServer is stopped when wifi
ap is disabling. Then the next startTethering may fail in wifi because
wifi is in disabling state.
Error pattern: WifiService: Tethering is already active.
No unitest for this CL but it fixed the CtsTetheringTest flakty rate
than around 30% to 0 for more than 100 runs.

Bug: 153925821
Test: atest CtsTetheringTest --iteration 100
Change-Id: I8b65f621abe20799a3a0d410ba1f06368746ee49
2020-04-14 10:42:32 +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
Paul Hu
6f6527e2d7 Merge "Update tethering notification strings" 2020-04-14 07:15:16 +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
Ashwini Oruganti
910a0b44dd Tethering: Add an exported flag in manifest
With b/150232615, we will need an explicit value set for the exported
flag when intent filters are present, as the default behavior is
changing for S+. This change adds the value reflecting the previous
default to the manifest.

Bug: 150232615
Test: TH
Change-Id: I25b55378df393cd4fb8932b7ae64f97eb9f1aa8e
Merged-In: I25b55378df393cd4fb8932b7ae64f97eb9f1aa8e
(cherry picked from commit dc03d15189)
2020-04-14 00:08:24 +08:00
paulhu
735047bf6e Update tethering notification strings
Update strings after converged with carrier.

Bug: 145629001
Bug: 147818698
Test: atests TetheringTests
Change-Id: I8ad34e8c93ba1547aa397a8e9c0ecc15286a2b0b
2020-04-13 13:36:52 +00:00
Paul Hu
9f33a5a7d9 Merge "Address aosp/1274403 leftover comment" 2020-04-08 07:36:35 +00:00
Paul Hu
77f43e56ef Merge "Fix TetheringIntegrationTests failure" 2020-04-08 06:12:29 +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
paulhu
d584d2fa36 Fix TetheringIntegrationTests failure
Bug: 150644681
Test: atest TetheringIntegrationTests
Change-Id: I5a537eca9b1aab3694a11a2dab147a31f289314c
2020-04-08 09:57:57 +08:00
Mark Chien
7e0920903b Merge "Add TetheringServiceTest unitest" 2020-04-07 15:39:38 +00:00
Luke Huang
6ca4ec97d2 Use the lastest frozen netd_aidl_interface in framework
Bug: 140541991
Test: build
Change-Id: I984969e09f8d5196945a7412c51bd8880223ad9e
2020-04-07 08:35:42 +00:00
Mark Chien
7b4fb08444 Merge "Add IPv6TetheringCoordinator unit test" 2020-04-06 15:25:37 +00:00
Xiao Ma
a73e5c5c18 Merge "Rename IDhcpLeaseCallbacks to IDhcpEventCallbacks for more generic." 2020-04-06 10:43:28 +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
b22a70d7c8 Merge "Migrate to TetherOffloadRuleParcel in IpServer" 2020-04-06 08:40:51 +00:00
Paul Hu
943af02d92 Merge "Fix EntitlementManager issues" 2020-04-06 07:33:26 +00:00
Xiao Ma
49889dd4c0 Rename IDhcpLeaseCallbacks to IDhcpEventCallbacks for more generic.
Bug: 130741856
Test: atest TetheringTests
Change-Id: I66614fbf67fba1e7dab0b8a2d41bc30a726e4f38
2020-04-06 15:59:22 +09:00