Commit Graph

256 Commits

Author SHA1 Message Date
Lorenzo Colitti
8c0d16cfa6 Merge changes I82d3bee0,I9c9413d7 am: deb4eb5d05 am: 51c3d6a8bf am: 0cf31d4d6d am: 20fa45e3a9
am: d14c177136

Change-Id: I100ba259bcebf0ed0b9192ed32a038457d2a2283
2017-08-15 02:52:22 +00:00
Lorenzo Colitti
d14c177136 Merge changes I82d3bee0,I9c9413d7 am: deb4eb5d05 am: 51c3d6a8bf am: 0cf31d4d6d
am: 20fa45e3a9

Change-Id: I5d700c9818a89ba3eaab8a34bb799ae7145dbd28
2017-08-15 02:34:30 +00:00
Lorenzo Colitti
20fa45e3a9 Merge changes I82d3bee0,I9c9413d7 am: deb4eb5d05 am: 51c3d6a8bf
am: 0cf31d4d6d

Change-Id: I759ed9a79b6ebfa2ae6143167c0dd7d0ad84c67f
2017-08-15 02:25:36 +00:00
Lorenzo Colitti
0cf31d4d6d Merge changes I82d3bee0,I9c9413d7 am: deb4eb5d05
am: 51c3d6a8bf

Change-Id: Ie7e8806faecdad96b4033404709fb3aebc4bdd0f
2017-08-15 02:16:18 +00:00
Lorenzo Colitti
51c3d6a8bf Merge changes I82d3bee0,I9c9413d7
am: deb4eb5d05

Change-Id: Iaa6aecf3ec3a91dc04f4533c0ea5b649bdfeb83d
2017-08-15 02:07:36 +00:00
Lorenzo Colitti
deb4eb5d05 Merge changes I82d3bee0,I9c9413d7
* changes:
  Pass data usage limits to tethering offload code.
  Don't time out when fetching tether offload stats.
2017-08-15 01:57:28 +00:00
Lorenzo Colitti
50b60fc34d Pass data usage limits to tethering offload code.
Bug: 29337859
Bug: 32163131
Test: builds
Test: OffloadControllerTest passes
Change-Id: I82d3bee030bafa8fe85855885b5fc3893e699181
2017-08-15 00:09:23 +09:00
Alexandru-Andrei Rotaru
5469504e6b Notify the user and turn off tethering when the service is disallowed.
Added UserRestrinctionListener for turning the service off one the
DISALLOW_CONFIG_TETHERING is on into Tethering.  Added notification
about
tethering being turned off. Also added Unit Tests to test the
functionality
of the UserRestrictionListener added.

Bug: 27936525
Test: Turn the tehering service on (either wifi, usb or bluetooth).
Automatically the system should send a notification about the service
being active.Close settings from recents. From TestDPC User Restrictions
switch on DISALLOW_CONFIG_TETHERING. The tethering should be turned off
and a notification should appear informing that the service is inactive.

Merged-In: Ib7ea8885cedc2a842ebd4487c8b366a6666996bc
Change-Id: Ib7ea8885cedc2a842ebd4487c8b366a6666996bc
(cherry picked from commit fa6d5c5ca0)
2017-08-03 13:51:36 +00:00
Treehugger Robot
5027dd1026 Merge "Notify the user and turn off tethering when the service is disallowed." 2017-08-03 10:29:55 +00:00
TreeHugger Robot
be09d8d39b Merge "Notify the user and turn off tethering when the service is disallowed." 2017-08-02 09:13:31 +00:00
Hugo Benichi
2b3e495224 Merge "NetworkNotificationManager: correctly handle existing notifications" am: 3451fb6156 am: ef7d6d93c3 am: 5cbf7e2dc8
am: 1609fe7fe3

Change-Id: Ieed9e3e7755e0c5f89dc41ef66f47d4dbf4c66a9
2017-07-27 15:08:19 +00:00
Hugo Benichi
1609fe7fe3 Merge "NetworkNotificationManager: correctly handle existing notifications" am: 3451fb6156 am: ef7d6d93c3
am: 5cbf7e2dc8

Change-Id: I73cc879e910d503946facdba498b300337f349fd
2017-07-27 14:58:32 +00:00
Hugo Benichi
5cbf7e2dc8 Merge "NetworkNotificationManager: correctly handle existing notifications" am: 3451fb6156
am: ef7d6d93c3

Change-Id: I74631b0bfd14daf18a1641ed7f2ec323d636ebbf
2017-07-27 14:50:14 +00:00
Hugo Benichi
ef7d6d93c3 Merge "NetworkNotificationManager: correctly handle existing notifications"
am: 3451fb6156

Change-Id: I4432f66067ea1ab02e1d2dfe42530bcdafa52df6
2017-07-27 14:43:48 +00:00
Hugo Benichi
5fcd050e0e NetworkNotificationManager: correctly handle existing notifications
This patch corrects a regression added by commit fb2609d3ee that did
not take into account the case of multiple notifications shown for a
single network id. Given how network notifications are triggered, it can
happen that NO_INTERNET and SIGN_IN notifications are both triggered for
the same network when captive portal detection is slow.

Contrary to the situation before commit fb2609d3ee, a notification
priority order is introduced so that SIGN_IN always overrides
NO_INTERNET, and NO_INTERNET is ignored if SIGN_IN is already present.

Bug: 63676954
Bug: 62503737
Test: runtest frameworks-net, added new unit tests
Change-Id: Ib8658601e8d4dc6c41b335ab7dd8caa0cccd9531
2017-07-27 21:20:20 +09:00
Lorenzo Colitti
6a5fe34edf resolve merge conflicts of a1d67fb38e to stage-aosp-master
am: 8228eb3446

Change-Id: Ic9ba31da8e5281c9dbc8fa7ff56a63956a495b72
2017-07-18 23:37:57 +00:00
Lorenzo Colitti
8228eb3446 resolve merge conflicts of a1d67fb38e to stage-aosp-master
Test: make -j64 services
Change-Id: I3955b01189993f3051c608bc5d07a87e4e3b5f0b
Merged-In: Ic1e799c17b4bb0272cf85e03d5ad14981a55defa
2017-07-19 07:35:31 +09:00
Charles He
fa9c0be357 Merge "Opt-out for always-on VPN" 2017-07-18 18:47:45 +00:00
Alexandru-Andrei Rotaru
f8f3fbbd01 Notify the user and turn off tethering when the service is disallowed.
Added UserRestrinctionListener for turning the service off one the
DISALLOW_CONFIG_TETHERING is on into Tethering.  Added notification about
tethering being turned off. Also added Unit Tests to test the functionality
of the UserRestrictionListener added.

Bug: 27936525
Merged-In: Ib7ea8885cedc2a842ebd4487c8b366a6666996bc
Test: Turn the tehering service on (either wifi, usb or bluetooth).
Automatically the system should send a notification about the service
being active.Close settings from recents. From TestDPC User Restrictions
switch on DISALLOW_CONFIG_TETHERING. The tethering should be turned off
and a notification should appear informing that the service is inactive.

Change-Id: Ib7ea8885cedc2a842ebd4487c8b366a6666996bc
2017-07-18 16:33:05 +00:00
Lorenzo Colitti
4ca0ba8f86 Fetch tethering offload stats.
Make tethering offload register an ITetheringStatsProvider and
fetch tethering stats from the hardware.

Currently we fetch stats in the following cases:

1. Just after changing upstreams, we fetch stats from the
   previous upstream.
2. When we are polled by NetworkStatsService.

(cherry-picked from commit 5a7dea1a8e)

Bug: 29337859
Bug: 32163131
Test: builds, boots
Test: stats appear in tethering logs
Change-Id: If744f2e06cb6a3095a40199936b9afb76eff7b56
Merged-In: If744f2e06cb6a3095a40199936b9afb76eff7b56
2017-07-19 00:55:37 +09:00
Alexandru-Andrei Rotaru
fa6d5c5ca0 Notify the user and turn off tethering when the service is disallowed.
Added UserRestrinctionListener for turning the service off one the
DISALLOW_CONFIG_TETHERING is on into Tethering.  Added notification
about
tethering being turned off. Also added Unit Tests to test the
functionality
of the UserRestrictionListener added.

Bug: 27936525
Test: Turn the tehering service on (either wifi, usb or bluetooth).
Automatically the system should send a notification about the service
being active.Close settings from recents. From TestDPC User Restrictions
switch on DISALLOW_CONFIG_TETHERING. The tethering should be turned off
and a notification should appear informing that the service is inactive.

Change-Id: Ib7ea8885cedc2a842ebd4487c8b366a6666996bc
2017-07-18 16:49:31 +01:00
Hugo Benichi
822c5bf778 IP connectivity metrics: fix tests after proto update
Update to ipconnectivity.proto in commit
6d2f506bfd broke the associated unit
tests (Change-Id: I4cf5b95956df721aecd63fddfb026a7266c190b9)

Bug: 34901696
Test: runtest frameworks-net
Change-Id: I57a6bad8a9836b1c45690c4589b416786ce1dfa0
2017-07-18 14:33:12 +09:00
Charles He
3673863f3b Opt-out for always-on VPN
Always-on VPN is a feature introduced in N. Since then, all VPN apps
targeting N+ are assumed to support the feature, and the user or the DPC
can turn on / off always-on for any such VPN app. However, a few VPN
apps are not designed to support the always-on feature. Enabling
always-on for these apps will result in undefined behavior and confusing
"Always-on VPN disconnected" notification.

This feature provides a new manifest meta-data field through which a VPN
app can opt out of the always-on feature explicitly. This will stop the
always-on feature from being enabled for the app, both by the user and
by the DPC, and will clear its existing always-on state.

A @hide API is provided to check whether an app supports always-on VPN.
Documentation is updated to reflect the behavior change.

Bug: 36650087
Test: runtest --path java/com/android/server/connectivity/VpnTest.java
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedDeviceOwnerTest#testAlwaysOnVpnUnsupportedPackage'
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedDeviceOwnerTest#testAlwaysOnVpnUnsupportedPackageReplaced'
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackage'
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackageReplaced'
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackage'
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackageReplaced'

Change-Id: I477897a29175e3994d4ecf8ec546e26043c90f13
2017-07-18 00:55:38 +01:00
Lorenzo Colitti
5a7dea1a8e Fetch tethering offload stats.
Make tethering offload register an ITetheringStatsProvider and
fetch tethering stats from the hardware.

Currently we fetch stats in the following cases:

1. Just after changing upstreams, we fetch stats from the
   previous upstream.
2. When we are polled by NetworkStatsService.

Bug: 29337859
Bug: 32163131
Test: builds, boots
Test: stats appear in tethering logs
Change-Id: If744f2e06cb6a3095a40199936b9afb76eff7b56
2017-07-13 23:54:51 +09:00
Erik Kline
17a62281e4 Merge "Program offload-exempt local prefixes into the HAL" am: de837a97aa
am: ae21b89414

Change-Id: If96a33f26fed64a84219868d28765b7581ad453d
2017-07-13 09:07:01 +00:00
Erik Kline
ae21b89414 Merge "Program offload-exempt local prefixes into the HAL"
am: de837a97aa

Change-Id: I741b6e31fb3adc922f47df824188786ff35e3aa9
2017-07-13 09:00:56 +00:00
Erik Kline
5acb4e3b62 Program offload-exempt local prefixes into the HAL
Test: as follows
    - built
    - flashed
    - booted
    - "runtest frameworks-net" passes
    - observed calls to the HAL setLocalPrefixes in tethering log
Bug: 29337859
Bug: 32163131
Merged-In: I3c3bd4ee83ffe86ddbe6a16fbbfa0756bf5064d4
Merged-In: Iaf80e584df458010741401fc1a19e7f6e21923c1
Merged-In: Ifaf23c6179ead9de6ccfcf41e0c203025153167b
(cherry picked from commit 32179ff815)

Change-Id: I65ea833ac6fe7a75ebe546cfa358c4cffdf2de05
2017-07-13 16:43:34 +09:00
Erik Kline
32179ff815 Program offload-exempt local prefixes into the HAL
Additionally:
    - move mOffloadController into MasterTetherSM

Test: as follows
    - built
    - flashed
    - booted
    - "runtest frameworks-net" passes
    - observed calls to the HAL setLocalPrefixes in tethering log
Bug: 29337859
Bug: 32163131
Change-Id: Ifaf23c6179ead9de6ccfcf41e0c203025153167b
2017-07-13 13:45:49 +09:00
Erik Kline
d21ad47d43 Merge "Restructure use of absent tether_offload_disabled setting" am: 5bb30496cf
am: c8b4ef85dc

Change-Id: I2210e9d25a4e7c497b9383324e574c9f8aca0d6f
2017-07-12 06:25:04 +00:00
Erik Kline
c8b4ef85dc Merge "Restructure use of absent tether_offload_disabled setting"
am: 5bb30496cf

Change-Id: I9d1ec7d1c060278018c80c9374d724ee0ddba3a4
2017-07-12 06:18:11 +00:00
Erik Kline
5eaa7ed03b Restructure use of absent tether_offload_disabled setting
This restructures the fetching of the default disposition such
that we disable (and enable) the feature with only a single
character change.

Additionally: fix unittests with proper use of FakeSettingsProvider.

Test: as follows
    - built
    - flashed
    - booted
    - "runtest frameworks-net" passed with developer enabled and disabled
Bug: 29337859
Bug: 32163131
Bug: 63250751
(cherry picked from commit c87cd41184)
Merged-In: Ib32489d07778465134bca52c589baddbd78ab129
Merged-In: I03d68b0da192fbd6172639343d4ab88c20127ad7
Merged-In: I10c0af2b2c4f6b6e613380e637cc3acb1f7a55a3

Change-Id: Ie16a022be8dacd76b0402bcb777680c36163a084
2017-07-12 13:29:22 +09:00
Erik Kline
c87cd41184 Restructure use of absent tether_offload_disabled setting
This restructures the fetching of the default disposition such
that we disable (and enable) the feature with only a single
character change.

Additionally: fix unittests with proper use of FakeSettingsProvider.

Test: as follows
    - built
    - flashed
    - booted
    - "runtest frameworks-net" passed with developer enabled and disabled
Bug: 29337859
Bug: 32163131
Bug: 63250751

Change-Id: Ib32489d07778465134bca52c589baddbd78ab129
2017-07-11 23:46:58 +09:00
Erik Kline
53e5c05d83 DO NOT MERGE ANYWHERE
This reverts a duplicate test method resulting from a bad merge.

Test: as follows
    - built

Change-Id: I8ca7c97a28fbf7d20753bb4d1f942e5c04a4edf8
2017-07-05 19:55:45 +09:00
Erik Kline
c99ff3a1e7 resolve merge conflicts of b1eb85c9a8 to stage-aosp-master
am: dbc7279e85

Change-Id: I0280190a1d2d48ca2e80e823ed43112161af8271
2017-07-05 09:17:46 +00:00
Erik Kline
dbc7279e85 resolve merge conflicts of b1eb85c9a8 to stage-aosp-master
Test: I solemnly swear I tested this conflict resolution.

Merged-In: I3ae731c21f292a476a9e30e229d66ef6ab4a0545
Merged-In: I717fdd269b012f32548ebe0603999ae403b03100
Merged-Id: Ia8f7f3616f1358b0427386ce8aff26899e03ac07
Merged-In: Ie32f50ec1a07e3126a05abee27c76bc63cdaca14
Change-Id: I217d7ca2958f3d6ca8992f738a034693a0fac486
2017-07-05 16:48:19 +09:00
Erik Kline
2dce7712f3 Switch to USB_CONFIGURED as the primary USB readiness signal
Test: as follows
    - built
    - flashed
    - booted
    - "runtest frameworks-net" passes
    - USB tethering on and off works as expected
Bug: 32163131
Bug: 36216864
Bug: 62147658
Bug: 62552150

Merged-In: I3ae731c21f292a476a9e30e229d66ef6ab4a0545
Merged-In: I717fdd269b012f32548ebe0603999ae403b03100
Merged-Id: Ia8f7f3616f1358b0427386ce8aff26899e03ac07
Change-Id: Ia8f7f3616f1358b0427386ce8aff26899e03ac07
(cherry picked from commit c438e306cc)
2017-07-05 12:40:40 +09:00
Erik Kline
61be696468 Switch to USB_CONFIGURED as the primary USB readiness signal
Test: as follows
    - built
    - flashed
    - booted
    - "runtest frameworks-net" passes
    - USB tethering on and off works as expected
Bug: 32163131
Bug: 36216864
Bug: 62147658
Bug: 62552150

Merged-In: I3ae731c21f292a476a9e30e229d66ef6ab4a0545
Merged-In: I717fdd269b012f32548ebe0603999ae403b03100
Change-Id: Ia8f7f3616f1358b0427386ce8aff26899e03ac07
(cherry picked from commit c438e306cc)
2017-07-05 12:32:41 +09:00
Erik Kline
c438e306cc Switch to USB_CONFIGURED as the primary USB readiness signal
Test: as follows
    - built
    - flashed
    - booted
    - "runtest frameworks-net" passes
    - USB tethering on and off works as expected
Bug: 32163131
Bug: 36216864
Bug: 62147658
Bug: 62552150
Change-Id: Ia8f7f3616f1358b0427386ce8aff26899e03ac07
2017-07-05 00:36:04 +09:00
Erik Kline
3a5278f2c4 Pass all offload-exempt prefixes into OffloadController
Additionally:
    - eliminate useless TetherMasterUtilState

Test: as follows
    - built
    - flashed
    - booted
    - runtest frameworks passes
Bug: 29337859
Bug: 32163131

Merged-In: I6adcdbd6a4f14bd2cdaa056cfc0cf9c573a165b9
Merged-In: I5e689bcf5dd048ee9f9bd0c32b16d7c2e4c0268d
Merged-In: Ifd3817bd4569682d77a70f8192432391a573f6d8
Merged-In: I1ea57fbe322e26246f1d8b459519f18be1297467
Change-Id: I0482ac9dd9e8ba558b253643dbc01875ce9475ef
(cherry picked from commit be8ee08f5d)
2017-07-03 18:01:44 +09:00
Erik Kline
96ef858957 Merge "Pass all offload-exempt prefixes into OffloadController"
am: 7fc4f63f23

Change-Id: Ibbca37f65dc0a0398432f325bf362996b9d61519
2017-07-03 08:39:48 +00:00
Erik Kline
be8ee08f5d Pass all offload-exempt prefixes into OffloadController
Additionally:
    - eliminate useless TetherMasterUtilState

Test: as follows
    - built
    - flashed
    - booted
    - runtest frameworks passes
Bug: 29337859
Bug: 32163131

Change-Id: I0482ac9dd9e8ba558b253643dbc01875ce9475ef
2017-07-01 23:20:25 +09:00
Erik Kline
0aecb6ad44 Merge "Create a TetherInterfaceStateMachine when told the interface name." into oc-dev
am: be7657b038

Change-Id: Ie34a3c7aa39c9b70602236f4d4a4d5548566dd51
2017-06-22 17:36:12 +00:00
Erik Kline
a9cde8b4fb Create a TetherInterfaceStateMachine when told the interface name.
Test: as follows
    - built
    - flashed
    - booted
    - runtest frameworks-net passes
Bug: 32163131
Bug: 62343300

Merged-In: I542e013aa19fefd3443588c9a81ee59cd669ab6f
Merged-In: I973bdc5b540cce66a9713cebfd5071ad4a4b0a08
Merged-In: I2104ecf8102c8f9541ee2d3ce6589b0081db4fe3
Change-Id: I2104ecf8102c8f9541ee2d3ce6589b0081db4fe3
(cherry picked from commit b912c50b19)
2017-06-22 18:33:56 +09:00
Erik Kline
1e54351ac0 Always allow Ethernet to be an upstream
If there are any upstream types defined at all, make sure that
either TYPE_ETHERNET is included somewhere within the sorted list
or force it to be at the front.

Test: as follows
    - built
    - flashed
    - booted
    - runtest frameworks-net passes
Bug: 32163131
Bug: 36076442

Merged-In: I97737f4c12285f0bbeed0bd2efdfec6fbe95fd03
Merged-In: Id60706e623febcc35063ccb96c797fc4f9a223b1
Merged-In: I97cc3c5ad7dcd4359c28e6aa817856a226a4f8cc
Change-Id: Ie61d1358f73d518de23f6ca48ca2765ca14a1067
(cherry picked from commit 0e61baa0ac)
2017-06-21 16:41:31 +09:00
Erik Kline
cc6cd46d70 Merge "Always allow Ethernet to be an upstream" am: ecbe6fa147
am: 9cec380720

Change-Id: I97cc3c5ad7dcd4359c28e6aa817856a226a4f8cc
2017-06-21 07:20:54 +00:00
Erik Kline
9cec380720 Merge "Always allow Ethernet to be an upstream"
am: ecbe6fa147

Change-Id: Ic9fd4bfd6ba7ecc00552019f804b87bc203ea98a
2017-06-21 07:13:46 +00:00
Erik Kline
0e61baa0ac Always allow Ethernet to be an upstream
If there are any upstream types defined at all, make sure that
either TYPE_ETHERNET is included somewhere within the sorted list
or force it to be at the front.

Test: as follows
    - built
    - flashed
    - booted
    - runtest frameworks-net passes
Bug: 32163131
Bug: 36076442
Change-Id: Ie61d1358f73d518de23f6ca48ca2765ca14a1067
2017-06-21 14:03:03 +09:00
Erik Kline
b912c50b19 resolve merge conflicts of 9e6b6e2a58 to oc-dev-plus-aosp
Test: I solemnly swear I tested this conflict resolution.
Change-Id: I2104ecf8102c8f9541ee2d3ce6589b0081db4fe3
2017-06-20 22:04:32 +09:00
Erik Kline
9e6b6e2a58 Merge "Create a TetherInterfaceStateMachine when told the interface name."
am: 51ee00785c

Change-Id: If79a096375e6b9665d5ba4aa0bcd9dbec6a8adab
2017-06-20 11:12:00 +00:00
Erik Kline
41531e267d Create a TetherInterfaceStateMachine when told the interface name.
Test: as follows
    - built
    - flashed
    - booted
    - runtest frameworks-net passes
Bug: 32163131
Bug: 62343300

Change-Id: I93f3bdcf20dc4f03cd621d7ab6066344642550e3
2017-06-20 17:28:55 +09:00